Abstract:
Methods for managing entitlements of products and services using blockchain are described. One method includes the steps of storing by a blockchain fabric a ledger that stores transaction data, smart contracts that process transactions, creating an entitlement, receiving by the blockchain a create entitlement transaction request, adding, by the smart contract, an entitlement block to the ledger, issuing by the entitled product a usage transaction that reports usage of the entitled product, upon receiving the usage transaction, adding, by a smart contract, a usage block to the ledger, and determining, by the smart contract, that an entitlement limit has been reached. Another method describes a container mechanism that provides a way to identify all blocks associated with a base entitlement.
Abstract:
In one embodiment, a method for removing unused storage units is provided. One or more storage units are referenced by multiple client addresses. The method includes constructing, on a metadata server, a filter on at least a portion of block identifiers that identify storage units currently being referenced by client addresses. The metadata server stores information on which storage unit identifiers are referenced by which client addresses. The filter is transmitted from the metadata server to a block server. The filter is used by the block server to test whether storage unit identifiers that exist on the block server are present in the filter. The block server stores information on where a storage unit is stored on the block server for a storage unit identifier. Storage unit identifiers not present in the filter and associated storage units are deleted from the block server.
Abstract:
An access request including a client address for data is received. A metadata server determines a mapping between the client address and storage unit identifiers for the data. Each of the one or more storage unit identifiers uniquely identifies content of a storage unit and the metadata server stores mappings on storage unit identifiers that are referenced by client addresses. The one or more storage unit identifiers are sent to one or more block servers. The one or more block servers service the request using the one or more storage unit identifiers where the one or more block servers store information on where a storage unit is stored on a block server for a storage unit identifier. Also, multiple client addresses associated with a storage unit with a same storage unit identifier are mapped to a single storage unit stored in a storage medium for a block server.
Abstract:
A software tagging application is configured to measure software application usage within an enterprise deployment. The software tagging application using the concepts of tags, and extends the use of tags to convey monitored software usage. This usage data is written to the tag and secured with a signature calculated using public/private key cryptography. The signature ensures that the usage data collected is correct and has not been tampered with. Usage data refers to both the number of client versions of the software and specific software features installed, and any type of metric for monitoring real usage of the specific software features, for example the number of minutes used, and the start and stop times that the feature was executed. Monitoring usage in this manner provides a dynamic usage model that tracks current and historical software usage, from an enterprise-wide level down to a specific user and feature level.
Abstract:
A computer-implemented method for using tags to manage software across a product life cycle, including storing by a server computer (i) a tag prototype database and (ii) a tag instance database, the method including the steps of creating a tag for a client software component, storing the tag in the tag instance database, receiving, by a client computer, the tag and the client software component, from an electronic software distribution computer, receiving a request from the client computer to initiate a session of the client software component, obtaining the tag, by the server computer, from the client computer, verifying the tag obtained from the client computer, updating the tag to include information about the session, and replacing the tag in the client computer with the updated tag.
Abstract:
Various techniques for software license inventory and asset management are disclosed. A fingerprint may be generated and associated with various copies of software applications installed on a software licensee's computer systems. Upon generation, each fingerprint may be stored in a license information database system along with relevant license information for that copy of the software application. A software inventory tool may then be used to collect fingerprints on installed copies of software applications and provide these fingerprints to the license information database system to obtain the corresponding license information. The output of the software inventory tool may be used by a licensee to comply with software license agreements and/or efficiently allocate information technology resources. Methods and systems that provide and process secured, dynamic and persistent tagging of software deployments and usage are also disclosed.
Abstract:
An access request including a client address for data is received. A metadata server determines a mapping between the client address and storage unit identifiers for the data. Each of the one or more storage unit identifiers uniquely identifies content of a storage unit and the metadata server stores mappings on storage unit identifiers that are referenced by client addresses. The one or more storage unit identifiers are sent to one or more block servers. The one or more block servers service the request using the one or more storage unit identifiers where the one or more block servers store information on where a storage unit is stored on a block server for a storage unit identifier. Also, multiple client addresses associated with a storage unit with a same storage unit identifier are mapped to a single storage unit stored in a storage medium for a block server.
Abstract:
Methods for managing entitlements of products and services using blockchain are described. One method includes the steps of storing by a blockchain fabric a ledger that stores transaction data, smart contracts that process transactions, creating an entitlement, receiving by the blockchain a create entitlement transaction request, adding, by the smart contract, an entitlement block to the ledger, issuing by the entitled product a usage transaction that reports usage of the entitled product, upon receiving the usage transaction, adding, by a smart contract, a usage block to the ledger, and determining, by the smart contract, that an entitlement limit has been reached. Another method describes a container mechanism that provides a way to identify all blocks associated with a base entitlement.
Abstract:
In one embodiment, a method includes determining a previous client performance value in terms of a performance metric for a volume in a storage system. The previous client performance value is related to previous access for a client to the volume. Also, the storage system is storing data for a plurality of volumes where data for each of the plurality of volumes is striped substantially evenly across drives of the storage system. The method applies criteria to the previous performance value to determine a target performance value. Performance of the client with respect to access to the volume is regulated in terms of the performance metric based on the target performance value.
Abstract:
In one embodiment, a method includes determining a previous client performance value in terms of a performance metric for a volume in a storage system. The previous client performance value is related to previous access for a client to the volume. Also, the storage system is storing data for a plurality of volumes where data for each of the plurality of volumes is striped substantially evenly across drives of the storage system. The method applies criteria to the previous performance value to determine a target performance value. Performance of the client with respect to access to the volume is regulated in terms of the performance metric based on the target performance value.