CN112106327B - 异构处理节点的自优化网络中的资源管理和资源分配方法 - Google Patents
异构处理节点的自优化网络中的资源管理和资源分配方法 Download PDFInfo
- Publication number
- CN112106327B CN112106327B CN201980023240.4A CN201980023240A CN112106327B CN 112106327 B CN112106327 B CN 112106327B CN 201980023240 A CN201980023240 A CN 201980023240A CN 112106327 B CN112106327 B CN 112106327B
- Authority
- CN
- China
- Prior art keywords
- network
- token
- node
- processing
- nodes
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
一种用于分布式处理的方法包括在编排器处接收处理请求,以及识别处理请求内的一个或多个任务。该方法还包括以下操作:将处理请求的一个或多个任务分配给网络的节点集合以进行处理,该分配基于节点集合中的每个节点的记分卡;经由网络接口从节点集合中的节点接收已完成的任务;以及执行已完成的任务是否由令牌网络中的节点处理了的判定。另外,该方法包括:更新不在令牌网络中的节点的进度度量的值;执行进度度量的值是否超过预定值的判定;以及当进度度量的值超过预定值时,将该节点添加到令牌网络。
Description
相关申请的交叉引用和优先权声明
本申请要求于2018年3月30日提交的美国临时申请序列No. 62/650,659的权益。该临时申请通过引用并入本文,就像在下面全部复制一样。
技术领域
本公开一般而言涉及分布式计算。更具体而言,本公开涉及用于异构处理节点的自优化网络中的资源管理和资源分配的系统和方法。
背景技术
技术进步(诸如,小型、低功率分组数据无线电的发展)、消费者需求(例如,对智能电话的广泛需求)以及人们感知计算机的方式的典范转移(paradigm shifts)(例如,从“计算机互联网”向“物联网(IoT)”转变)已经使得被可视为“联网计算机”的设备的数量和类型呈几何的增长。而术语“联网计算机”先前涵盖使用有限范围的通信协议进行操作的狭小范围的设备(例如,膝上型电脑、台式机和服务器),该术语现在包括跨各种联网协议连接的广泛范围的异构计算平台。联网计算机现在包括但不限于家庭IoT控制器(例如, AmazonEcho)、网关设备(例如,由V2COM公司制造的Neuron 和Dendrion设备)、智能电话以及台式机、膝上型电脑和服务器计算机。
但是,许多这种新创建的联网计算能力与特定于功能的设备关联,在使用周期之间存在大量的停机时间(例如,家庭自动化系统可能具有大量的处理和存储器资源来支持诸如语音或脸部识别之类的操作,这在房屋通常没有人的白天期间是没有被使用的)。除了在使用周期之间经历大量的停机时段外,许多这种新创建的联网计算能力都被分割并仅连接到小型网络内的少量设备和连接到供应商的服务器。例如,家庭自动化控制器可能仅通信地连接到家庭内的IoT设备、一个或两个识别出的用户终端(例如,智能电话、平板电脑或膝上型计算机) 和制造商的服务器(例如,由Amazon或Google托管的服务器)。
上述描述的联网计算机的激增带来了许多未开发的计算能力来支持以前无法想象的规模的分布式计算。然而,抓住这种潜在的计算马力的馈赠(bounty)带来许多技术挑战,诸如如何实现异构分布式处理资源的高效分配,如何最佳地内在分散计算资源作为分布式网络的节点,以及如何在作为网络节点的设备上规范访问并维护私有数据的安全性。
如本文所述的实施例致力于提供系统、方法和数据结构,通过这些系统、方法和数据结构,可以将分散的、异构的联网计算机聚集在一起作为自优化处理网络的安全节点的联合。
发明内容
本公开提供了用于在异构处理节点的自优化网络中进行资源管理和资源分配的系统和方法。
在第一实施例中,一种用于分布式处理的方法包括以下操作:在编排器处接收处理请求,该编排器包括处理器、网络接口和存储器,该编排器经由网络接口连接到处理节点的网络,该处理节点的网络包括令牌网络;以及识别所述处理请求内的一个或多个任务。该方法还包括以下操作:经由网络接口将所述处理请求的所述一个或多个任务分配给网络的节点集合以进行处理,该分配基于节点集合中的每个节点的记分卡(scorecard);经由网络接口从节点集合中的节点接收已完成的任务;以及执行已完成的任务是否由令牌网络中的节点处理了的判定。另外,该方法包括:响应于判定已完成的任务是由不在令牌网络中的节点处理了,更新不在令牌网络中的该节点的进度度量的值;执行进度度量的值是否超过预定值的判定;以及响应于判定进度度量的值超过预定值,将该节点添加到令牌网络。
在第二实施例中,编排器包括:处理器;连接到处理节点的网络的网络接口,该处理节点的网络包括令牌网络;以及包含指令的存储器。当存储器中的指令由处理器执行时,它们使编排器接收处理请求,识别该处理请求内的一个或多个任务,以及经由网络接口将该处理请求的所述一个或多个任务分配给网络的节点集合以进行处理,该分配基于节点集合中的每个节点的记分卡。此外,这些指令在由处理器执行时,使编排器经由网络接口从节点集合中的节点接收已完成的任务,执行已完成的任务是否由令牌网络中的节点处理了的判定,以及响应于判定已完成的任务由不在令牌网络中的节点处理了,更新不在令牌网络中的该节点的进度度量的值。另外,存储器中的指令在由处理器执行时,使编排器执行进度度量的值是否超过预定值的判定,以及响应于判定进度度量的值超过预定值,将该节点添加到令牌网络。
在第三实施例中,一种非瞬态计算机可读介质包含程序代码,该程序代码在由处理器执行时使编排器:经由连接到处理节点的网络的编排器的网络接口接收处理请求,处理节点的网络包括令牌网络;识别该处理请求内的一个或多个任务;以及经由网络接口将该处理请求的所述一个或多个任务分配给网络的节点集合以进行处理,该分配基于节点集合中的每个节点的记分卡。另外,非瞬态计算机可读介质包含程序代码,该程序代码在由处理器执行时使编排器:经由网络接口从节点集合中的节点接收已完成的任务;执行已完成的任务是否由令牌网络中的节点处理了的判定;响应于判定已完成的任务由不在令牌网络中的节点处理了,更新不在令牌网络中的该节点的进度度量的值;以及判定进度度量的值是否超过预定值。此外,非瞬态计算机可读介质包含程序代码,该程序代码在由处理器执行时,使编排器响应于判定进度度量的值超过预定值而将该节点添加到令牌网络。
根据以下各图、描述和权利要求书,其它技术特征对于本领域技术人员而言是明显的。
在进行下面的具体实施方式之前,阐述贯穿本专利文件中使用的某些单词和短语的定义可能是有利的。术语“耦合”及其派生词是指两个或更多个元件之间的任何直接或间接通信,无论这些元件是否彼此物理接触。术语“发送”、“接收”和“传送”及其派生词涵盖直接和间接通信两者。术语“包含”和“包括”及其派生词是指包含但不限于。术语“或”是包含性的,意味着和/或。短语“与...相关联”及其派生词是指包含、被包含在内、与…互连、包括、被包括在内、连接到或与…连接、耦合到或与…耦合、可与…通信、与…协作、交错、并置、接近、绑定到或与…绑定、具有…的属性、与…具有关系,等等。术语“控制器”是指控制至少一个操作的任何设备、系统或其一部分。这样的控制器可以以硬件或硬件与软件和/或固件的组合来实现。与任何特定控制器相关联的功能可以是集中式或分布式,不论是本地地还是远程地。短语“…中的至少一个”当与项目列表一起使用时,是指可以使用所列出的项目中的一个或多个的不同组合,以及可能只需要列表中的一个项目。例如,“A、B和C中的至少一个”包含以下组合中的任何一个:A、B、C、A和B、A和C、B和C、以及A和B和C。
此外,以下描述的各种功能可以由一个或多个计算机程序实现或支持,每个计算机程序由计算机可读程序代码形成并具体体现在计算机可读介质中。术语“应用”和“程序”是指适于在合适的计算机可读程序代码中实现的一个或多个计算机程序、软件组件、指令集、过程、功能、对象、类、实例、相关数据或其一部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘(CD)、数字视频盘(DVD)或任何其它类型的存储器。“非瞬态”计算机可读介质不包括传输瞬态电信号或其它信号的有线、无线、光学或其它通信链路。非瞬态计算机可读介质包括数据可以被持久存储的介质以及数据可以被存储并在以后被重写的介质,诸如可重写光盘或可擦除存储器设备。
贯穿本专利文件提供了对其它某些单词和术语的定义。本领域普通技术人员应该理解的是,在许多(如果不是大多数)情况下,此类定义适用于此类定义的单词和短语的先前以及将来的使用。
附图说明
为了更完整地理解本公开及其优点,现在参考以下描述并结合附图,其中:
图1图示了根据本公开的某些实施例的包括编排器和令牌网络的网络上下文的示例;
图2图示了根据本公开的某些实施例的编排器的示例;
图3图示了根据本公开的某些实施例的处理节点的示例;
图4图示了根据本公开的某些实施例的方法的操作;以及
图5图示了根据本公开的某些实施例的用于跟踪令牌网络中的成员资格(membership)的数据结构的示例。
具体实施方式
下面讨论的图1至图5和在本专利文件中用于描述本公开的原理的各种实施例仅作为说明,并且不应以任何方式被解释为限制本公开的范围。
图1图示了根据本公开的包括编排器和令牌网络的网络上下文 100的示例。
根据某些实施例,网络上下文100包括编排器105、应用层110、一个或多个网络115、属于令牌网络的一个或多个异构处理节点 120a-c,以及不属于令牌网络的一个或多个异构处理节点125a-b。
在图1的非限制性示例中,编排器105是管理服务器,诸如实施在单个服务器机架上的Hewlett-Packard ProliantTM服务器。根据某些实施例,编排器105包括程序代码,该程序代码在由编排器105的处理器的一个或多个核心执行时,使编排器105经由网络接口(例如,图2中的网络接口225)接收要由分布式处理网络的一个或多个节点 (例如,令牌网络节点120a-c和/或非令牌网络节点125a-b)进行处理的处理请求。该程序代码在由处理器执行时,还使编排器识别该处理请求内的一个或多个任务,以及经由网络接口将该处理请求的一个或多个任务分配给网络的节点集合以进行处理,该分配基于该节点集合中的每个节点的记分卡。另外,该程序代码在由处理器执行时,使编排器经由网络接口从该节点集合中的节点接收已完成的任务,执行已完成的任务是否由令牌网络中的节点处理了的判定,响应于判定已完成的任务由不在令牌网络中的节点处理了,而更新不在令牌网络中的该节点的进度度量的值,以及执行进度度量的值是否超过预定值的判定。此外,当由处理器执行时,程序代码使编排器响应于判定进度度量的值超过预定值而将该节点添加到令牌网络。
用于实现编排器105的多种架构是可能的,并且在本公开的范围内。根据一些实施例,编排器105是单个服务器,而在其它实施例中,编排器105可以包括多个物理服务器。在一些实施例中,编排器105 在一个或多个虚拟机(VM)上实现。根据还有的其它实施例,编排器105跨各种机器在云中实现。根据还有的另外的实施例,编排器 105在命令中心上实现,诸如在2018年3月1日提交的美国临时申请No.62/637,267中描述的。
根据各种实施例,编排器105接收要由联网计算平台进行处理的处理请求或作业,该联网计算平台包括异构处理节点的一个或多个网络中的节点(例如,节点120a-c和节点125a-b)。如将在本文中更详细讨论的,在一些实施例中,编排器105将处理请求分解成要被分配给一个或多个异构网络内的节点的组成任务。在一些情况下,编排器可以选择处理节点,并基于编排器已知的处理节点的一个或多个属性将处理作业的组成任务分配给所选择的节点。在一些实施例中,每个处理节点可以维护其能力(例如,处理器速度、可用存储器、传感器能力等)的相关度量的“记分卡”。在其它实施例中,网络的每个处理节点的“记分卡”维护在编排器处或在网络的一个或多个节点和编排器可访问的数据储存库(例如,数据库)处。
考虑到处理节点120a-c和125a-b处设备的潜在异构性,以及某些处理节点“兼职(moonlight)”或除了执行作为原始意图功能的一部分的任务之外还执行由编排器分配的处理任务这一事实,特定节点的机器级别特性(例如,处理器速度、可用存储器、传感器特性等) 可能无法始终准确地反映节点贡献到处理网络的计算值。作为非限制性示例,考虑编排器(例如,编排器105)可以向其分配处理任务的、构成网络的处理节点的两个设备。在这两个设备中,一个具有更快的处理器和更多的存储器,但是具有比另一个处理器更少的空闲时间。替代地,具有优异机器级别特性的设备可能经由慢的、不可靠的网络被连接到编排器105,或者以其它方式以不容易被预期或建模的方式降低其对分布式处理网络的有用性。在这种情况下,两个处理节点的机器级别特性可能无法准确反映计算值(在这个示例中,值被表示为在任何给定时间,节点将成为两个或更多个节点中最先(first)成功完成任务的节点的概率)。在一些实施例中,编排器105对空闲时间、网络连接性问题和决定处理节点对处理网络的计算值的其它因素的变型进行建模。在其它实施例中,诸如其中网络中处理节点的数量大或者无法可靠地对影响处理节点对网络的计算的因素进行建模之类的实施例中,编排器105可以利用根据本公开的实施例的基于令牌的方法来补充或替换建模处理节点的计算值。
根据各种实施例,编排器105将处理任务分配给处理节点以用于概率执行。如本文所使用的,概率执行的概念包括网络的各种处理节点之间成功完成所分配的处理任务的竞赛。根据某些实施例,与任何一个成功执行处理的处理节点相关联的潜在不确定性(例如,由于处理节点必须执行本机处理功能而取消作业、网络连接问题等)意味着在预计至少一个处理节点将成功完成所分配的任务的可能性可接受地高的情况下,处理任务跨多个节点进行分配。
在本公开的某些实施例中,编排器105维护网络内每个处理节点的进度度量。进度度量除其它事项外还记录处理节点因最先完成所分配的任务而已经“获胜”的竞赛的数量。当处理节点的进度度量超过预定值时,该节点被添加到令牌网络。在一些实施例中,在将节点提升到令牌网络之后,编排器105可以停止维护和更新该节点的进度度量。
根据各种实施例,实现包括处理节点(这些处理节点对用于分布式处理的网络的计算值)的令牌网络根据本公开的实施例为处理节点的网络提供了机制来自优化作为分布式超级计算机(uber-computer) 的处理节点的网络的性能。例如,将已证明的执行者添加到令牌网络可以通过减少或消除与针对处理节点对处理网络的计算值进行建模相关联的处理任务,来减少编排器105处的处理负载。另外,添加已证明的执行者可以进一步有助于分布式网络的自优化,因为通过在被指派给特定处理任务的处理节点集合内包含令牌网络的一个或多个成员 (其通过它们在令牌网络中的成员资格,已经显示它们在处理网络中利用其本机功能协调其角色的能力)可以改善概率执行。
此外,根据本公开的实现令牌网络的实施例可以通过提供有机地提高的性能基准来提供计算上便宜的方式来自优化作为超级计算机用于处置处理任务的分布式处理网络的性能。具体而言,在某些实施例中,对于给定的处理任务,编排器105将任务分配给多个处理节点,包括已经在令牌网络中的一个或多个节点。在这种情况下,处理任务成为令牌网络成员与非成员之间的竞争。为了非成员增加其进度成员资格的值并朝着令牌网络中的成员资格推进,它必须在成功完成所分配的任务的竞赛中击败令牌网络的当前成员。以这种方式,令牌网络通过添加处理节点而增长,这些处理节点对网络的计算值大于现有节点的计算值。
根据某些实施例,应用层110包括与编排器105接口连接并向编排器105提供处理请求的一个或多个应用。在图1的非限制性示例中,应用层110内的应用向编排器105提供处理请求,其中具有为处理请求指定处理参数的元数据。处理参数包括但不限于处理请求的处理截止日期(例如,需要完成作业的日期)、令牌网络的处理节点的优先级参数(例如,在处理请求被分配用于概率执行的情况下,优先级参数可以指定要被分配给处理任务的令牌网络节点的最小百分比)、处理请求的输出要求、以及地理参数(例如,要求与处理请求相关联的处理任务仅被分配给特定国家中的处理节点)。
根据某些实施例,网络115是将编排器105连接到异构处理节点 120a、120c和120d中的每一个的有线网络。根据其它实施例,网络 115是无线网络,诸如Wi-Fi或3G无线网络。网络115使用上下文适合的网络协议来承载通信,这些协议包括但不限于HTTP、Aeron、消息队列遥测传输(MQTT)、NanoIP、ROLL(低功耗和有损网络上路由)、uIP和UDP。其它通信协议也是可能的并且在本公开的范围内。
根据某些实施例,处理节点120a-c包括作为令牌网络的成员并且能够安全地接收由编排器105分配的处理任务的联网处理平台。此外,处理节点120a-c中的每一个与被存储在编排器105a可以访问的存储器中的唯一标识符值相关联。在图1的非限制性示例中,处理节点120a-c中的每一个还与令牌130a-130c之一相关联。如本文将更详细地讨论的,在某些实施例中,令牌130a-130c中的每一个包括在令牌钱包中维护的唯一标识符。
根据某些实施例,就其处理能力和作业处置能力而言,处理节点 120a-c潜在地是异构的。处理节点120a-c之间的异构性的方面包括但不限于处理速度、可用RAM、功率要求、可用存储、网络连接的类型(例如,Wi-Fi连接、3G连接、千兆位以太网)、可用传感器 (例如,麦克风、温度计、相机、气压计)、处理器功能(例如,浮点处理能力、真随机数生成能力)以及处理器核心的数量。根据某些实施例,处理节点120a-c是成员设备,诸如在美国临时专利申请No. 62/637,267中描述的,该申请的全部内容通过引用并入本文。
在一些实施例中,处理节点125a-b包括不是令牌网络的成员并且能够安全地接收由编排器105分配的处理任务的联网处理平台。此外,在图1的非限制性示例中,处理节点125a-b中的每一个与唯一标识符值和被存储在编排器105对其具有读写访问权限的存储器中的进度度量的值相关联。
根据某些实施例,就其处理能力和作业处置能力而言,处理节点 125a-b潜在地是异构的。处理节点125a-b之间的异构性的方面包括但不限于处理速度、可用RAM、功率要求、可用存储、网络连接的类型(例如,Wi-Fi连接、3G连接、千兆位以太网)、可用传感器 (例如,麦克风、温度计、相机、气压计)、处理器功能(例如,浮点处理能力、真正随机数生成能力)以及处理器核心的数量。根据某些实施例,处理节点125a-b是成员设备,诸如在美国临时专利申请 No.62/637,267中描述的。
图2图示了根据本公开的某些实施例的编排器200的示例。
根据某些实施例,编排器200在服务器计算机上实现,并且包括存储器205、处理器210、评估器215、API套件220和网络接口225。在一些实施例中,编排器200可以是作业编排器,诸如在美国临时专利申请No.62/637,267中描述的。
在图2的非限制性示例中,编排器200包括存储器205。存储器 205可以包含指定处理节点的处理能力的数据(例如,记分卡)的一个或多个库。在一些实施例中,处理节点的能力的库可以维护在高粒度级别,其中每个处理节点的数据包括但不限于关于设备的特定处理器和存储器资源的信息。替代地,根据其它实施例,设备能力信息的库包括设备标识符的字典和为设备确定的分类(例如,“10X”或“100X”)。
此外,存储器205可以包含编排器200可以向其分配处理任务的处理节点的唯一标识符与进度度量的索引配对值。在一些实施例中,存储器205还包括用于将处理任务与计算值相关联的评分算法,以及将属于令牌网络的处理节点(例如,图1中的处理节点120a-c)与令牌钱包的唯一标识符相关联的唯一标识符。
根据某些实施例,处理器210是设在服务器内的中央处理单元 (CPU)芯片。根据其它实施例,编排器200可以跨多个服务器实现,或者作为云计算系统的一部分来实现。在这样的实施例中,处理器 210包括跨服务器机器的可动态变化的机架(cast)操作的多个单独的处理器。根据还有的其它实施例,编排器200可以在虚拟机上实现,并且处理器210是虚拟CPU,其包括实现虚拟机的(一个或多个) 物理机器的处理器资源的指派。
在各种实施例中,编排器200包括评估器215,该评估器215对编排器200所接收的处理请求执行各种预处理和后处理任务。根据某些实施例,评估器215将在编排器处接收到的处理请求解析为可以被分配给处理节点的组成处理任务。根据某些实施例,评估器215还可以实施加权算法或其它处理来确定与被分配的处理任务相关联的计算工作的度量(以及隐含地,由最先完成给定处理任务的处理节点提供的对处理网络的计算值)。例如,由评估器215实现的算法可以基于与处理任务相关联的浮点运算(“每秒浮点计算(flops)”)的数量来提供计算工作的度量。在另一个示例中,由评估器215实现的算法可以基于作为处理请求的一部分而提供的未处理的数据量来提供计算工作的度量。许多变型是可能的并且在本公开的预期范围内。
根据一些实施例,API套件220包含一个或多个应用编程接口 (API)225a-225d,用于在编排器200与处理节点之间建立通信。
在图2的非限制性示例中,API套件220包括一个或多个API,该一个或多个API能够将处理请求中的一组预设处理功能(例如,执行散列功能)映射到处理节点的命令集。在一些实施例中,预设处理功能可以以面向对象的格式表示,并且包括方法和属性。例如,在一些实施例中,预设功能可以映射到特定于IoT的操作系统(诸如由 V2COM公司开发的Conera平台)的API对象。
根据一些实施例,预设处理功能可以被映射到设备或特定于操作系统的命令。例如,根据一些实施例,API可以将处理请求中的“散列”功能映射到可以由处理节点实现的Java方法“hashCode”。替代地,在一些实施例中,API套件220可以包括单个API,该单个 API将预设功能映射到跨整个操作系统范围的命令和处理节点找到的处理能力。根据还有的另外的实施例,API套件220内的各个API 可以提供命令中心级别预设功能到不同数据模型的映射,以便支持跨广泛的联网环境和处理节点的能力的通信。
在一些实施例中,网络接口225操作以使编排器200与一个或多个网络(例如,图1中的网络115)互连。取决于实施例,网络接口 225可以具有表示为节点ID、端口号或IP地址的网络地址。根据某些实施例,网络接口225被实现为硬件,诸如网络接口卡(NIC)。替代地,网络接口225可以被实现为软件,诸如 java.net.NetworkInterface类的实例。另外,根据一些实施例,网络接口225支持通过多种协议的通信,这些协议诸如TCP/IP以及无线协议,诸如3G或蓝牙。
图3图示了根据本公开的各种实施例的处理节点。
图3图示了根据本公开的某些实施例的处理节点300的示例。根据一些实施例,处理节点300是另一种“智能”类型的设备,诸如家用电器或其它家用电器的控制器。根据其它实施例,处理节点300是智能电话或平板计算机。根据还有的其它实施例,处理节点300是联网的仪表、或者附接到公共设施的存在点(例如,路灯、开关、交通信号灯或电线杆)的开发板。根据还有的另外的实施例,处理节点300可以是网关设备,诸如物联网(IoT)网关设备。可以用作处理节点300的网关设备的示例包括但不限于V2COM公司的Neuron C SmartConcentrator和Dendrion Power Smart Submetering Unit,并且许多实施例是可能的并且在本公开的范围内。
根据某些实施例,处理节点300包括处理器305。在图3的非限制性示例中,处理器305是具有一个或多个核心的多功能处理器(与例如特定于功能的ASIC不同),其能够执行存储在非瞬态存储器 310中的程序代码。在图3的非限制性示例中,处理器305包括时钟307或与时钟307耦合,时钟307的速度提供对处理器305的处理能力的一种测量。在一些实施例中,处理器305具有诸如例如但不限于在其它处理节点的处理器中没有的浮点处理、真随机数生成或智能高速缓存之类的特征。
根据一些实施例,存储器310包含程序代码,该程序代码在由处理器305执行时使处理器执行其作为一部分的处理节点300的功能。返回本文讨论的家庭自动化系统的控制器的非限制性示例,存储器 310包含指令,该指令在由处理器305执行时,使它执行功能,诸如将温度数据读取和写入到存储器310、控制输入/输出设备320的操作以发送用于家庭内的设备(例如,智能灯泡、电子控制的加热器和空调、以及电子控制的窗帘)的控制信号。另外,存储器310的区域可以被分配用于数据存储和存储附加的程序代码,包括一个或多个应用 315。
根据某些实施例,应用315包括可以被写入到存储器310并由处理器305读取和执行的程序代码或软件。在图3的非限制性示例中,应用315包括与处理节点的核心功能相关联的应用(例如,家庭自动化应用,诸如用于自动控制互联网连接的灯泡的应用)以及在处理节点300上托管的虚拟计算机。
在图3的非限制性示例中,处理节点300具有输入/输出设备320。根据某些实施例,输入/输出设备320包括显示器(诸如LED显示器)、键盘和鼠标。根据其它实施例,I/O设备320是一组输入/输出引脚,该组输入/输出引脚连接到处理器或控制器(诸如处理器305)的引脚。
在图3的非限制性示例中,处理节点300具有操作系统(OS) 325,其支持处理节点300的基本功能,包括但不限于执行应用315、从传感器330接收数据、以及经由网络接口325发送和接收数据。根据一些实施例,OS 325可以是通用操作系统,诸如Android或iOS。根据其它实施例,OS 325可以是专有操作系统,诸如Fire OS。根据还有的其它实施例,OS 325是面向IoT的操作系统,诸如V2COM 公司的Conera。
根据某些实施例,处理节点300包括传感器330。在图3的非限制性示例中,传感器330包括但不限于相机、麦克风、温度计、气压传感器、照度计、能量监视器、水表和雨水传感器。
在一些实施例中,网络接口325操作以将处理节点300与一个或多个网络(例如,图1中的网络115)互连。取决于实施例,网络接口325可以具有表示为节点ID、端口号或IP地址的网络地址。根据某些实施例,网络接口325被实现为硬件,诸如网络接口卡(NIC)。替代地,网络接口325可以被实现为软件,诸如 java.net.NetworkInterface类的实例。另外,根据一些实施例,网络接口225支持通过多种协议的通信,这些协议诸如TCP/IP以及无线协议,诸如3G或蓝牙。
图4图示了根据本公开的方法400的操作。
在图4的非限制性示例中,方法400的操作是在单个服务器平台上实施的编排器处执行的。其中由多个和/或不同的计算平台(例如,处理节点,诸如图1中所示的处理节点)执行方法400的操作的其它实施例是可能的并且在本公开的预期范围内。
在一些实施例中,在操作405处,编排器(例如,图1中的编排器105)接收处理请求,在一些实施例中,经由编排器的一个或多个接口从应用接收处理请求。在其它实施例中,在编排器处接收处理任务与在编排器的数字钱包和与提交处理请求的一方(或设备)的唯一标识符相关联的数字钱包之间建立智能合约相关联。如本文所使用的,术语处理请求包含向编排器的数字提交,该数字提交定义要由被配置为接收由编排器分配的处理任务的处理节点执行的计算任务的参数。在一些实施例中,处理请求与用户定义的指令一起、作为要被处理的数据文件束而提交。在其它实施例中,处理请求可以以面向对象的格式提交,面向对象的格式包括要对其执行的一组定义的属性和方法。在其它实施例中,可以将处理请求作为指向数据源的一组指针来提交,其中要对这些数据源执行一组预定义操作。可以包括在操作405处接收到的处理请求中的计算操作的示例包括但不限于图像识别任务、特征提取(诸如,在卷积神经网络中)以及计算散列值。
在图4的非限制性示例中,在操作410处,编排器识别处理请求内的一个或多个处理。根据一些实施例,识别处理任务内的处理任务包括将处理请求重新转换(recast)为与网络中处理节点的机器级别能力相匹配的一组离散的组成处理任务。
根据某些实施例,在操作415处,编排器基于一个或多个预定因素将在操作415中识别出的处理任务经由网络接口分配给处理网络的处理节点。在图4的非限制性示例中,非限制性因素包括但不限于从在编排器处维护的计分卡得出的处理节点性能度量的值。在其它实施例中,可以在处理节点本身处维护处理节点性能度量的值。在某些实施例中,分配处理任务所可以基于的预定因素包括但不限于,指示处理节点是否是令牌网络的成员的指示符(诸如二进制变量),或者替代地,用于尚不是令牌网络的成员的处理节点的进度度量的值。
在一些实施例中,作为操作415的一部分,编排器或其组件(例如,图2所示的评估器215)还可以计算表示与处理所分配的任务相关联的处理节点的计算成本的度量的值(以及隐含地,对处理网络的计算工作的值)。如本文所讨论的,计算成本的度量包括但不限于对与任务相关联的每秒浮点计算(flops)的数量或原始未处理数据的量的估计。
在一些实施例中,在处理任务被分配并经由网络(例如,图1中中的网络115)被提供识别出的处理节点之后,处理节点之间要最先成功处理所分配的处理任务的竞争开始。在一些实施例中,处理节点的领域可以完全由令牌网络内的处理节点组成。在其它实施例中,处理节点的领域可以包括令牌网络内的一个或多个处理节点,以提供性能基准,并且通过要求向令牌网络的新添加者是比令牌网络的当前处理节点高的执行者来促进处理网络的自优化。
在各种实施例中,在操作420处,处理任务在操作处被分配给的节点之一是最先通知编排器它已成功完成它的处理任务的节点,并且编排器从该节点接收已完成的任务。在一些实施例中,处理节点通过向编排器提供该处理节点的处理操作的输出(例如,计算出的值或已处理的数据)来向编排器通知其成功完成。在其它实施例中,编排器对已完成任务的接收与编排器接收处理节点已成功完成任务的通知是分开的。
在一些实施例中,在操作425处,编排器执行已完成的处理任务是否由作为令牌网络的成员的处理节点完成了的判定。在一个非限制性示例中,在操作420中在编排器处接收到的已完成的处理任务还可以包括关于处理节点的身份的可信任指示符(诸如处理节点的数字签名)。编排器基于处理节点身份的可信任指示符来判定该处理任务是否由属于令牌网络的节点完成了。
在图4的非限制性示例中,如果所分配的任务不是由令牌网络中的节点处理的,那么方法400进行到操作430,其中编排器为在操作 425处识别出的节点更新进度度量的现有值。在一些其它实施例中,编排器为处理节点创建进度度量的新值或初始值。在一些实施例中,进度度量的值可以反映该处理节点最先成功完成了的所分配任务的计算聚合值(例如,由图2中的评估器215确定的每秒浮点计算估计)。替代地,在其它实施例中,进度度量的值可以取决于处理网络的总体性能要求,包括处理节点最先向编排器提供完成的任务的所分配任务的数量。许多变型是可能的并且在本公开的预期范围内。
根据某些实施例,在操作435处,编排器执行该处理节点的更新的进度度量是否超过预定阈值的判定,其中在操作420处编排器从该处理节点接收已完成的任务。例如,在将进度度量从节点成功完成的处理请求中的原始数据量中剥离(keyed off)的实施例中,阈值可以是十千兆字节(10GB)。在这样的实施例中,在操作435处,编排器将与所分配的任务相关联的数据总量与10GB阈值进行比较,其中对于所分配的任务,该处理节点是一个或多个处理节点中最先完成的。
虽然在先前的示例中,已经参考其中基于单个公共度量和单个公共预定阈值评估每个处理节点的实施例描述了处理节点的进度度量的值是否超过阈值的判定,但是本公开不限于此。在一些实施例中,处理节点之间的异构性程度可以使得可以将系统的各种处理节点组织成类别,并且基于特定于类别的进度度量和阈值配对来确定特定节点朝着令牌网络中的成员资格的进度。因此,在根据本公开的实施例的某些异构处理网络中,可以根据上一段中描述的数据量度量来评估一种类别的处理节点的进度,而可以根据不同命名的进度度量(例如,多个计算出的散列)来评估另一类别的设备(例如,具有图形处理单元的设备或能够同时处理大量线程的其它处理器)。
在图4的非限制性示例中,如果处理节点的更新的进度度量超过预定值,那么方法400进行到操作440,其中在操作435处其进度度量被判定具有超过预定阈值的值的处理节点被添加到令牌网络。根据一些实施例,将该处理节点添加到令牌网络在计算上是轻量级的,并且仅需要将节点添加到处理节点标识符的索引。在其它实施例中,可以通过实现数字钱包和分布式分类账系统来增强令牌网络的完整性 (例如,通过防止对令牌网络的欺诈性或不劳而获的添加)。在一些实施例中,每个令牌与分布式分类账相关联,并且编排器和处理节点与唯一标识符(例如,IMEI标识符)相关联。当处理节点被添加到令牌网络时,分布式分类账被更新为包括将令牌的唯一标识符与处理节点的唯一标识符或令牌持有者的数字钱包进行配对的条目。一旦维护分布式分类账的机器批准将处理节点添加到分布式分类账上的令牌网络,处理节点就正式且完整地被添加为令牌网络的成员。
根据某些实施例,如果针对处理节点的更新的进度度量未超过预定值,那么方法400进行到操作445,其中,出于处理节点和操作 415处所分配的处理任务的目的,方法400的当前实例结束。但是,应当注意的是,在一些实施例中,编排器可以为给定的处理节点分配多个处理任务,由此,编排器可以相对于特定处理节点执行方法400 的多个实例。
此外,在一些实施例中,如果在操作425处判定所分配的任务已被令牌网络中的节点成功处理了,那么方法400进行到操作450,其中令牌网络规则应用于在操作420处从其接收到已完成的任务的处理节点。根据一些实施例。令牌网络规则的应用可以包括向与处理节点相关联的唯一标识符提供奖励或值的其它代理,作为处理节点快速、成功完成操作415处所分配的处理任务的交换。
如本文其它地方所讨论的,通过添加具有经证明的计算值的处理节点作为令牌网络的成员,根据本公开的某些实施例提供了计算上便宜(例如,基于计算能力的异构性、网络连接质量和执行所分配任务的预期可用性,作为尝试建模的替代)的方式来自优化作为超级计算机用于大型处理请求的分布式处理的异构处理节点网络。根据一些实施例,处理任务被分配给所示出的处理节点集合,其中包括令牌网络的成员。以这种方式,对令牌网络的新添加者在聚合方面至少具有与令牌网络的现有成员一样的计算能力。因此,通过识别和扩展其对网络的计算值已被证明的处理节点集合来自优化处理网络。此外,处理网络进一步进行自优化,因为随着时间的推移,由于为了被添加为令牌网络的新成员,处理节点通常必须胜过令牌网络的当前成员这一事实,令牌网络的聚合计算性能稳步上升。
通过使令牌能够被安全地转移,可以扩展和增强作为超级计算机用于大型处理请求的分布式处理的处理节点网络的自优化。使得令牌 (以及隐含地,与令牌持有者相关联的处理节点)能够转移可以例如解决当环境变化(例如,对处理节点的损坏、处理节点的空闲时间量变化等)使令牌网络中的处理节点对分布式处理网络的计算值减小时而产生的问题。在某些实施例中,由第一处理节点赢得的令牌可以被转移到第二处理节点,而不必等待第二处理节点单独地赢得其在令牌节点中的成员资格。通过不将指示令牌网络中处理节点的成员资格的令牌严格地绑定到单个特定机器,可以升级、修复或替换令牌网络的处理节点,这有助于确保令牌网络的处理节点能够维持其作为处理网络的已证明的贡献者的地位。
图5图示了根据本公开的某些实施例的用于跟踪令牌网络中的成员资格的数据结构500。在图5的非限制性示例中,数据结构500包括分布式分类账中由通信地连接到编排器(例如,图1中的编排器 105)的联网计算机批准的条目。在其它实施例中,数据结构500被维持为编排器中的数据。在其它实施例中,数据500以编排器可访问的结构化查询语言(SQL)数据库进行维护。许多实施例是可能的并且在本公开的预期范围内。
根据某些实施例,对于令牌网络的每个令牌,维护数据结构500 的至少一个受信任的实例。在图5的非限制性示例中,数据结构500 的实例被映射到令牌505的唯一标识符。在这个示例中,令牌#1234 被映射到唯一标识符“ZZ9876”。在一些实施例中,编排器可以用作与令牌相关联的唯一ID的命名代理。以这种能力,编排器可以为令牌分配唯一ID,并且还可以诸如通过确认唯一ID是否与编排器维护的注册表中的值匹配来验证在编排器处呈现的唯一ID的真实性。
在一些实施例中,数据结构500为令牌生命周期中的每个交易提供源标识符和目的地标识符的受信任列表,从受信任的根实体开始转移。
在图5的非限制性示例中,数据结构500中的第一条目510表示向网络添加处理节点。在由第一条目510记录的交易中,具有唯一标识符#ZZZ9876的令牌#1234从仓库(treasury)的钱包转移到“用户1”(其与唯一ID#:DEF 2345相关联)的钱包。如本文所使用的,术语“钱包”包含被处理节点和处理网络的用户信任的关于令牌的当前所有权的数字证据。钱包可以但不限于在受信任的服务器或分布式分类账上作为数据库条目被维护。此外,如本文所使用的,出于维护数据结构500中的记录的目的,术语“用户”既包括处理网络的组成成员(例如,(一个或多个)编排器和处理节点),又包括拥有或控制网络的处理节点的个体或条目。在图5的非限制性示例中,“用户1”是指其进度度量已经超过阈值的处理节点。
根据某些实施例,令牌从一个用户到另一个用户的每次转移被记录在数据结构500中,并且转移链中的间隙(例如,“从a到b”然后“从c到d”)触发预定规则的应用(例如,使在转移链中的间隙之后的所有交易无效)。此外,根据一些实施例,对于要识别的数据结构500中的新条目,可能会受到一组对等机器的批准,这些对等机器将数据结构500维护为分布式分类帐中的条目。
在图5的非限制性示例中,数据结构500被示为维护从来自仓库钱包的初始转移510直到倒数第二个515和最终转移520的完整转移链。如图5所示,令牌#1234当前由“用户4”保持。根据某些实施例,在将条目530记录在数据结构500中之后,与“用户4”相关联的数字钱包将被更新为反映“用户4”的对令牌的当前所有权。此外,在一些实施例中,为了防止关于令牌所有权的欺诈或解决冲突,编排器可以实现数据结构500的实例与用户的数字钱包之间的层次结构,通过该层次结构,数据结构500被同意作为令牌所有权的控制记录。
本申请中的任何描述都不应被理解为暗示任何特定元素、步骤或功能是必须包含在权利要求范围内的必要元素。专利主题的范围仅由权利要求限定。此外,所有权利要求均无意援引35 U.S.C.§112 (f),除非确切的词语“用于…的部件”后跟分词。
Claims (20)
1.一种用于分布式处理的方法,所述方法包括:
在编排器处接收处理请求,所述编排器包括处理器、网络接口和存储器,所述编排器经由所述网络接口连接到处理节点的网络,所述处理节点的网络包括令牌网络;
识别所述处理请求内的一个或多个任务;
经由所述网络接口将所述处理请求的所述一个或多个任务分配给网络的节点集合以进行处理,所述分配基于所述节点集合中的每个节点的记分卡;
经由所述网络接口从所述节点集合中的节点接收已完成的任务;
执行已完成的任务是否由所述令牌网络中的节点处理了的判定;
响应于判定已完成的任务是由不在所述令牌网络中的节点处理了,更新不在所述令牌网络中的所述节点的进度度量的值;
执行所述进度度量的值是否超过预定值的判定;以及
响应于判定所述进度度量的值超过预定值,将所述节点添加到所述令牌网络。
2.如权利要求1所述的方法,其中所述编排器经由所述网络接口连接到所述令牌网络,所述令牌网络包括异构节点的网络。
3.如权利要求1所述的方法,其中分配所述处理请求的所述一个或多个任务包括:基于所述节点集合中的每个节点的记分卡中包括的节点属性值来优化网络性能的度量。
4.如权利要求1所述的方法,其中所述编排器在所述处理节点的网络的所述节点集合中的一个或多个节点上实现。
5.如权利要求1所述的方法,其中将所述节点添加到所述令牌网络包括将令牌的唯一ID与令牌钱包的唯一ID相关联。
6.如权利要求5所述的方法,其中将令牌的唯一ID与令牌钱包的唯一ID相关联包括在分布式分类账中生成条目。
7.如权利要求1所述的方法,还包括:
响应于将所述节点添加到所述令牌网络,更新所述编排器的令牌节点索引以将令牌的唯一标识符与被添加到所述令牌网络的所述节点相关联。
8.一种编排器,包括:
处理器;
连接到处理节点的网络的网络接口,所述处理节点的网络包括令牌网络;以及
包含指令的存储器,所述指令在由所述处理器执行时,使所述编排器:
接收处理请求;
识别所述处理请求内的一个或多个任务;
经由所述网络接口将所述处理请求的所述一个或多个任务分配给网络的节点集合以进行处理,所述分配基于所述节点集合中的每个节点的记分卡;
经由所述网络接口从所述节点集合中的节点接收已完成的任务;
执行已完成的任务是否由所述令牌网络中的节点处理了的判定;
响应于判定已完成的任务是由不在所述令牌网络中的节点处理了,更新不在所述令牌网络中的所述节点的进度度量的值;
执行所述进度度量的值是否超过预定值的判定;以及
响应于判定所述进度度量的值超过预定值,将所述节点添加到所述令牌网络。
9.如权利要求8所述的编排器,其中所述编排器经由所述网络接口连接到所述令牌网络,所述令牌网络包括异构节点的网络。
10.如权利要求8所述的编排器,其中分配所述处理请求的所述一个或多个任务包括:基于所述节点集合中的每个节点的记分卡中包括的节点属性值来优化网络性能的度量。
11.如权利要求8所述的编排器,其中所述编排器在所述处理节点的网络的所述节点集合中的一个或多个节点上实现。
12.如权利要求8所述的编排器,其中将所述节点添加到所述令牌网络包括将令牌的唯一ID与令牌钱包的唯一ID相关联。
13.如权利要求12所述的编排器,其中将令牌的唯一ID与令牌钱包的唯一ID相关联包括在分布式分类账中生成条目。
14.如权利要求8所述的编排器,其中所述存储器包含指令,所述指令在由所述处理器执行时使所述编排器:
响应于将所述节点添加到所述令牌网络,更新所述编排器的令牌节点索引以将令牌的唯一标识符与被添加到所述令牌网络的所述节点相关联。
15.一种非瞬态计算机可读介质,包含程序代码,所述程序代码在由处理器执行时,使编排器:
经由连接到处理节点的网络的编排器的网络接口接收处理请求,所述处理节点的网络包括令牌网络;
识别所述处理请求内的一个或多个任务;
经由所述网络接口将所述处理请求的所述一个或多个任务分配给网络中的节点集合以进行处理,所述分配基于所述节点集合中的每个节点的记分卡;
经由所述网络接口从所述节点集合中的节点接收已完成的任务;
执行已完成的任务是否由所述令牌网络中的节点处理了的判定;
响应于判定已完成的任务是由不在所述令牌网络中的节点处理了,更新所述不在所述令牌网络中的节点的进度度量的值;
执行所述进度度量的值是否超过预定值的判定;以及
响应于判定所述进度度量的值超过预定值,将所述节点添加到所述令牌网络。
16.如权利要求15所述的非瞬态计算机可读介质,包含程序代码,所述程序代码在由所述处理器执行时使所述编排器经由所述网络接口连接到所述令牌网络,所述令牌网络包括异构节点的网络。
17.如权利要求15所述的非瞬态计算机可读介质,包含程序代码,所述程序代码在由所述处理器执行时使所述处理器经由所述网络接口将所述处理请求的所述一个或多个任务分配给网络的节点集合以进行处理,其中分配所述处理请求的所述一个或多个任务包括:基于所述节点集合中的每个节点的记分卡中包括的节点属性值来优化网络性能的度量。
18.如权利要求15所述的非瞬态计算机可读介质,包含程序代码,所述程序代码在由所述处理器执行时使所述编排器在所述处理节点的网络的所述节点集合中的一个或多个节点上实现。
19.如权利要求15所述的非瞬态计算机可读介质,其中将所述节点添加到所述令牌网络包括将令牌的唯一ID与令牌钱包的唯一ID相关联。
20.如权利要求19所述的非瞬态计算机可读介质,包含程序代码,所述程序代码在由所述处理器执行时使所述编排器将令牌的唯一ID与令牌钱包的唯一ID相关联,其中将令牌的唯一ID与令牌钱包的唯一ID相关联包括在分布式分类账中生成条目。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862650659P | 2018-03-30 | 2018-03-30 | |
US62/650,659 | 2018-03-30 | ||
PCT/US2019/024809 WO2019191569A1 (en) | 2018-03-30 | 2019-03-29 | System and method for resource management and resource allocation in a self-optimizing network of heterogeneous processing nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112106327A CN112106327A (zh) | 2020-12-18 |
CN112106327B true CN112106327B (zh) | 2021-11-23 |
Family
ID=66440116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980023240.4A Active CN112106327B (zh) | 2018-03-30 | 2019-03-29 | 异构处理节点的自优化网络中的资源管理和资源分配方法 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP3777047B1 (zh) |
CN (1) | CN112106327B (zh) |
BR (1) | BR112020020119A2 (zh) |
DK (1) | DK3777047T3 (zh) |
ES (1) | ES2935141T3 (zh) |
FI (1) | FI3777047T3 (zh) |
MX (1) | MX2020009779A (zh) |
WO (1) | WO2019191569A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866167B (zh) * | 2019-11-14 | 2022-09-20 | 北京知道创宇信息技术股份有限公司 | 任务分配方法、装置、服务器和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0805393A2 (en) * | 1996-04-30 | 1997-11-05 | International Business Machines Corporation | Method and apparatus for managing membership of a group of processors in a distributed computing environment |
EP2255305A1 (en) * | 2008-02-13 | 2010-12-01 | Microsoft Corporation | Using related users' data to enhance web search |
CN107251522A (zh) * | 2015-02-24 | 2017-10-13 | 高通股份有限公司 | 将网络令牌用于服务控制面办法的高效策略实施 |
WO2017222763A2 (en) * | 2016-05-31 | 2017-12-28 | Vapor IO Inc. | Autonomous distributed workload and infrastructure scheduling |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7543020B2 (en) * | 2005-02-10 | 2009-06-02 | Cisco Technology, Inc. | Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups |
US20120254965A1 (en) * | 2011-04-04 | 2012-10-04 | Lansing Arthur Parker | Method and system for secured distributed computing using devices |
US9197733B2 (en) * | 2012-02-21 | 2015-11-24 | Blackberry Limited | System and method for transferring data between electronic devices |
US10187474B2 (en) * | 2012-08-08 | 2019-01-22 | Samsung Electronics Co., Ltd. | Method and device for resource sharing between devices |
US10454997B2 (en) * | 2012-09-07 | 2019-10-22 | Avigilon Corporation | Distributed physical security system |
US10212596B2 (en) * | 2015-06-05 | 2019-02-19 | Apple Inc. | System and method for migrating data between devices |
US9699205B2 (en) * | 2015-08-31 | 2017-07-04 | Splunk Inc. | Network security system |
JP6579884B2 (ja) * | 2015-09-24 | 2019-09-25 | キヤノン株式会社 | 通信装置、制御方法、及びプログラム |
US9977697B2 (en) * | 2016-04-15 | 2018-05-22 | Google Llc | Task management system for a modular electronic device |
-
2019
- 2019-03-29 ES ES19722729T patent/ES2935141T3/es active Active
- 2019-03-29 EP EP19722729.1A patent/EP3777047B1/en active Active
- 2019-03-29 BR BR112020020119-7A patent/BR112020020119A2/pt unknown
- 2019-03-29 FI FIEP19722729.1T patent/FI3777047T3/fi active
- 2019-03-29 MX MX2020009779A patent/MX2020009779A/es unknown
- 2019-03-29 CN CN201980023240.4A patent/CN112106327B/zh active Active
- 2019-03-29 DK DK19722729.1T patent/DK3777047T3/da active
- 2019-03-29 WO PCT/US2019/024809 patent/WO2019191569A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0805393A2 (en) * | 1996-04-30 | 1997-11-05 | International Business Machines Corporation | Method and apparatus for managing membership of a group of processors in a distributed computing environment |
EP2255305A1 (en) * | 2008-02-13 | 2010-12-01 | Microsoft Corporation | Using related users' data to enhance web search |
CN107251522A (zh) * | 2015-02-24 | 2017-10-13 | 高通股份有限公司 | 将网络令牌用于服务控制面办法的高效策略实施 |
WO2017222763A2 (en) * | 2016-05-31 | 2017-12-28 | Vapor IO Inc. | Autonomous distributed workload and infrastructure scheduling |
Non-Patent Citations (2)
Title |
---|
A flexible distributed storage integrity auditing mechanism in Cloud Computing;T.J.Salma;《2013 International Conference on Information Communication and Embedded Systems (ICICES)》;20130429;全文 * |
一种透明的分布式计算框架及其在网络优化软件中的应用;洪道友;《中国优秀硕士学位论文全文数据库 (基础科学辑)》;20091130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
DK3777047T3 (da) | 2023-01-09 |
BR112020020119A2 (pt) | 2021-01-26 |
EP3777047A1 (en) | 2021-02-17 |
ES2935141T3 (es) | 2023-03-01 |
WO2019191569A1 (en) | 2019-10-03 |
FI3777047T3 (fi) | 2023-01-13 |
EP3777047B1 (en) | 2022-10-05 |
MX2020009779A (es) | 2020-10-12 |
CN112106327A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10476985B1 (en) | System and method for resource management and resource allocation in a self-optimizing network of heterogeneous processing nodes | |
US11762697B2 (en) | Method and apparatus for scheduling resource for deep learning framework | |
US10412170B2 (en) | Retention-based data management in a network-based data store | |
US10715460B2 (en) | Opportunistic resource migration to optimize resource placement | |
US9882985B1 (en) | Data storage path optimization for internet of things computing system | |
US20190068690A1 (en) | Automated management of resource attributes across network-based services | |
US10834226B2 (en) | Live migration of containers based on geo-location | |
US10324754B2 (en) | Managing virtual machine patterns | |
US10057187B1 (en) | Dynamic resource creation to connect client resources in a distributed system | |
TW201820165A (zh) | 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
US11212371B2 (en) | Operation request allocation methods, apparatuses, and devices | |
US9910881B1 (en) | Maintaining versions of control plane data for a network-based service control plane | |
EP2998862A1 (en) | Method, device, and system for memory management | |
US10182104B1 (en) | Automatic propagation of resource attributes in a provider network according to propagation criteria | |
CN109145053B (zh) | 数据处理方法和装置、客户端、服务器 | |
EP4060496A2 (en) | Method, apparatus, device and storage medium for running inference service platform | |
CN112106327B (zh) | 异构处理节点的自优化网络中的资源管理和资源分配方法 | |
US10594620B1 (en) | Bit vector analysis for resource placement in a distributed system | |
CN117407159A (zh) | 内存空间的管理方法及装置、设备、存储介质 | |
CN110286854B (zh) | 群成员管理和群消息处理的方法、装置、设备及存储介质 | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
US11336519B1 (en) | Evaluating placement configurations for distributed resource placement | |
CN105357100A (zh) | 即时通信群组成员的优先级获取方法及装置 | |
CN112988738A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40039650 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |