在参数数据集中进行分布式训练的制作方法

文档序号:19492503发布日期:2019-12-24 14:11阅读:216来源:国知局
在参数数据集中进行分布式训练的制作方法

本发明涉及数据处理系统,更具体而言,涉及在参数数据集中进行分布式训练。



背景技术:

隐私问题是实现物联网(iot)环境的抑制因素。消费者(例如,个人、组织等)共享数据的意愿取决于可以提供的隐私保护的级别。

数据收集可以帮助服务提供商改进他们的服务。但是,从数据分析中获得的洞察可以无意中揭示与消费者有关的私人信息。例如,来自家用电量计的数据可以揭示居住者进入和/或离开房屋的确切时间;居住者可能不愿意与他人分享的个人数据。

常规技术教导了一种预测模型,其中数据所有者将个人数据委托给集中式实体。使用任何现有的统计分析或机器学习算法,集中式实体收集并聚合所有个人数据以构建模型。当隐私受到关注时,消费者可能不愿意共享他们的个人数据。



技术实现要素:

本公开的各方面涉及一种用于在参数数据集中进行分布式训练的方法。该方法可以包括至少一个协调节点和由该至少一个协调节点协调的至少一个分布式节点的网络。该方法还可以包括从第一分布式节点接收参数数据集,其中该数据集包括权重变化。该方法可以附加地包括解密接收到的数据集。接下来,该方法可以包括基于训练数据记录训练参数数据集以获得经训练的参数数据集。最后,该方法可以包括将经训练的参数数据集转发到第二分布式节点。

本公开的方面还涉及一种用于在参数数据集中进行分布式训练的系统。该系统可以包括至少一个协调节点和由该至少一个协调节点协调的至少一个分布式节点的网络。该系统还可以包括计算机可读存储介质、被配置为接收输入和呈现输出的用户接口以及通信地耦合到计算机可读存储介质和用户接口并且具有包括指令的存储器的处理器。当指令由处理器执行时,可以被配置为从第一分布式节点接收参数数据集,其中参数数据集包括权重变化。指令还可以被配置为解密接收到的数据集。指令可以附加地被配置为基于训练数据记录训练参数数据集以获得经训练的参数数据集。最后,指令可以被配置为将经训练的参数数据集转发到第二分布式节点。

本公开的方面还涉及一种用于在参数数据集中进行分布式训练的计算机程序产品。该计算机程序产品可以包括至少一个协调节点和由该至少一个协调节点协调的至少一个分布式节点的网络。该计算机程序产品还可以包括计算机可读存储介质,该计算机可读存储介质具有实施在其中的程序指令。程序指令可以使处理器从第一分布式节点接收参数数据集,其中参数数据集包括权重变化。程序指令还可以使处理器解密接收到的数据集。程序指令可以附加地使处理器基于训练数据记录训练参数数据集以获得经训练的参数数据集。最后,程序指令可以使处理器将经训练的参数数据集转发到第二分布式节点。

以上概述不旨在描述本公开的每个所示实施例或每种实现。

附图说明

包括在本申请中的附图被并入到说明书中并形成说明书的一部分。它们图示了本公开的实施例,并且与说明书一起解释本公开的原理。附图仅是对某些实施例的说明,并不限制本公开。

图1是根据本公开的实施例的用于在人工智能模型参数数据集中进行分布式训练的示例方法100。

图2是根据本公开的实施例的用于在人工智能模型参数数据集中进行分布式训练环境的示例网络200。

图3是根据本公开的实施例的具有在分布式训练环境中添加的分布式节点的示例网络300。

图4描绘了根据本公开的实施例的在分布式训练环境中移除分布式节点的示例网络400。

图5描绘了根据本公开的实施例的用于数据处理的示例系统500。

虽然本公开可修正为各种修改和替代形式,但是其细节已经在附图中通过示例的方式示出并且将被详细描述。但是,应该理解的是,意图不是将本公开限制于所描述的实施例。相反,意图是涵盖落入本公开的精神和范围内的所有修改、等同物和替代物。

具体实施方式

本发明的各方面涉及数据处理系统,更具体而言,涉及在参数数据集中进行分布式训练。虽然本公开不必限于这种应用,但是通过使用人工智能模型对各种示例的讨论可以理解本公开的各个方面。

实施例的各方面提供了一种用于人工智能模型中的分布式训练的方法,该人工智能模型包括分布式节点的参数数据集网络,其中在分布式设置中被委托信息是在私有组中被处理的。如本文所使用的,节点可以是专用计算节点,但不限于此。

出于训练目的,实施例的各方面进一步图示了人工智能模型的参数数据集,训练包括数据的第一数据集(例如,模型参数的权重变化)。因此,人工智能模型参数数据集可以与术语模型相同。替代地,数据集可以仅包括迭代的权重变化而不包括完整模型本身。

可以利用机器学习和学习算法的常规方法来理解实施例的各方面。本公开的实现可以在不共享个人数据的情况下在行业中实现(illicit)许多优点,行业包括但不限于教育(例如,教学方法)、汽车(例如,识别、违规)、医疗(例如,体质水平、健康问题)和统计(例如,数据聚合)。

例如,本公开的应用可以分析学生的弱点和优点、识别最适合专注学习的科目,和/或者在给定科目中将学生与类似学生进行匿名比较以用于教育改进。

例如,本公开的应用可以分析具有传感器数据的汽车的网状网络。使用从这种实现中生成的信息,驾驶员和车辆可以匿名地从其它汽车传感器和驾驶行为中学习。

另一个示例可以涉及物联网(iot)和计算机使用以及恶意软件。本公开的应用可以允许系统了解哪些活动可能导致感染以及如何预防或修复它,从而给予潜在完整的web使用模式,并且如果知道新的攻击向量,则警告社区中的其它用户,而不会告知完整的点击流,告知完整的点击流会去除匿名(例如wot浏览器扩展)。

根据一个实施例,用于人工智能模型中的分布式训练的模型参数数据集可以由协调节点串行地、精心编排地传递。可以由协调节点通过将链路中下一个节点的互联网协议地址(ip地址)和公共密钥分发到每个节点来构建串行节点链。可以在初始设置时添加噪声,以防止早期贡献者的重新工程化。初始噪声可以随着每次后续模型更新而衰减。如果节点静默地出故障,则下一个接收节点将联系协调节点以解决问题并获取链中下一个节点。

如果使用的计算机设备没有已知的ip地址和/或如果它们不能从外部访问,就像如果它们位于专用路由器基础设施后面经常发生的那样,则替代实施例将是把私有加密数据存储在可由多个计算机访问的某个云存储上。

每个节点基于其自己的私有数据更新模型,并以加密形式将新模型发送到链中下一个节点。私有数据永远不会离开个人控制的空间。协调节点不能在每个步骤中读取模型,但它可以通过在链的末尾添加协调节点使其可见,以便每次迭代可以发布一次模型。一次迭代被定义为一个节点对模型的单次更新。

根据另一个实施例,链中的顺序可以是随机的,而不是总是使用相同的顺序。因此,没有一个节点知道它从谁得到其模型,从而提供了匿名性。

此外,在一些实施例中,可以使用对等协商协议来构建串行节点链。根据另一个实施例,可以使用节点的随机化顺序,但是经由对等方法进行编排。在一些实施例中,可以实现世界可读中间模型的中央分类帐,其中每个节点拾取具有对更多当前模型的偏差的随机模型以改善训练过程的收敛。但是,协调节点可以通过查看单个模型更新的增量来重新工程化本地信息。

通常,使用分类帐使得无法在不使其它人注意的情况下更改数据集。为此目的,可以以与区块链环境类似的方式使用散列和。因此,根据一些实施例,发布了个性化中间模型的中央分类帐,其中每个节点具有所有节点的公钥列表。每个节点可以拾取为其加密的具有对更多当前模型的偏差的模型来改善训练过程的收敛。每个修改的模型可以被丢弃到为另一个随机节点加密的分类账上。然后,协调节点无法读取加密模型,并且因此无法对更新进行反向工程。在一些实施例中,可以使用个性化中间模型的中央分类帐,其仅对于链中下一个节点是可读的。因此,可以实现串行化计算。

参考各图,图1描绘了利用本公开的实施例的用于在人工智能模型参数数据集中进行分布式训练的示例方法100。在实施例中,方法100开始于操作105。在实施例中,可以关于图2-4更详细地描述方法100。在实施例中,方法100可以用于例如在参与研究的参与者的子集当中进行糖尿病预测。

在操作105中,至少一个协调节点(例如,表示诊所)生成例如表示多个历史健康数据的神经网络,并向至少一个第一分布式节点(例如,表示第一参与者)发出请求以生成人工智能模型。在实施例中,历史数据用于确定参与者是否具有例如糖尿病的可变决策,并且从可变决策确定相关联的隐私级别。然后,将从第一分布式节点收集的历史数据转发到至少第二分布式节点(例如,表示第二参与者)。

在操作110中,第一分布式节点单独向人工智能模型上传第一参数数据集,该第一参数数据集包括例如收集的可穿戴输入数据(例如,每天的步数、心率、体温、血糖等)和个人信息(例如,年龄、重量、身高、性别),并以仅由第二分布式节点可读的格式加密单独上传的数据(例如,第一参数数据集)。

在操作115中,第二分布式节点从操作105的协调节点请求后续节点的身份,该后续节点负责下一个使用分布式协议向人工智能模型贡献(例如,上传数据)。在实施例中,例如,接下来将是第三分布式节点。

类似于操作110中的第一分布式节点,操作120中的第二分布式节点向人工智能模型上传参数数据集,该参数数据集包括例如从第一分布式节点单独收集的经收集的可穿戴输入数据(例如,每天的步数、心率、体温、血糖等)和个人信息(例如,年龄、体重、身高、性别)。从第二分布式节点上传的收集数据以仅可由第三分布式节点读取的格式加密。

在操作125中,在用于从n个分布式节点将单独上传的加密参数数据集收集到人工智能模型的n次迭代的收敛之后,人工智能模型由各个分布式节点解密,从而确保人工智能模型公开可用。从最后的第n个分布式节点,人工智能模型被转移回协调节点。

在实施例中,收敛所需的n次迭代的数量可取决于用例和学习算法的使用。每轮可以包括n次迭代,其中,一次迭代被定义为由一个分布式节点更新人工智能模型。

在一些实施例中,可以加密人工智能模型以防止第三方实体看到模型。可选地,在步骤130中,如果学习算法支持并且关于初始噪声的数据对协调节点仍然可获得,则协调节点可以在操作105中移除初始输入数据(例如,随机收集的数据/噪声)。作为替代方案,可以依赖于这样的事实:在足够大的输入数据的情况下,初始噪声的贡献自动衰减。因此,只有由分布式节点上传的单独收集的数据仍保留在模型中。

在操作130中,协调节点聚合所收集的上传参数数据集,并使人工智能模型参数数据集可用于网络配置中包括的所有分布式节点。通过这样做,隐藏了负责上传数据到人工智能模型的分布式节点的身份。

图1旨在表示根据本公开的实施例的用于分布式训练的方法100的操作。但是,在一些实施例中,各个操作可以具有比图1中所示更大或更小的复杂度,并且可以存在与图1中所示不同的操作或者除了图1中所示的操作之外的操作。另外,在一些实施例中,图1中所示的各种操作可以具有比图1中所示更多、更少或不同的功能。

图2是在本公开的实施例中用于在人工智能模型参数数据集中进行分布式训练的示例网络200。在实施例中,网络200的各方面可以被配置为执行以上关于图1的方法100描述的操作。

网络200包括至少一个协调节点210、一个或多个分布式节点211-215、一个或多条数据线220-224,以及一个或多条消息线230-234。在一些实施例中,一个或多个分布式节点是串行连接的节点。

在实施例中,网络200被组织为由至少一个协调节点210协调的串行连接的节点211、212、213、214、215的环。更一般地,网络200可以被组织为由至少一个协调节点210协调并且不以环状方式连接的连接节点211、212、213、214、215的串行链。

在一些实施例中,网络200可以以连接节点211、212、213、214、215的随机顺序组织,由至少一个协调节点210协调,其中顺序不是固定的和预定的。相反,连接节点211、212、213、214、215的随机化顺序可以在一定数量的迭代之后被改变。

在实施例中,表示私人信息的加密参数数据集可以由例如第二串行连接节点212经由前向数据线220从例如第一串行连接节点211接收,并且随后被解密。然后基于训练数据记录对解密的数据集应用训练算法以获得经训练的数据集。使用加密的数据集,第二串行连接节点212训练接收到的人工智能模型的参数数据集,并用网络200中的至少第三串行连接节点213的公钥编码结果模型,以创建经训练的参数数据集。

在将经训练的数据集转发到至少第三串行连接节点213之前以及在串行连接节点214-215之间的训练迭代中,经训练的参数数据集被加密。因此,在经由至少一条数据线220-224连接的串行连接节点111-116之间发生密钥交换,并且每当离开串行连接节点211-215中的任何一个时,接收到的经训练的数据集被加密。

在实施例中,经训练的参数数据集然后经由前向数据线221从至少第二串行连接节点212转发到至少第三串行连接节点213。训练数据集的迭代可以以相同的顺序继续,直到实现数据收敛。例如,在至少第三串行连接节点213中接收到的经训练的参数数据集经由数据线222被转发到至少第四串行连接节点214。经训练的数据集还可以从至少第四串行连接节点214经数据线223转发到至少第五串行连接节点215,并且在至少第五串行连接节点215中的训练完成之后,经训练的参数数据集将经由数据线224被转发回到至少第一串行连接节点211。

在实施例中,至少一个协调节点210组织网络200但是看不到数据集也不知道密钥。至少一条消息线230、231、232、233、234用于网络200的协调,但不用于数据传输。

在一些实施例中,至少一个协调节点210可以是环的一部分并且在一定数量的迭代之后发布模型。

在一些实施例中,图1的示例实施例中的网络200被组织为由至少一个协调节点协调的串行连接的节点的环。更一般地,网络200可以被组织为由至少一个协调节点协调并且不以环状方式连接的连接节点的串行链。

在一些实施例中,网络200还可以按照由至少一个协调节点协调的连接节点的随机顺序进行组织,其中该顺序不是固定的和预定的。相反,连接节点的随机化顺序可以在一定数量的迭代之后被改变。

在一些实施例中,网络200可以通过对等方法来协调,其中节点在相同级别上并且信息是均等分布的。节点协调网络本身中的信息交换。

图2旨在表示根据本公开的实施例的用于分布式训练环境的网络200的组件。但是,在一些实施例中,各个组件可以具有比图2中所示更大或更小的复杂性,并且可以存在与图2中所示的组件不同的组件,或者除了图2中所示的组件之外的组件。另外,在一些实施例中,图2中所示的各种组件可以具有比图2中所示更多、更少或不同的功能。

图3是在本发明的实施例中具有添加到分布式训练环境的分布式节点的示例网络300。在实施例中,网络300可以包括图1的方法100和图2的网络200中包括的方面。

网络300包括至少一个协调节点310(类似于图2的至少一个协调节点210)、至少一个分布式节点311-315、至少一个新的分布式节点216、至少一条数据线321-324(类似于图2的至少一条数据线321-324、至少一个新数据线325-326、至少一条消息线331-334(类似于图2的至少一条消息线231-234),以及至少一个新消息线335。在实施例中,网络300被组织为由至少一个协调节点310协调的至少一个连接的分布式节点311-315和至少一个新的分布式节点316的环。

在实施例中,可以将至少一个新的分布式节点316添加到网络300。至少一个新的分布式节点316向至少一个协调节点310发起“添加用户”请求,以将附加的分布式节点添加到网络300。响应于“添加用户”请求,至少一个协调节点310接收认证信息并在第三方可信实体处开始验证。

在实施例中,至少一个协调节点310决定在网络300中将至少一个新的分布式节点316添加到何处。在实施例中,至少一个协调节点310告诉至少第一分布式节点311和至少第二分布式节点312移除其现有密钥。

响应于至少第一分布式节点311和第二分布式节点312密钥的移除,删除原始前向数据线320(未示出)(类似于图2的前向数据线220)。然后,至少一个协调节点310告诉至少第一分布式节点311和至少一个新的分布式节点316交换它们的密钥并提供它们对应的ip地址。

接下来,至少一个协调节点310告诉至少一个第二分布式节点312并经由至少新的消息线335告诉至少一个新的分布式节点316来交换它们的密钥并提供它们对应的ip地址。响应于交换,建立新的前向数据线325和新的前向数据线326。至少一条消息线330、331、332、333、334和至少一个新的消息线335用于网络300的协调。

图3旨在表示根据本公开的实施例的具有添加到分布式训练环境的分布式节点的网络300的组件。但是,在一些实施例中,各个组件可以具有比图3中所示更大或更小的复杂性,并且可以存在与图3中所示的组件不同的组件,或者除了图3中所示的组件之外的组件。另外,在一些实施例中,图3中所示的各种组件可以具有比图3中所示更多、更少或不同的功能。

图4是在本发明的实施例中在分布式训练环境中移除分布式节点的示例网络400。在实施例中,网络400可以包括图1的方法100和图2的网络200中包括的方面。

网络400包括至少一个协调节点410(类似于图2的至少一个协调节点210)、至少一个分布式节点411、412、413、415、416(类似于图3的至少一个分布式节点311-313和315-316)、至少一条数据线421、424、425、426(类似于图3的至少一条数据线321、324、325、326)、至少一条新的数据线427,以及至少一条消息线430-432和434-435(类似于图3的至少一条消息线330-332和334-335)。

在实施例中,例如,从网络400中移除至少一个分布式节点414(未示出)(类似于图3的至少一个分布式节点313)。响应于移除,至少一个现有分布式节点411-413和415-416可以向至少协调节点410发出“移除用户(removeuser)”请求,和/或至少一个在前连接的分布式节点(例如,分布式节点413)在尝试发送模型时可能会注意到超时。在这种情况下,至少一个协调节点410对网络400进行分区,并检查整个网络400(例如,分区网络)中包括的裂脑情况。

应该理解的是,在一些实施例中,具有多于一个协调节点的网络用于实现本文描述的操作。

在实施例中,当至少一个协调节点410从网络400移除至少一个分布式节点414时,另外移除前向数据线422和423(未示出)。响应于前向数据线422和423的移除,至少一个协调节点410直接与至少一个分布式节点413和至少一个分布式415通信,从而移除至少一个分布式节点414交换密钥。因此,建立了至少一个新的前向数据线427。

图4旨在表示根据本公开的实施例的在分布式节点配置中移除分布式节点的网络400的组件。但是,在一些实施例中,各个组件可以具有比图4中所示更大或更小的复杂性,并且可以存在与图4中所示的组件不同的组件,或者除了图4中所示的组件之外的组件。另外,在一些实施例中,图4中所示的各种组件可以具有比图4中所示更多、更少或不同的功能。

图5是根据本公开的实施例的用于数据处理的示例系统500。数据处理系统500仅是合适的数据处理系统的一个示例,并不旨在对本文描述的本发明的实施例的使用范围或功能提出任何限制。无论如何,数据处理系统500能够实现和/或执行上文阐述的任何功能。

计算机系统/服务器512可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器512可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。

如图5所示,数据处理系统510中的计算机系统/服务器512以通用计算设备的形式表现。计算机系统/服务器512的组件可以包括但不限于:一个或者多个处理器或者处理单元516,系统存储器528,连接不同系统组件(包括系统存储器528和处理单元516)的总线518。

总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机系统/服务器512典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)530和/或高速缓存存储器532。计算机系统/服务器512还可以包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统534可以用于读写不可移动的、非易失性磁介质(未示出,通常称为“硬盘驱动器”)。尽管未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储器528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块542的程序/实用工具540,可以存储在例如存储器528中,这样的程序模块542包括——但不限于——操作系统、一个或者多个应用、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块542通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器512也可以与一个或多个外部设备514(例如键盘、指向设备、显示器524等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器512交互的设备通信,和/或与使得该计算机系统/服务器512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口522进行。并且,计算机系统/服务器512还可以通过网络适配器520与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如互联网)通信。如图所示,网络适配器520通过总线518与计算机系统/服务器512的其它模块通信。应当明白,虽然图中未示出,可以结合计算机系统/服务器512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上传有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如互联网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及传统的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用互联网服务提供商来通过互联网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应该理解的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其它设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1