Invented by Justin M. Kilpatrick, Gregory N. Hoelzer, Red Hat Inc
Subscription management is an essential part of any business that offers subscription-based services. It involves managing customer subscriptions, billing, and payments, as well as providing customer support and analytics. However, traditional subscription management systems can be complex, time-consuming, and prone to errors. This is where blockchain technology comes in.
Blockchain technology is a decentralized ledger that records transactions in a secure and transparent manner. It allows businesses to manage their subscription services in a more efficient and secure way. Blockchain-based subscription management systems offer several benefits, including:
1. Increased security: Blockchain technology is highly secure, and transactions are encrypted and stored in a decentralized manner. This makes it difficult for hackers to tamper with the data.
2. Transparency: Blockchain technology provides a transparent and auditable record of all transactions. This makes it easier for businesses to track customer subscriptions, payments, and other important data.
3. Efficiency: Blockchain-based subscription management systems can automate many of the processes involved in subscription management, such as billing and payments. This can save businesses time and money.
4. Improved customer experience: Blockchain-based subscription management systems can provide customers with a more seamless and transparent experience. Customers can easily track their subscriptions, payments, and other important data.
The market for providing blockchain-based subscription-as-a-service management is growing rapidly as more businesses recognize the benefits of using blockchain technology to manage their subscription services. According to a report by MarketsandMarkets, the global blockchain-as-a-service market is expected to grow from $623.0 million in 2018 to $15,455.0 million by 2023, at a Compound Annual Growth Rate (CAGR) of 90.1% during the forecast period.
Several companies are already offering blockchain-based subscription management services. For example, Zuora, a leading provider of subscription management software, has recently launched a blockchain-based platform called Zuora Central Blockchain. The platform allows businesses to manage their subscription services in a more secure and efficient way.
Another company, Blockdaemon, offers a blockchain-based subscription management platform that allows businesses to manage their blockchain nodes and networks in a more efficient way. The platform provides customers with a seamless and transparent experience, and allows them to easily manage their subscriptions and payments.
In conclusion, the market for providing blockchain-based subscription-as-a-service management is growing rapidly as more businesses recognize the benefits of using blockchain technology to manage their subscription services. Blockchain-based subscription management systems offer increased security, transparency, efficiency, and improved customer experience. As the demand for these services continues to grow, we can expect to see more companies entering the market and offering innovative solutions to meet the needs of businesses.
The Red Hat Inc invention works as follows
Providing blockchain-based subscription-as-a-service management is disclosed. In one example, a node within a customer network begins execution of a subscription-as-a-service software instance. An activation agent of the node broadcasts an activation transaction, requesting activation of the subscription-as-a-service software instance, to other nodes of the customer network. A block-issuing node within the customer network, upon receiving the activation transaction, determines whether to activate the subscription-as-a-service software instance. A block-issuing agent from the block-issuing network generates the blockchain block that contains the activation transaction. The blockchain block is then broadcast back to the customer network, where it is eventually received by the node executing the subscription-as-a-service software instance. Based on the blockchain block, the node enables continued execution of the subscription-as-a-service software instance. The blockchain can be used at the end of the billing period to generate an invoice for a subscriber.
Background for Providing blockchain-based subscription-as-a-service management
Subscription-as-a-service is a software licensing and delivery model in which software is licensed on a subscription basis for a specified time interval (e.g., a billing period). Unlike conventional software-as-a-service (SaaS) models in which the software is centrally hosted, the subscription-as-a-service model employs the subscription customer’s hardware to provide decentralized hosting and licensing management.
The examples include providing blockchain-based subscription-as-a-service management. A blockchain-based subscription-as-a-service management model according to examples disclosed herein may be useful for leveraging the ordered and distributed characteristics of a blockchain to manage and track usage of subscription-as-a-service software instances without the need for implementing an extensive support infrastructure. As a node (e.g., a physical or virtual server) of a subscribing customer’s network begins execution of a subscription-as-a-service software instance, an activation agent of the node broadcasts an activation transaction, requesting activation of the subscription-as-a-service software instance, to other nodes of the customer network. A block-issuing node, upon receiving the activation transaction, determines whether to activate the subscription-as-a-service software instance. A block-issuing agent generates the blockchain block that contains the activation transaction. The blockchain block is then broadcast back to the customer network, where it is eventually received by the node executing the subscription-as-a-service software instance. Based on the blockchain block, the node enables continued execution of the subscription-as-a-service software instance. The blockchain can be used at the end of the billing period to generate an invoice for the subscriber.
In another example, a method for providing blockchain-based subscription-as-a-service on customer networks is provided. The method includes executing, by a node of a plurality of nodes within a customer network, a subscription-as-a-service software instance. The method further includes broadcasting, by an activation agent of the node executing the subscription-as-a-service software instance, an activation transaction for requesting activation of the subscription-as-a-service software instance to one or more nodes of the plurality of nodes. The method also includes receiving, by the activation agent of the node executing the subscription-as-a-service software instance, a blockchain block comprising the activation transaction as part of a blockchain. The method additionally includes determining, by the activation agent of the node executing the subscription-as-a-service software instance, whether the subscription-as-a-service software instance was successfully activated, based on the blockchain block. The method further includes, responsive to determining that the subscription-as-a-service software instance was successfully activated, enabling continued execution of the subscription-as-a-service software instance.
Another example is a computing device. The computing device comprises a memory and a processor device that is communicatively connected to the memory as well as a plurality nodes in a customer network. The processor device is to execute a subscription-as-a-service software instance. The processor device further is to broadcast, using an activation agent, an activation transaction for requesting activation of the subscription-as-a-service software instance to one or more nodes of the plurality of nodes. The activation agent is used to receive a block of blockchain data containing the activation transaction. The processor device additionally is to determine, using the activation agent, whether the subscription-as-a-service software instance was successfully activated, based on the blockchain block. The processor device further is to, responsive to determining that the subscription-as-a-service software instance was successfully activated, enable continued execution of the subscription-as-a-service software instance.
Another example is a computing device. The computing device comprises a memory and a processor device that is communicatively connected to the memory as well as a plurality nodes in a customer network. The processor device is to receive, using a block-issuing agent, an activation transaction for requesting activation of a subscription-as-a-service software instance. The processor device will also generate, with the block-issuing agents, a block of blockchain containing the activation transaction. The processor device is also to broadcast the blockchain block using the block-issuing agents to one or multiple nodes from the plurality nodes.
The following detailed description and accompanying drawings will help individuals understand the scope of disclosure. They will also be able to appreciate additional aspects of it.
The examples below provide information that will enable people to use the examples in the best way possible. The following description, when read in conjunction with the accompanying drawings, will help individuals understand the concepts and applications of the disclosure. These concepts and their applications are within the scope and claims of the disclosure.
The flowcharts presented here are always discussed in a certain order for the sake of illustration. However, unless explicitly stated, they are not restricted to a particular sequence. Ordinals are used here to distinguish between labels that might otherwise be identical or similar, like ‘first message.’ The use of ordinals in conjunction with an element is solely to distinguish what might otherwise be similar or identical labels, such as?first message? It does not indicate a priority, type, importance or any other attribute unless stated otherwise. The term “about” is used here. When a numerical value is used in this document, it means that any value within the range of 10 percent above or below the numeric number is considered to be within the term?about? The articles?a and?an? are used in this document as well as the claims. The articles?a? “When referring to an element, the terms?an??? or?sprachsprachsprach? “Unless otherwise specified, an element is referred to as?one or more?
Subscription-as-a-service is a software licensing and provisioning model in which customers pay a recurring subscription fee for access to a software product for deployment on local physical or virtual servers or cloud-based servers for a specified time interval (e.g., a billing period). The subscription-as-a-service model enables subscribing customers to securely and efficiently deploy and operate any available version of software, and to access support resources during a subscription period. However, conventional subscription-as-a-service provision may require an extensive and expensive infrastructure for managing access to and tracking usage of subscription-as-a-service software, and to provide complete and accurate data for billing. For instance, some subscription-as-a-service platforms may employ a web-based authentication application programming interface (API), which may require a large number of subscription servers to provide timely responses to subscription activation requests.
The examples described herein include providing blockchain-based subscription-as-a-service management. A blockchain-based subscription-as-a-service management model according to examples disclosed herein may be useful for leveraging the ordered and distributed characteristics of a blockchain to manage and track usage of subscription-as-a-service software instances without the need for implementing an extensive support infrastructure. A?blockchain’ is used in this document. As used herein, a?blockchain? Once recorded, the data is resistant to retroactive modifications. Once recorded, data within a block of a blockchain cannot be changed retroactively in some cases. In some cases, each block of a blockchain within the blockchain may contain one or more transactions along with the hash from the previous block.
In this regard, FIG. The block diagram 1 shows a system 10, in which the examples can be implemented. The system 10 comprises a subscriber’s network 12 (not shown). According to some examples, the customer network 12 may be a network that is only accessible to subscribers or a network that is publicly accessible. The customer network 12 includes nodes 18(0)-18X, and is connected to nodes 14 and 16. It also contains a block-issuing Node 16. In the following, a “node” is used. A?node’ can be a physical computer device or a server virtual that is connected to other nodes in the customer network 12. Although only one block-issuing network 16 is shown in FIG. The customer network 12 can include multiple block issuing nodes 16 that each correspond in functionality to the node 16 described below.
The node 14 is configured to execute a subscription-as-a-service software instance 19 provided by a subscription-as-a-service provider (not shown). The node 14 also provides an activation agent 20 that interacts with block-issuing nodes, such as the block-issuing node 16, to activate the subscription-as-a-service software instance 19 for execution. When the subscription-as-a-service software instance 19 is first executed by the node 14, the activation agent 20 generates an activation transaction 22. The activation transaction 22 may include any data necessary to identify and track execution of the subscription-as-a-service software instance 19, and represents a request for activation of the subscription-as-a-service software instance 19 according to the terms of the applicable subscription. The activation 22 is broadcasted to the customer network 12 where it can be received by any of the nodes (18(0)-18(X) or the block-issuing Node 16″. The activation transactions 22 are broadcast to the customer network 12, where they may be received by one or more of the nodes 18(0)-18(X) and/or the block-issuing Node 16.
The block-issuing 16 receives the activation transaction 22.” The block-issuing agents 24 of the node 16 generate a block of blockchain 26 that forms part of a chain 28 maintained by the node 16 and any other nodes in the customer network 12. The block-issuing node 16 may use any known mechanism to generate the blockchain block 26 and to request and receive pending blockchain blocks within the customer’s network 12. The blockchain block 26 combines the activation transaction with other transactions.
In some examples, the block-issuing agent 24 may also insert a billing transaction (not shown) including billing data into the blockchain block 26 to ensure that billing for usage of the subscription-as-a-service software instance 19 is transparent to the subscribing customer. For instance, the billing transaction according to some examples may be created and signed by the subscription-as-a-service provider, and either inserted into a blockchain block 26 issued by the subscription-as-a-service provider or broadcast into the customer network 12 and packaged into a blockchain block 26 by the block-issuing agent 24. Some examples of the block-issuing agent 24 may also provide additional security by signing the blockchain block 26 using an issuing certificate 30 that is provided by the subscription-as-a-service software provider. For instance, the issuing certificate 30 may comprise a customer-generated signing key that is subsequently signed by the subscription-as-a-service software provider and used to approve the blockchain block 26 generated by the block-issuing agent 24.
The block-issuing agent 24, after generating the blockchain block 26, broadcasts it to the customer network 12 where one or more nodes 18(0)-18 (X) as well as the node 14 may receive the blockchain 26. The blockchain block 26 can be rebroadcast in the customer network 12 and is finally received by the node. Upon receipt of the blockchain block 26, the node 14 determines that the subscription-as-a-service software instance 19 was successfully activated, and thus enables continued execution of the subscription-as-a-service software instance 19.
In some examples, the activation agent 20 of the node 14 may specify a subscription timeout interval 32, which indicates a period of time during which the blockchain block 26 must be received by the node 14 in order to successfully activate the subscription-as-a-service software instance 19. In such examples, node 14 can periodically check whether the subscription-timeout interval 32 is over before the blockchain block 26 has been received. If the subscription timeout interval 32 expires before the blockchain block 26 is received, the node 14 terminates execution of the subscription-as-a-service software instance 19. Some examples may also provide a subscription duration interval 34 specifying a period of time during which the subscription-as-a-service software instance 19 may be executed according to the terms of the subscription. Accordingly, if the subscription-as-a-service software instance 19 is successfully activated, the node 14 may then continue executing the subscription-as-a-service software instance 19 until the subscription duration interval 34 has elapsed.
According to some examples, the block-issuing agent 24 of the block-issuing node 16 may apply one or more customer-specified rules 36 when determining whether to approve activation of the subscription-as-a-service software instance 19. The one or more customer specified rules 36 can include, but are not limited to, a rule pertaining to the number of active subscribers and/or a budget for subscriptions. The block-issuing agents 24 can ensure, in this way, that the usage of one or more customer specified rules 36 is consistent with the subscription terms and/or the budget of the subscriber. The block-issuing 24 agent may also perform maintenance to the blockchain 28. This includes deleting any blockchain blocks that are older than the current billing period (such as block 26). This will prevent the blockchain 28 from becoming too large to be used.
In certain examples, the network of customers 12 may include one or multiple block-receiving nades, like the block-receiving nade 18(0). The block-receiving node 18(0) may be provided by the subscription-as-a-service provider for the purpose of generating an invoice 38, based on the blockchain 28, at the end of a billing period. Some examples may provide that the block-receiving node 18(0) is located at a facility of the subscription-as-a-service provider rather than within the customer network 12.
FIG. 2 is a block diagram illustrating a node 40 for executing and requesting activation of a subscription-as-a-service software instance, such as the subscription-as-a-service software instance 19 of FIG. 1. The node 14 of FIG. The node 14 in FIG. 1. In FIG. In FIG. As an example, the memory 46 could be a random-access memory (RAM), such as dynamic RAM (DRAM). The memory 46 contains an activation agent (48), which is functionally equivalent to the activation agents 20 in FIG. 1. Upon execution of a subscription-as-a-service software instance 50, the activation agent 48 broadcasts an activation transaction 52 to one or more nodes 54 of a plurality of nodes 54(0)-54(X) of a customer network 56. The activation agent 48 subsequently receives a blockchain block 58 of a blockchain 60 indicating that activation of the subscription-as-a-service software instance 50 is approved.
To illustrate an apparatus for generating and broadcasting a blockchain block for activating a subscription-as-a-service software instance, FIG. The figure 3 is shown. In FIG. In FIG. The block-issuing node 62 is shown. The node that issues blocks 62 has a computing device (64), which includes a processor device (66) coupled with a memory (68). The memory 68 can be, for example, a RAM like a DRAM. In the memory 68, there is a block-issuing agents 70 that has the same functionality as the block-issuing agents 24 in FIG. 1. The block-issuing agents 70 receives a transaction of activation 72 from one node 74 in a group of nodes 74(0) to 74(X) within a network of customers 76. The block-issuing agents 70 generates a block of blockchain 78 to package the activation transactions 72. The blockchain block 80 of the blockchain is broadcast to one or multiple nodes 74 from the plurality of nodes (74(0)-74X).
FIG. 4 illustrates a method for providing blockchain-based subscription-as-a-service on customer networks according to one example. To make it clear, FIG. In describing FIG. 4. In FIG. 4, operations begin with the node 14 executing the subscription-as-a-service software instance 19 (block 82). The activation agent 20 of the node 14 executing the subscription-as-a-service software instance 19 broadcasts the activation transaction 22 for requesting activation of the subscription-as-a-service software instance 19 to one or more nodes 18 of the plurality of nodes 18(0)-18(X) (block 84). The activation agent 20 of the node 14 executing the subscription-as-a-service software instance 19 then receives the blockchain block 26 comprising the activation transaction 22 as part of a blockchain 28 (block 86). The activation agent 20 of the node 14 then determines whether the subscription-as-a-service software instance 19 was successfully activated, based on the blockchain block 26 (block 88). If so, the node 14 enables continued execution of the subscription-as-a-service software instance 19 (block 90).
Click here to view the patent on Google Patents.
Leave a Reply