METHOD, COMPUTER SYSTEM AND COMPUTER PROGRAM PRODUCT FOR BLOCKCHAIN-BASED RESERVATION AND DELEGATION OF SERVICES
Blockchain-enabled smart contracts facilitate temporary service or entity delegation, addressing inflexibility and cost issues in existing service models by enabling seamless switching between providers and entities.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- INTERNATIONAL BUSINESS MACHINE CORPORATION
- Filing Date
- 2021-10-05
- Publication Date
- 2026-06-25
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND The present invention relates generally to the field of data processing and in particular to reservation and delegation. A typical service model comprises users, units, and providers. Once a user has subscribed to a service, the user can use this service with a unit that the provider may have specified and provided. This may require binding the user, the unit, and the provider throughout the entire lifecycle of the service. Blockchain technology is a decentralized and distributed digital ledger that can efficiently, verifiably, and permanently record transactions between two or more parties. The ledger itself can also be programmed to automatically trigger transactions. A blockchain maintains a constantly growing list of records called blocks, which are protected against manipulation and alteration. Each block contains a timestamp and a reference to a previous block. By design, blockchain technology is inherently resistant to data modification—once recorded, the data in a block cannot be retroactively changed. A blockchain database is managed independently through the use of a peer-to-peer network and a distributed timestamp server.A decentralized consensus algorithm used in blockchain technology allows multiple entities to maintain a shared record of information without each entity needing to trust every other entity, as consensus is formed network-based. This networked model creates a system with the advantages of being resistant to censorship and manipulation, as well as a system without a single point of failure. A blockchain can use smart contracts to define transactions between different blockchain participants. Smart contracts are computer programs that both express the content of a contractual agreement and handle its execution, based on triggers provided by smart contract users or extracted from the blockchain environment. Smart contracts may have a user interface and often replicate contract clauses. They aim to provide security superior to traditional contract law and reduce other transaction costs associated with entering into contracts. In the context of blockchain technology, smart contracts can consist of scripts that are stored on a blockchain network. Because smart contracts reside on the blockchain, they have a unique address. Smart contracts can be triggered by messages or transactions sent to their addresses. Conditions for accessing and using smart contracts are limited in their ability to reduce the likelihood of unauthorized access to blockchain assets. Once triggered, smart contracts can automatically execute, control, or document legally relevant events and actions according to the terms of the contract or agreement. Publication EP 3 355 230 A1 concerns a method for the computer-aided creation and execution of a control function. The control function can be cryptographically protected, in particular for a specific technical system, e.g., an automation system, and especially by means of a blockchain. German patent application DE 11 2018 007 007 T5 concerns systems and methods for distributing network service orchestration using blockchain technology. A bid is submitted to orchestrate a network service to be provided using NFV via a blockchain for DSFC contracts. The device, the DSFC contract, and the initiator of a network service request are identified using a blockchain for self-sovereign identities. The device specifies that it should orchestrate the network service based on the blockchain for DSFC contracts and identifies at least one entity for providing the network service from a blockchain for DWH contracts, which contains DWH contract bids from entities for the network service. The entities and the DWH contract are identified using the blockchain for self-sovereign identities.The device ensures that the DWH contract is executed by at least one entity in accordance with the DWH contract and provides compensation upon fulfillment. Document WO 2019 / 215040A1 concerns a method for managing access to one or more resources, where the management is carried out using a blockchain. The method comprises: sending an initial identity contract from a service provider to a database, wherein the initial identity contract includes one or more identities of the service provider and a reference for the service provider's credentials; establishing a service relationship with a service user of the service provider;and sending a service contract based on the service relationship from the service provider to the database, wherein the service contract includes one or more pieces of identification information relating to the service provider and the service user, as well as access credentials for the service provider and the service user, wherein the database contains a second identity contract relating to the service user, and wherein the database has a disclosure contract relating to the one or more resources, and wherein the database is configured to authenticate and authorize the service contract at least partially on the basis of the first and second identity contracts and the access credentials. Publication US 2019 / 0191293A1 concerns a distributed ledger system. The distributed ledger system comprises a first mobile network operator and a second mobile network operator configured to provide cellular services to one or more end users of the first mobile network operator, enabling them to roam, and a plurality of nodes connected to one or more of the mobile network operators. Each of the multiple nodes is configured to access a digital record of cellular service exchanges between the first and second mobile network operators, enable roaming for one or more end users with the second mobile network operator upon detection of a first trigger condition, monitor cellular service usage, verify roaming based on the monitoring of cellular services, and terminate roaming for one or more end users upon detection of a second trigger condition.Document US 2019 / 0150036A1 concerns the use of distributed ledger architectures and cryptocurrencies to enable the creation and execution of service agreements between mobile network operators for the provision of mobile resources.A distributed ledger system comprises a multitude of nodes, each configured to receive a service transfer message from a corresponding first mobile network operator for an exchange of mobile services with a second mobile network operator; facilitate the negotiation of terms for an exchange between the first and second mobile network operators; create a record of the exchange terms to reach an agreement; record the agreement in the distributed ledger system; detect a trigger condition for executing the terms; execute the terms upon detection of a trigger condition; and automatically settle the exchange using a cryptocurrency. Document WO 2019 / 155268A1 concerns procedures and systems for managing cloud services using smart contracts to facilitate various functions, such as tenant sign-up, tenant registration, service registration, tenant usage billing, tenant usage tracking, tenant quota management, and tenant rights revocation. The proposed techniques allow customer and service accounts to be represented as smart contracts and enable the delegation of authorization for bundles of service attributes to tenants and other services, for which fees are then charged to the tenants and services. The business logic is implemented on an approved, distributed ledger (e.g., a private blockchain) and can therefore be easily adapted to specific classes of tenants and services. SUMMARY The invention relates to a computer-executed method according to claim 1 for blockchain-enabled reservation and delegation, a computer system according to claim 6 for blockchain-enabled reservation and delegation, and a computer program product according to claim 7 for blockchain-enabled reservation and delegation. Embodiments may include a method, a computer system, and a computer program product for blockchain-enabled reservation and delegation. The present invention may include receiving one or more first or second trigger conditions defined by a user, detecting the occurrence of one or more first trigger conditions, enforcing a smart contract based on the received one or more first trigger conditions, detecting the occurrence of one or more second trigger conditions, and deactivating the smart contract based on the received one or more second trigger conditions. The present invention may also include receiving a subject registration, wherein the subject is the user, a service, or an entity.The first or subsequent trigger conditions may be conditions that, when met, initiate the deployment of the smart contract. The second or subsequent trigger conditions may be conditions that, when met, initiate the deactivation of the smart contract. The smart contract may be a smart reservation contract or a smart deployment contract. Deployment of the smart contract may involve performing a delegation. This delegation may involve switching from one service provider to another, switching from one entity to another, and / or switching from a physical key to a virtual key.Disabling the smart contract can include removing a delegation and reverting to a setting that existed before the delegation. BRIEF DESCRIPTION OF THE DRAWINGS These and other tasks, features, and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments, which should be read in conjunction with the accompanying drawings. The various features of the drawings are not to scale, as the illustrations are intended to enable a person skilled in the art to understand the invention in conjunction with the detailed description. The drawings show: Fig. 1 illustrates a networked computing environment according to at least one embodiment; Fig. 2 is a block diagram of an exemplary overall architecture of a reservation and delegation system; Fig. 3 is a step-by-step flowchart illustrating a process for blockchain-enabled reservation and delegation; Fig. 4 is a block diagram showing the internal and external components of the computers and servers shown in Fig. 1; Fig. 5 is a functional block diagram showing a cloud computing environment comprising the computing system shown in Fig. 1; and Fig. 6 is a diagram representing abstraction model layers provided by the cloud computing environment from Fig. 5. DETAILED DESCRIPTION Embodiments of the present invention will now be described in detail with reference to the accompanying figures. The following description, with reference to the accompanying drawings, is provided to aid in obtaining a comprehensive understanding of exemplary embodiments of the invention according to the claims and their equivalents. It includes various specific details intended to contribute to this understanding, but these should be considered merely exemplary. Accordingly, the person skilled in the art will recognize that various modifications and alterations can be made to the embodiments described herein without deviating from the scope and meaning of the invention. Furthermore, descriptions of generally known functions and constructions may be omitted for the sake of clarity and conciseness. The terms and words used in the following description and claims are not limited to their bibliographical meanings, but are used merely to facilitate a clear and consistent understanding of the invention. Accordingly, it should be obvious to the person skilled in the art that the following description of exemplary embodiments of the present invention is provided for illustrative purposes only and not to limit the invention according to the attached claims and their equivalents. Embodiments of the present invention generally relate to the field of data processing and, in particular, to blockchain-enabled reservation and delegation. Blockchain-enabled reservation and delegation can relate to the reservation and delegation of a specific unit from one user to another. Blockchain-enabled reservation and delegation can also relate to the reservation and delegation of a service or unit. A typical service model can include one or more users, one or more units, and one or more providers. For example, a user has a smartphone that they use to make phone calls. The smartphone is the unit, and the provider is the company that provides the mobile phone service. If any of these three components are unavailable, the service model no longer works. Current reservation and delegation problems can include interrupted connections between users or user units, services or service units, and networks. For example, typical service models involve multiple users, multiple units, and multiple providers. A user operating a smartphone to make a call may experience an interruption due to a problem with the provider or the mobile phone service. For example, if the user is on a train and the train enters a tunnel, the user loses network connectivity and is no longer able to make a call. Similarly, a user operating a smartphone to make a call may experience an interruption if the user's smartphone battery runs out. As a result, the user is no longer able to make a call, and the service model ceases to function. A disruption to the service model can be problematic. This is because, once a user subscribes to a service or unit, they are bound to using the service or unit as defined and provided by the vendor. Often, the user, the unit, and the vendor are tied to each other throughout the entire service lifecycle, which brings with it many disadvantages. One disadvantage of binding the user, device, and provider throughout the service lifecycle can be the inability to switch to a different service provider for the same service. For example, a user traveling from one country to another might find it difficult to switch their wireless data service once they arrive in the other country. Consequently, the user may be unable to use the wireless data service while in a different country. Another disadvantage can be cost. Switching to a different device for service authentication can be expensive if the designated device is unavailable. For instance, a user might attempt to pay for a purchase using their device, such as a smartphone.The user's smartphone battery runs out, and consequently, the user cannot complete the transaction. Switching the network service from the user's dead smartphone to another, fully charged device in order to complete the transaction can be costly for the user. Another disadvantage of binding the user, the entity, and the provider throughout the service's lifecycle can arise whenever the service or entity is shared with other users. For example, a user might want to borrow a car from a friend. The friend might have the physical key to the car. However, due to the key's location, it would be impossible for the user to obtain it from their friend. Even if the friend were to grant the user permission to borrow the car, the user would be unable to do so because the physical key is unavailable. As described above, there are many disadvantages associated with the binding of the user, entity, and provider to one another for the duration of the service's lifecycle. Therefore, there is a need to enable the reservation and / or delegation of service providers and / or entities. Embodiments of the present invention provide for the use of smart blockchain contracts to temporarily reserve and delegate services, service providers, user entities, and users. Consequently, services do not need to be tightly bound to any specific entity or user. This allows the user greater flexibility and the ability to temporarily use other services and entities when their own services or entities are unavailable.For example, using blockchain-enabled service reservation and delegation can allow for automatic provider switching or dynamic registration and sharing of units. This can lead to greater user satisfaction, more flexibility in choosing different units, and increased use of services and / or units, as sharing with other users such as colleagues, friends, or family members becomes easier. Embodiments of the present invention can utilize a blockchain network operating with smart contracts, which are used to define various types of relationships between users, suppliers or service providers, and entities. These relationships can be used to define multiple different trigger conditions. For example, a first trigger condition can be used to activate or deploy a smart contract, and a second trigger condition can be used to deactivate the smart contract.Therefore, embodiments of the present invention are able to improve the technical field of blockchain by using smart contracts to perform temporary delegation, which enables switching from one service provider to another or switching the service from one entity to another without interruption for the user. The trigger conditions can activate or deactivate the smart contract based on their occurrence. With reference to Fig. 1, an exemplary networked computer environment 100 according to one embodiment is shown. The networked computer environment 100 can include a computer 102 with a processor 104 and a data storage unit 106, which is capable of executing a software program 108 and a reservation and delegation program 110a. The networked computer environment 100 can also include a server 112, which is capable of executing a reservation and delegation program 110b that can interact with a database 114 and a data transmission network 116. The server 112 can also be referred to as a server computer. The networked computer environment 100 can comprise multiple computers 102 and servers 112, of which only one is shown. The server 112 can also be a server computer. The data transmission network 116 can include various types of data transmission networks, such as a wide area network (WAN), a local area network (LAN), a telecommunications network, a wireless network, a public switching network, and / or a satellite network. It should be noted that Fig. 1 merely provides an illustration of one implementation and does not imply any limitations regarding the environments in which different embodiments can be implemented. Many modifications to the depicted environments can be made based on design and implementation requirements. Client computer 102 can exchange data with server computer 112 via the data transmission network 116. The data transmission network 116 can include connections such as wired connections, wireless data transmission connections, or fiber optic cables. As discussed with reference to Fig. 4, server computer 112 can include internal components 902a or external components 904a, and client computer 102 can include internal components 902b or external components 904b. Server computer 112 can also operate in a cloud computing service model, such as Software as a Service (SaaS), Analytics as a Service (AaaS), Platform as a Service (PaaS), Blockchain as a Service (BaaS), or Infrastructure as a Service (IaaS).The server 112 can also be located in a cloud computing deployment model, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud. The client computer 102 can be, for example, a mobile device, a telephone, an electronic assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of data processing unit capable of executing a program, accessing a network, and accessing a database 114. According to various implementations of the present embodiment, the reservation and delegation program 110a, 110b can interact with a database 114, which may be embedded in various storage units, such as, but not limited to, a computer 102, a networked server 112, or a cloud storage service. According to the present embodiment, a user operating a client computer 102 or a server computer 112 can use the reservation and delegation program 110a or 110b, respectively, to reserve or delegate a service or unit. The method for reserving or delegating a service, unit, or user is explained in more detail below with reference to Figures 2 to 3. Referring to Fig. 2, a block diagram illustrates an exemplary overall architecture 200 of a reservation and delegation system. Architecture 200 illustrates three different scenarios in which the reservation and delegation program 110a, 110b can reserve and delegate a service or unit. These different scenarios may include, among others, a service delegation scenario, a unit delegation scenario, and a user delegation scenario.The service delegation scenario can involve one or more users, a service provider (220a), a service provider (220b), and a smart contract (222). This scenario illustrates how service provider (220a) can redirect its users to service provider (220b) if it experiences service issues. The service of service provider (220a) can be reserved and delegated to service provider (220b). Service providers (220a and 220b) can refer to organizations that provide a specific service to the user, such as network, storage, or processing services. Examples of service providers (220a and 220b) include telephone companies, internet service providers, application service providers, storage service providers, and content providers.It should be noted that, although two service providers are illustrated, embodiments of the present invention may also consider one or more service providers. A particular service can be provided by multiple service providers 220a, 220b. For example, a network service can be provided by service providers 220a, 220b, and 220n (not illustrated). All of the service providers 220a, 220b, and the services they provide, can be traced on a blockchain 230. The smart contract 222 can be stored in the blockchain 230 within the reservation and delegation program 110a, 110b. The smart contract 222 can be either a smart reservation contract or a smart delegation contract. The smart reservation contract can specify at least two providers, for example, service provider one 220a and service provider two 220b. Service providers 220a and 220b can enter into a separate agreement allowing one service provider to temporarily provide a service if the other service provider is not offering one. For example, this agreement can be transformed into a smart reservation contract on the blockchain to bind the two service providers. For instance, service provider one 220a can redirect its users to temporarily use the service provided by service provider two 220b.This type of agreement can also be made between multiple users. In one embodiment, the smart reservation contract can be triggered automatically. In an alternative embodiment, the smart reservation contract can be triggered manually by a user. For example, once the smart reservation contract is concluded between two providers, such as service provider one 220a and service provider two 220b, the service provider can be automatically switched upon the occurrence of a trigger event. Some examples of trigger events for the smart reservation contract include an agreement between service providers, a request from one or more users to bind two units, or a request to bind two or more services, without limitation. To enable automatic switching of service providers, the smart reservation contract can include information about the automatic binding of two or more services.The automatic linking of two or more services can be achieved by synchronizing the contracts signed between them. These signed contracts can be stored on a blockchain. Alternatively, the user can manually trigger the linking of the two or more services. The smart delegation contract can provide or contain information about what type of service is being delegated and to whom. The smart delegation contract can be triggered automatically upon the occurrence of a trigger event. Some examples of a trigger event for the smart delegation contract include a low battery indication on a registered unit, limited service provided by the registered service provider, or the unavailability of a physical key for a personal vehicle. For example, User A uses a unit that is a smartphone. User A uses service provider eins 220a to provide mobile phone service. User A's smartphone displays either very weak or no service. A display of weak or no service can be an example of a trigger event.As a result, the service can be switched from service provider one 220a to service provider two 220b under the smart delegation contract. For example, the service delegation can occur as soon as the user unit indicates a weak service being provided by service provider one 220a. The weak service indicates that the unit will switch to receive service from another service provider, two 220b, thus ensuring that user A experiences no service interruption. Another scenario, illustrated in Architecture 200, is the Delegation of Units scenario. The Delegation of Units scenario can include one or more units 224a, 224b, 224c, and the smart contract 222. The Delegation of Units scenario provides an example of how a particular service can be delegated from one unit to another. Units 224a to c can include, but are not limited to, a mobile unit, a telephone, an electronic assistant, a netbook, a laptop computer, a tablet computer, or a desktop computer. Units 224a to c can also include various types of credit cards. For example, units 224a to c could be a smartphone, a smartwatch, a credit card, or any other unit that can be delegated for use. The smart contract 222 used in the unit delegation scenario can include a smart reservation contract or a smart delegation contract. In one embodiment, the smart reservation contract can provide information about which user-owned units may be used for delegation purposes. For example, the user can register their smartphone, tablet, or one or more credit cards on the blockchain 230 and link these units to the smart reservation contract. Furthermore, the user can specify that if their smartphone is unavailable, the service will be temporarily transferred from their smartphone to their tablet.In an alternative embodiment, the intelligent reservation contract can also provide information about which units belonging to other users may be used for delegation purposes in addition to the selected units 224a to c belonging to the user. The smart reservation contract may not be triggered automatically upon the occurrence of a trigger event. Instead, the smart reservation contract can be triggered by the user. This allows the user to control which entities are trusted to receive the transferred service. The smart delegation contract in the unit delegation scenario can define trigger events that determine when a service should be switched from one unit to another. Additionally, the smart delegation contract can include various authentication methods defined for different units. For example, the user can specify in the smart delegation contract that the service should be switched to unit two 224b, such as a tablet, when the battery of unit one 224a, such as a smartphone, is depleted. Furthermore, in order for the service to be switched from unit one 224a to unit two 224b, the user can enter a PIN into unit two 224b to authenticate unit two 224b for receiving the service from the service provider. In one embodiment, the smart delegation contract can be triggered by the user. For example, the user is using their smartphone for work. The smartphone battery is almost depleted. Therefore, the user can trigger the smart delegation contract before the smartphone battery runs out by pairing the smartphone with a tablet. After pairing, the two devices can access the same service using either the same or different authentication methods. Once the smartphone becomes unavailable, the service can be delegated to the tablet, allowing an internet service to be delegated from the smartphone to the tablet. As a result, the user can continue to access the service on the tablet instead of the smartphone. In another example, the user uses their smartphone for work. The smartphone's battery runs out before the user triggers the smart delegation contract to delegate the internet service from the smartphone to another device, such as a tablet. However, under the smart reservation contract, the user has designated their tablet as one of the devices permitted to receive services. Therefore, the user can use the tablet to trigger the delegation contract to receive the internet service that was originally intended for the smartphone. As a result, the internet service can be delegated from one device, the smartphone, to another, the tablet. In an alternative embodiment, the smart delegation contract can be triggered automatically. For example, the service provider can detect the battery level of the unit the user is using. Once the unit's battery level reaches a certain threshold, the service provider can trigger the smart contract and delegate the service to another unit. The delegation of a service from one unit to another can be temporary. Continuing the previous example, the smart delegation contract can stipulate that the service may be switched to unit two 224b for a specific duration, such as 60 minutes. Once the 60 minutes have elapsed, the service can automatically revert from unit two 224b to unit one 224a. The specified duration can refer to a limited period of time defined in the smart contract 222. It can be measured in minutes, hours, or even days. The third scenario, illustrated in Architecture 200, is the user delegation scenario. The user delegation scenario can include the smart contract 222 and one or more users, such as user one 228a and user two 228b. The user delegation scenario provides an example of how an entity or service can be delegated from one user, such as user one 228a, to another user, such as user two 228b. The smart contract 222 in the user delegation scenario comprises the smart reservation contract and the smart delegation contract. In this scenario, the smart reservation contract can include information such as who the users are and the relationship between each user. For example, users 228a and 228b might be friends, colleagues, or family members. Users 228a and 228b may have trusting relationships with each other. These trusting relationships can be clearly defined in the smart reservation contract. The smart reservation agreement is initiated by the user. Therefore, the user can specify other users who are authorized to participate in the delegation. The user can specify multiple users. Additionally, each user relationship is equal. Therefore, each user must agree to the smart reservation agreement for it to be implemented. For example, there are two users, User One 228a and User Two 228b. User One 228a wants to enter into a smart reservation agreement with User Two 228b. The smart reservation agreement stipulates that User One 228a may transfer the use of their personal vehicle to User Two 228b. User Two 228b agrees to the smart reservation agreement, and the smart reservation agreement is implemented.However, if user two does not agree to the smart reservation contract (Section 228b), then no smart reservation contract exists. The smart reservation contract is not implemented because one of the contracting parties has not agreed to the contract. The intelligent delegation contract for user delegation scenarios can include information such as the services each user can have access to, receive, and delegate, or the entities each user can have access to, receive, or delegate. Each user can specify multiple services and multiple entities that are eligible to participate in delegation. Therefore, each user can determine what is delegated and to whom. Additionally, each user can define the trigger events. A trigger event is an occurrence that, when it happens, can initiate the delegation.Some examples of a triggering event may include, but are not limited to, an indication of a low battery in a registered unit, a limited service provided by the registered service provider, or the unavailability of a physical key for a personal vehicle. The implementation of smart reservation and delegation contracts can be understood through the following scenario. For example, user two 228b needs a vehicle to travel from one city to another. User two 228b is authorized under both the smart reservation contract and the smart delegation contract to use user one 228a's personal vehicle. However, user one 228a is on a business trip and is unable to provide user two 228b with the physical key to their personal vehicle. Nevertheless, using the smart delegation contract, user two 228b can receive a virtual identification or token that allows them to access and drive the personal vehicle. In this scenario, the physical key is not required.Rather, the smart delegation contract includes information about the unit, the personal vehicle, and for whom the unit is intended—namely, User Two 228b. Instead of receiving the physical key, User Two 228b can receive the token or virtual identification on the user's personal unit, such as a smartphone, thereby enabling User Two 228b to use User One 228a's personal vehicle. Consequently, the use of the personal vehicle is delegated from User One 228a to User Two 228b. Furthermore, the physical key is not required when the token is delegated. The delegation of a specific service or entity can be temporary. Continuing the previous example, the smart delegation contract can stipulate that User Two 228b is permitted to use the personal vehicle for a specific duration, such as 24 hours. Once the 24 hours have elapsed, the delegated token expires, and User Two 228b loses the authorization to use the personal vehicle. All three scenarios can also include a service 226a to c for the user units. The service 226a to c for the user units can refer to a database in which information about the users 228, the units 224, and the service providers 220 can be stored, which may be involved in one or more smart contracts. With reference to Fig. 3, a workflow diagram 300 according to at least one embodiment is shown. The workflow diagram 300 illustrates the reservation and delegation of users, units, or services by the reservation and delegation program 110a, 110b. In step 302, the subject registration is received. The subject can be a service, an entity, or a user. For example, the service can refer to any type of service provided to the user by the service providers 220a and 220b described herein with reference to Figure 2. The entity can refer to any unit that can be delegated for use. Some non-restrictive examples of the unit include a mobile device, a telephone, an electronic assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, various types of credit cards, or vehicles. The user can be a person whose unit is delegated to another user.The user can also be the person who delegates a service from one service provider to another or from one entity to another. The reservation and delegation program 110a, 110b can receive information about various service providers 220a, 220b and various units 224a-c. During the registration process, the user can register various service providers 220a, 220b that they may use. For example, the user can specify one or more network operators or one or more mobile service providers. Additionally, the user can also register the units 224a to c that they may use for the services provided by the service providers 220a, 220b. It should be noted that the user can update a specific unit at any time after the registration process. For example, during unit registration, the user identifies Unit A and Unit B as the two units that may be used for a particular service.The user can specify that unit A is a smartphone and unit B is a tablet. During the registration process, the reservation and delegation program 110a, 110b can also receive information about the smart contract 222. For example, in one embodiment, the smart contract 222 can be established during the subject registration process. For instance, the smart contract 222 can be established between two service providers during the service provider registration. In an alternative embodiment, the smart contract 222 can be established after the subject registration process, such as upon the occurrence of a trigger condition or during the use of the smart contract 222. During the registration process, the 110a, 110b Reservation and Delegation Program may also receive identifying information about the user. This identifying information includes, but is not limited to, the user's personal information, such as name, postal address, email address, or telephone number. The 110a, 110b Reservation and Delegation Program may receive any other information that can identify the user, the units, or the services and their respective service providers. Furthermore, the 110a, 110b Reservation and Delegation Program may also receive identifying information about other users who are authorized to participate in the reservation and delegation of services or units. In step 304, one or more user-defined trigger conditions are received. These trigger conditions can be one or more primary or secondary trigger conditions. The primary trigger condition is a condition that, when met, can initiate the use of a smart contract. Some examples of primary trigger conditions include a low battery indicator for a registered unit, a service restriction provided by the registered service provider, the unavailability of a physical key for a personal vehicle, or a specific period of time, without limitation. For example, the specified period could refer to a particular time span, such as 30 minutes, 1 hour, 24 hours, or even days. The second trigger condition is a condition that, when met, can initiate the deactivation of the smart contract. Examples of second trigger conditions include, but are not limited to, the indication of a fully charged battery on a registered unit, the availability of unrestricted services provided by the registered service provider, access to the physical key of the personal vehicle, or the expiration of the specified period. For example, after the specified period has expired, the second trigger condition is met, and the deactivation of the smart contract can be initiated. In step 306, the occurrence of one or more first trigger conditions is detected. In one embodiment, the reservation and delegation program 110a, 110b can automatically detect that one or more first trigger conditions have occurred. For example, the reservation and delegation program 110a, 110b can detect that service provider A is providing a restricted service in the area where the user is currently located as soon as the restricted service occurs. In an alternative embodiment, the user can manually trigger the occurrence of the first trigger condition by instructing the reservation and delegation program 110a, 110b to proceed to step 308 and deploy a smart contract. For example, the user may use unit A for professional purposes. The user may notice that the battery of unit A is almost depleted.The user can use an application programming interface to inform the reservation and delegation program 110a, 110b that a first trigger condition has occurred. In step 308, a smart contract 222 is used. The reservation and delegation program 110a, 110b can automatically use the smart contract 222 as soon as one or more trigger conditions are detected. The smart contract 222 can be either a smart reservation contract or a smart delegation contract 222. For example, the user uses services provided by service provider A. The user is located at a location where the same service can be provided by both service provider A and service provider B. The reservation and delegation program 110a, 110b detects that the service provided by service provider A is restricted. The reservation and delegation program 110a, 110b can also detect that service provider B has no service interruption at this particular location.Therefore, the reservation and delegation program 110a, 110b can automatically use the smart contract to switch the service from service provider A to service provider B. As a result, the user's service is not interrupted. As described herein in relation to step 306, the user can manually trigger the occurrence of the first trigger condition, thereby instructing the reservation and delegation program 110a, 110b to deploy the smart contract. Continuing the preceding example, the user may use Unit A for work purposes. The user may find that Unit A's battery is nearly depleted. Using Unit A, the user can instruct the reservation and delegation program 110a, 110b to deploy the smart contract and delegate the service from Unit A to another unit, such as Unit B. The user can also instruct the reservation and delegation program 110a, 110b to deploy the smart contract from Unit B, for example, if Unit A's battery is completely depleted. In step 310, the occurrence of one or more secondary trigger conditions is detected. Once the smart contract is activated, the reservation and delegation program 110a, 110b can temporarily perform the delegation until it detects the occurrence of the secondary trigger condition. As described herein with respect to step 304, the secondary trigger condition can be a condition that, when met, can initiate the deactivation of the smart contract. For example, the user is using a service provided by service provider A. However, due to the limited service provided by service provider A, the reservation and delegation program 110a, 110b uses the smart contract to switch the service from service provider A to service provider B.As a result, the user receives the service from service provider B for a limited time. The reservation and delegation program 110a, 110b determines that the service provided by service provider A has been restored. Once the occurrence of the second trigger condition is detected, the reservation and delegation program 110a, 110b proceeds to step 312, in which the smart contract is deactivated. During the deactivation of the smart contract, the reservation and delegation program 110a, 110b can terminate the delegation by removing the delegation. As a result, any entity or service that was delegated or switched reverts to its pre-delegation settings. Continuing the preceding example, the reservation and delegation program 110a, 110b detects that the service provided by service provider A has been fully restored. Consequently, the reservation and delegation program 110a, 110b deactivates the smart contract that enabled the switching of service providers from service provider A to service provider B and switches back to service provider A.Therefore, service provider A continues to provide the service to the user once the smart contract is deactivated. In another example, the user may use Unit A for work purposes. The user notices that Unit A's battery is nearly depleted. The user informs the Reservation and Delegation Program 110a, 110b that the first trigger condition has been met. The Reservation and Delegation Program 110a, 110b activates the smart contract and delegates the service from Unit A to Unit B. The Reservation and Delegation Program 110a, 110b carries out the delegation until it detects the second trigger condition. In this case, the second trigger condition could be the detection of Unit A's battery being fully charged. Once the second trigger condition is detected, the Reservation and Delegation Program 110a, 110b stops delegating the service to Unit B. As a result, the service reverts to Unit A. It should be noted that Figures 2 to 3 merely illustrate one embodiment and do not imply any limitations regarding how different embodiments can be implemented. Many modifications to the depicted embodiment(s) are possible based on design and implementation requirements. Fig. 4 is a block diagram 900 of internal and external components of the computer shown in Fig. 1 according to an illustrative embodiment. It should be noted that Fig. 4 merely provides an illustration of one implementation and does not imply any limitations regarding the environments in which different embodiments can be implemented. Many modifications to the depicted environments can be made based on design and implementation requirements. The computers shown in Fig. 1 can represent any electronic device capable of executing machine-readable program instructions. These computers can represent a smartphone, a computer system, a PDA, or other electronic devices. Examples of data processing systems, environments, and / or configurations include personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputer systems, and distributed cloud computing environments that incorporate any of the above systems or devices, but are not limited to them. The user-client computer 102 and the network server 112 can each comprise sets of internal components 902a, b and external components 904a, b, as illustrated in Fig. 4. Each set of internal components 902a, b comprises one or more processors 906, one or more computer-readable RAMs 908 and one or more computer-readable ROMs 910 on one or more buses 912, as well as one or more operating systems 914 and one or more computer-readable physical memory units 916.The one or more operating systems 914, the software program 108, and the reservation and delegation program 110a in the client computer 102, and the reservation and delegation program 110b in the network server 112, can be stored on one or more computer-readable physical storage units 916 for execution by one or more processors 906 via one or more RAMs 908 (which typically include a cache memory). In the embodiment illustrated in Fig. 4, each of the computer-readable physical storage units 916 is a magnetic disk storage unit of an internal hard disk drive.Alternatively, each of the computer-readable physical storage units 916 is a semiconductor storage unit such as the ROM 910, an EPROM, a flash memory or any other computer-readable physical storage unit capable of storing a computer program and digital information. Each set of internal components 902a, b also includes an R / W drive or an interface 918 for reading from and writing to one or more portable, computer-readable physical storage units 920, such as CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk, or semiconductor storage unit. A software program, such as the software program 108 and the reservation and delegation program 110a, 110b, can be stored on one or more of the respective portable, computer-readable physical storage units 920, read via the respective R / W drive or interface 918, and loaded into the respective hard disk drive. Each set of internal components 902a, b can also include network adapters (or switch port cards) or interfaces 922, such as TCP / IP adapter cards, wireless Wi-Fi interface cards, or wireless 3G or 4G interface cards, or other wired or wireless data transmission links. The software program 108 and the reservation and delegation program 110a in the client computer 102 and the reservation and delegation program 110b in the network server computer 112 can be downloaded from an external computer (e.g., a server) over a network (e.g., the Internet, a local area network, or another wide area network) and appropriate network adapters or interfaces 922.The software program 108 and the reservation and delegation program 110a are loaded onto the respective hard disk drive from the network adapters (or switch port adapters) or interfaces 922 on the client computer 102 and the reservation and delegation program 110b on the network server computer 112. The network may include copper cables, fiber optic cables, wireless transmission, routing computers, firewalls, switching units, gateway computers, and / or edge servers. Each of the sets of external components 904a, b can include a computer display screen 924, a keyboard 926, and a computer mouse 928. The external components 904a, b can also include touch-sensitive screens, virtual keyboards, touchpads, pointing devices, and other human-machine interface units. Each of the sets of internal components 902a, b also includes unit drivers 930 for connection to the computer display screen 924, the keyboard 926, and the computer mouse 928. The unit drivers 930, the R / W drive or interface 918, and the network adapter or interface 922 comprise hardware and software (stored in the memory unit 916 and / or in the ROM 910). It should be clarified from the outset that the implementation of the teachings presented herein is not limited to a cloud computing environment, although this disclosure includes a detailed description of cloud computing. Instead, embodiments of the present invention can be implemented together with any type of data processing environment, now known or subsequently invented. Cloud computing is a service delivery model that enables seamless, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing power, main memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management overhead or interaction with a service provider. This cloud model can include at least five characteristics, at least three service models, and at least four implementation models. The properties are as follows: On-Demand Self-Service: A cloud user can unilaterally and automatically provide data processing functions such as server time and network storage as needed, without requiring human interaction with the service provider. Broad Network Access: Functions are available over a network, accessed through standard mechanisms that support use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs). Resource pooling: The provider's data processing resources are pooled to serve multiple users using a multi-tenant model, with various physical and virtual resources being dynamically allocated and reassigned as needed. There is a perceived location independence, as the user generally has no control over or knowledge of the exact location of the provided resources, but may be able to define a location at a higher level of abstraction (e.g., country, state, or data center). Rapid Elasticity: Features can be deployed quickly and elastically for rapid horizontal scaling (scale out), in some cases automatically, and released quickly for rapid scale-in. To the user, the available features often appear unlimited and can be purchased in any quantity at any time. Measured Service: Cloud systems automatically control and optimize resource usage by employing a measurement function at a certain level of abstraction appropriate for the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, thereby creating transparency for both the provider and the user of the service. The service models are as follows: Software as a Service (SaaS): The functionality provided to the user consists of using the provider's applications running in a cloud infrastructure. These applications are accessible from various client devices via a thin-client interface, such as a web browser (e.g., web-based email). The user does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functions, with the possible exception of limited user-specific application configuration settings. Platform as a Service (PaaS): The function provided to the user is to deploy applications created or obtained by the user, using programming languages and tools supported by the provider, within the cloud infrastructure. The user does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but has control over the deployed applications and potentially over configurations of the application hosting environment. Analytics as a Service (AaaS): The capability provided to the user is to utilize web-based or cloud-based networks (i.e., infrastructure) to access an analytics platform. Analytics platforms may include access to analytics software resources or access to relevant databases, corpora, servers, operating systems, or storage. The user does not manage or control the underlying web-based or cloud-based infrastructure, including databases, corpora, servers, operating systems, or storage, but has control over the applications used and potentially over configurations of the application hosting environment. Infrastructure as a Service (IaaS): The function provided to the user consists of supplying processing, storage, networking, and other basic data processing resources, enabling the user to deploy and run any software, including operating systems and applications. The user does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and potentially limited control over selected network components (e.g., host firewalls). The following are the deployment models: Private Cloud: The cloud infrastructure is operated solely for one organization. It can be managed by the organization or a third party and can be located on the organization's own premises or on external premises. Community Cloud: This cloud infrastructure is shared by multiple organizations and supports a specific user community with shared concerns (e.g., mission, security requirements, policies, and regulatory compliance considerations). It can be managed by the organizations themselves or a third party and can be located on-premises or externally. Public Cloud: The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization that sells cloud services. Hybrid Cloud: The cloud infrastructure is a composition of two or more clouds (private, community or public) that remain separate entities but are connected by a standardized or proprietary technology that enables data and application portability (e.g. cloud audience distribution for load balancing between clouds). A cloud computing environment is service-oriented, focusing on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing lies an infrastructure that comprises a network of interconnected nodes. With reference to Fig. 5, an illustrative cloud computing environment 1000 is depicted. As shown, the cloud computing environment 1000 comprises one or more cloud computing nodes 10 with which local data processing units used by cloud users, such as an electronic assistant (PDA, personal digital assistant) or a mobile phone 1000A, a desktop computer 1000B, a laptop computer 1000C, and / or an automotive computer system 1000N, can exchange data. The nodes 10 can exchange data with each other. They can be grouped physically or virtually into one or more networks, such as private, community, public, or hybrid clouds (not shown), as described above, or into a combination thereof.This enables the cloud computing environment 1000 to offer infrastructure, platforms, and / or software as a service, for which a cloud user does not need to maintain resources on a local data processing unit. It should be noted that the types of data processing units 1000A to N shown in Fig. 5 are for illustrative purposes only, and that the data processing nodes 10 and the cloud computing environment 1000 can exchange data with any type of computer unit via any type of network and / or any type of network-accessible connection (e.g., using a web browser). With reference to Fig. 6, a set of functional abstraction layers 1100 provided by the cloud computing environment 1000 (Fig. 5) is shown. It should be clear from the outset that the components, layers, and functions shown in Fig. 6 are for illustrative purposes only and that embodiments of the invention are not limited thereto. As shown, the following layers and corresponding functions are provided: A hardware and software layer 1102 comprises hardware and software components. Examples of hardware components include: mainframe computers 1104; servers based on the RISC (Reduced Instruction Set Computer) architecture 1106; servers 1108; blade servers 1110; storage units 1112; and networks and network components 1114. In some embodiments, software components include network application server software 1116 and database software 1118. A virtualization layer 1120 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 1122, virtual storage 1124, virtual networks 1126, including virtual private networks, virtual applications and operating systems 1128; and virtual clients 1130. In one example, an administration layer 1132 can provide the functions described below. A resource provisioning layer 1134 provides the dynamic procurement of data processing resources and other resources used to perform tasks within the cloud computing environment. A metering and pricing layer 1136 provides cost tracking when using resources within the cloud computing environment and billing for the consumption of these resources. In one example, these resources could include application software licenses. A security layer provides identity verification for cloud users and tasks, as well as protection for data and other resources. A user portal 1138 provides users and system administrators with access to the cloud computing environment.Service Level Agreement (SLA) management (1140) provides the allocation and management of cloud computing resources to ensure that required service objectives are met. Service Level Agreement (SLA) planning and fulfillment (1142) provides the advance planning and procurement of cloud computing resources for which a future requirement is anticipated, in accordance with an SLA. A workload layer 1144 provides examples of the functionality for which the cloud computing environment can be used. Examples of workloads and functions that can be provided by this layer include: mapping and navigation 1146; software development and lifecycle management 1148; delivery of training in virtual classrooms 1150; data analytics processing 1152; transaction processing 1154; and learning with deep models 1156. A chatbot creation program 110a, 110b provides a way to use provenance data to gain insights during a training phase of a deep learning model. The present invention may be a system, a method, and / or a computer program product at any possible level of technical integration. The computer program product may comprise a computer-readable storage medium (or media) containing computer-readable program instructions to induce a processor to execute aspects of the present invention. A computer-readable storage medium can be a physical unit capable of retaining and storing instructions for use by a unit to execute instructions. For example, a computer-readable storage medium can be an electronic storage unit, a magnetic storage unit, an optical storage unit, an electromagnetic storage unit, a semiconductor storage unit, or any suitable combination thereof, without limitation. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer disk, a hard disk, random-access memory (RAM), read-only memory (ROM), and erasable programmable read-only memory (EPROM).Flash memory), static random-access memory (SRAM), portable compact storage disk-read-only memory (CD-ROM), DVD (digital versatile disc), USB flash drive, floppy disk, a mechanically coded unit such as punched cards or raised structures in a groove on which instructions are stored, and any suitable combination thereof. A computer-readable storage medium shall not, in its use herein, be understood as volatile signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses traveling through an optical fiber cable), or electrical signals transmitted by a wire. The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to individual data processing units or, via a network such as the internet, a local area network, a wide area network, and / or a wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission lines, wireless transmission, routing computers, firewalls, switching units, gateway computers, and / or edge servers. A network adapter card or network interface in each data processing unit receives computer-readable program instructions from the network and forwards them for storage on a computer-readable storage medium within the respective data processing unit. Computer-readable program instructions for executing work steps of the present invention may be assembler instructions, ISA (Instruction Set Architecture) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuits, or either source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., as well as procedural programming languages such as the programming language "C" or similar programming languages.The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be established with an external computer (for example, via the internet using an internet service provider).In some embodiments, electronic circuits, including, for example, programmable logic circuits, field programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), can execute computer-readable program instructions by using state information from the computer-readable program instructions to personalize the electronic circuits to implement aspects of the present invention. Aspects of the present invention are described herein with reference to flowcharts and / or block diagrams or charts of methods, devices (systems), and computer program products according to embodiments of the invention. It is pointed out that each block of the flowcharts and / or block diagrams or charts, as well as combinations of blocks in the flowcharts and / or block diagrams or charts, can be executed by means of computer-readable program instructions. These computer-readable program instructions can be provided to a processor of a computer or other programmable data processing device to create a machine, such that the instructions executed via the processor of the computer or other programmable data processing device generate a means of implementing the functions / steps specified in the block(s) of the flowcharts and / or block diagrams or charts.These computer-readable program instructions may also be stored on a computer-readable storage medium capable of controlling a computer, programmable data processing device, and / or other units to function in a particular manner, such that the computer-readable storage medium on which instructions are stored comprises a manufactured product, including instructions that implement aspects of the function / step specified in the block(s) of the flowchart and / or block diagrams or charts. The computer-readable program instructions can also be loaded onto a computer, other programmable data processing device, or other unit to cause the execution of a series of process steps on the computer or other programmable device or other unit in order to generate a process executed on a computer, such that the instructions executed on the computer, other programmable device, or other unit implement the functions / steps specified in the block(s) of the flowcharts and / or block diagrams or charts. The flowcharts and block diagrams or charts in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, processes, and computer program products according to various embodiments of the present disclosure. In this context, each block in the flowcharts or block diagrams or charts can represent a module, segment, or part of instructions comprising one or more executable instructions for performing the specific logical function(s). In some alternative implementations, the functions specified in the block may occur in a different order than shown in the figures.For example, two blocks shown sequentially may in reality be executed in one step, simultaneously, essentially simultaneously, partially or completely overlapping in time, or the blocks may sometimes be executed in reverse order, depending on the functionality involved. It should also be noted that each block in the block diagrams or flowcharts, as well as combinations of blocks in the block diagrams or flowcharts, can be implemented by special hardware-based systems that perform the specified functions or steps, or by combinations of special hardware and computer instructions. The descriptions of the various embodiments of the present invention are provided for illustrative purposes only and are not intended to represent or be limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without deviating from the scope of the described embodiments. The terminology used herein has been chosen to explain, as clearly as possible, the basic concepts of the embodiments, their practical application, or technical improvements compared to technologies already available on the market, or to enable other experts to understand the embodiments presented herein.
Claims
A computer-executed procedure for blockchain-enabled reservation and delegation, the computer-executed procedure comprising: Receiving (304) a first and a second trigger condition defined by a user, wherein the first trigger condition is that a battery charge of a first unit reaches a predetermined value, and wherein the second trigger condition is that a full battery charge of the first unit is detected; Detecting (306) the occurrence of the first trigger condition by the user notifying the reservation and delegation program (110a, 110b); Inserting (308) a smart contract (222) to switch a wireless network provider from the first unit to a second unit, based on the detected first trigger condition;Detect (310) the occurrence of the second trigger condition by the user's notification to the reservation and delegation program (110a, 110b); and deactivate (312) the smart contract based on the detected second trigger condition, wherein the deployment of the smart contract involves performing a delegation and the delegation is a transfer from one unit to another. A method executed on a computer according to claim 1, further comprising: Receiving (302) a subject registration, wherein the subject is the user, a service or an entity. A method executed on a computer according to claim 1 or 2, wherein the intelligent contract is an intelligent delegation contract. A method executed on a computer according to any of the preceding claims, wherein the deactivation of the smart contract comprises: removing a delegation; and returning to settings prior to the delegation. Computer system (100) for blockchain-enabled reservation and delegation, comprising: one or more processors, one or more computer-readable memories, one or more computer-readable physical storage media and program instructions stored on at least one of the one or more computer-readable physical storage media for execution by at least one of the one or more processors via at least one of the one or more computer-readable memories, wherein the computer system is capable of performing a method according to one of the preceding claims. Computer program product for blockchain-enabled reservation and delegation, comprising: one or more computer-readable physical storage media and program instructions stored on at least one of the one or more computer-readable physical storage media, wherein the program instructions are executable by a processor to cause the processor to perform a method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Distributed Self-Sovereign Identities for Virtualizing Network Functions
DE112018007007T5
Method and apparatus for computer-assisted preparing and running of a control function
EP3355230A1
Distributed ledger system for management of exchanges of wireless services between wireless service providers
US20190150036A1
Distributed ledger system for management and implementation of exchanges of wireless services between wireless service providers
US20190191293A1
Method and apparatus for managing cloud services using smart contracts and blockchains
WO2019155268A1