CN109328337A - 模块化电子设备的任务管理*** - Google Patents

模块化电子设备的任务管理*** Download PDF

Info

Publication number
CN109328337A
CN109328337A CN201680085773.1A CN201680085773A CN109328337A CN 109328337 A CN109328337 A CN 109328337A CN 201680085773 A CN201680085773 A CN 201680085773A CN 109328337 A CN109328337 A CN 109328337A
Authority
CN
China
Prior art keywords
equipment
calculating
task
electronic equipment
modularized
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.)
Pending
Application number
CN201680085773.1A
Other languages
English (en)
Inventor
刘心诚
凯文·D·布鲁内
松冈良伦
吉尔伯特·卡比利克
戈拉夫·沙阿
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN109328337A publication Critical patent/CN109328337A/zh
Pending 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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • 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/5044Allocation 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 hardware capabilities
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

提供用于管理模块化电子设备的任务执行的***和方法。在一个实施方式中,模块化电子设备能够包括一个或多个电子模块化组件。模块化电子设备能够识别与模块化电子设备相关联的计算任务,并识别可用于执行计算任务的至少一部分的一个或多个计算设备。模块化电子设备能够获得与计算设备的一个或多个计算资源相关联的一个或多个数据集。模块化电子设备能够确定对与通过计算设备对计算任务的执行相关联的模块化电子设备的潜在益处。模块化电子设备能够至少部分地基于与计算资源相关联的数据集和潜在益处来利用计算设备执行计算任务的至少一部分。

Description

模块化电子设备的任务管理***
技术领域
本公开一般涉及模块化设备的自组织组合,并且更具体地,涉及管理与模块化设备相关联的计算任务的执行。
背景技术
模块化***能够具有多个不同的组件或设备,例如,称为模块。模块化***的不同模块能够具有专用功能和/或一个或多个通用功能。一些模块可以包括能够执行一个或多个特定功能的专用模块,诸如相机模块、电池模块等。在一些示例中,特定功能可以包括捕获图像、供应电力等。其他模块可以具有能够执行一般功能,诸如执行处理任务、利用通信带宽等的能力。
模块可以与其他模块或设备组合,或者以其他方式重新用于其他功能。在一些示例中,这种组合可以通过将模块彼此附接来利用物理连接。在其他示例中,模块的组合可以例如通过无线通信链路利用未连接的设备。
发明内容
本公开的方面和优点将在以下描述中部分地阐述,或者根据描述能够是显而易见的,或者能够通过实践本公开的实施例来学习。
本公开的一个示例方面针对模块化电子设备。模块化电子设备能够包括一个或多个电子模块化组件。模块化电子设备能够被配置成识别与模块化电子设备相关联的计算任务。模块化电子设备还能够被配置成识别可用于执行计算任务的至少一部分的一个或多个计算设备。模块化电子设备能够被配置成获得与一个或多个计算设备的一个或多个计算资源相关联的一个或多个数据集。数据集能够指示与一个或多个计算设备相关联的通信能力、处理能力和存储能力中的至少一个。模块化电子设备还能够被配置成确定对与由一个或多个计算设备执行计算任务相关联的模块化电子设备的潜在益处。模块化电子设备能够被配置成至少部分地基于与一个或多个计算资源相关联的一个或多个数据集和对模块化电子设备的潜在益处来确定是否由一个或多个计算设备执行计算任务的至少一部分。
本公开的另一示例方面针对一种管理用于模块化电子设备的任务执行的计算机实现的方法。该方法能够包括,由模块化电子设备的一个或多个电子模块化组件识别与模块化电子设备相关联的计算任务。该方法还能够包括由一个或多个电子模块化组件识别可用于执行计算任务的至少一部分的一个或多个计算设备。计算设备能够与和模块化电子设备不同的至少一个电子设备相关联。该方法能够包括由一个或多个电子模块化组件获得与一个或多个计算设备的一个或多个计算资源相关联的一个或多个数据集。数据集能够指示与一个或多个计算设备相关联的通信能力、处理能力或存储能力中的至少一个。该方法能够进一步包括,由一个或多个电子模块化组件确定对与一个或多个计算设备对计算任务的执行相关联的模块化电子设备的潜在益处。该方法能够至少部分地基于与一个或多个计算资源相关联的一个或多个数据集和对模块化电子设备的潜在益处通过一个或多个电子模块化组件确定是否利用一个或多个计算设备执行计算任务中的至少所述部分。
本公开的又一示例方面针对用于模块化电子设备的电子模块化组件。电子模块化组件能够包括模块壳体。电子模块化组件还能够包括包括在模块壳体中的一个或多个处理器以及包括在模块壳体中的一个或多个存储器设备。一个或多个存储器设备能够存储计算机可读指令,所述计算机可读指令当由一个或多个处理器执行时,使一个或多个处理器执行操作。操作能够包括识别计算任务。操作还能够包括获得一个或多个数据集,其指示与可用于执行计算任务的至少一部分的一个或多个计算设备相关联的通信能力、处理能力或存储能力中的至少一个。操作能够包括至少部分地基于一个或多个数据集合来确定是否至少由一个或多个计算设备执行计算任务的所述部分。
在一些示例中,模块化电子设备可以是模块化移动电话或其他模块化手持用户设备,该设备包括多个电子模块化组件,用户能够容易地彼此***和拔出以形成所需的组件组合。然后每个这样的组件包括壳体,该壳体设置有一个或多个物理连接器特征,用于耦合到其他这样的组件;和可选地物理功率和/或数据通信连接,当这些组件被用户一起带上时被连接。
能够由用户合并到单个这种模块化电子设备中的这种电子模块化组件可以包括例如一个或多个电话模块、显示模块、相机模块、处理模块、存储器模块、电源模块等等。任何一个这样的模块可以仅包括有限的数据处理能力,例如这些能力受到每个模块在大小、功耗、复杂性、成本、数据通信能力等方面的设计约束的限制,使得提供由外部计算机设备执行用于这种模块化电子组件的计算任务的选项能够帮助规避这些约束。
本公开的其他示例方面针对用于管理与模块化设备相关联的计算任务的执行的***、装置、有形、非暂时性计算机可读介质、用户界面、存储器设备和电子设备。
参考下述描述和所附权利要求,将更好地理解各种实施例的这些和其他特征、方面和优点。被合并在本说明书中且组成其一部分的附图图示本公开的实施例,并且与说明书一起用于解释相关原理。
附图说明
在说明书中阐述针对本领域的普通技术人员的本公开的完整且可行的描述,参考附图,其中:
图1描绘根据本公开的示例实施例的模块化实体***;
图2描绘根据本公开的示例实施例的用于管理模块化电子设备的任务执行的示例***;
图3描绘根据本公开的示例实施例的管理模块化电子设备的任务执行的示例方法的流程图;
图4描绘根据本公开的示例实施例的示例***;以及
图5描绘根据本公开的示例实施例的示例***。
具体实施方式
现在将详细参考本公开的实施例,其一个或多个示例在附图中被图示。通过解释本公开而不是对本公开的限制的方式来提供每个示例。实际上,对于本领域的技术人员来说将会显而易见的是,在不脱离本公开的范围或精神的情况下,能够对本公开做出各种修改和变化。例如,作为一个实施例的一部分图示或描述的特征能够与另一个实施例一起使用以产生又一实施例。因此,本公开旨在覆盖落入所附权利要求及其等效物的范围内的这些修改和变化。
本公开的示例方面针对管理与模块化电子设备相关联的计算任务的执行。模块化电子设备能够被配置成选择特定计算任务并且通过通信地连接到模块化电子设备的一个或多个附加计算设备来管理这些任务的执行。例如,模块化电子设备能够识别计算任务,诸如数据归档过程。另外,模块化电子设备能够识别可用于执行数据归档过程的至少一部分的一个或多个计算设备。这些计算设备能够是其他电子设备(例如,膝上型计算机、台式机、游戏***、其他电子模块化组件),所述其他电子设备接近模块化电子设备并且/或者通信地连接到模块化电子设备(例如,通过诸如自组织局域网的局域网)。模块化电子设备能够获得描述相应计算设备的计算资源(例如,通信接口、处理器、存储器设备)的相应数据集。这些数据集能够指示例如与能够被用于执行数据归档过程的至少一部分的每个计算资源相关联的通信能力、处理能力和/或存储能力。模块化电子设备还能够确定与执行计算任务相关联的潜在益处。例如,数据归档过程能够通过模块化电子设备减少主存储消耗。至少部分地基于可用计算资源的能力和/或潜在益处,模块化电子设备能够确定是否利用一个或多个计算设备执行数据归档过程的至少一部分。以这种方式,模块化电子设备能够确定计算任务是否对于可用计算设备及其相关联的计算资源是有益的并且能够通过这种可用的计算设备选择性地协同任务(或者任务的至少一部分)的执行。
更具体地,在一个示例中,模块化电子设备能够包括一个或多个电子模块化组件。一个或多个电子模块化组件能够与其他计算设备通信(例如,经由蓝牙协议、近场通信、Wi-Fi网络等)。例如,电子模块化组件能够与其他电子设备(诸如集中式服务器***、电话、膝上型计算机、台式机、游戏***等)相关联的服务器、处理器、存储器设备、其他电子模块化组件等通信。此外,一个或多个电子模块化组件能够被配置成管理对与电子模块化设备相关联的一个或多个计算任务的执行。
例如,一个或多个电子模块化组件能够识别与模块化电子设备相关联的计算任务。计算任务能够是例如被调度以在设定时间段期间发生的维护任务。在一些实施方式中,计算任务能够包括编码、加密、安全存储、专用感测(例如,温度、气体、生物测定)、通信传递(例如,使用与一个设备相关联的网络与另一个设备通信)等。例如,计算任务能够包括例如,由用户已经调度每年发生的数据归档过程。在一些实施方式中,当电子模块化组件在计算设备的通信范围内时,电子模块化组件能够从计算设备接收通告计算任务(例如,数据加密/解密过程)的通信。
电子模块化组件能够识别可用于潜在地执行计算任务的至少一部分的一个或多个计算设备。例如,电子模块化组件能够向电子模块化组件的通信范围内的计算设备发送请求。请求能够询问计算设备是否可用于执行数据归档过程的至少一部分。作为响应,计算设备能够向电子模块化组件发送指示计算设备执行数据归档过程的可用性的信息。
在一些实施方式中,电子模块化组件能够在不首先发出请求的情况下从计算设备接收通信。这些通信能够通告计算设备执行某些计算任务的可用性。例如,膝上型计算机能够向电子模块化组件发送通信,其指示膝上型计算机可用于执行数据加密/解密过程。
电子模块化组件能够获得与可用计算设备的计算资源相关联的数据。例如,每个计算设备能够包括一个或多个计算资源,诸如通信接口、处理器和/或存储器设备。计算设备的通信能力能够指示与计算设备的通信接口相关联的带宽、距离、协议等。计算设备的处理能力能够指示计算设备的处理器能够处理计算任务的速度。计算设备的存储能力能够指示与计算设备的存储器设备相关联的存储量、存储速度等。在请求之后和/或经由广告,电子模块化组件能够获得指示与一个或多个计算设备相关联的通信能力(例如,蓝牙、高达20m、以X kbps的速率)、处理能力(例如,用于存档数据的Y GHz)、以及存储能力(例如,ZGB)的一个或多个数据集。在一些实施方式中,一个或多个数据集能够指示与使用计算设备的计算资源来执行计算任务相关联的价格。
电子模块化组件能够确定对与计算设备对计算任务的执行相关联的模块化电子设备的潜在益处。在一些实施方式中,对模块化电子设备的潜在益处能够包括增加与模块化电子设备相关联的通信能力、处理能力和/或存储能力。另外和/或可选地,计算任务的潜在益处能够是经济效益(例如,银行账户的美元的增加)。此外,潜在益处能够包括由一个或多个计算设备停止或延迟计算任务。
电子模块化组件能够使用这些数据集来确定是否通过计算设备执行计算任务的至少一部分。例如,电子模块化组件能够确定使用计算设备的计算资源执行计算任务是否有益。在一些实施方式中,电子模块化组件能够确定与一个或多个计算设备相关联的第一分数。第一分数能够至少部分地基于与计算设备的计算资源相关联的一个或多个数据集。第一分数能够指示计算设备执行任务的至少一部分所需的资源量。例如,第一分数能够指示执行数据归档过程所需的通信、处理和/或存储资源的量。
电子模块化组件能够确定与计算任务相关联的第二分数。第二分数能够至少部分地基于对与计算任务的执行相关联的模块化电子设备的潜在益处。举例来说,与数据归档过程相关联的第二分数能够至少部分地基于在完成数据归档过程时可用的存储量的增加(和/或主存储消耗的减少)。在另一示例中,在计算任务与财务收益相关联的情况下(例如,作为挖掘比特币的结果),第二分数能够与在执行任务(例如,挖掘比特币)之后与电子模块化设备的用户相关联的账户价值的增加相关联。
电子模块化组件能够将第一分数与第二分数进行比较,并且使用计算设备确定是否执行计算任务的至少一部分。例如,在第一分数(例如,指示要在执行数据归档过程中使用的资源)超过第二分数(例如,指示通过执行数据归档过程而获得的存储的增加)的情况下,则电子模块化组件能够确定执行数据归档过程。在一些实施方式中,数据归档过程的一部分能够由电子模块化组件执行,同时另一部分能够由计算设备执行。在其他实施方式中,计算设备能够执行整个计算任务。
另外,并且/或者可替选地,电子模块化组件能够利用计算设备的软件应用来执行计算任务。例如,电子模块化组件能够与计算设备通信并远程使用该计算设备上的软件以执行计算任务。举例来说,电子模块化组件能够远程地使用计算设备的软件来加密和/或解密某些数据。当模块化电子设备仅仅是偶尔需要这种技术时,这能够允许模块化电子设备放弃添加具有数据加密/***的电子模块化组件。在一些实施方式中,能够按需,诸如通过按使用付费机制,使软件可用。另外,并且/或者可替选地,能够在不同层中提供对软件的访问。第一层能够向请求模块提供更有限的权利集和/或使用次数,而第二层能够提供更广泛的权利集和/或使用次数。
在一些实施方式中,能够至少部分地基于正在执行的计算任务来定制电子模块化组件。中央服务器能够在电子模块化组件的指导下监视由电子模块化组件和/或计算设备执行的计算任务的频率和类型。至少部分地基于计算任务的频率和类型,中央服务器能够与制造商通信以具有为模块化电子设备创建的特定类型的电子模块化组件。例如,如果模块化电子设备经常协同数据归档过程与其他电子设备的能力,则中央服务器能够订购能够执行用于模块化电子设备的数据归档过程的一个或多个新电子模块化组件。
根据上述,并且如下面进一步描述的,本公开的装置、***和方法能够通过选择性地利用其他计算设备的资源来执行有益于模块化电子设备的计算任务。此外,本公开能够通过远程地访问其他计算设备的软件和/或基于计算任务历史创建新的电子模块化组件来扩展模块化电子设备执行计算任务的能力。因此,本公开的***和方法能够帮助有助于与模块化电子设备相关联的有益计算任务的执行。
现在参考附图,将更详细地讨论本公开的示例方面。例如,图1描绘根据本公开的示例实施例的模块化实体***100。***100能够包括例如具有一个或多个电子模块化组件104的模块化电子设备102。
电子模块化组件104能够包括各种硬件组件。例如,在一些实施方式中,电子模块化组件104能够包括模块壳体105、包括在模块壳体105中的一个或多个处理器、以及包括在模块壳体105中的一个或多个存储器设备。存储器设备能够被配置成存储计算机可读指令,所述算机可读指令当由处理器执行时,使处理器执行用于管理与模块化电子设备相关联的计算任务的操作,如本文进一步描述的。
在一些实施方式中,电子模块化组件104能够被配置成与模块化电子设备102物理连接。例如,模块化电子设备102能够包括框架106,其能够提供用于将电子模块化组件104物理连接到模块化电子设备102的内骨骼。例如,框架106能够被配置成限定多个隔区(bay),并且每个电子模块化组件104能够被配置成由隔区中的至少一个接收。
在一些实施方式中,电子模块化组件104能够在没有物理连接的情况下与模块化电子设备102组合。例如,电子模块化组件104能够被配置成在彼此当中和/或与模块化电子设备102通信(例如,使用诸如RF通信、近场通信、蓝牙、WiFi、其他无线通信协议的无线通信接口)。当与模块化电子设备102的其他模块通信时,电子模块化组件104还能够并且/或者可替选地配置成利用进程间通信(IPC)。这样,在不需要电子模块化组件104之间的物理连接的情况下电子模块化组件104能够被逻辑组合以执行任务。
电子模块化组件104能够被配置成与一个或多个其他计算设备108通信。计算设备108能够包括例如与诸如集中式服务器***、电话、笔记本计算机、台式机、游戏***等的其他电子设备相关联的服务器、处理器、存储器设备、其他电子模块化组件等。一个或多个计算设备108能够与一个或多个电子设备相关联,其物理上与模块化电子设备102分离。电子模块化组件104和计算设备108能够被配置成经由蓝牙协议、近场通信、Wi-Fi网络、其他合适的网络等进行通信。
不同的电子模块化组件104和/或计算设备108能够由环境中的不同实体关联和/或拥有。例如,电子模块化组件104和/或计算设备108能够是属于同一用户或不同用户的多个设备的一部分。作为示例,当在房间中时,与一个用户(例如,桌面计算***)相关联的计算设备108能够将其计算资源提供给与房间内的另一用户相关联的电子模块化组件104。
在一些实施方式中,电子模块化设备102、电子模块化组件104、框架106和/或计算设备108能够被配置成通告它们相应的可用性和/或能力,并且能够在彼此当中进行通信以创建和/或加入自组织网络。例如,能够至少部分地基于要执行的期望任务来创建自组织网络。能够至少部分地基于设备的一个或多个可用资源和/或能力将设备添加到自组织网络。
将会理解,示例***100仅出于说明性目的而被描绘。在这方面,将进一步理解,在不偏离本公开的范围的情况下,***100能够包括各种其他合适的配置。特别地,***100能够包括使用各种合适的通信技术(例如,物理连接、近场通信、自组织网络等)进行通信的任何合适数量的设备或组件。在一些实施方式中,模块化实体能够包括单个电子模块化组件。
图2描绘根据本公开的示例实施例的用于管理模块化电子设备的任务执行的示例***200。***200能够包括具有一个或多个电子模块化组件104的模块化电子设备102,以及一个或多个计算设备108。电子模块化组件104能够被配置成管理与电子模块化设备102相关联的一个或多个计算任务的执行。
例如,电子模块化组件104中的一个或多个能够被配置成识别与模块化电子设备102相关联的计算任务210。例如,在一些实施方式中,计算任务210能够包括已经由(电子模块化设备102的)用户调度以定期发生的任务。计算任务210能够是被调度以在设定时间段期间发生的维护任务。例如,计算任务210能够是与电子模块化设备102相关联的数据归档过程,其被调度以每半年、每年等发生。
在一些实施方式中,电子模块化组件104能够通过从计算设备108接收通信来识别计算任务210。当电子模块化组件104在计算设备108的通信范围212内时,通信能够通告计算任务210。通信范围212能够与自组织网络相关联。通信范围212能够是例如,其中电子模块化组件104和计算设备108能够彼此发送和/或接收通信的范围。例如,当电子模块化组件104在通信范围212时,计算设备108能够向电子模块化组件104发送一个或多个通信,其通告能够为模块化电子设备102执行的数据加密/解密过程。在一些实施方式中,计算任务210能够特定于特定计算设备(例如,被配置成执行某些数据加密/解密技术的计算任务)。
电子模块化组件104能够被配置成识别可用于执行计算任务210的至少一部分的一个或多个计算设备108。例如,电子模块化组件104能够被配置成确定电子模块化组件104与一个或多个计算设备108处于通信范围212中。在通信范围212内的一个或多个计算设备108能够被识别为可用于执行计算任务210(例如,数据归档过程)的至少一部分。
在一些实施方式中,电子模块化组件104能够被配置成请求关于计算设备108的可用性的信息。例如,电子模块化组件104能够被配置成发送用于指示一个或多个计算设备108执行计算任务210的至少一部分的可用性的信息的一个或多个请求214(例如,通信)。作为示例,请求214能够查询计算设备108是否可用于执行数据归档过程的至少一部分。
计算设备108能够被配置成接收请求214并确定其相应的执行计算任务210的可用性。在一些实施方式中,计算设备108能够被配置成至少部分地基于是否其具有可用于执行任务的至少一部分的任何计算资源确定其可用性。例如,计算设备108能够确定其任何处理器和/或存储器设备是否可用于辅助数据归档过程。计算设备108能够被配置成发送指示计算设备108的可用性的响应通信216。电子模块化组件104能够被配置成接收响应通信216,该响应通信216包括指示一个或多个计算设备108执行计算任务210的至少一部分的可用性的信息。
在一些实施方式中,在首先没有发出请求的情况下,电子模块化组件104能够被配置,从计算设备108接收通信216。在这样的实施方式中,通信216能够通告一个或多个计算设备108执行某些计算任务的可用性。例如,膝上型计算机能够向电子模块化组件104发送通信216,其指示膝上型计算机可用于执行数据加密/解密过程。
电子模块化组件104能够被配置成获得与一个或多个计算设备108的一个或多个计算资源相关联的一个或多个数据集。例如,电子模块化组件104能够被配置成针对与一个或多个计算设备108的一个或多个计算资源相关联的一个或多个数据集发送一个或多个请求218(例如,通信)。计算设备108能够被配置成接收请求218并且发送与计算设备108的计算资源相关联的一个或多个数据集220。电子模块化设备104能够被配置成接收与一个或多个计算设备108的一个或多个计算资源相关联的一个或多个数据集220。
在一些实施方式中,数据集220能够指示与一个或多个计算设备108相关联的通信能力230、处理能力232和/或存储能力234中的至少一个。例如,每个计算设备108能够包括一个或多个计算资源,诸如通信接口、处理器和/或存储器设备。计算设备108的通信能力230能够指示与相应的计算设备108的通信接口相关联的带宽、距离、协议等。计算设备108的处理能力232能够指示相应的计算设备108的处理器能够处理计算任务的速度。计算设备108的存储能力234能够指示与相应的计算设备108的存储器设备相关联的存储量、存储速度等。根据请求(例如,218)和/或经由广告,电子模块化组件104能够获得一个或多个数据集220,其能够指示与一个或多个计算设备108相关联的通信能力230(例如,蓝牙、高达20m、以Xkbps的速率)、处理能力232(例如,用于归档数据的Y GHz、和/或存储能力234(例如,ZGB)中的至少一个。在一些实施方式中,能够以标准单元(例如,用于处理能力的MIPS)来描述通信能力230、处理能力232和/或存储能力234。
另外,并且/或者可替选地,一个或多个数据集220能够指示与执行计算任务210的一个或多个计算设备108相关联的价格。举例来说,计算设备108能够被配置成通告与利用其计算资源相关联的价格以执行数据归档过程的至少一部分。价格能够至少部分地基于对计算资源的需求和/或其中计算设备108将在通信范围212内的时间。数据集220能够包括指示元组,该元组至少指示价格、以及通信能力230、处理能力232、存储能力234、执行计算任务210的至少一部分所需的时间等。在一些实施方式中,电子模块化组件104能够被配置成协商价格。
电子模块化组件104能够被配置成确定与一个或多个计算设备108对计算任务210的执行相关联的模块化电子设备102的潜在益处236。例如,对模块化电子设备102的潜在益处能够包括与模块化电子设备102的一个或多个电子模块化组件104相关联的至少一个计算资源110的增加。在一些实施方式中,对模块化电子设备102的潜在益处236能够包括增加与模块化电子设备102相关联的第二通信能力110A、第二处理能力110B或第二存储能力110C中的至少一个。举例来说,在计算任务210是数据归档过程的情况下,潜在益处236能够与模块化电子设备102的通信能力、处理能力和/或存储能力的增加相关联,作为通过模块化电子设备102经由数据归档过程减少主存储消耗的结果。
在一些实施方式中,计算任务210的潜在益处236能够是经济利益。例如,计算任务210可以包括挖掘比特币。与此任务相关联的至少一个潜在益处能够是通过执行比特币挖掘过程能够实现的实际货币的增加(例如,银行账户的美元的增加)。
电子模块化组件104能够被配置成至少部分地基于数据集220和/或对模块化电子设备102的潜在益处236来确定是否利用一个或多个计算设备108执行计算任务210的至少一部分。例如,电子模块化组件104能够被配置成确定使用计算设备108的计算资源来执行计算任务210是否有益。在一些实施方式中,电子模块化组件104能够确定一个或多个电子模块化组件104不能执行计算任务210的至少一部分。在一些实施方式中,电子模块化组件104能够被配置成确定使一个或多个电子模块化组件104(例如,与模块化电子设备102相关联)执行计算任务210的一部分是不经济的。因此,可能需要附加的(例如,计算设备108的)计算资源。
例如,电子模块化组件104能够被配置成权衡计算任务210所需的计算资源量和计算任务210的潜在益处236。电子模块化组件104能够被配置成确定在计算任务210的执行中要使用的与计算设备108中的一个或多个相关联的计算资源的量。此确定能够至少部分地基于一个或多个数据集220。如上所述,电子模块化组件104能够被配置成确定对与计算任务210的执行相关联的模块化电子设备102的潜在益处236。电子模块化组件104能够被配置成比较与要在计算任务210的执行中使用的与一个或多个计算设备108相关联的计算资源量和对模块化电子设备102的潜在益处236。
举例来说,计算任务210能够包括数据归档过程。电子模块化组件104能够确定其将需要10个单位的通信(例如,带宽)、10个单位的处理和200个单位的存储以执行数据归档过程。电子模块化组件104能够确定电子模块化设备102的存储能力会增加了300个单位作为数据归档过程的结果。电子模块化组件104能够将对于执行数据归档过程所需的资源量(例如,10个单位的通信、10个单位的处理、200个单位的存储)与潜在益处236(例如,在存储中增加300个单位)进行比较。
电子模块化组件104可以被配置成协同计算任务210的执行,使得计算任务210的至少一部分能够由计算设备108中的一个或多个执行。例如,当潜在益处236超过要在计算任务210的执行中使用的计算资源的量时,可能发生这种情况。例如,电子模块化组件104能够确定(例如,与将存储能力增加了300个单位有关的)数据归档过程的潜在益处超过执行数据归档过程所需的资源量。因此,电子模块化组件104能够协同数据归档过程的执行,使得数据归档过程的至少一部分由一个或多个计算设备108执行。
为了协同计算任务210的执行,电子模块化组件104能够被配置成将计算任务210划分或分割成一个或多个小任务(例如,用于计算任务210的工作单位)。例如,小任务能够指定要对与计算任务210相关联的某个数据集执行的一个或多个操作。在一些实施方式中,电子模块化组件104能够被配置成通过在计算设备108和/或电子模块化组件104当中分配与计算任务210相关联的小任务协同计算任务的执行。能够至少部分地基于计算设备108和/或电子模块化组件104的计算资源、通信能力、处理能力和/或存储能力被分配。例如,在一些实施方式中,计算任务210能够完全由计算设备108执行。在一些实施方式中,计算任务210的第一部分能够由一个或多个电子模块化组件104执行,并且计算任务210的第二部分能够由一个或多个计算设备108执行。
在一些实施方式中,电子模块化组件104能够利用基于分数比较的分析来确定是否使计算设备108执行计算任务210的至少一部分。例如,电子模块化组件104能够被配置成确定与计算设备108中的一个或多个相关联的第一分数240。第一分数240能够至少部分地基于与一个或多个计算设备108的一个或多个计算资源相关联一个或多个数据集220。第一分数240能够指示计算设备108执行计算任务210的至少一部分所需的资源量。举例来说,第一分数240能够至少部分地基于对执行数据存档过程所需的通信量(例如,10个单位)、处理量(例如,10个单位)和/或存储资源量(例如,200个单位)。
电子模块化组件104能够被配置成确定与计算任务210相关联的第二分数242。第二分数242能够至少部分地基于与计算任务210的执行相关联的模块化电子设备102的潜在益处236。举例来说,与数据归档过程相关联的第二分数242能够至少部分地基于在完成数据归档过程后电子模块化设备102的存储能力的量的增加(和/或主存储消耗的减少)(例如,300个单元)。在另一示例中,在计算任务210与财务收益相关联的情况下(例如,作为挖掘比特币的结果),第二分数242能够与与在执行计算任务210(例如,挖掘比特币)之后的电子模块化设备102的用户相关联的账户值的增加相关联。
电子模块化组件104能够被配置成将与计算设备108中的一个或多个相关联的第一分数240和与计算任务210相关联的第二分数242进行比较。电子模块化组件104能够被配置成至少部分地基于第一分数240和第二分数242的比较来确定是否执行计算任务210。电子模块化组件104能够被配置成协同计算任务210的执行,使得当第二分数242超过第一分数240时,能够通过一个或多个计算设备108执行计算任务210的至少一部分。例如,在第一分数240(例如,指示要在执行数据归档过程中要使用的资源)被第二分数242(例如,指示通过执行数据归档过程获得的存储的增加)超过的情况下,电子模块化组件104能够确定执行数据归档过程。
另外,并且/或者可替选地,电子模块化组件104能够被配置成利用计算设备108的软件应用以执行计算任务210的至少一部分。例如,电子模块组件104能够被配置成与计算设备108通信并远程使用计算设备108上的软件来执行计算任务210。举例来说,电子模块化组件104能够被配置成远程使用软件以加密和/或解密某些数据。在一些实施方式中,能够按需提供软件,诸如经由按使用付费机制。另外,并且/或者可替选地,能够在不同层中提供对软件的访问。第一层能够向请求模块提供更有限的一组权利和/或使用次数,而第二层能够提供更广泛的一组权利和/或使用次数。在一些实施方式中,计算设备108和/或电子模块化组件104能够被配置成(例如,经由网络250)将通过电子模块化组件104向开发者260通知软件的使用的通信发送到软件的开发者260(例如,与开发者相关联的服务器)。以这种方式,开发者260能够尝试收集使用该软件的收入。
图3描绘根据本公开的示例实施例的管理模块化电子设备的任务执行的示例方法300的流程图。方法300能够由一个或多个电子模块化组件,诸如电子模块化组件104实现。另外,图3描绘出于说明和讨论的目的以特定顺序执行的步骤。在不脱离本公开的范围的情况下,能够以各种方式调整、重新排列、扩展、省略或修改本文所讨论的任何方法的步骤。
在(302)处,方法300能够包括识别与模块化电子设备相关联的计算任务。例如,电子模块化组件104能够识别与模块化电子设备102相关联的计算任务210,如上所述。计算任务210能够包括例如数据归档过程和/或比特币挖掘过程。
在(304)处,方法300可以包括识别可用于执行计算任务的至少一部分的一个或多个计算设备。例如,电子模块化组件104能够识别可用于执行计算任务210的至少一部分的一个或多个计算设备108。在一些实施方式中,计算设备108能够被和与模块化电子设备102不同的至少一个电子设备相关联。如上所述,电子模块化组件104能够至少部分地基于计算设备108在通信范围212内、对于可用性的请求214、广告等等将计算设备108识别为可用的。
在(306)处,方法300能够包括获得与一个或多个计算设备的一个或多个计算资源相关联的一个或多个数据集。例如,电子模块化组件104能够获得与一个或多个计算设备108的一个或多个计算资源相关联的一个或多个数据集220。该数据集220能够指示与一个或多个计算设备108相关联的通信能力230(例如,蓝牙、高达20m、以Xkbps的速率)、处理能力232(例如,用于存档数据的YGHz)和/或存储能力234(例如,Z GB)中的至少一个。
在(308)处,方法300能够包括确定与计算任务的执行相关联的模块化电子设备的潜在益处。例如,电子模块化组件104能够确定对与通过一个或多个计算设备108对计算任务210的执行相关联的模块化电子设备102的潜在益处236。例如,对模块化电子设备102的潜在益处236能够包括与模块化电子设备102相关联的通信能力、处理能力和/或存储能力中的至少一个的增加(例如,作为数据归档过程的结果)。在一些实施方式中,计算任务210的潜在益处236能够是经济利益(例如,由于挖掘比特币而导致的银行账户的美元增加)。
在(310)处,方法300能够包括确定是否利用一个或多个计算设备执行计算任务的至少一部分。例如,电子模块化组件104能够确定是否利用一个或多个计算设备108执行计算任务210的至少一部分。这能够至少部分地基于与一个或多个计算设备108的计算资源相关联的一个或多个数据集220和/或对模块化电子设备102的潜在利益236。
举例来说,电子模块化组件104能够确定与一个或多个计算设备108相关联的第一分数240。第一分数240能够至少部分地基于指示执行计算任务210所需的资源(例如,数据归档过程)的一个或多个数据集220。电子模块化组件104能够至少部分地基于对模块化电子设备102的潜在益处236(例如,增加存储能力)来确定与计算任务210相关联的第二分数242。电子模块化组件104能够将第一分数240与第二分数242进行比较,并且能够至少部分地基于第一分数240和第二分数242的比较来确定是否执行计算任务210(例如,数据归档过程)。
在(312)处,方法300能够包括协同对计算任务的执行。例如,电子模块化组件104能够协同对计算任务210的执行,使得计算任务210的至少一部分能够由一个或多个计算设备108执行。在一些实施方式中,计算任务210的第一部分(例如,一个或多个任务)能够由一个或多个电子模块化组件104执行,并且计算任务210的第二部分(例如,一个或多个其他小任务)能够由一个或多个计算设备108执行。这样,模块化电子设备102能够将其它计算设备的资源作为手段以执行有益于模块化电子设备102的任务。
图4描绘根据本公开的示例实施例的示例***400。在一些实施方式中,能够至少部分地基于正在执行的计算任务来定制电子模块化组件104。例如,***400能够包括与图2的组件类似的组件,以及中央服务器402。中央服务器402能够被配置成在电子模块化组件104的协同下监视(例如,经由网络404)由电子模块化组件104和/或计算设备108执行的计算任务(例如,210)的频率和/或类型。基于计算任务的频率和/或类型,中央服务器402能够与制造商406(例如,与其相关联的计算设备)进行通信以具有为模块化电子设备102创建的特定类型的电子模块化组件104。
例如,电子模块化组件104能够频繁地协同数据归档过程的执行。中央服务器402能够监视电子模块化组件104的这种活动。中央服务器402能够与制造商406通信以创建一个或多个能够执行模块化电子设备102(例如,没有附加的计算设备)的数据归档过程的新电子模块化组件。以这种方式,能够至少部分地基于计算任务来定制电子模块化设备102。
另外,并且/或者可替选地,中央服务器402能够在更广泛、更全球范围内监视电子模块化组件。例如,中央服务器402能够监视与数个电子模块化设备相关联的电子模块化组件的计算任务的执行。至少部分地基于由电子模块化组件执行(和/或协同)的任务的趋势、频率和/或类型,中央服务器402能够与制造商406通信以创建能够执行更频繁执行的计算任务的一个或多个新的电子模块化组件。以这种方式,能够增加所需电子模块化组件的可用性,可能延长电子模块化设备的寿命。
图5描绘根据本公开的示例实施例的示例***500。***500能够被用于实现根据本公开的示例方面的方法和***。***500能够包括具有电子模块化组件104的模块化电子设备102,其能够经由网络510与计算设备108、开发者250、中央服务器402和/或制造商406通信。能够使用客户端-服务器架构和/或其他合适的架构来实现***500。
如所示的,模块化电子设备102能够包括一个或多个电子模块化组件104。电子模块化组件104能够包括一个或多个处理器512。处理器512能够包括任何合适的处理设备,诸如微处理器、微控制器、集成电路、逻辑设备或其他合适的处理设备。电子模块化组件104能够包括一个或多个存储器设备514。存储器设备514能够包括一个或多个计算机可读介质,包括但不限于非暂时性计算机可读介质、RAM、ROM、硬盘驱动器、闪存驱动器或其他内存设备。
存储器设备514可以存储可由处理器512访问的信息,包括可以由处理器512执行的计算机可读指令516。指令516能够是任何指令集,当由处理器512执行时,使处理器512执行操作。在一些实施方式中,指令516能够由处理器512执行以使处理器512执行操作,诸如配置电子模块化组件104的操作和功能,如本文所述,和/或电子模块化组件104的任何其他操作或功能(例如,方法300)。例如,操作能够包括识别可用于执行计算任务210的至少一部分的计算任务210,获得指示与一个或多个计算设备108相关联的通信能力230、处理能力232或存储能力234中的至少一个的一个或多个数据集220,并且至少部分地基于一个或多个数据集220确定是否通过一个或多个计算设备108执行计算任务210的至少一部分,如本文进一步描述的。指令516能够是以任何合适的编程语言编写的软件,或者能够用硬件实现。另外,并且/或者可替选地,指令516能够在处理器512上的逻辑和/或虚拟分离的线程中执行。
存储器设备514还能够存储能够由处理器512检索、操纵、创建和/或存储的数据518。数据518能够包括例如与一个或多个计算任务、计算设备108、计算资源、通信能力、处理能力、存储能力、任务频率、趋势相关联的信息和/或本文描述的任何其他数据和/或信息。数据518能够被存储在一个或多个数据库中。一个或多个数据库能够通过高带宽LAN或WAN连接到电子模块化组件104,并且/或者也能够通过各种其他合适的网络连接到电子模块化组件104。能够拆分一个或多个数据库,使得它们位于多个区域设置中。
电子模块化组件104还可以包括用于与***500的一个或多个其他组件通信的网络接口520。网络接口520能够包括用于与一个或多个网络对接的任何合适的组件,包括例如收发器、接收器、端口、控制器、天线或其他合适的组件。一个或多个组件(例如,512、514、516、518、520)能够被包括在电子模块化组件104的壳体105中。
模块化电子设备102能够包括各种输入/输出设备522,用于提供和接收来自用户的信息,例如触摸屏、触摸板、数据输入键、扬声器和/或适合于语音识别的麦克风。例如,根据本公开的示例方面,模块化电子设备102能够具有用于呈现用户界面的显示设备。
网络510能够是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)、蜂窝网络或其一些组合。网络510还能够包括直接连接。通常,能够使用任何类型的有线和/或无线连接、使用各种通信协议(例如TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML,XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由网络接口520来执行通信。网络510还能够包括本文描述的任何其他网络(例如,250、404)。
这里讨论的技术参考服务器、数据库、软件应用程序和其他基于计算机的***,以及所采取的动作和发送到这些***以及从这些***发送的信息。本领域的普通技术人员将认识到,基于计算机的***的固有灵活性允许组件之间和组件当中的任务与功能的各种可能的配置、组合和划分。例如,这里讨论的服务器进程能够使用单个服务器或多个服务器组合工作来实现。数据库和应用程序能够在单个***上实现,或者跨多个***分布。分布式组件能够顺序或并行操作。
此外,这里讨论的在服务器处执行的计算任务能够替代地在用户设备处执行。同样地,这里讨论的在用户设备处执行的计算任务能够替代地在服务器处执行。
尽管已经关于特定示例实施例及其方法详细描述本主题,但是将会理解,本领域的技术人员在理解前述内容后能够容易地对这些实施例进行变更、变化,并且等效于这些实施例。因此,本公开的范围是示例性的而不是限制性的,并且本公开内容不排除包含对本主题的这些修改、变化和/或添加,这对本领域的普通技术人员来说容易是显而易见的。

Claims (20)

1.一种模块化电子设备,包括:
一个或多个电子模块化组件,其中所述模块化电子设备被配置成:
识别与所述模块化电子设备相关联的计算任务;
识别可用于执行所述计算任务的至少一部分的一个或多个计算设备;
获得与所述一个或多个计算设备的一个或多个计算资源相关联的一个或多个数据集,其中所述数据集指示与所述一个或多个计算设备相关联的通信能力、处理能力和存储能力中的至少一个;
确定对与通过所述一个或多个计算设备对所述计算任务的执行相关联的所述模块化电子设备的潜在益处;以及
至少部分地基于与所述一个或多个计算资源相关联的所述一个或多个数据集以及对所述模块化电子设备的所述潜在益处来确定是否利用所述一个或多个计算设备执行所述计算任务的至少一部分。
2.根据权利要求1所述的模块化电子设备,其中所述模块化电子设备还被配置成:
确定所述一个或多个电子模块化组件不能执行所述计算任务的至少所述部分。
3.根据权利要求1或2所述的模块化电子设备,其中所述一个或多个计算设备与在物理上与所述模块化电子设备分离的一个或多个电子设备相关联。
4.根据任意前述权利要求所述的模块化电子设备,其中为了识别可用于执行所述计算任务的至少所述部分的所述一个或多个计算设备,所述模块化电子设备被配置成确定所述电子模块化组件处于与所述一个或多个计算设备的通信范围内。
5.根据任何前述权利要求所述的模块化电子设备,其中为了识别可用于执行所述计算任务的至少所述部分的所述一个或多个计算设备,所述模块化电子设备被配置成:
发送对指示所述一个或多个计算设备执行所述计算任务的至少所述部分的可用性的信息的一个或多个请求;以及
接收响应,所述响应包括指示所述一个或多个计算设备执行所述计算任务的至少所述部分的可用性的信息。
6.根据任意前述权利要求所述的模块化电子设备,其中为了获得与所述一个或多个计算设备的所述一个或多个计算资源相关联的一个或多个数据集,所述模块化电子设备被配置成:
发送对与一个或多个计算设备的一个或多个计算资源相关联的一个或多个数据集的一个或多个请求;以及
接收与所述一个或多个计算设备的所述一个或多个计算资源相关联的所述一个或多个数据集。
7.根据任意前述权利要求所述的模块化电子设备,其中所述模块化电子设备还被配置成:
协同所述计算任务的执行,使得所述计算任务的至少所述部分由所述一个或多个计算设备执行。
8.根据任意前述权利要求所述的模块化电子设备,其中为了确定是否利用所述一个或多个计算设备执行所述计算任务的至少所述部分,所述模块化电子设备被配置成:
确定与所述一个或多个计算设备相关联的第一分数,其中所述第一分数至少部分地基于与所述一个或多个计算设备的所述一个或多个计算资源相关联的所述一个或多个数据集;
确定与所述计算任务相关联的第二分数,其中所述第二分数至少部分地基于对所述模块化电子设备的所述潜在益处;
将与所述一个或多个计算设备相关联的所述第一分数和与所述计算任务相关联的所述第二分数进行比较;以及
至少部分地基于所述第一分数和所述第二分数的比较来确定是否执行所述计算任务。
9.根据权利要求8所述的模块化电子设备,其中所述模块化电子设备还被配置成协同所述计算任务的执行,使得当与所述计算任务相关联的所述第二分数超过与所述一个或多个计算设备相关联的所述第一分数时,由所述一个或多个计算设备执行所述计算任务的至少所述部分。
10.根据权利要求8或9所述的模块化电子设备,其中所述一个或多个数据集指示与执行所述计算任务的所述一个或多个计算设备相关联的价格。
11.根据任何前述权利要求所述的模块化电子设备,其中对所述模块化电子设备的所述潜在益处包括与所述模块化电子设备相关联的第二通信能力、第二处理能力或第二存储能力中的至少一个的增加。
12.一种管理模块化电子设备的任务执行的计算机实现的方法,所述方法包括:
由模块化电子设备的一个或多个电子模块化组件识别与所述模块化电子设备相关联的计算任务;
由所述一个或多个电子模块组件识别可用于执行所述计算任务的至少一部分的一个或多个计算设备,其中所述计算设备与不同于所述模块化电子设备的至少一个电子设备相关联;
由所述一个或多个电子模块组件获得与所述一个或多个计算设备的一个或多个计算资源相关联的一个或多个数据集,其中所述数据集指示与所述一个或多个计算设备相关的通信能力、处理能力、或存储能力中的至少一个;
由所述一个或多个电子模块化组件确定对与通过所述一个或多个计算设备对所述计算任务的执行相关联的所述模块化电子设备的潜在益处;以及
由所述一个或多个电子模块化组件至少部分地基于与所述一个或多个计算资源相关联的所述一个或多个数据集和对所述模块化电子设备的所述潜在益处来确定是否利用所述一个或多个计算设备执行所述计算任务的至少所述部分。
13.根据权利要求12所述的计算机实现的方法,还包括:
由所述一个或多个电子模块化组件协同所述计算任务的执行,使得所述计算任务的至少所述部分由所述一个或多个计算设备执行。
14.根据权利要求12或13所述的计算机实现的方法,还包括:
由所述一个或多个电子模块化组件协同所述计算任务的执行,使得所述计算任务的第一部分由所述一个或多个电子模块化组件执行,并且所述计算任务的第二部分由所述一个或多个计算设备执行。
15.根据权利要求12至14中的任意一项所述的计算机实现的方法,其中由所述一个或多个电子模块化组件确定是否利用所述一个或多个计算设备执行所述计算任务的至少所述部分包括:
由所述一个或多个电子模块化组件确定与所述一个或多个计算设备相关联的第一分数,其中所述第一分数至少部分地基于与所述一个或多个计算设备的所述一个或多个计算资源相关联的所述一个或多个数据集;
由所述一个或多个电子模块化组件确定与所述计算任务相关联的第二分数,其中所述第二分数至少部分地基于对所述模块化电子设备的所述潜在益处;
由所述一个或多个电子模块化组件将所述第一分数与所述第二分数进行比较;以及
由所述一个或多个电子模块化组件至少部分地基于所述第一分数和所述第二分数的比较来确定是否执行所述计算任务。
16.一种用于模块化电子设备的电子模块化组件,所述电子模块化组件包括:
模块壳体;
一个或多个处理器,所述一个或多个处理器包括在所述模块壳体中;以及
一个或多个存储器设备,所述一个或多个存储器设备包括在所述模块壳体中,所述一个或多个存储器设备存储计算机可读指令,所述计算机可读指令当由所述一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
识别计算任务;
获得一个或多个数据集,所述一个或多个数据集指示与可用于执行所述计算任务的至少一部分的一个或多个计算设备相关联的通信能力、处理能力或存储能力中的至少一个;以及
至少部分地基于所述一个或多个数据集确定是否由所述一个或多个计算设备执行所述计算任务的至少所述部分。
17.根据权利要求16所述的电子模块化组件,其中所述操作还包括:
确定由与所述模块化电子设备相关联的一个或多个电子模块化组件执行所述计算任务的所述部分是不合算的;以及
协同对所述计算任务的执行,使得所述计算任务的至少所述部分由所述一个或多个计算设备执行。
18.根据权利要求16或17所述的电子模块化组件,其中确定是否由所述一个或多个计算设备执行所述计算任务的至少所述部分包括:
至少部分地基于所述一个或多个数据集确定与要在对所述计算任务的执行中使用的所述一个或多个计算设备相关联的计算资源的量;
确定对与所述计算任务的执行相关联的所述模块化电子设备的潜在益处;以及
对与要在所述计算任务的执行中使用的所述一个或多个计算设备相关联的计算资源的所述量和对与所述计算任务的执行相关联的所述模块化电子设备的所述潜在益处进行比较。
19.根据权利要求18所述的电子模块化组件,其中所述操作还包括:
协同所述计算任务的执行,使得当对所述模块化电子设备的所述潜在益处超过与要在所述计算任务的执行中使用的所述一个或多个计算相关联的计算资源的所述量时,所述计算任务的至少一部分由所述一个或多个计算设备执行。
20.根据权利要求18或19所述的电子模块化组件,其中对所述模块化电子设备的所述潜在益处包括与所述模块化电子设备的一个或多个电子模块化组件相关联的计算资源的增加中的至少一个。
CN201680085773.1A 2016-04-15 2016-11-17 模块化电子设备的任务管理*** Pending CN109328337A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/130,300 2016-04-15
US15/130,300 US9977697B2 (en) 2016-04-15 2016-04-15 Task management system for a modular electronic device
PCT/US2016/062457 WO2017180186A1 (en) 2016-04-15 2016-11-17 Task management system for a modular electronic device

Publications (1)

Publication Number Publication Date
CN109328337A true CN109328337A (zh) 2019-02-12

Family

ID=57543159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680085773.1A Pending CN109328337A (zh) 2016-04-15 2016-11-17 模块化电子设备的任务管理***

Country Status (3)

Country Link
US (2) US9977697B2 (zh)
CN (1) CN109328337A (zh)
WO (1) WO2017180186A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018065051A1 (en) * 2016-10-05 2018-04-12 Telefonaktiebolaget Lm Ericsson (Publ) Controlling resource allocation in a data center
DK3777047T3 (da) * 2018-03-30 2023-01-09 V2Com S A System og fremgangsmåde til ressourceforvaltning og ressourceallokering i et selvoptimerende netværk af heterogene behandlingsknudepunkter
US11438435B2 (en) * 2019-03-01 2022-09-06 Microsoft Technology Licensing, Llc User interaction and task management using multiple devices

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296114A (zh) * 2007-04-29 2008-10-29 国际商业机器公司 基于流的并行模式匹配方法和***
CN102016748A (zh) * 2008-04-21 2011-04-13 自适应计算企业股份有限公司 用于管理计算环境中的能量消耗的***和方法
US20130237147A1 (en) * 2012-03-09 2013-09-12 Nokia Corporation Methods, apparatuses, and computer program products for operational routing between proximate devices
US20130262644A1 (en) * 2012-03-30 2013-10-03 International Business Machines Corporation Deployment of mobile workloads based on proximity
US20140094140A1 (en) * 2013-05-08 2014-04-03 Saswat Misra Cognitive Radio System And Cognitive Radio Carrier Device
CN104537112A (zh) * 2015-01-20 2015-04-22 成都携恩科技有限公司 一种安全云计算的方法
CN104657405A (zh) * 2013-11-15 2015-05-27 国际商业机器公司 用于归档数据的基于优先级的可靠性机制的方法和***
CN104731642A (zh) * 2013-12-23 2015-06-24 国际商业机器公司 用于高度并行作业的回填调度方法和***
CN104854563A (zh) * 2012-09-20 2015-08-19 亚马逊技术有限公司 资源使用的自动分析
CN204669349U (zh) * 2015-06-03 2015-09-23 北京比特大陆科技有限公司 具有虚拟数字币挖矿功能的通信电子设备及无线路由器
WO2015154686A1 (en) * 2014-04-09 2015-10-15 Tencent Technology (Shenzhen) Company Limited Scheduling method and apparatus for distributed computing system
WO2016046821A1 (en) * 2014-09-23 2016-03-31 Spondoolies Tech Ltd. Method and system for reducing power consumption in bitcoin mining via data input hopping

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418812A (en) 1992-06-26 1995-05-23 Symbol Technologies, Inc. Radio network initialization method and apparatus
US5555432A (en) 1994-08-19 1996-09-10 Intel Corporation Circuit and method for scheduling instructions by predicting future availability of resources required for execution
US6282561B1 (en) 1995-12-07 2001-08-28 Microsoft Corporation Method and system for resource management with independent real-time applications on a common set of machines
US6907243B1 (en) 1999-06-09 2005-06-14 Cisco Technology, Inc. Method and system for dynamic soft handoff resource allocation in a wireless network
US6771595B1 (en) 1999-08-31 2004-08-03 Intel Corporation Apparatus and method for dynamic resource allocation in a network environment
US6975613B1 (en) 1999-12-06 2005-12-13 Telefonaktiebolaget L M Ericsson (Publ) System and method for scheduling communication sessions in an ad-hoc network
US7043225B1 (en) 2000-02-25 2006-05-09 Cisco Technology, Inc. Method and system for brokering bandwidth in a wireless communications network
US6785889B1 (en) 2000-06-15 2004-08-31 Aurema, Inc. System and method for scheduling bandwidth resources using a Kalman estimator with active feedback
US7630721B2 (en) 2000-06-27 2009-12-08 Ortiz & Associates Consulting, Llc Systems, methods and apparatuses for brokering data between wireless devices and data rendering devices
US6968323B1 (en) 2000-10-05 2005-11-22 International Business Machines Corporation Dynamic allocation and pricing of resources of web server farm
EP1197858B1 (en) 2000-10-10 2008-02-06 Hewlett-Packard Company, A Delaware Corporation Method and device for offering resources in an internet appliance
US7340759B1 (en) 2000-11-10 2008-03-04 Scientific-Atlanta, Inc. Systems and methods for adaptive pricing in a digital broadband delivery system
US7072650B2 (en) 2000-11-13 2006-07-04 Meshnetworks, Inc. Ad hoc peer-to-peer mobile radio access system interfaced to the PSTN and cellular networks
GB0101989D0 (en) 2001-01-25 2001-03-14 Best Quote Direct Ltd Improvements relating to information systems
US7009939B2 (en) 2001-05-21 2006-03-07 Lucent Technologies Inc. Adaptive resource management in a communication system
GB2376320A (en) 2001-06-08 2002-12-11 Hewlett Packard Co An electronic interface device having a mechanical connector and circuits for receiving, transmitting, decoding and mapping the I/O signals
US7463890B2 (en) 2002-07-24 2008-12-09 Herz Frederick S M Method and apparatus for establishing ad hoc communications pathways between source and destination nodes in a communications network
US7184759B2 (en) 2001-07-26 2007-02-27 Kyocera Wireless Corp. Modular software components for wireless communication devices
US7257632B2 (en) 2001-07-30 2007-08-14 Fujitsu Limited Method and apparatus for a bandwidth broker in a packet network
US8024395B1 (en) 2001-09-04 2011-09-20 Gary Odom Distributed processing multiple tier task allocation
US7058387B2 (en) 2001-11-01 2006-06-06 Intel Corporation System and method for providing cost of quality of service levels in a wireless communication device
FI20012594A0 (fi) 2001-12-31 2001-12-31 Nokia Corp Parannettu menetelmä asiakaskohtaisen tuotteen valmistamiseksi ja asiakaskohtainen tuote
DE60300907T2 (de) 2002-04-15 2006-05-18 France Telecom Verfahren und System für Ressourcenallokation in Echtzeit zwischen mehreren Einheiten
US7616961B2 (en) 2002-04-29 2009-11-10 Harris Corporation Allocating channels in a mobile ad hoc network
US20030217129A1 (en) 2002-05-15 2003-11-20 Lucent Technologies Inc. Self-organizing intelligent network architecture and methodology
US8886701B1 (en) 2002-07-15 2014-11-11 Hewlett-Packard Development Company, L.P. Network based software agent to allow dynamic resource access
US20040111308A1 (en) 2002-12-09 2004-06-10 Brighthaul Ltd. Dynamic resource allocation platform and method for time related resources
US7961702B2 (en) 2002-12-17 2011-06-14 University Of Maryland Distributed bandwidth allocation and transmission coordination method for quality of service provision in wireless ad hoc networks
WO2004077724A2 (en) 2003-02-24 2004-09-10 Autocell Laboratories, Inc. System and method for channel selection in a wireless network
US7720968B2 (en) 2003-04-30 2010-05-18 International Business Machines Corporation Method and system of configuring elements of a distributed computing system for optimized value
EP1721237B1 (en) 2004-02-27 2012-08-29 Simon Richard Daniel Wearable modular interface strap
US7489656B2 (en) 2004-03-23 2009-02-10 Microsoft Corporation Bandwidth allocation
CA2571654A1 (en) 2004-06-22 2005-12-29 British Telecommunications Public Limited Company Wireless ad hoc network
US20060007955A1 (en) 2004-07-06 2006-01-12 Kotzin Michael D Communication network capacity allocation method
US7590589B2 (en) 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US20060168571A1 (en) 2005-01-27 2006-07-27 International Business Machines Corporation System and method for optimized task scheduling in a heterogeneous data processing system
US7689681B1 (en) 2005-02-14 2010-03-30 David Scott L System and method for facilitating controlled compensable use of a remotely accessible network device
US8156500B2 (en) 2005-07-01 2012-04-10 Microsoft Corporation Real-time self tuning of planned actions in a distributed environment
US8027684B2 (en) 2005-08-22 2011-09-27 Infosys Technologies, Ltd. System for performing a task in a communication network and methods thereof
JP5109250B2 (ja) 2005-11-08 2012-12-26 横河電機株式会社 分散システム
US20070179829A1 (en) 2006-01-27 2007-08-02 Sbc Knowledge Ventures, L.P. Method and apparatus for workflow scheduling and forecasting
US20070294692A1 (en) 2006-06-16 2007-12-20 Microsoft Corporation Task Assignment Among Multiple Devices
US20090271324A1 (en) 2006-08-11 2009-10-29 Evapt, Inc. Systems and methods for metered software as a service
US20080040481A1 (en) 2006-08-11 2008-02-14 Motorola, Inc. Method and system for compensation in ad hoc networks
US8380880B2 (en) 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
US8185909B2 (en) 2007-03-06 2012-05-22 Sap Ag Predictive database resource utilization and load balancing using neural network model
US8520535B2 (en) 2007-05-31 2013-08-27 International Business Machines Corporation Optimization process and system for a heterogeneous ad hoc Network
US8620784B2 (en) 2007-05-31 2013-12-31 International Business Machines Corporation Formation and rearrangement of ad hoc networks
US10419360B2 (en) 2007-05-31 2019-09-17 International Business Machines Corporation Market-driven variable price offerings for bandwidth-sharing ad hoc networks
US8320414B2 (en) 2007-05-31 2012-11-27 International Business Machines Corporation Formation and rearrangement of lender devices that perform multiplexing functions
US10623998B2 (en) 2007-05-31 2020-04-14 International Business Machines Corporation Price offerings for bandwidth-sharing ad hoc networks
US8249984B2 (en) 2007-05-31 2012-08-21 International Business Machines Corporation System and method for fair-sharing in bandwidth sharing ad-hoc networks
US9229781B2 (en) 2007-06-12 2016-01-05 Broadcom Corporation System and method for allocating spare system resources
US20090025004A1 (en) 2007-07-16 2009-01-22 Microsoft Corporation Scheduling by Growing and Shrinking Resource Allocation
US20090106730A1 (en) 2007-10-23 2009-04-23 Microsoft Corporation Predictive cost based scheduling in a distributed software build
EP2073463A1 (en) 2007-12-21 2009-06-24 Nokia Siemens Networks S.p.A. Method and device for setting QoS parameters for predictive scheduling in wireless communication systems
JP5496111B2 (ja) 2008-01-10 2014-05-21 アライア エンタープライジーズ,インコーポレーテッド カスタマイズ可能なモジュール式多機能通信装置
US8854966B2 (en) 2008-01-10 2014-10-07 Apple Inc. Apparatus and methods for network resource allocation
US8276143B2 (en) 2008-03-10 2012-09-25 Oracle America, Inc. Dynamic scheduling of application tasks in a distributed task based system
US8424007B1 (en) 2008-09-30 2013-04-16 Symantec Corporation Prioritizing tasks from virtual machines
EP2396762A4 (en) 2009-02-10 2014-05-21 Greenbox Ip Pty Ltd SYSTEM AND METHOD FOR MANAGING RESOURCE SUPPLY
US20100251259A1 (en) 2009-03-31 2010-09-30 Howard Kevin D System And Method For Recruitment And Management Of Processors For High Performance Parallel Processing Using Multiple Distributed Networked Heterogeneous Computing Elements
US8244559B2 (en) 2009-06-26 2012-08-14 Microsoft Corporation Cloud computing resource broker
US8694968B2 (en) 2009-12-30 2014-04-08 Foneclay, Inc. System for creating personalized and customized mobile devices
US20110320233A1 (en) 2010-05-30 2011-12-29 Sonian, Inc. Method and system for arbitraging computing resources in a cloud computing environment
US8355670B2 (en) 2010-06-22 2013-01-15 At&T Mobility Ii Llc Near field communication adapters
US9329908B2 (en) 2010-09-29 2016-05-03 International Business Machines Corporation Proactive identification of hotspots in a cloud computing environment
US8782211B1 (en) 2010-12-21 2014-07-15 Juniper Networks, Inc. Dynamically scheduling tasks to manage system load
US8843933B1 (en) 2011-05-25 2014-09-23 Vmware, Inc. System and method for managing a virtualized computing environment
US8730994B2 (en) 2011-05-27 2014-05-20 International Business Machines Corporation Fair discount for network resource allocation
US9075659B2 (en) 2011-06-16 2015-07-07 Kodak Alaris Inc. Task allocation in a computer network
US9424096B2 (en) 2011-06-16 2016-08-23 Kodak Alaris Inc. Task allocation in a computer network
US9015708B2 (en) 2011-07-28 2015-04-21 International Business Machines Corporation System for improving the performance of high performance computing applications on cloud using integrated load balancing
US9158590B2 (en) 2011-08-08 2015-10-13 International Business Machines Corporation Dynamically acquiring computing resources in a networked computing environment
US8391934B1 (en) 2011-12-29 2013-03-05 Elwha Llc Customized hardware selection for a mobile phone
US20150206228A1 (en) 2012-06-08 2015-07-23 Google Inc. Peer-To-Peer Resource Leasing
DE102012105463A1 (de) 2012-06-22 2013-12-24 Endress + Hauser Gmbh + Co. Kg Kopplungssystem zum Einsatz in der Automatisierungstechnik
US9148473B1 (en) 2012-08-27 2015-09-29 Amazon Technologies, Inc. Dynamic resource expansion of mobile devices
US20140067496A1 (en) 2012-08-31 2014-03-06 International Business Machines Corporation Providing real-time trading of virtual infrastructure resources
CN103686865B (zh) 2012-09-26 2018-11-09 索尼公司 网络资源使用的决策装置和方法
US20150358790A1 (en) 2012-11-12 2015-12-10 ENORCOM Corporation Automated mobile system
US9031531B2 (en) 2012-11-20 2015-05-12 At&T Intellectual Property I, L.P. Distributed computing task costing with a mobile device
US9003039B2 (en) 2012-11-29 2015-04-07 Thales Canada Inc. Method and apparatus of resource allocation or resource release
US20140184764A1 (en) 2012-12-31 2014-07-03 Marc R. Amling Reprogrammable Video Imaging System with Modular Architecture
US9270539B2 (en) 2013-01-04 2016-02-23 International Business Machines Corporation Predicting resource provisioning times in a computing environment
US9038195B2 (en) 2013-03-15 2015-05-19 Google Technology Holdings LLC Accessing a cloud-based service using a communication device linked to another communication device via a peer-to-peer ad hoc communication link
US9942907B2 (en) 2013-04-10 2018-04-10 International Business Machines Corporation Resource sharing among multiple service providers in a wireless network cloud
US9602423B2 (en) 2013-06-28 2017-03-21 Pepperdata, Inc. Systems, methods, and devices for dynamic resource monitoring and allocation in a cluster system
US20150074635A1 (en) 2013-08-16 2015-03-12 Vito Margiotta Systems and Methods for Building Custom Mobile Device Applications Using a Mobile Devlce
US9525728B2 (en) 2013-09-17 2016-12-20 Bank Of America Corporation Prediction and distribution of resource demand

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296114A (zh) * 2007-04-29 2008-10-29 国际商业机器公司 基于流的并行模式匹配方法和***
CN102016748A (zh) * 2008-04-21 2011-04-13 自适应计算企业股份有限公司 用于管理计算环境中的能量消耗的***和方法
US20130237147A1 (en) * 2012-03-09 2013-09-12 Nokia Corporation Methods, apparatuses, and computer program products for operational routing between proximate devices
US20130262644A1 (en) * 2012-03-30 2013-10-03 International Business Machines Corporation Deployment of mobile workloads based on proximity
CN104854563A (zh) * 2012-09-20 2015-08-19 亚马逊技术有限公司 资源使用的自动分析
US20140094140A1 (en) * 2013-05-08 2014-04-03 Saswat Misra Cognitive Radio System And Cognitive Radio Carrier Device
CN104657405A (zh) * 2013-11-15 2015-05-27 国际商业机器公司 用于归档数据的基于优先级的可靠性机制的方法和***
CN104731642A (zh) * 2013-12-23 2015-06-24 国际商业机器公司 用于高度并行作业的回填调度方法和***
WO2015154686A1 (en) * 2014-04-09 2015-10-15 Tencent Technology (Shenzhen) Company Limited Scheduling method and apparatus for distributed computing system
WO2016046821A1 (en) * 2014-09-23 2016-03-31 Spondoolies Tech Ltd. Method and system for reducing power consumption in bitcoin mining via data input hopping
CN104537112A (zh) * 2015-01-20 2015-04-22 成都携恩科技有限公司 一种安全云计算的方法
CN204669349U (zh) * 2015-06-03 2015-09-23 北京比特大陆科技有限公司 具有虚拟数字币挖矿功能的通信电子设备及无线路由器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LOI LUU 等: "On Power Splitting Games in Distributed Computation: The Case of Bitcoin Pooled Mining", 《2015 IEEE 28TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM》 *
吕楠: "Bitcoin合作式矿区挖矿研究", 《计算机技术与发展》 *

Also Published As

Publication number Publication date
WO2017180186A1 (en) 2017-10-19
US10268520B2 (en) 2019-04-23
US9977697B2 (en) 2018-05-22
US20180276048A1 (en) 2018-09-27
US20170300365A1 (en) 2017-10-19

Similar Documents

Publication Publication Date Title
US11095689B2 (en) Service processing method and apparatus
Chen et al. Vafl: a method of vertical asynchronous federated learning
US11257007B2 (en) Method and apparatus for encrypting data, method and apparatus for training machine learning model, and electronic device
US20210034994A1 (en) Computer-based systems configured for detecting, classifying, and visualizing events in large-scale, multivariate and multidimensional datasets and methods of use thereof
US20200167798A1 (en) Customizing customer onboarding for a service with machine learning models
WO2022217781A1 (zh) 数据处理方法、装置、设备以及介质
CN104541293A (zh) 用于客户端-云行为分析器的架构
US11316751B2 (en) Adaptive learning system with a product configuration engine
US10430390B1 (en) Method and system for managing mutual distributed ledgers in a system of interconnected devices
CN109328337A (zh) 模块化电子设备的任务管理***
US20200051066A1 (en) System and method for a distributed ledger for information technology asset management
CN112738075A (zh) 基于云计算和智能设备交互的信息处理方法及***
WO2023150477A1 (en) Methods and systems for database development based on multi-modal correlations detected through artificial intelligence
CN112215326A (zh) 一种分布式ai***
US10872369B1 (en) Systems and methods for providing intelligent electronic communications
US20150127484A1 (en) Enhanced transaction center locator
US20210279597A1 (en) System for predictive maintenance using discriminant generative adversarial networks
US20210279596A1 (en) System for predictive maintenance using trace norm generative adversarial networks
Rościszewski Modeling and simulation for exploring power/time trade-off of parallel deep neural network training
KR20190101868A (ko) 경비 관리 시스템 및 이를 이용한 경비 관리 방법
US11252160B1 (en) Artificial intelligence software access bundling
US9990235B2 (en) Determining tasks to be performed by a modular entity
Makkena et al. 8 Machine Learning and
Li et al. Anarchic Convex Federated Learning
Dhanasekaran et al. Depend Ability Analysis on CPS Using Machine Learning Techniques

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190212