×

Systems and methods for determining trust levels for computing components using blockchain

  • US 10,628,578 B2
  • Filed: 12/21/2017
  • Issued: 04/21/2020
  • Est. Priority Date: 03/15/2013
  • Status: Active Grant
First Claim
Patent Images

1. A computer implemented method for determining trust levels for components of a computing application, wherein the computer comprises a processor and a memory coupled to the processor and configured to store instructions executable by the processor to perform the method comprising:

  • storing components, blueprints and graphs in one or more linked repositories;

    creating and outputting, using a visual design subsystem, at least one computing application by realizing requirements of a blueprint of the blueprints in the one or more linked repositories, the requirements identifying at least one graph from the graphs stored in the linked one or more repositories and a plurality of components from the components stored in the linked one or more repositories, and by sending a request to the linked repositories to load the blueprint, the at least one graph, and the plurality of components on at least one host system, each component defining a computing processing mechanism for processing data containers of computing data at application runtime, the plurality of components including at least one reusable component with a computing processing mechanism for a plurality of different functions, purposes, and categories of uses, the blueprint instantiating the at least one graph at application runtime, the at least one computing application processing at least one input data stream to provide at least one output data stream;

    automatically calculating, using the processor, one or more available trust levels for the at least one reusable component identified in the graph, wherein each trust level defines a particular function, purpose, and category of use of the plurality of different functions, purposes, and categories of uses for the at least one reusable component and a trust value indicating suitability of the at least one reusable component for the particular function, purpose, and category of use;

    using the at least one graph to represent a workflow of the plurality of components, the workflow defining an arrangement of the plurality of components for transforming the input data stream using their computing processing mechanisms to generate the output data stream for the at least one computing application, each component and its respective computing processing mechanism implementing an intended function, purpose, and category of use within the workflow;

    detecting that the at least one reusable component within the workflow is for an intended function, purpose, and category of use that is an additional function, purpose, and category of use different than any of the plurality of different functions, purposes, and categories of uses defined by the one or more available trust levels for the at least one reusable component;

    receiving a digital certificate associated with a component provider subsystem, wherein the component provider subsystem provides the at least one reusable component;

    calculating the trust value of the one or more available trust levels based on trust of the component provider subsystem;

    calculating, using the processor, an additional trust level for the at least one reusable component based on the trust levels and the trust of the component provider subsystem, the additional trust level for the additional function, purpose, and category of use and an additional trust value indicating suitability of the at least one reusable component for the additional function, purpose, and category of use;

    providing an indication, using the visual design subsystem, of the additional trust level for the at least one reusable component for the additional function, purpose, and category of use and the additional trust value;

    receiving a request to update a blockchain with the at least one reusable component for the additional function, purpose, and category of use and the additional trust value;

    determining that the component is linked to the digital certificate;

    authenticating the digital certificate as being associated with the component provider subsystem;

    generating a digital signature for the at least one reusable component based on the digital certificate, the additional function, purpose, and category of use and the additional trust value;

    generating a new block comprising the digital signature and a pointer to the at least one reusable component as stored in the one or more linked repositories;

    updating the blockchain with the new block;

    at application runtime, dynamically constructing the computing application on the at least one host system by loading the components identified in the graph to the at least one host system;

    at application runtime, prior to deploying each component, determining that the component is linked to the digital certificate associated with the component provider subsystem;

    processing, using the processor, the input data stream using the workflow to generate the output data stream, the workflow including the at least one reusable component for the additional function, purpose, and category of use different than any of the categories of use defined by the one or more available trust levels for the at least one reusable component;

    determining, using the processor, whether the at least one reusable component executed successfully within the workflow and was suitable for the additional function, purpose, and category of use; and

    updating, using the processor, the additional trust level based on the determination of whether the at least one reusable component executed successfully within the workflow and was suitable for the additional function, purpose, and category of use.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×