使用分布式分类账管理公共软件组件生态系统的系统和方法技术方案

技术编号:23474818 阅读:52 留言:0更新日期:2020-03-06 15:30
实施例包括促进使用分布式分类账来实现软件组件生态系统的系统和方法,例如,如部分地被实现为分布式区块链,该区块链由称为目录实例的生态系统完整节点来维护。可以由一个或多个目录实例将各种注册事务,例如开发者注册、命名空间注册、使用注册等,添加到分布式区块链。将区块添加到区块链可以包括使用趋向事务的树散列来为新区块生成区块散列。新区块还包括或结合紧挨着前一区块的散列。

System and method of using distributed ledger to manage common software component ecosystem

【技术实现步骤摘要】
【国外来华专利技术】使用分布式分类账管理公共软件组件生态系统的系统和方法相关申请的交叉引用本申请要求于2017年6月30日提交的(代理人案号ORACP0200P1/ORA180001-US-PSP-1)标题为“SYSTEMANDMETHODFORMANAGINGAPUBLICSOFTWARECOMPONENTECOSYSTEMUSINGADISTRIBUTEDLEDGER”的美国临时专利申请序列No.62/527,479以及于2017年9月1日提交的(代理人案号ORACP0200P2/ORA180001-US-PSP-2)标题为“SYSTEMFORMANAGINGAPUBLICSOFTWARECOMPONENTECOSYSTEMUSINGBLOCKCHAINFEATURES”的美国临时专利申请序列No.62/553,406以及于2017年12月1日提交的(代理人案号ORACP0200/ORA180001-US-NP)标题为“SYSTEMANDMETHODFORMANAGINGAPUBLICSOFTWARECOMPONENTECOSYSTEMUSINGADISTRIBUTEDLEDGER”的美国专利申请序列No.15/829,684的权益,所有这些都通过引用并入本文,用于所有目的,就如同在本申请中完全阐述了一样。
本申请涉及计算,并且更具体地涉及适于在生态系统的参与者之间共享诸如软件组件之类的计算资源的计算生态系统。
技术介绍
用于实现和控制软件组件生态系统的系统和方法在各种要求苛刻的应用中采用,包括应用商店和开源软件开发平台。此类应用常常要求高效机制以选择性地处理并考虑生态系统中发生的事务,然后充分利用事务信息来确保生态系统的高效操作。按照惯例,用于交换内容(例如,软件程序和组件、数据、对象等)的计算生态系统或者被集中控制(诸如由应用商店的所有者),或者相对不受控制。但是,集中控制的生态系统会遭受各种缺点,诸如实现适当健壮的中央管理基础设施的成本、在此类系统上管理可伸缩性和灾难恢复的成本,与它们的管理相关的人员配备的总成本等。因而,仍然需要用于促进计算生态系统的高效实现和控制的系统和方法。
技术实现思路
示例实施例公开了一种系统和方法,该系统和方法促进部分地通过使用分布式区块链分类账来维护、保护、核实、更新、监视或以其它方式控制或影响事务(例如,分布式生态系统中发生的各种类型的注册事务(如下文更全面地讨论)),使用分布式控制来实现软件组件生态系统。分布式生态系统的生态系统节点(所谓的或由本文的目录实例表示的)运行软件用于管理共享区块链分类账(本文也简称为区块链),包括添加包括一个或多个事务的新区块。用于促进实现软件组件生态系统的示例方法包括:接受来自用户输入设备的一个或多个信号,以定义开发者实体的识别名称;接受来自用户输入设备的一个或多个信号,以定义可用于核实开发者实体被授权注册该识别名称的安全核实机制;将条目记录在目录中(例如,实现节点的目录以及随附的分布式分类账),该条目包括与核实机制相关联的开发者名称;与目录条目相关联地执行组件上传、下载或其它组件传送,以传送软件组件;以及使用目录条目(例如,开发者实体注册事务条目)来核实与组件上传、下载或其它软件组件传送有关的事务(例如,将事务提交到分布式分类账),由此向分布式分类账提交包括事务的数据。在更具体的实施例中,示例方法还指定安全核实机制包括与开发者实体相关联的公共密钥和数字签名。在将目录条目的复制传播到软件组件生态系统中的多个节点之前,首先将记录的目录条目放置在未经核实的队列中。多个节点中的每个节点表示目录实例,该目录实例包括用于与其它多个节点协同实现分布式区块链分类账的代码,其它多个节点维护分布式区块链分类账的副本或近似该副本。因而,本文讨论的某些实施例提供了用于促进在分布式分类账(例如,分布式区块链)中事务数据的注册的高效机制。与事务有关的信息可以被用于确保参与者和相关联组件的信任;管理并核实组件的身份、完整性、出处或来源、支持状况等;确保已正确许可软件组件;提供关于可用软件支持服务的信息;批准用户,诸如组件的消费者和/或贡献者;防止或减轻当提供具有冲突或混淆名称的组件时可能发生的问题;促进软件组件的更新和/或召回;等等,所有这些都不需要使用分开管理的核心控制器。通过参考说明书的其余部分和附图,可以实现对本文公开的特定实施例的性质和优点的进一步理解。附图说明图1图示了用于选择性地共享软件组件并用于使用分布式区块链分类账来注册事务的第一示例广义对等计算生态系统。图2是图示图1的第一示例对等计算生态系统的示例实现的更详细示图。图3示出了充当图1-2的对等计算生态系统的对等体或节点的个人开发者计算系统的示例细节,包括示例用户界面(UI)控件和选项以及可以包括在用于将用户开发者计算系统耦合到对等生态系统的目录实例中的示例模块,由此用户开发者计算系统充当对等生态系统的节点。图4示出了利用图1-3的实施例的用于向分布式区块链分类账注册开发者实体的第二示例生态系统和随附的目录实例过程,其中第二示例系统可以根据图1-3的实施例来实现。图5是可经由图4的第二示例生态系统来实现的第一示例方法的流程图。图6示出了示例UI显示屏,其可以显示在计算系统(诸如图3的用户开发者计算系统)上,并且其提供了用于浏览软件组件的目录、搜索、下载、编辑以及从目录中删除软件组件的各种UI控件和选项,该目录由随附的计算系统可访问的目录实例维护。图7是图示第三示例生态系统和随附的计算环境的第一框图,其图示了由对等软件组件生态系统的称为目录实例的节点维护的区块链的初始状态。图8是第二框图,图示了在第一示例事务(即,开发者注册事务)已经经由原始目录实例(例如,第一目录实例)传播到目录实例的未经核实的队列之后的图7的第三示例系统。图9是第三框图,图示了在由(根据选择规则或算法)已被选择来处理(例如,核实或验证)开发者注册事务的目录实例(例如,第二目录实例)进行处理(即,核实初始开发者注册事务和向区块链提交)期间的图8的第三示例系统。图10是第四框图,图示了在由所选择的目录实例计算区块链的区块期间的图9的第三示例系统,其中区块包括未经核实的队列中的未决事务,包括图9的开发者注册事务。图11是第五框图,图示了在由第二目录实例处理的区块已经被提交给区块链并且传播到由生态系统的每个目录实例维护的区块链副本之后的图10的示例系统。图12是第六框图,图示了在第二目录实例已经发起第二事务(即,第一命名空间注册事务)并且已经将第二事务传播到软件组件生态系统中的其它目录实例的未经核实的队列之后的图11的示例系统。图13是第七框图,图示了在第三目录实例已经发起第三事务(即,第二命名空间注册事务)之后的图12的示例系统,该第三事务已经被传播到软件组件生态系统中的其它目录实例的未经核实的队列。图14是第八框图,图示了在已经选择第一目录实例来核实附加区块以包括在区块链中之后的图13的示例本文档来自技高网
...

【技术保护点】
1.包括逻辑的一种或多种有形介质,所述逻辑由一个或多个处理器执行并且在被执行时能操作用于通过执行以下动作来实现软件组件生态系统:/n接受来自用户输入设备的一个或多个信号,以定义开发者实体的识别名称;/n接受来自用户输入设备的一个或多个信号,以定义能用于核实开发者实体被授权注册该识别名称的安全核实机制;/n记录目录条目,该条目包括与安全核实机制相关联的开发者实体名称;/n与目录条目相关联地执行事务以传送软件组件;以及/n使用目录条目来核实事务,由此将表征事务的数据提交到目录。/n

【技术特征摘要】
【国外来华专利技术】20170630 US 62/527,479;20170901 US 62/553,406;20171.包括逻辑的一种或多种有形介质,所述逻辑由一个或多个处理器执行并且在被执行时能操作用于通过执行以下动作来实现软件组件生态系统:
接受来自用户输入设备的一个或多个信号,以定义开发者实体的识别名称;
接受来自用户输入设备的一个或多个信号,以定义能用于核实开发者实体被授权注册该识别名称的安全核实机制;
记录目录条目,该条目包括与安全核实机制相关联的开发者实体名称;
与目录条目相关联地执行事务以传送软件组件;以及
使用目录条目来核实事务,由此将表征事务的数据提交到目录。


2.如权利要求1所述的一种或多种有形存储介质,其中安全核实机制包括公钥和数字签名。


3.如权利要求2所述的一种或多种有形存储介质,还包括:
将目录条目传播到软件组件生态系统中的多个节点。


4.如权利要求3所述的一个或多个有形存储介质,其中所述多个节点中的每一个节点表示目录实例,该目录实例包括用于与所述多个节点协同实现分布式区块链分类账的代码,所述多个节点维护所述分布式区块链分类账的副本或近似副本。


5.如权利要求2所述的一种或多种有形存储介质,还包括:
为条目分配命名空间。


6.如权利要求1所述的一种或多种有形存储介质,还包括:
使用如权利要求1所述的分布式对等组件生态系统的组件目录的实例来执行以下操作,该分布式对等组件生态系统包括多个互相通信的目录实例:
接受与开发者实体名称有关的开发者实体注册信息;以及
核实开发者实体注册信息并将开发者实体注册信息提交到被实现为区块链的分布式数据库作为开发者实体注册记录或区块,其中,该区块链能被所述多个互相通信的目录实例中的每一个目录实例访问,从而将开发者实体注册信息传播到分布式对等组件生态系统的所有完整节点。


7.如权利要求6所述的一种或多种有形存储介质,其中接受步骤在以下步骤之后发生:
由开发者实体向所述多个互相通信的目录实例中的目录实例供应开发者实体名称、与要为其执行注册的目录实例相关联的公钥、以及与开发者实体名称相关联且能用于确认开发者实体身份的数字签名。


8.如权利要求6所述的一种或多种有形存储介质,其中分布式对等组件生态系统的完整节点包括所述多个互相通信的目录实例。


9.如权利要求6所述的一种或多种有形存储介质,还包括:
在传播开发者实体注册信息之后,并且响应于命名空间注册过程的发起和实现,通过以下操作为开发者实体分配一个或多个命名空间:
在命名空间注册过程期间,将一个或多个供应的命名空间与开发者注册信息相关联。


10.如权利要求9所述的一种或多种有形存储介质,还包括:
选择性地延迟开发者实体的命名空间注册过程的实现,直到将若干记录提交到区块链的记录的链之后。


11.一种通过执行以下动作来实现软件组件生态系统的方法:
接受来自用户输入设备的一个或多个信号,以定义开发者实体的识别名称;
接受来自用户输入设备的一个或多个信号,以定义安全核实机制;
记录目录条目,该条目包括与安全核实机制相关联的开发者实体名称;
与目录条目相关联地执行事务以传送软件组件;以及
使用目录条目来核实事务。


12.如权利要求11所述的一种或多种有形存储介质,其中安全核实机...

【专利技术属性】
技术研发人员:M·邓肯
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1