CN108369538A - 下载视觉资产 - Google Patents

下载视觉资产 Download PDF

Info

Publication number
CN108369538A
CN108369538A CN201780004781.3A CN201780004781A CN108369538A CN 108369538 A CN108369538 A CN 108369538A CN 201780004781 A CN201780004781 A CN 201780004781A CN 108369538 A CN108369538 A CN 108369538A
Authority
CN
China
Prior art keywords
workload
vision
assets
vision assets
priority
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.)
Withdrawn
Application number
CN201780004781.3A
Other languages
English (en)
Inventor
E·汤普森
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108369538A publication Critical patent/CN108369538A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

描述了用于下载视觉资产的技术和工艺。在至少一些实施例中,一种系统更包括存储在至少一个存储器上的多个视觉资产,所述多个视觉资产与多个工作负载相关联,并且所述系统还包括资产注册表,所述资产注册表包括关于所述多个工作负载的先前使用的信息。所述资产注册表被配置为至少部分地基于所述多个工作负载的先前使用来确定多个n个工作负载的优先权排序;促进基于所述优先权排序来下载与所述多个n个工作负载相关联的一个或多个视觉资产;以及促进以与同下载所述多个n个工作负载相关联的标称传输速率相比降低的优先权传输速率来下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产。

Description

下载视觉资产
背景技术
一种用于提供软件应用的当代解决方案是在将这样的应用托管在受到中央管理的一个或多个托管设备(例如,服务器)上,并且随后允许用户使用客户端设备经由一个或多个网络从任何预期位置访问这样的应用。所述网络可以在范围上相对有限,例如,公司内联网,或者可以具有广覆盖度(例如,全球的),例如,因特网。这种方案提供了相对简便的管理,并且确保用户被提供有最新的并且功能最强的应用版本,但是其也对网络能力(例如,带宽、处理速度等)施加了更高的要求。
典型地,在用户开始与期望的应用交互时,所述应用的一个或多个部分经由网络从托管设备被下载到用户的客户端设备,并且可以被暂时或永久性地存储在客户端设备的存储器当中。在第一次向新客户端设备下载应用时,或者在用户调用新浏览器时,或者在调用具有刚清理过的高速缓存的浏览器时,与下载应用相关联的问题最为普遍。随着用户从一个应用切换至另一应用,或者从同一应用中的一个工作负载切换至另一工作负载,可能需要下载新应用的一个或多个部分,使得用户体验到延迟,并且可能给网络能力造成沉重负担。理想地,与特定应用相关联的所有视觉资产都将被下载并被高速缓存,使得整套的视觉资产可按需使用,但是在对应用进行初始访问时这将引起显著的初始下载延迟。
发明内容
在至少一些实施例中,一种用于下载视觉资产的系统包括:存储在至少一个存储器上的多个视觉资产,所述多个视觉资产与多个工作负载相关联;包括关于所述多个工作负载的先前使用的信息的资产注册表,所述资产注册表被配置为:至少部分地基于所述多个工作负载的先前使用来确定所述多个工作负载中的多个n个工作负载的优先权排序,其中,n小于所述多个工作负载中的工作负载的总数;促进基于所述优先权排序来下载与所述多个n个工作负载相关联的一个或多个视觉资产;以及促进以与同下载所述多个n个工作负载相关联的标称传输速率相比降低的优先权传输速率来下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产。
在另一实现中,一种用于下载视觉资产的系统包括:包括至少一个处理部件的控制部件;操作性地耦合到所述控制部件的至少一个存储器;存储在至少一个存储器上的多个视觉资产,所述多个视觉资产中的每一个视觉资产与多个工作负载中的至少一个工作负载相关联;以及存储在所述至少一个存储器上的注册表,所述注册表包括关于所述多个工作负载的先前使用的信息;其中,所述控制部件被配置为:确定用于下载与所述多个工作负载相关联的一个或多个视觉资产的需要;至少部分地基于所述多个工作负载的先前使用来确定所述多个工作负载中的多个n个工作负载的优先权排序,其中,n小于所述多个工作负载中的工作负载的总数;基于所述优先权排序以标称传输速率下载与所述多个n个工作负载相关联的一个或多个视觉资产;以及以与同下载所述多个n个工作负载相关联的标称传输速率相比的降低的优先权传输速率来下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产。
在又一些实现中,一个或多个承载一条或多条指令的计算机可读介质,所述指令当由一个或多个处理部件执行时,执行用于下载视觉资产的操作,所述操作包括:确定用于下载与一个或多个应用的多个工作负载相关联的一个或多个视觉资产的需要;至少部分地基于所述多个工作负载的先前使用来确定所述多个工作负载中的多个n个工作负载的优先权排序,其中,n小于所述多个工作负载中的工作负载的总数;基于所述优先权排序以标称传输速率下载与所述多个n个工作负载相关联的一个或多个视觉资产;以及以与同下载所述多个n个工作负载相关联的标称传输速率相比的降低的优先权传输速率来下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产。
提供本发明内容部分是要以简单的形式引入在下文的具体实施方式中将对其做进一步描述的一系列概念。本发明内容部分并非意在标识所要求保护的主题的关键特征或基本特征,也并非意在用于辅助确定所要求保护的主题的范围。
附图说明
将参考附图描述具体实施方式。在附图中,在不同的附图中使用相同的附图标记表示类似或等同的部件。
图1示出了用于下载用于应用的视觉资产的环境的实施例。
图2示出了用于下载用于应用的视觉资产的过程的实施例。
图3示出了用于在第一操作条件下下载用于应用的视觉资产的系统的实施例。
图4示出了在第二操作条件下的图3的系统。
图5示出了用于下载用于应用的视觉资产的过程的另一实施例。
图6示出了用于下载用于应用的视觉资产的计算机系统环境的实施例。
具体实施方式
本公开描述了用于下载用于软件应用的视觉资产的技术和工艺。如下文更加充分所述,根据本公开的用于下载视觉资产的技术和工艺可以评估关于与下载用于应用的视觉资产相关联的网络能力的实际大概需求,并且可以有利地按照有效率并且有效果的方式执行此类视觉资产的下载。
图1示出了根据本公开的用于下载用于应用的视觉资产的环境100的实施例。在这一实施例中,环境100包括托管系统110,该系统包括一个或多个处理部件112以及通过总线116操作性耦合到存储器120的一个或多个输入/输出(I/O)部件114。下载控制器122和资产注册表123存储在存储器120上。托管系统110托管用于由客户端设备102经由一个或多个网络104(例如,使用一个或多个I/O部件114)访问的多个软件应用。例如,在图1所示的实施例中,托管系统110包括存储在存储器120上的第一应用124、第二应用126和第n应用128。
用户设备102使用户能够访问和操作在托管系统110上可用的应用124、126、128中的一者或多者。应当认识到,应用124、126、128中的每一个可以使用户能够执行各种任务和操作,并且这样的任务和操作代表用于各个应用124、126、128的不同的“工作负载”。
如图1所示,应用124、126、128中的每一个包括一个或多个视觉资产,其可以是符号、形状、图标或者在用户调用用户设备102上的应用时可由该应用的用户界面(UI)显示的其他适当的项目。更具体而言,第一应用124包括一个或多个第一应用视觉资产125,第二应用126包括一个或多个第二应用视觉资产127,第n应用128包括一个或多个第n应用视觉资产129。在一些实施方式中,在应用124、126、128的视觉资产之间至少存在某种共性,而在其他实施方式中,在应用124、126、128的视觉资产之间则不存在共性。
下载控制器122根据需要控制将第一、第二和第n应用124、126、128的一个或多个部分(或全部)下载到客户端设备102上,例如,在第一次应用被加载到新客户端设备时,或者在用户调用新的浏览器时,或者在调用具有刚清理过的高速缓存的浏览器时。类似地,下载控制器122可以在应用被加载到客户端设备102上之后控制诸如补丁、刷新和更新操作之类的操作。
资产注册表123包括下载控制器122使用的用于执行下载控制器122的操作的信息,所述操作包括将第一、第二和第n应用124、126、128的一个或多个部分下载到客户端设备102上。更具体而言,在至少一些实现中,资产注册表123可以包括配置信息,其包括应用124、126、128中的每一个所需的所有视觉资产。此外,资产注册表可以包括关于应用124、126、128中的每一个的每一个可能工作负载所需的一个或多个视觉资产的子集的信息。
在至少一些实现中,资产注册表123可以进一步包括关于应用124、126、128的工作负载中的至少一些的过去使用的信息。例如,在至少一些实现中,资产注册表123可以包括关于应用124、126、128的使用最频繁或者使用最繁重的工作负载的信息。其可以包括指示应用124、126、128中的每一个的使用最频繁的工作负载的信息。在至少一些实现中,应用124、126、128中的每一个的使用最频繁的n个工作负载(其中,n>1)对于特定用户而言可以是已知的或者确定的,或者可以是基于由一些或者所有先前用户对应用124、126、128的过去使用而已知的。
如图1所示,当用户对客户端设备102上的第一应用124进行操作时,客户端设备102显示第一应用用户界面(UI)130。在这一实施例中,第一应用UI 130包括与第一应用122的第一工作负载相关联的第一工作负载视觉资产132。例如,如果第一应用124表示字处理应用(例如,Microsoft ),那么第一工作负载视觉资产132可以是在第一应用UI130的与第一工作负载相关联的工具栏部分当中显示的一个或多个图标,其可以涉及一项或多项字处理任务或操作(例如,复制、粘贴、剪切、格式涂色等)。
如图1中进一步所示,第一应用UI 130可以包括与第一应用124的第二工作负载相关联的第二工作负载视觉资产134。例如,仍然假定第一应用124表示字处理应用,此时第二工作负载视觉资产134可以是显示在第一应用UI 130的与第二组的一项或多项字处理任务或操作(例如,插入分页符、表格、图片、剪贴画、形状等)相关联的另一工具栏部分内的一个或多个图标。
在至少一些实现中,第一应用UI 130未使第二工作负载视觉资产134(图1中的虚线所示)与第一工作负载视觉资产132同时显示,而是在用户选择第二工作负载时,第一应用UI 130可以从显示第一工作负载视觉资产132变为显示第二工作负载视觉资产134。可替换地,在至少一些实现中,第二工作负载视觉资产134可以与第一工作负载视觉资产132在相同时间上(即,同时)显示。例如,如果用户选择了第一工作负载视觉资产132中的特定的一个,那么第二工作负载视觉资产可以与第一工作负载视觉资产132同时显示,从而使用户能够执行第二工作负载。
按照类似的方式,当第二应用126在客户端设备102上运行时,客户端设备102可以显示第二应用用户界面(UI)140。在图1所示的实施例中,第二应用UI 140包括与第二应用126的第三工作负载相关联的第三工作负载视觉资产142以及与第二应用126的第四工作负载相关联的第四工作负载视觉资产144。例如,如果第二应用126表示用于创建绘图的应用(例如,Microsoft ),那么第三工作负载视觉资产142可以是在第二应用UI140的与第三工作负载相关联的工具栏部分当中显示的一个或多个图标,其可以涉及一项或多项绘图任务或操作(例如,画线、线宽度、箭头、弧形等),而第四工作负载可以涉及一项或多项与形状有关的任务或操作(例如,竖直对准、水平对准、阴影、填充类型、填充颜色等)。
在至少一些实现中,客户端设备102可以将第二应用UI 140与第一应用UI 130同时显示。可替换地,在至少一些实现中,客户端设备102可以每次仅显示第一应用UI 130或者仅显示第二应用UI 140,并且可以不同时显示第一应用UI 130和第二应用UI 140。此外,如上文关于第一应用UI 130所指出的,在至少一些实现中,第二应用UI 140可以同时显示第三和第四工作负载视觉资产142、144,而在其他某些实现中,第二应用UI 140可以要么显示第三工作负载视觉资产142,要么显示第四工作负载视觉资产144,而不是同时显示两者。
应当认识到,图1所示的托管系统110可以表示各种可能的系统类型,包括但不限于服务器、主机、工作站、分布式计算系统、基于云的计算系统或者任何其他适当类型的系统。类似地,尽管在图1中用户设备102被描绘为手持式设备,例如,蜂窝电话,但是应当认识到在替代实施例中,用户设备102可以是使用户能够访问或者操作应用124、126、128中的一者或多者的任何适当设备。例如,在备选实施例中,用户设备102可以是个人数据助理(PDA)、笔记本计算机、平板电脑、膝上型计算机、台式计算机、服务器或者主计算机、电视、手表、可佩戴设备、交通工具、电器、消费产品或者基本上任何其他适当设备。
一个或多个网络106可以包括由服务器、客户端、因特网访问提供商或者其他适当通信媒介(例如,LAN、WAN、局部通信系统、全球通信系统、因特网、蜂窝通信系统、电话通信系统等)构成的任何适当拓扑结构。在各种实现中,一个或多个网络106可以具有静态或者动态拓扑结构,并且可以包括安全网络(例如,企业网)、非安全网络(例如,无线开放网络、因特网等),而且还可以协调通过其他网络(例如,PSTN、蜂窝网络等)的通信。作为示例而非限制,所述一个或多个网络106可以通过任何适当通信技术耦合,所述通信技术包括(例如)电磁信号、声信号、RF信号、红外信号以及任何其他适当通信技术或信号。
图2示出了根据本公开的用于下载用于应用的视觉资产的过程200的实施例。在这一实施例中,过程200包括在202中确定用于经由一个或多个网络将与至少一个应用相关联的一个或多个视觉资产下载至设备的需求。例如,在至少一些实现中,202处确定用于下载一个或多个视觉资产的需求可以首次发生在将应用加载到新的客户端设备时,或者用户调用新的浏览器时,或者调用具有刚清理过的高速缓存的浏览器时。
过程200进一步包括在204中确定至少一个应用的多个n个工作负载的优先权排序,其中,n小于与所述至少一个应用相关联的工作负载的总数。例如,204处确定工作负载优先权排序可以包括由托管系统110的下载控制器122确定第一应用的前n个工作负载的排序(例如,n=3,n=6等)。在另一个示例中,204处确定工作负载优先权的排序可以包括确定前n=i+j个工作负载的优先权排序,其中,i是与第一应用相关联的工作负载的数量,而j是与第二应用相关联的工作负载的数量,并且由此确定第一和第二应用的n个工作负载的排序(例如,n=2,n=5,n=8等)。
在至少一些实现中,204处确定工作负载优先权排序可以基于使用频率、使用量、一种或多种使用模式或者任何其他适当因素。例如,在至少一些实现中,一种或多种使用模式可以指示某些工作负载是在一天的某一时段内使用的(例如,电子邮件应用在正常工作时间内使用得更加频繁),而其他工作负载则是在一天的其他时段内使用的(例如,社交网络应用在非工作时间内使用得更加频繁)。可替换地,一种或多种使用模式可以指示某些工作负载经常是由特定用户以特定模式使用的(例如,在工作日当中,电子邮件被首先使用,之后使用的浏览应用,之后使用字处理应用等等)。当然,可以构思在204处确定工作负载优先权排序当中采用的任何其他适当使用模式。
在至少一些实现中,204处确定工作负载优先权排序可以包括托管系统110的下载控制器122检查与用户的先前应用使用相关联的历史信息,以确定用户的个人偏好、习惯或者先前的使用历史,并基于与用户相关联的个人使用历史信息来确定所述至少一个应用的多个工作负载的优先权排序。可替换地,在至少一些其他实现中,204处确定工作负载优先权排序可以包括检查与托管系统110上可用的一个或多个应用的一些或所有先前用户的先前应用使用相关联的一般使用历史信息。在至少一些实现中,与用户的个人先前应用使用相关联的使用历史信息或者与一些或者所有先前用户的应用使用相关联的使用历史信息或者这两种信息可以存储在资产注册表123当中。
此外,在至少一些应用中,204处确定多个工作负载的优先权排序可以包括由下载控制器122确定用户是否已经选择了需要下载一个或多个视觉资产的特定工作负载(例如,通过经由客户端设备102上的一个或多个应用用户界面130、140指示选择),如果是,那么将用户选择的特定工作负载排序为最高优先权工作负载(即,优先权排序为“1”)。接下来,204处多个工作负载的剩余优先权排序可以基于用户个人的使用历史,或者基于一个或多个用户的一般使用历史,或者可以利用任何其他适当技术、信息或操作。
继续参考图2,用于下载用于应用的视觉资产的过程200进一步包括在206处基于优先权排序来下载与所述多个工作负载中的最高优先权工作负载相关联的一个或多个视觉资产,继而在208处在使用户能够执行所述最高优先权工作负载之后,下载与所述多个n个工作负载中的其他剩余工作负载相关联的一个或多个视觉资产。在至少一些实现中,所述多个n个工作负载可以来自于可用应用124、126、128中的单个应用,或者来自于可用应用124、126、128中两个或更多应用。例如,基于用户的个人使用历史,或者基于一个或多个用户的一般使用历史,或者使用任何其他适当技术、信息或操作,所述多个n个工作负载可以包括来自第一应用(例如,字处理应用)的两个工作负载、来自第二应用(例如,视觉呈现应用)的三个工作负载以及来自第n应用(例如,电子表格应用)的一个工作负载。当然,可以确定来自托管系统110上的多个可用应用的n个最高优先权工作负载的任何其他组合。
例如,在至少一些实现中,下载控制器122可以建立由用户选择的特定工作负载以及总数为4的最高优先权工作负载中的三个其他工作负载的优先权排序,其中,用户选择的特定工作负载被排序为最高优先权工作负载。当然,用户正在调用的应用可以具有执行十个、数百、数千或者任何其他适当数量的不同工作负载的总体能力。之后,下载控制器122以同一个或多个网络104上传送正常优先权(或者较高优先权)数据相关联的数据传送速率将与用户选择的作为最高优先权工作负载的特定工作负载相关联的一个或多个视觉资产下载(在206处)到客户端设备102。一旦下载控制器122(在206处)所做的下载使得用户能够在客户端设备102上执行最高优先权工作负载,则下载控制器122就可以继续以相同的数据传送速率(正常或者高优先权)下载与其他三个最高优先权工作负载相关联的一个或多个视觉资产,从而使用户能够立即调用所述其他三个最高优先权工作负载而无需体验下载延迟。
如图2进一步所示,过程200进一步包括在210处在基于优先权排序下载了与所述n个最高优先权工作负载相关联的一个或多个视觉资产之后,在后台(或者以和较低优先权传送相关联的降低的数据传送速率)下载一个或多个剩余工作负载的一个或多个视觉资产。例如,继续先前描述的示例,在下载控制器122下载了与四个最高优先权工作负载相关联的视觉资产之后,下载控制器122可以在用户于客户端设备102上对应用的用户选择的特定工作负载进行操作的同时或者至少在与先前下载的视觉资产相关联的一个或多个工作负载能够在客户端设备102上操作的同时继续在后台下载所述应用的所有剩余工作负载的视觉资产。
应当认识到,文中公开的用于下载用于应用的视觉资产的技术和工艺与常规技术相比可以提供显著的操作改进。例如,根据本公开的用于下载视觉资产的过程可以有利地管理和分配下载操作,从而充分降低和减少与实现经由一个或多个网络对应用的访问相关的网络负担和计算资源。
更具体而言,这样的技术可以有利地减少与用于应用的视觉资产的下载相关联的初始下载要求,这些要求可以是使用常规技术和工艺所经历的,尤其是在诸如应用第一次加载到新的客户端设备上,或者用户调用新浏览器,或者调用具有刚清理过的高速缓存的浏览器的事件期间。由于视觉资产是根据优先权设定进行优先化和下载的,其中,某些最高优先权视觉资产被立即下载而其他较低优先权视觉资产则是在后台下载以供最终使用,文中公开的技术和工艺可以通过使用户能够立即使用可用应用的最高优先权工作负载,同时还延迟较低优先权资产的下载直到网络需求不太紧张的较晚时候为止,由此可以降低网络需求和要求。通过这种方式,可以更快地使用户能够使用应用的最高优先权工作负载,而不体验在与下载同所有可能工作负载相关联的必要视觉资产相关联地经历的延迟。因而,可以适当分配与下载视觉资产相关联的对网络的负担,从而针对较高优先权网络业务(例如,与用户正在客户端设备上执行的应用的工作负载相关联的业务)释放网络资源。
根据本公开的用于下载用于应用的视觉资产的技术和工艺未必局限于上文参考图1-3描述的特定实施例。在下文的描述当中,将描述用于下载用于应用的视觉资产的技术和工艺的额外实施例。应当认识到,文中描述的实施例并非意在对根据本公开的所有可能实施例进行穷举,可以基于文中公开的主题来设想其他额外实施例。例如,应当认识到,可以去除所描述的实施例的各种部件和方面中的至少一些,以创建额外实施例,或者可以对它们进行各种组合或重新排序,以创建额外的实施例。在下文对额外实施例的讨论当中,可以采用公共附图标记以指代上文介绍的元件,并且为了简洁起见,可以省略对先前介绍过的元件的描述,从而将重点适当地放到这样的额外实施例的新的或者变化的方面上。
图3示出了用于下载用于应用的视觉资产的系统300的另一实施例。在这一实施例中,系统300包括在一个或多个托管平台305上工作的资产注册表320和视觉资产数据库330。在用户平台314上工作的外壳套件310提供了用户界面,用户可以从该用户界面选择一个或多个可用应用以供使用。如上所述,在至少一些实现中,资产注册表320可以包括关于可供使用的应用的使用最为频繁或者使用最为繁重的工作负载的信息。例如,资产注册表320可以包括指示对于特定用户(例如,基于使用历史)或者对于一些或所有先前用户而言一个或多个可用应用的使用最为频繁的工作负载的信息。此外,在至少一些实现中,资产注册表320可以被配置为执行在上文当中被描述为与图1的安装控制器122相关联或者由其执行的操作中的一者或多者。
在第一操作条件302下,可以在用户平台314上对第一工作负载312初始化,例如,在用户通过外壳套件310选择至少一个应用或者应用的至少一个工作负载时。资产注册表320可以执行根据本公开的下载用于应用的视觉资产的过程,所述过程包括对多个n个工作负载进行优先权考量(其中,n>1),并且根据所述优先权来从视觉资产数据库330下载一个或多个视觉资产,下文将对此予以更充分的描述。
如图3进一步所示,在至少一些实现中,在第一操作条件302下,可以将初始视觉资产集束340从视觉资产数据库330下载至操作第一工作负载312的平台314。在图3所示的实现中,初始视觉资产集束340包括一个或多个第一视觉资产342、一个或多个第二视觉资产344以及一个或多个第三视觉资产346。初始视觉资产集束340可以包括包含一个或多个第一视觉资产342的第一部分343以及包含一个或多个第二视觉资产344及一个或多个第三视觉资产346的第二部分345。在至少一些实现中,所述一个或多个第一视觉资产342是与第一工作负载312相关联的视觉资产,并且因此是需要下载的最高优先权视觉资产,而第二视觉资产344和第三视觉资产346可以与通过资产注册表320确定的优先权排序的排名第二和第三的工作负载相关联。
图4示出了第二操作条件402下的图3的系统300。在第二操作条件402下,在至少一些实现中,在紧随下载初始视觉资产集束340(例如,在图3的第一操作条件302下)之后,资产注册表320可以在一个或多个工作负载(例如,第一工作负载312)正在用户平台314上被操作的同时使一个或多个剩余视觉资产450以降低的数据传送速率(例如,在后台)被从视觉资产数据库330下载至用户平台314。
图5示出了用于下载用于应用的视觉资产的过程500的另一实施例。在这一实现中,过程500包括在502处确定一个或多个视觉资产需要从一个或多个托管平台下载至用户平台,从而实现对一个或多个应用的一个或多个工作负载的使用。例如,如图3所示,502处的确定可以包括确定一个或多个视觉资产(例如,图标、符号、视觉对象的集合等)需要被下载才能使得第一工作负载312(例如,字处理应用、个人助理应用(例如,Microsoft的Apple的Google的Google Now等)、会计应用、音乐播放应用或者金融管理应用)在用户平台314上进行操作。
过程500还包括在504处确定一个或多个应用的多个n个工作负载的优先权排序。在至少一些实现中,504处确定优先权排序可以包括确定n个工作负载(例如,三个工作负载)的优先权排序,之后将总共数量的工作负载拆分到子集当中,以便进行最终的下载。例如,在图3和4所示的实现中,资产注册表320确定前三个工作负载,之后将所要下载的视觉资产拆分到两个子集当中:包含与前三个工作负载相关联的视觉资产342、344、346的初始视觉资产集束340(图3)以及包含用于所有剩余工作负载的一个或多个剩余视觉资产450的第二视觉资产集束(图4)。
如图5进一步所示,过程500进一步包括在506处将与最高优先权工作负载相关联的一个或多个视觉资产从一个或多个托管平台下载至用户平台。更具体而言,如图3所示,506处下载与最高优先权工作负载相关联的一个或多个视觉资产可以包括将初始视觉资产集束340中的包含一个或多个第一视觉资产342的第一部分343下载至用户平台314,从而实现对第一工作负载312的使用。
过程500进一步包括在508处基于优先权排序来下载与多个n个工作负载中的其他剩余工作负载相关联的一个或多个视觉资产。例如,再次参考图3,在508处下载与多个n个工作负载中的其他剩余工作负载相关联的一个或多个视觉资产可以包括将初始视觉资产集束340中的包含一个或多个第二视觉资产344以及一个或多个第三视觉资产346的第二部分345下载至用户平台314,从而实现对第二和第三最高优先权工作负载的使用。
继续参考图5,在至少一些实现中,过程500进一步包括在510处以较低数据传输优先权(或者数据传输速率)下载一个或多个剩余工作负载的一个或多个视觉资产。例如,在至少一些实现中,在501处下载一个或多个剩余工作负载的一个或多个视觉资产包括,在用户于用户平台314上对第一工作负载312或者其他工作负载进行操作的同时,一个或多个托管平台305的资产注册表320在后台将剩余视觉资产450(或者剩余视觉资产的至少部分)从视觉资产数据库330下载至用户平台314。
过程500进一步包括在512处确定是否已经接收到了新工作负载请求。在至少一些实现中,在512处的确定可以是与在510处以较低数据传输优先权对一个或多个剩余工作负载的一个或多个视觉资产的下载同时执行的。相应地,当在512处确定尚未接收到新工作负载请求之时,过程500可以继续在510处以较低的数据传输优先权下载一个或多个剩余工作负载的一个或多个视觉资产。
但是,如果在512处确定已经接收到了新工作负载请求,那么过程500返回至502,在502处确定一个或多个视觉资产需要从一个或多个托管平台下载至用户平台,以实现对一个或多个应用的一个或多个工作负载的使用,并且可以在将新工作负载请求作为最高优先权工作负载处理的情况下重复过程500的上述操作。
例如,在系统300正在图4所示的第二条件402下工作时,当正在后台(或者以较低数据传输优先权或数据传输速率)将剩余视觉资产450(或其部分)下载到用户平台314时,用户可以调用不同的工作负载(例如,不同应用或者与第一工作负载312相同的应用的不同工作负载等),并且不同工作负载可以要求立即下载与该不同工作负载相关联的一个或多个视觉资产。相应地,当在512处确定尚未接收到新工作负载请求时,系统300可以继续将剩余视觉资产450下载到用户平台314。
但是,一旦在512处确定接收到了新工作负载请求,然而,系统300可以对过程500重新初始化,并且在新工作负载被赋予最高优先权的情况下重复过程500,使得所述新工作负载能够尽快在用户平台314上得以启用。在至少一些实现中,当在512处确定已经接收到新工作负载请求时可以中止在510处下载一个或多个剩余工作负载的一个或多个视觉资产,以避免重复的下载操作。应当认识到,在过程500的第二次或者后续执行期间,在504处确定一个或多个应用的多个n个工作负载的优先权排序可以考虑与一个或多个工作负载相关联的视觉资产是否已经由过程500的先前执行最近进行了下载(或者更新),使得可以避免对视觉资产的重复的或者不必要的下载。例如,如果刚刚已经在指定的时间段内将与五个工作负载相关联的视觉资产下载到了用户平台314,那么在504处确定优先权排序可以选择从优先权排序的确定当中省略这五个工作负载,并且转而确定来自在所述指定的时间段内尚未下载的剩余工作负载当中的所述一个或多个应用的多个n个工作负载的优先权排序。
概括来讲,可以在由计算机或者其他设备执行的计算机代码或者计算机可用指令的一般语境下描述文中公开的用于下载用于应用的视觉资产的技术和工艺,所述代码或指令包括如程序模块之类的计算机可执行指令。一般而言,包括例程、程序、对象、部件、数据结构等的程序模块是指执行特定任务或者实施特定抽象数据类型的代码。可以按照各种各样的系统配置实践本发明的各种实施例,包括手持式设备、消费电子设备、通用计算机、更专业的计算设备等。此外,也可以在分布式计算环境下(例如,基于云的计算系统当中)实践本发明的各种实施例,其中,可以由通过通信网络链接的远程处理设备执行任务。
此外,文中公开的用于下载用于应用的视觉资产的技术和工艺可以在各种各样的设备和平台上实施。例如,图6示出了可以用于下载用于应用的视觉资产的计算机系统600的实施例。如图6所示,示例性计算机系统环境600包括一个或多个处理器(或处理部件)602、专用电路682、存储器604以及将包括存储器604在内的各种系统部件操作性地耦合到所述一个或多个处理器602以及专用电路682(例如,专用集成电路(ASIC)、现场可编程门阵列(FPGA)等)的总线606。
总线606可以表示几种类型的总线结构中的任何总线结构当中的一者或多者,包括使用各种总线架构的中的任一种的存储器总线或存储器控制器、外围总线、加速图形端口以及处理器或局部总线。在至少一些实现中,存储器604包括只读存储器(ROM)608和随机存取存储器(RAM)610。基本输入/输出系统(BIOS)612存储在ROM 608中,该基本输入/输出系统系统包含促进系统600内的元件之间的信息传递(例如,在启动期间)的基本例程。
示例性系统环境600进一步包括硬盘驱动器614,其用于对硬盘(未示出)进行读写,并且经由硬盘驱动器接口616(例如,SCSI、ATA或其他类型的接口)连接至总线606。用于对可移动磁盘620进行读写的磁盘驱动器618经由磁盘驱动器接口622连接至系统总线606。类似地,用于对可移动光盘626(例如,CD ROM、DVD或者其他光学介质)进行读写的光盘驱动器624经由光驱动器接口628连接至总线606。驱动器及其关联计算机可读介质可以提供对系统环境600的计算机可读指令、数据结构、程序模块或其他数据的非易失性存储。尽管文中描述的系统环境600采用了硬盘、可移动磁盘620和可移动光盘626,但是本领域技术人员将认识到也可以采用能够存储可被计算机访问的数据的其他类型的计算机可读介质,例如,磁带、闪速存储卡、数字视频盘、随机存取存储(RAM)只读存储器(ROM)等。
系统存储器600中包含的计算机可读介质可以是任何可用的或者适当的介质,包括易失性和非易失性介质以及可移动和不可移动介质,并且可以通过适于信息(例如,计算机可读指令、数据结构、程序模块或其他数据)的存储的任何方法或技术实施。更具体而言,适当的计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器或其他存储技术、光盘ROM(CD-ROM)、数字通用盘(DVD)或其他光盘存储器、盒式磁带、磁条、磁盘存储器或其他磁存储设备或者包括纸、穿孔卡等在内的能够用于存储期望的信息的任何其他介质。文中使用的“计算机可读介质”一词并不意在包含暂态信号。
如图6进一步所示,可以将一定数量的程序模块存储在存储器604(例如,ROM 608或者RAM 610)上,所述程序模块包括操作系统630、一个或多个应用程序632、其他程序模块634以及程序数据636(例如,数据存储库620、图像数据、音频数据、三维目标模型等)。可替换地,这些程序模块可以存储在其他计算机可读介质上,其他计算机可读介质包括硬盘、磁盘620或者光盘626。出于举例说明的目的,如操作系统630之类的程序和其他可执行程序部件在图6中示出为分立块,但是应当认识到这样的程序和部件在不同的时间上驻留在系统环境600的不同存储部件内,并且可以由系统环境600的处理器602或专用电路682执行。
用户可以通过诸如键盘638和光标定位设备640之类的输入设备向系统环境600输入命令和信息。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏触控盘、卫星天线或者扫描仪等。诸如自然用户界面(NUI)设备669或者用户接口625之类的又一些输入设备包括或者涉及自然用户界面(NUI)的一个或多个方面,其使得用户能够按照“自然”的方式与系统环境600交互,从而从诸如鼠标、键盘、遥控器等的常规输入设备所带来的人为限制当中解放出来。例如,在至少一些实施例中,NUI设备669可以依赖于语音识别、触摸和指示笔识别、一种或多种生物测定输入、屏幕上的以及临近屏幕的姿势识别、空中姿势、头部和眼睛(或者目光)跟踪、语音和话音、视觉、触摸、悬停、姿势、机器智能以及用于使用电场感测电极来感测大脑活动来接收输入的技术(EEG和相关方法)。此外,在至少一些实施例中,NUI可以涉及或者结合触敏显示器、语音和话音识别、意图和目标理解、使用深度照相机(例如,体视或者渡越时间照相机系统、红外线照相机系统、RGB照相机系统及其组合)的运动姿势检测、使用加速度器/陀螺仪的运动姿势检测、面部识别、3D显示、头部、眼睛和视线跟踪、沉浸式增强现实和虚拟现实系统的一个或多个方面,它们全都能提供更加自然的界面。
这些和其他输入设备通过耦合到系统总线606的接口642或者通信接口646(例如,视频适配器)连接至处理单元602和专用电路682。用户接口625(例如,显示器、监视器或者任何其他用户接口设备)可以经由如视频适配器646之类的接口连接至总线606。此外,系统环境600还可以包括诸如扬声器和打印机之类的其他外围输出设备(未示出)。
系统环境600可以使用与一个或多个远程计算机(或服务器)658的逻辑连接在联网环境下工作。这样的远程计算机(或服务器)可以是个人计算机、服务器、路由器、网络PC、对等设备或者其他常见网络节点。图6所示的逻辑连接包括局域网(LAN)648和广域网(WAN)650中的一者或多者。这样的联网环境是办公室、企业范围内的计算机网络、内联网和因特网当中的寻常环境。在这一实施例中,系统环境600还包括一个或多个广播调谐器656。广播调谐器656可以直接地(例如,模拟或数字有线传输被直接馈送到调谐器656内)或者经由接收设备(例如,经由天线657、卫星天线等)接收广播信号。
当在LAN联网环境当中使用时,系统环境600可以通过网络接口(或适配器)652连接至局域网648。当在WAN联网环境中使用时,系统环境600通常包括用于通过广域网650(例如,因特网)建立通信的调制调解器654或其他机构(例如,路由器)。可以是内部或者外部的调制调解器654可以经由串行端口接口642连接至总线606。类似地,系统环境600可以使用耦合到无线通信器657(例如,天线、卫星天线、发射器、接收器、收发器、光接受器、光电二极管、发射器、接受器等)的无线接口655与一个或多个远程设备交换(发送或者接收)无线信号653。
在联网环境中,可以将相对于系统环境600描述的程序模块或其部分存储到存储器604内或者存储到远程存储设备内。更具体而言,如图6进一步所示,可以将专用部件680存储到系统环境600的存储器604内。专用部件680可以是采用软件、硬件、固件或其任何适当组合实施的。与系统环境600的其他部件(例如,处理单元602或者专用电路682)协作,专用部件680可操作用于执行上文描述的技术的一种或多种实现(例如,图2的示例性过程200、图5的过程500等)。
一般而言,在系统环境600上执行的应用程序和程序模块可以包括用于执行特定任务或者实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。这些程序模块等可以被作为本机代码执行或者可以下载到(例如)虚拟计算机或者其他即时编译执行环境并且在其中执行。典型地,可以在各种实现中根据预期对程序模块的功能进行组合和分布。
鉴于对文中公开的用于下载一个或多个视觉资产的技术和工艺的公开,下文将对几个代表性实施例进行总结。应当认识到,下文对代表性实施例的总结并非意在对所有可能的实施例进行穷举,并且根据通过文中提供的技术和工艺的工卡可以容易地构思出其他实施例。
例如,在至少一些实施例中,一种用于下载视觉资产的系统可以包括:存储在至少一个存储器上的多个视觉资产,所述多个视觉资产与多个工作负载相关联;包括关于所述多个工作负载的先前使用的信息的资产注册表,所述资产注册表被配置为:至少部分地基于所述多个工作负载的先前使用来确定所述多个工作负载中的多个n个工作负载的优先权排序,其中,n小于所述多个工作负载中的工作负载的总数;促进基于所述优先权排序来下载与所述多个n个工作负载相关联的一个或多个视觉资产;以及促进以与同下载所述多个n个工作负载相关联的标称传输速率相比降低的优先权传输速率下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产。
在至少一些实现中,所述多个视觉资产包括存储在视觉资产数据库内的多个视觉资产。在其他实现中,所述多个视觉资产包括多个视觉资产,所述多个视觉资产中的每一个视觉资产是存储在至少一个存储器上的应用的部分。在其他实现中,所述多个视觉资产包括用于在应用的用户界面部分内使用的多个视觉资产,所述多个视觉资产包括图标、符号或形状中的至少一个。
在至少一些实现中,包括关于所述多个工作负载的先前使用的信息的资产注册表包括包括以下信息的资产注册表,所述信息是关于特定用户或者先前的用户的分组中的至少一个对所述多个工作负载的先前使用的信息。
在其他实现中,被配置为至少部分地基于所述多个工作负载的先前使用确定所述多个工作负载中的多个n个工作负载的优先权排序的资产注册表包括被配置为至少基于所述多个n个工作负载的使用频率或者所述多个n个工作负载的使用量中的至少一个来确定所述多个工作负载中的多个n个工作负载的优先权排序的资产注册表。在又一些实现中,被配置为至少部分地基于所述多个工作负载的先前使用确定所述多个工作负载中的多个n个工作负载的优先权排序的资产注册表包括被配置为基于所述多个n个工作负载的一种或多种模式确定所述多个工作负载中的多个n个工作负载的优先权排序的资产注册表。
在另外的实现中,被配置为促进基于所述优先权排序下载与所述多个n个工作负载相关联的一个或多个视觉资产的资产注册表包括被配置为进行如下操作的资产注册表:促进基于所述优先权排序下载与所述多个n个工作负载中的最高优先权工作负载相关联的一个或多个视觉资产;以及促进基于所述优先权排序下载与所述多个n个工作负载中的一个或多个其他工作负载相关联的一个或多个视觉资产。
在又一些实现中,被配置为促进基于所述优先权排序下载与所述多个n个工作负载相关联的一个或多个视觉资产的资产注册表包括被配置为促进基于所述优先权排序下载包含与所述多个n个工作负载相关联的一个或多个视觉资产的视觉资产集束的资产注册表。此外,在至少一些实现中,被配置为促进基于所述优先权排序下载包含与所述多个n个工作负载相关联的一个或多个视觉资产的视觉资产集束的资产注册表包括被配置为促进视觉资产集束的下载的资产注册表,其包括促进基于所述优先权排序下载与最高优先权工作负载相关联的一个或多个视觉资产以及促进基于所述优先权排序下载与所述多个n个工作负载中的n-1个其他工作负载相关联的一个或多个视觉资产。
在其他实现中,被配置为促进以与同下载所述多个n个工作负载相关联的标称传输速率相比降低的优先权传输速率来下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产的资产注册表包括被配置为促进以与同下载所述多个n个工作负载相关联的标称传输速率相比后台传输速率下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产的资产注册表。
可替换地,在至少一些实现中,一种用于下载视觉资产的系统包括:包括至少一个处理部件的控制部件;操作性地耦合到所述控制部件的至少一个存储器;存储在至少一个存储器上的多个视觉资产,所述多个视觉资产中的每一个视觉资产与多个工作负载中的至少一个工作负载相关联;以及存储在所述至少一个存储器上的注册表,所述注册表包括关于所述多个工作负载的先前使用的信息;其中,所述控制部件被配置为:确定用于下载与所述多个工作负载相关联的一个或多个视觉资产的需要;至少部分地基于所述多个工作负载的先前使用来确定所述多个工作负载中的多个n个工作负载的优先权排序,其中,n小于所述多个工作负载中的工作负载的总数;基于所述优先权排序以标称传输速率下载与所述多个n个工作负载相关联的一个或多个视觉资产;以及以与同下载所述多个n个工作负载相关联的标称传输速率相比降低的优先权传输速率下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产。
此外,在又一其他实现中,所述多个工作负载中的每一个工作负载与存储在所述至少一个存储器上的多个应用中的至少一个应用相关联。在其他实现中,包括关于所述多个工作负载的先前使用的信息的资产注册表包括包括如下信息的资产注册表,所述信息关于由特定用户或者先前用户的分组中的至少一个对所述多个工作负载的先前使用的信息。而且在其他实现中,被配置为确定用于下载与所述多个工作负载相关联的一个或多个视觉资产的需要的控制部件包括被配置为基于经由一个或多个网络接收到请求而确定下载一个或多个视觉资产以使用与所述多个工作负载相关联的应用的需要的控制部件。
此外,在至少一些实现中,被配置为至少部分地基于所述多个工作负载的先前使用确定所述多个工作负载中的多个n个工作负载的优先权排序的控制部件包括被配置为基于所述多个工作负载的使用频率或者所述多个工作负载的使用量中的至少一个确定所述多个工作负载中的多个n个工作负载的优先权排序的控制部件。
在其他实现中,被配置为至少部分地基于所述多个工作负载的先前使用确定所述多个工作负载中的多个n个工作负载的优先权排序的控制部件包括被配置为基于所述多个工作负载的一种或多种使用模式确定所述多个工作负载中的多个n个工作负载的优先权排序的控制部件。在一些实现中,被配置为基于所述优先权排序下载与所述多个n个工作负载相关联的一个或多个视觉资产的控制部件包括被配置为基于所述优先权排序下载包含与所述多个n个工作负载相关联的一个或多个视觉资产的视觉资产集束的控制部件。在又一些实现中,被配置为以与同下载所述多个n个工作负载相关联的标称传输速率相比降低的优先权传输速率下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产的控制部件包括被配置为以与同下载所述多个n个工作负载相关联的标称传输速率相比的后台传输速率下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产的控制部件。
在又一些实现中,提供了一个或多个承载一条或多条指令的计算机可读介质,所述指令在由一个或多个处理部件执行时执行用于下载视觉资产的操作,所述操作包括:确定用于下载与一个或多个应用的多个工作负载相关联的一个或多个视觉资产的需要;至少部分地基于所述多个工作负载的先前使用确定所述多个工作负载中的多个n个工作负载的优先权排序,其中,n小于所述多个工作负载中的工作负载的总数;基于所述优先权排序以标称传输速率下载与所述多个n个工作负载相关联的一个或多个视觉资产;以及以与同下载所述多个n个工作负载相关联的标称传输速率相比降低的优先权传输速率下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产。
总结
本领域技术人员将认识到文中公开的实施例的一些方面可以通过标准集成电路实施,并且可以被实施为在一个或多个计算机上运行的计算机程序,并且也可以被实施为在一个或多个处理器上运行的一个或多个软件程序,并且也可以被实施为固件,还可以被实施为这些方式的几乎任何组合。还应当理解,本领域技术人员可以根据本公开的教导和解释完成所述的电路设计以及/或者针对软件和/或固件的代码编写。
上述具体实施方式已经经由方框图、流程图和/或示例阐述了所述设备和/或过程的各种实施例。在这样的包含一个或多个功能和/或操作的方框图、流程图和/或示例的范围内,本领域技术人员将理解能够通过各种各样的硬件、软件、固件或者几乎其任何组合以单独和/或集合方式实施这样的方框图、流程图或示例当中的每一个功能和/或操作。应当认识到,上文描述的技术和工艺的实施例并非意在对考虑落在本公开的范围内的所有可能实施例进行穷举,并且可以基于文中公开的主题设想额外实施例。例如,在备选实施例中,可以对上文描述的技术和工艺的一个或多个元件或部件进行重新布置、重新排序、修改乃至省略,以提供仍然被认为落在本公开的范围内的额外实施例。
或者或此外,文中描述的技术和工艺可以至少部分地由一个或多个硬件逻辑部件执行。作为示例而非限制,能够使用的各种例示类型的硬件逻辑部件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。但是,本领域技术人员将认识到可以将文中公开的实施例的一些方面完全或者部分地等同地通过集成电路实现,实现为运行于一个或多个计算机上的一个或多个计算机程序(例如,作为运行于一个或多个计算机系统上的一个或多个程序),实现为运行于一个或多个处理器上的程序(例如,作为运行于一个或多个微处理器上的一个或多个程序),实现为固件或者实现为它们的任何组合,而且就本公开而言所述电路的设计和/或针对软件和/或固件的代码的编写完全处于本领域技术人员的能力范围内。
尽管已经以特定于结构特征和/或动作的语言对所述主题给出了详尽的描述,但是应当理解所附权利要求中定义的主题未必局限于所描述的具体特征或操作。相反,上文描述的具体特征和操作是作为实施权利要求的示例公开的,其意在将其他等价特征和操作包含到权利要求的范围内。上文描述的各种实施例和实现只是作为举例说明提供的,并且不应将其解释为限制可以对上文描述的实施例和实现做出而不脱离本公开的实质和范围的各种修改和变化。

Claims (12)

1.一种用于下载视觉资产的系统,包括:
包括至少一个处理部件的控制部件;
操作性地耦合到所述控制部件的至少一个存储器;
存储在所述至少一个存储器上的多个视觉资产,所述多个视觉资产中的每一个视觉资产与多个工作负载中的至少一个工作负载相关联;以及
存储在所述至少一个存储器上的注册表,所述注册表包括关于所述多个工作负载的先前使用的信息;
其中,所述控制部件被配置为:
确定用于下载与所述多个工作负载相关联的一个或多个视觉资产的需要;
至少部分地基于所述多个工作负载的先前使用来确定所述多个工作负载中的多个n个工作负载的优先权排序,其中,n小于所述多个工作负载中的工作负载的总数;
基于所述优先权排序以标称传输速率来下载与所述多个n个工作负载相关联的一个或多个视觉资产;以及
以与同下载所述多个n个工作负载相关联的标称传输速率相比降低的优先权传输速率来下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产。
2.根据权利要求1所述的系统,其中,所述多个工作负载中的每一个工作负载与存储在所述至少一个存储器上的多个应用中的至少一个应用相关联。
3.根据权利要求1到2所述的系统,其中,包括关于所述多个工作负载的先前使用的信息的所述资产注册表包括:包括如下信息的资产注册表,所述信息关于由特定用户或者先前用户的分组中的至少一个对所述多个工作负载先前使用的信息。
4.根据权利要求1到3所述的系统,其中,被配置为确定用于下载与所述多个工作负载相关联的一个或多个视觉资产的需要的所述控制部件包括:
被配置为基于经由一个或多个网络接收到请求来确定下载一个或多个视觉资产以使用与所述多个工作负载相关联的应用的需要的控制部件。
5.根据权利要求1到4所述的系统,其中,被配置为至少部分地基于所述多个工作负载的先前使用来确定所述多个工作负载中的多个n个工作负载的优先权排序的所述控制部件包括:
被配置为基于所述多个工作负载的使用频率或者所述多个工作负载的使用量中的至少一个来确定所述多个工作负载中的多个n个工作负载的优先权排序的控制部件。
6.根据权利要求1到5所述的系统,其中,被配置为至少部分地基于所述多个工作负载的先前使用来确定所述多个工作负载中的多个n个工作负载的优先权排序的所述控制部件包括:
被配置为基于所述多个工作负载的一种或多种使用模式来确定所述多个工作负载中的多个n个工作负载的优先权排序的控制部件。
7.根据权利要求1到6所述的系统,其中,被配置为基于所述优先权排序来下载与所述多个n个工作负载相关联的一个或多个视觉资产的所述控制部件包括:
被配置为基于所述优先权排序来下载包含与所述多个n个工作负载相关联的一个或多个视觉资产的视觉资产集束的控制部件。
8.根据权利要求1到7所述的系统,其中,被配置为以与同下载所述多个n个工作负载相关联的标称传输速率相比降低的优先权传输速率来下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产的所述控制部件包括:
被配置为以与同下载所述多个n个工作负载相关联的标称传输速率相比的后台传输速率来下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产的控制部件。
9.根据权利要求1到8所述的系统,其中,所述多个视觉资产包括:
存储在视觉资产数据库内的多个视觉资产。
10.根据权利要求1到9所述的系统,其中,所述多个视觉资产包括:多个视觉资产,所述多个视觉资产中的每一个视觉资产是存储在所述至少一个存储器上的应用的部分。
11.根据权利要求1到10所述的系统,其中,所述多个视觉资产包括:
多个视觉资产,其用于在应用的用户界面部分内使用,所述多个视觉资产包括图标、符号或形状中的至少一个。
12.一个或多个承载一条或多条指令的计算机可读介质,所述指令当由一个或多个处理部件执行时,执行用于下载视觉资产的操作,所述操作包括:
确定用于下载与一个或多个应用的多个工作负载相关联的一个或多个视觉资产的需要;
至少部分地基于所述多个工作负载的先前使用来确定所述多个工作负载中的多个n个工作负载的优先权排序,其中,n小于所述多个工作负载中的工作负载的总数;
基于所述优先权排序以标称传输速率来下载与所述多个n个工作负载相关联的一个或多个视觉资产;以及
以与同下载所述多个n个工作负载相关联的标称传输速率相比降低的优先权传输速率来下载与所述多个工作负载中的一个或多个剩余工作负载相关联的一个或多个视觉资产。
CN201780004781.3A 2016-02-26 2017-02-17 下载视觉资产 Withdrawn CN108369538A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/055,057 2016-02-26
US15/055,057 US20170249192A1 (en) 2016-02-26 2016-02-26 Downloading visual assets
PCT/US2017/018410 WO2017147018A1 (en) 2016-02-26 2017-02-17 Downloading visual assets

Publications (1)

Publication Number Publication Date
CN108369538A true CN108369538A (zh) 2018-08-03

Family

ID=58192399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780004781.3A Withdrawn CN108369538A (zh) 2016-02-26 2017-02-17 下载视觉资产

Country Status (4)

Country Link
US (1) US20170249192A1 (zh)
EP (1) EP3420453A1 (zh)
CN (1) CN108369538A (zh)
WO (1) WO2017147018A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423632B2 (en) * 2017-07-19 2019-09-24 Facebook, Inc. Systems and methods for incrementally downloading augmented-reality effects
US10817401B1 (en) * 2017-11-10 2020-10-27 R-Stor Inc. System and method for job-to-queue performance ranking and resource matching
WO2019112577A1 (en) * 2017-12-06 2019-06-13 Rovi Guides, Inc Systems and methods for bandwidth consumption management
US11347621B1 (en) 2020-03-17 2022-05-31 Core Scientific, Inc. Application performance characterization and profiling as a service
US11714739B2 (en) 2020-08-17 2023-08-01 Advanced Micro Devices, Inc. Job performance breakdown

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883168B1 (en) * 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US20100011090A1 (en) * 2008-07-14 2010-01-14 Limelight Networks, Inc. Network-aware download manager
CN103428251B (zh) * 2012-05-25 2016-07-13 腾讯科技(深圳)有限公司 一种下载任务分配方法和装置
US20140068512A1 (en) * 2012-09-04 2014-03-06 Salesforce.Com, Inc. Systems and methods for managing data tiers on a user interface
US9106721B2 (en) * 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9450879B2 (en) * 2014-05-09 2016-09-20 Nexgen Storage, Inc. Adaptive bandwidth throttling

Also Published As

Publication number Publication date
US20170249192A1 (en) 2017-08-31
WO2017147018A1 (en) 2017-08-31
EP3420453A1 (en) 2019-01-02

Similar Documents

Publication Publication Date Title
CN110046021B (zh) 一种页面显示方法、装置、系统、设备和存储介质
CN108369538A (zh) 下载视觉资产
AU2015229879B2 (en) Metadata-based photo and/or video animation
CN109471626B (zh) 页面逻辑结构、页面生成方法、页面数据处理方法及装置
KR20170045257A (ko) 메시지 대화 이력의 신속 내비게이션
US20210377198A1 (en) Method and system for presenting conversation thread
US20230359353A1 (en) Methods and Systems for Positioning Animated Images Within a Dynamic Keyboard Interface
CN110070592B (zh) 特效包的生成方法、装置和硬件装置
CN106375186A (zh) 一种日程分享方法及终端
CN109492200A (zh) 协同文档还原方法、装置、存储介质及电子设备
CN112261152A (zh) 基于弹性云服务器和智能终端的虚拟终端分布式系统
US11520473B2 (en) Switch control for animations
WO2024067319A1 (en) Method and system for creating stickers from user-generated content
US11455555B1 (en) Methods, mediums, and systems for training a model
CN110333859B (zh) 页面创建方法、装置、电子设备和计算机可读存储介质
US9910737B2 (en) Implementing change data capture by interpreting published events as a database recovery log
US20200174573A1 (en) Computer system gesture-based graphical user interface control
CN109189536A (zh) 一种终端应用显示方法及系统
US20210099503A1 (en) Method, system, and non-transitory computer readable record medium for processing chatroom based on usage
CN106874085A (zh) 一种自启应用的管理方法及终端
US11341125B2 (en) Methods and system for collection view update handling using a diffable data source
CN114461106A (zh) 展示方法、装置和电子设备
CN109145084B (zh) 数据处理方法、数据处理装置和服务器
CN109561146A (zh) 文件下载方法、装置、终端设备
CN106886396A (zh) 表情管理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20180803