Energy consumption aggregation and tracking per data object based on blockchain tokens
By registering nodes and data objects on the blockchain, generating task execution tokens, and recording energy consumption, the problem of insufficient energy consumption control in the data processing pipeline is solved, achieving transparency of energy consumption and optimizing resource allocation, thereby improving the efficiency and sustainability of data processing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- INTERNATIONAL BUSINESS MACHINE CORPORATION
- Filing Date
- 2024-10-15
- Publication Date
- 2026-05-26
Smart Images

Figure CN122095384A_ABST
Abstract
Description
Background Technology
[0001] This invention generally relates to energy consumption. More specifically, this invention relates to methods, systems, and computer programs for energy consumption aggregation and per-data-object tracking based on blockchain tokens.
[0002] In today's data-driven world, the exponential growth of data processing tasks has led to an increased demand for computing resources, resulting in significant energy consumption and environmental impact.
[0003] In complex data processing pipelines, data owners typically have limited control over the energy consumption limits of individual data entities. This lack of control makes it difficult for data owners to enforce energy efficiency measurements or set specific energy consumption thresholds for their data objects. Without the ability to control energy consumption limits, energy allocation within the data processing pipeline may be suboptimal. Some data entities may consume excessive energy, leading to resource waste, while others may be constrained by insufficient energy allocation, impacting overall processing efficiency. The lack of energy control mechanisms makes implementing energy management strategies across the data processing pipeline challenging. Data owners may have specific energy efficiency requirements or sustainability goals, but without the means to implement them, achieving the desired energy consumption targets becomes difficult.
[0004] Current data processing systems lack transparency and fine-grained energy tracking, making it difficult to identify inefficiencies, optimize resource allocation, and integrate sustainability practices. Summary of the Invention
[0005] Illustrative embodiments provide energy consumption aggregation and per-data-object tracking based on blockchain tokens. Embodiments include registering nodes and data objects on the blockchain. Embodiments include scheduling object tasks associated with data objects in a data controller by a scheduler, and generating task execution tokens on the blockchain by the data controller, wherein the task execution tokens are associated with the object tasks. Embodiments include sensing task execution tokens received from the data controller by a node; executing object tasks on the node in response to the sensed task execution tokens; and generating node energy consumption metrics and energy consumption tokens for the object tasks on the blockchain. Embodiments also include sending energy consumption tokens from a node to the data controller, causing a smart contract to calculate task energy consumption metrics based on the node energy consumption metrics, wherein data objects on the blockchain are updated with the task energy consumption metrics associated with the object tasks. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the embodiments.
[0006] The embodiments include a computer-usable program product. The computer-usable program product includes a computer-readable storage medium and program instructions stored on the storage medium.
[0007] The embodiments include a computer system. The computer system includes a processor, a computer-readable storage medium, a computer-readable storage medium, and program instructions stored on the storage medium for execution by the processor via the memory. Attached Figure Description
[0008] The appended claims set forth novel features that are considered characteristic of the invention. However, the invention itself, its preferred modes of use, further objects and advantages, can be best understood by referring to the following detailed description of illustrative embodiments, taken in conjunction with the accompanying drawings, in which:
[0009] Figure 1 A block diagram depicts a computing environment according to an illustrative embodiment;
[0010] Figure 2 A system diagram according to an illustrative embodiment is depicted;
[0011] Figure 3 A flowchart system diagram according to an illustrative embodiment is depicted;
[0012] Figure 4 A diagram is depicted according to an illustrative embodiment;
[0013] Figure 5 A diagram according to an illustrative embodiment is depicted; and
[0014] Figure 6 A flowchart depicts an example on-demand process according to an illustrative embodiment. Detailed Implementation
[0015] In today's data-driven world, the exponential growth of data processing tasks has led to an increased demand for computing resources, resulting in significant energy consumption and environmental impact.
[0016] In complex data processing pipelines, data owners typically have limited control over the energy consumption limits of individual data entities. This lack of control makes it difficult for data owners to enforce energy efficiency measurements or set specific energy consumption thresholds for their data objects. Without the ability to control energy consumption limits, energy allocation within the data processing pipeline may be suboptimal. Some data entities may consume excessive energy, leading to resource waste, while others may be constrained by insufficient energy allocation, impacting overall processing efficiency. The lack of energy control mechanisms makes implementing energy management strategies across the data processing pipeline challenging. Data owners may have specific energy efficiency requirements or sustainability goals, but without the means to implement them, achieving the desired energy consumption targets becomes difficult.
[0017] Current data processing systems lack transparency and fine-grained tracking of energy consumption, making it difficult to identify inefficiencies, optimize resource allocation, and integrate sustainability practices.
[0018] This disclosure addresses the aforementioned deficiencies by providing methods, machine-readable media, and systems for energy consumption aggregation and per-data-object tracking based on blockchain tokens. Embodiments include registering nodes and data objects on the blockchain. Embodiments include scheduling object tasks associated with data objects in a data controller by a scheduler, and generating task execution tokens by the data controller on the blockchain, wherein the task execution tokens are associated with the object tasks. Embodiments include sensing task execution tokens received from the data controller by a node; executing object tasks on the node in response to the sensed task execution tokens; and generating node energy consumption metrics and energy consumption tokens for the object tasks on the blockchain. Embodiments also include sending energy consumption data from a node to the data controller, causing a smart contract to calculate task energy consumption metrics based on the node energy consumption metrics, wherein data objects on the blockchain are updated with the task energy consumption metrics associated with the object tasks.
[0019] The illustrative embodiments include a scheduler that schedules object tasks based on sustainability parameters of the data object, wherein sustainability parameters include computational intensity, data size, and processing time.
[0020] The illustrative embodiments include, wherein, task energy consumption metrics include power usage and heat metrics of the node performing the object task.
[0021] An illustrative embodiment includes a scenario where the value of the smart contract verification energy token is equal to the task energy consumption metric.
[0022] An illustrative embodiment includes a data object on the blockchain comprising an aggregation of task energy consumption metrics for multiple object tasks.
[0023] An illustrative embodiment includes identifying an object task with the highest task energy consumption metric among a plurality of object tasks.
[0024] The illustrative embodiments also include, wherein the blockchain includes node wallets and data object wallets.
[0025] For clarity of description and without implying any limitation thereof, some example configurations are used to describe illustrative embodiments. Based on this disclosure, those skilled in the art will be able to conceive of many variations, adaptations, and modifications of the described configurations to achieve the described objectives, and these are all considered to be within the scope of the exemplary embodiments.
[0026] Furthermore, simplified diagrams of the data processing environment are used in the accompanying drawings and illustrative embodiments. In a real computing environment, there may be additional structures or components not shown or described herein, or structures or components that differ from those shown but serve a similar function to those described herein, without departing from the scope of the illustrative embodiments.
[0027] Furthermore, illustrative embodiments are described by way of example only, with respect to specific actual or hypothetical components. Any particular manifestation of these and other similar artifacts is not intended to limit the invention. Any suitable manifestation of these and other similar artifacts may be chosen within the scope of the exemplary embodiments.
[0028] The examples in this disclosure are for illustrative purposes only and are not intended to limit the scope of the illustrative embodiments. Any advantages listed herein are merely examples and are not intended to limit the illustrative embodiments. Additional or different advantages may be achieved through specific illustrative embodiments. Furthermore, specific illustrative embodiments may have some, all, or none of the advantages listed above.
[0029] Furthermore, illustrative embodiments can be implemented for any type of data, data source, or access to a data source via a data network. Within the scope of this invention, any type of data storage device can provide data locally at a data processing system or via a data network to embodiments of the invention. When embodiments are described using mobile devices, within the scope of the illustrative embodiments, any type of data storage device suitable for use with mobile devices can provide data locally at the mobile device or via a data network to that embodiment.
[0030] The illustrative embodiments are described using specific code, computer-readable storage media, advanced features, designs, architectures, protocols, layouts, diagrams, and tools as examples only, and not as limitations on the illustrative embodiments. Furthermore, for clarity, specific software, tools, and data processing environments are used in some instances as examples to describe the illustrative embodiments. The illustrative embodiments may be used in conjunction with other comparable or similar purpose structures, systems, applications, or architectures. For example, within the scope of this invention, other comparable mobile devices, structures, systems, applications, or their architectures may be used in conjunction with such embodiments of the invention. The illustrative embodiments may be implemented in hardware, software, or a combination thereof.
[0031] The examples in this disclosure are for illustrative purposes only and are not intended to limit the scope of the illustrative embodiments. Additional data, operations, actions, tasks, activities, and manipulations may arise from this disclosure, and such additional data, operations, actions, tasks, activities, and manipulations may be contemplated within the scope of the illustrative embodiments.
[0032] Various aspects of this disclosure are described by narrative text, flowcharts, block diagrams of computer systems, and / or block diagrams of machine logic included in embodiments of a computer program product (CPP). Regarding any flowchart, depending on the technology involved, operations may be performed in a different order than that shown in a given flowchart. For example, again according to the technology involved, two operations shown in a block of a successive flowchart may be performed in reverse order, as a single integrated step, simultaneously, or in a manner that at least partially overlaps in time.
[0033] Computer Program Product Embodiment (“CPP Embodiment” or “CPP”) is a term used in this disclosure to describe any collection of one or more storage media (also referred to as “media”) collectively included in a collection of one or more storage devices, which collectively include machine-readable code corresponding to instructions and / or data for performing computer operations specified in a given CPP claim. A “storage device” is any tangible device capable of holding and storing instructions used by a computer processor. Without limitation, a computer-readable storage medium can be an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices that include these media include: magnetic disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), memory sticks, floppy disks, mechanical encoding devices (such as punch cards or pits / platforms formed in the main surface of the disk), or any suitable combination of the foregoing. As used in this disclosure, computer-readable storage media should not be construed as storing transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, optical pulses through fiber optic cables, electrical signals transmitted through wires, and / or other transmission media. As will be understood by those skilled in the art, data is typically moved at certain incidental points in time during normal operation of the storage device, such as during access, defragmentation, or garbage collection; however, this does not render the storage device transient, as the data is not transient when it is stored.
[0034] refer to Figure 1The figure depicts a block diagram of computing environment 100. Data center environment 100 includes examples of environments for executing at least some of the computer code involved in performing the methods of the present invention, such as application module 200 providing energy consumption aggregation and per-data-object tracking based on blockchain tokens. In addition to block 200, computing environment 100 includes, for example, a computer 101, a wide area network (WAN) 102, an end-user equipment (EUD) 103, a remote server 104, a public cloud 105, and a private cloud 106. In this embodiment, computer 101 includes processor group 110 (including processing circuitry 120 and cache 121), communication infrastructure 111, volatile memory 112, persistent storage device 113 (including operating system 122 and block 200, as described above), peripheral device group 114 (including user interface (UI) device group 123, storage device 124, and Internet of Things (IoT) sensor group 125), and network module 115. Remote server 104 includes a remote database 130. The public cloud 105 includes a gateway 140, a cloud coordination module 141, a host physical unit 142, a virtual machine unit 143, and a container unit 144.
[0035] Computer 101 can take the form of a desktop computer, laptop computer, tablet computer, smartphone, smartwatch or other wearable computer, mainframe computer, quantum computer, or any other form of computer or mobile device now known or to be developed in the future capable of running programs, accessing networks, or querying databases such as remote database 130. As is well known in the field of computer technology, and depending on the technology, the performance of a computer-implemented method can be distributed across multiple computers and / or multiple locations. On the other hand, in this presentation of computing environment 100, the detailed discussion focuses on a single computer, specifically computer 101, to keep the presentation as simple as possible. Even Figure 1 The document does not show the computer 101 in the cloud, but it may also be located in the cloud. On the other hand, the computer 101 is not required to be in the cloud except to the extent that can be definitively indicated.
[0036] Processor group 110 includes one or more computer processors of any type now known or to be developed in the future. Processing circuitry 120 may be distributed across multiple packages, such as multiple cooperating integrated circuit chips. Processing circuitry 120 may implement multiple processor threads and / or multiple processor cores. Cache 121 is memory located within the processor chip package and is typically used for data or code that should be readily accessible by the threads or cores running on processor group 110. Cache memory is typically organized into multiple levels based on its relative proximity to the processing circuitry. Alternatively, some or all of the cache in the processor group may be located “off-chip.” In some computing environments, processor group 110 may be designed to work with qubits and perform quantum computing.
[0037] Computer-readable program instructions are typically loaded onto computer 101 to cause the processor assembly 110 of computer 101 to perform a series of operational steps to implement a computer-implemented method, such that the instructions thus executed instantiate the method specified in the flowchart and / or the narrative description of the computer-implemented method included in this document (collectively, the “method of the invention”). These computer-readable program instructions are stored in various types of computer-readable storage media, such as cache 121 and other storage media discussed below. The processor assembly 110 accesses the program instructions and associated data to control and direct the execution of the method of the invention. In computing environment 100, at least some of the instructions for performing the method of the invention may be stored in block 200 in persistent storage device 113.
[0038] Communication structure 111 is a signal transmission path that allows the various components of computer 101 to communicate with each other. Typically, this structure consists of switches and conductive paths, such as switches and conductive paths forming buses, bridges, physical input / output ports, etc. Other types of signal communication paths can be used, such as fiber optic communication paths and / or wireless communication paths.
[0039] Volatile memory 112 is any type of volatile memory now known or to be developed in the future. Examples include dynamic random access memory (RAM) or static RAM. Typically, volatile memory 112 is characterized by random access, but this is not necessary unless explicitly stated otherwise. In computer 101, volatile memory 112 is located in a single package and is internal to computer 101; however, alternatively or additionally, volatile memory may be distributed across multiple packages and / or located externally relative to computer 101.
[0040] The persistent storage device 113 is any form of non-volatile memory known now or developed in the future for use with a computer. The non-volatility of this memory means that the stored data is retained regardless of whether the computer 101 and / or the persistent storage device 113 is powered. The persistent storage device 113 may be a read-only memory (ROM), but typically at least a portion of the persistent storage device allows data to be written, deleted, and rewritten. Some common forms of persistent storage devices include hard disks and solid-state storage devices. The operating system 122 may take several forms, such as various known proprietary operating systems or operating systems employing an open-source portable operating system interface type with a kernel. The code included in block 200 generally includes at least some of the computer code involved in performing the methods of the present invention.
[0041] Peripheral device group 114 includes a set of peripheral devices for computer 101. Data communication connections between peripheral devices and other components of computer 101 can be implemented in various ways, such as Bluetooth connectivity, near field communication (NFC) connectivity, connections made by cables (such as Universal Serial Bus (USB) type cables), plug-in connections (e.g., secure digital (SD) cards), connections made via local area communication networks, and even connections made via wide area networks such as the Internet. In various embodiments, UI device group 123 may include components such as displays, speakers, microphones, wearable devices (such as goggles and smartwatches), keyboards, mice, printers, touchpads, game controllers, and haptic devices. Storage device 124 is an external storage device, such as an external hard drive, or a pluggable storage device, such as an SD card. Storage device 124 can be permanent and / or volatile. In some embodiments, storage device 124 may take the form of a quantum computing storage device for storing data in the form of qubits. In embodiments where computer 101 requires a large amount of storage (e.g., where computer 101 locally stores and manages a large database), the storage device can be provided by a peripheral storage device designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. The IoT sensor group 125 consists of sensors that can be used in IoT applications. For example, one sensor could be a thermometer, while another could be a motion detector.
[0042] Network module 115 is a collection of computer software, hardware, and firmware that allows computer 101 to communicate with other computers via WAN 102. Network module 115 may include hardware such as a modem or Wi-Fi transceiver, software for packetizing and / or depacketizing data transmitted over the communication network, and / or web browser software for transmitting data over the Internet. In some embodiments, the network control and forwarding functions of network module 115 are performed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing Software-Defined Networking (SDN)), the control and forwarding functions of network module 115 are performed on physically separate devices, such that the control functions manage several different network hardware devices. Computer-readable program instructions for performing the methods of the present invention can typically be downloaded to computer 101 from an external computer or external storage device via a network adapter card or network interface included in network module 115.
[0043] WAN 102 is any wide area network (e.g., the Internet) capable of transmitting computer data over non-local distances using any technology known now or developed in the future for transmitting computer data. In some embodiments, WAN 102 may be replaced and / or supplemented by a local area network (LAN) designed to transmit data between devices located in a local area such as a Wi-Fi network. WANs and / or LANs typically include computer hardware such as copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and edge servers.
[0044] End User Equipment (EUD) 103 is any computer system used and controlled by an end user (e.g., a customer of the enterprise operating computer 101) and can take any of the forms discussed above in connection with computer 101. EUD 103 typically receives helpful and useful data from the operation of computer 101. For example, assuming computer 101 is designed to provide recommendations to the end user, these recommendations are typically transmitted to EUD 103 from network module 115 of computer 101 via WAN 102. In this way, EUD 103 can display or otherwise present the recommendations to the end user. In some embodiments, EUD 103 can be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, etc.
[0045] Remote server 104 is any computer system that provides at least some data and / or functionality to computer 101. Remote server 104 can be controlled and used by the same entity operating computer 101. Remote server 104 represents a machine that collects and stores helpful and useful data used by other computers such as computer 101. For example, if computer 101 is designed and programmed to provide recommendations based on historical data, that historical data can be provided to computer 101 from a remote database 130 of remote server 104.
[0046] Public cloud 105 is any computer system that can be used by multiple entities, providing on-demand availability of computer system resources and / or other computing capabilities (particularly data storage (cloud storage) and computing power) without direct active management by users. Cloud computing typically leverages resource sharing to achieve scalability consistency and economy. The direct and active management of the computing resources of public cloud 105 is performed by the computer hardware and / or software of cloud coordination module 141. The computing resources provided by public cloud 105 are typically implemented by virtual computing environments running on various computers constituting host physical machine group 142, which is the global domain of physical computers in and / or available to the public cloud 105. Virtual computing environments (VCEs) typically take the form of virtual machines from virtual machine group 143 and / or containers from container group 144. It is understood that these VCEs can be stored as images and can be transferred between various physical machine hosts as images or after the VCEs are instantiated. Cloud coordination module 141 manages the transfer and storage of images, deploys new instantiations of VCEs, and manages the active instantiation of VCE deployments. Gateway 140 is a collection of computer software, hardware, and firmware that allow public cloud 105 to communicate via WAN 102.
[0047] Now, we will provide some further explanation of Virtualized Computing Environments (VCEs). A VCE can be stored as an "image." New active instances of a VCE can be instantiated from an image. Two common types of VCEs are virtual machines and containers. A container is a VCE that uses operating system-level virtualization. This refers to an operating system feature where the kernel allows multiple isolated user-space instances, called containers, to exist. From the perspective of the programs running within them, these isolated user-space instances typically appear as actual computers. Computer programs running on a regular operating system can utilize all the resources of that computer, such as connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running within a container can only use the contents of the container and the devices allocated to the container; this is a characteristic known as containerization.
[0048] Private cloud 106 is similar to public cloud 105, except that its computing resources can only be used by a single enterprise. While private cloud 106 is depicted as communicating with WAN 102, in other embodiments, private cloud may be completely disconnected from the Internet and accessible only via a local / private network. A hybrid cloud is a combination of multiple clouds of different types (e.g., private, community, or public cloud types) typically implemented by different vendors. Each of the multiple clouds remains a separate and discrete entity, but the larger hybrid cloud architecture is bound together by standardization or proprietary technology that enables coordination, management, and / or data / application portability between the multiple component clouds. In this embodiment, public cloud 105 and private cloud 106 are both part of a larger hybrid cloud.
[0049] Measurement services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the service type (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, reported, and invoiced, providing transparency to both the service providers and consumers.
[0050] The processing software for energy consumption aggregation and per-data-object tracking based on blockchain tokens is shared, serving multiple clients simultaneously in a flexible and automated manner. It is standardized, requiring virtually no customization, and is scalable, providing on-demand capabilities on a pay-as-you-go model.
[0051] The processing software can be stored on a shared file system accessible from one or more servers. The processing software executes via transactions containing data and server processing requests, which utilize CPU units on the accessed servers. CPU units are units of time on a server's central processing unit, such as minutes, seconds, and hours. Additionally, the accessed server can request CPU units from other servers that require them. CPU units are just one example of a usage metric. Other usage metrics include, but are not limited to, network bandwidth, memory usage, storage usage, packet transmission, and complete transactions.
[0052] When multiple clients use the same processing software application, their transactions are distinguished by parameters that identify the unique client and the type of service that client is providing. All CPU units and other usage metrics for each client's service are recorded. When the number of transactions to any server reaches a point that begins to impact that server's performance, other servers are accessed to increase capacity and distribute the workload. Similarly, when other usage metrics such as network bandwidth, memory usage, and storage device usage approach the capacity that impacts performance, additional network bandwidth, memory usage, and storage devices are added to share the workload.
[0053] Usage metrics for each service and customer are sent to a collection server that sums the usage metrics for each customer for each service processed anywhere in the shared execution server network providing the processing software. The total usage metrics are periodically multiplied by the unit cost, and the resulting total processing software application service cost is alternatively sent to the customer and / or indicated on the website visited by the customer, who can then make payment to the service provider.
[0054] In another embodiment, the service provider requests payment directly from the customer's account at a bank or financial institution.
[0055] In another embodiment, if the service provider is also a customer using the processing software application, the payments owed to the service provider are reconciled with the payments owed by the service provider to minimize payment transfers.
[0056] Figure 2 A system diagram 220 is depicted according to an illustrative embodiment. In a particular embodiment, component 220 represents... Figure 1 Applications of 200 in various aspects.
[0057] In the illustrated embodiment, blockchain 202 is a distributed blockchain support system that collects metrics data on the resources and energy consumed by data tasks and aggregates them for data objects. Scheduler 204 defines the workflow for data processing requests, determines the network path for data object delivery, and allocates resources for data processing tasks. The scheduler can use sustainability parameters defined for data objects as input to the scheduling algorithm, which can also affect network path and resource allocation. Data controller 206 manages data objects 212; any access to data objects must be done through the data controller's API. Data object 212 is a data unit managed by the data controller that can be accessed via network devices and delivered to other nodes for processing. Data objects have sustainability parameters, which can be manually provided by their owner or automatically determined by some system / tool / algorithm. Network device 208 can be a network link server / device (e.g., router, switch, etc.) capable of delivering data objects. Compute node 210 can be a server that provides computing resources (CPU / memory / disk / NIC) to execute data processing tasks (as containers or processes). Each node involved in the execution of data tasks needs to be registered in the blockchain ledger. The registration process involves recording crucial information about nodes, such as their unique ID, public extended key (used for cryptographic operations), and energy model. This registration ensures that only authorized nodes can participate in data processing tasks. Each data object needs to be registered in the blockchain ledger. The registration process includes gathering basic details about the data object, such as its unique ID, public extended key, and sustainability parameters. Sustainability parameters define the energy consumption characteristics of the data object, and registering them in the blockchain allows for tracking and analyzing energy consumption patterns at the object level.
[0058] Figure 3 A flowchart 300 according to an illustrative embodiment is described. In a particular embodiment, the components of system 300 represent... Figure 1 Applications of 200 in various aspects.
[0059] In the illustrated embodiment, scheduler 310 schedules and allocates resources for object tasks associated with data objects on the data controller. The scheduler may follow sustainability parameters specified for the data objects when scheduling and allocating resources for tasks. Since the results are published and visible on the blockchain, this can be publicly verified, and any problems with the scheduler can be detected. Data controller 312 generates a task execution token on the blockchain, which is transmitted to node 314. The node senses the task execution token, executes task 316, and generates an energy consumption token 318 on the blockchain for the energy consumed by the task on the node. The energy consumption token is transmitted from node 320 to data controller 322, thereby triggering a smart contract to calculate a task energy consumption metric based on the energy consumption token. In some embodiments, the smart contract may perform calculations / verifications, including but not limited to calculating task energy consumption metric data based on node energy consumption metrics and task resource usage metric data, verifying that the value of the transmitted energy consumption token is equal to the calculated task energy consumption value, verifying that the node possesses a valid task execution token from the data object sub-account of the task, verifying that the target account is the data object sub-account of the task, and verifying that the transaction has a valid signature. The data controller updates data objects on blockchain 324 with energy tokens, the value of which is equal to the task energy consumption metric associated with the object's task. The balance of energy tokens in the data object's master account represents the aggregate energy consumed by all tasks associated with the data object. In some embodiments, the values of energy tokens can be ranked, and the task with the highest energy consumption metric can be identified.
[0060] Figure 4 Figure 400 depicts a illustrative embodiment. In a particular embodiment, component 400 represents... Figure 1 Applications of 200 in various aspects.
[0061] In the illustrated embodiment, data controller 206 manages a set of data objects. Access to the data objects is restricted and can only be accomplished through the data controller's API (Application Programming Interface) 402. The data controller resides in a secure enclave to ensure the integrity and protection of the data objects it manages. Each data object, such as 404A, 404B, and 404C, has a unique ID for identification purposes. Sustainability parameters associated with the data objects are defined by the data owner. These parameters can be specified and used for energy tracking. Sustainability parameters that can be associated with tracking the energy consumption of data objects include computational intensity, data size, processing time, or any other metrics that can affect energy consumption. This information can be provided by the data owner and published in the blockchain. The scheduler can use the sustainability parameters associated with the data objects as input to determine the resource allocation and network paths to be used for the tasks associated with the data objects.
[0062] Figure 5 Figure 500 depicts a illustrative embodiment. In a particular embodiment, component 500 represents... Figure 1 Applications of 200 in various aspects.
[0063] In the illustrated embodiment, each of the data object wallets 510 and 520 includes a master account and an account for each task. A task execution token is generated for each data object and sent to the data controller node, network node, and compute node. In some embodiments, copies of the task account are made in the corresponding wallets of the data controller node, network node, and compute node (data controller node wallet 530, network node wallet 540, and compute node wallet 550). After execution, the compute node sends an energy token to the data object.
[0064] The illustrative embodiments described herein can be used in financial service implementations. In exemplary embodiments, a data owner, such as a financial service entity, schedules financial service tasks, such as Monte Carlo simulations, risk analysis, and fraud detection. An object task is created for a data object, which may include input variables and a mathematical model, and is scheduled by a scheduler on a data controller that generates a task execution token on the blockchain. The scheduler considers the data owner's requirements (e.g., computing resources or energy consumption) to determine an appropriate network path for transporting the data object and allocates resources on computing nodes for task execution. Other considerations include associated sustainability parameters of the network and the data object accessible from the blockchain. The task execution token is sensed by a computing node configured to perform the specified task, and the task execution token is registered on the blockchain. After executing the object task, a node energy consumption metric and an energy consumption token are generated. The object task includes, for example, heat measurements and power usage collected from hardware sensors or meters. Other collected metrics include CPU, memory, disk, and network resources consumed by the task. The energy consumption token is sent to the data controller, causing a smart contract to calculate the task energy consumption metric based on the node energy consumption metric. The smart contract may also undertake the verification of the energy consumption token and the blockchain wallet. Data objects on the blockchain are updated using task energy consumption metrics associated with their respective tasks. The data object blockchain wallet includes an aggregation of task energy consumption metrics for each data object, enabling the identification of energy-intensive tasks, optimization of resource allocation, and informed decision-making regarding energy management. Analysis of energy consumption trends and patterns can be performed to improve energy efficiency and sustainability.
[0065] Without limiting them in any way, the illustrative embodiments can also be used in life sciences, government and defense, automotive design and engineering, and other implementations of processing computational and energy resources for data objects in oil and gas or therein.
[0066] Figure 6A flowchart describing an example on-demand process according to an illustrative embodiment is provided.
[0067] Step 640 initiates the on-demand process. A transaction is created, containing a unique customer identifier, the requested service type, and any service parameters that further specify the service type (641). The transaction is then sent to the master server (642). In an on-demand environment, the master server may initially be the only server, and other servers are added to the on-demand environment as capacity is consumed.
[0068] Query (643) the server central processing unit (CPU) capacity in the on-demand environment. Estimate the CPU requirements of the transaction and then compare the available CPU capacity of the servers in the on-demand environment with the transaction's CPU requirements to see if there is sufficient available CPU capacity on any server to process the transaction (644). If there is insufficient available server CPU capacity, allocate additional server CPU capacity to process the transaction (648). If there is sufficient available CPU capacity, send the transaction to the selected server (645).
[0069] Before executing a transaction, the remaining on-demand environment is checked to determine if it has sufficient available capacity to process the transaction. This capacity includes, but is not limited to, network bandwidth, processor memory, storage devices, etc. (646). If there is insufficient available capacity, capacity is added to the on-demand environment (647). The software required to process the transaction is then accessed, loaded into memory, and the transaction is executed (649).
[0070] Usage metrics are recorded (650). Usage metrics include portions of the functionality used to process transactions in an on-demand environment. Usage of functionality such as, but not limited to, network bandwidth, processor memory, storage devices, and CPU cycles is recorded. Usage metrics are summed, multiplied by unit cost, and then recorded as charges to requesting customers (651).
[0071] If a customer requests that on-demand fees be published on the website (652), they are published on the website (653). If a customer requests that on-demand fees be sent to the customer's address via email (654), the on-demand fees are sent (655). If a customer requests that on-demand fees be paid directly from the customer's account (656), payment is received directly from the customer's account (657). The on-demand process proceeds to 658 and exits.
[0072] While it's understandable that processing software for aggregating and tracking the energy consumption of each data object based on blockchain tokens could be deployed manually by loading it directly onto client, server, and agent computers via storage media such as CDs or DVDs, it can also be deployed automatically or semi-automatically by sending the processing software to a central server or a set of central servers. The processing software is then downloaded to the client computer capable of executing it. Alternatively, the processing software can be sent directly to the client system via email. The processing software is then extracted into or loaded into a directory by executing a set of program instructions. Another alternative is to send the processing software directly to a directory on the client computer's hard drive. When a proxy server is present, the process can select proxy server code, determine which computers to place the proxy server code on, transmit the proxy server code, and then install the proxy server code on the proxy computers. The processing software can be sent to the proxy server, and then stored on the proxy server.
[0073] introduce
[0074] • By loading storage media such as CDs and DVDs, the processing software is directly loaded onto the client, server, and agent computers.
[0075] • The processing software is deployed to computer systems automatically or semi-automatically by sending it to a central server or a group of central servers. The processing software is then downloaded to client computers capable of executing the software.
[0076] • The processing software is sent directly to the client system via email. Then, the processing software is either extracted into or loaded into a directory by executing a set of program instructions that extract the processing software into a directory.
[0077] • Send the processing software directly to a directory on the client computer's hard drive.
[0078] When a proxy server exists, the process can select proxy server code, determine which computers the proxy server code should be placed on, send the proxy server code, and then install the proxy server code on the proxy computers. The processing software will be sent to the proxy server, and then the processing software can be stored on the proxy server.
[0079] General description
[0080] While it's understandable that processing software for aggregating and tracking the energy consumption of each data object based on blockchain tokens could be deployed manually by loading it directly onto client, server, and agent computers via storage media such as CDs or DVDs, it could also be deployed automatically or semi-automatically by sending the processing software to a central server or a set of central servers. The processing software is then downloaded to the client computer capable of executing it. Alternatively, the processing software can be sent directly to the client system via email. The processing software is then separated into or loaded into a directory by executing a set of program instructions. Another alternative is to send the processing software directly to a directory on the client computer's hard drive. When a proxy server is present, the process can select proxy server code, determine which computers to place the proxy server code on, transmit the proxy server code, and then install the proxy server code on the proxy computers. The processing software can be sent to the proxy server, and then stored on the proxy server.
[0081] The following definitions and abbreviations are used to interpret the claims and specification. As used herein, the terms “comprising,” “including,” “having,” “containing,” or any other variations thereof are intended to cover a non-exclusive inclusion. For example, a composition, mixture, process, method, article, or apparatus that comprises a list of elements is not necessarily limited to those elements, but may include other elements inherent to the composition, mixture, process, method, article, or apparatus, or other elements not expressly listed.
[0082] Additionally, the term "illustrative" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or design described herein as "illustrative" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms "at least one" and "one or more" can be understood to include any integer greater than or equal to one, i.e., one, two, three, four, etc. The term "multiple" can be understood to include any integer greater than or equal to two, i.e., two, three, four, five, etc. The term "connection" can include both indirect "connection" and direct "connection."
[0083] References to "an embodiment," "embodiment," "example embodiment," etc., in this specification indicate that the described embodiment may include a particular feature, structure, or characteristic; however, each embodiment may or may not include that particular feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same embodiment. Additionally, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is believed that incorporating other embodiments to affect that feature, structure, or characteristic is within the knowledge of those skilled in the art, regardless of whether it is explicitly described.
[0084] The terms “about,” “basically,” “approximately,” and their variations are intended to include a degree of error associated with a measurement based on a specific quantity of equipment available at the time of application submission. For example, “about” could include a range of ±8%, 5%, or 2% of a given value.
[0085] Various embodiments of the invention have been described for illustrative purposes, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein has been chosen to best explain the principles of the embodiments, their practical application, or improvements to existing technologies on the market, or to enable others skilled in the art to understand the embodiments described herein.
[0086] Therefore, the illustrative embodiments provide a computer-implemented method, system, or apparatus, and a computer program product for managing participation in online communities, as well as other related features, functions, or operations. Where embodiments or portions thereof are described with respect to a type of device, the computer-implemented method, system, or apparatus, computer program product, or portions thereof are adapted or configured for use with appropriate and comparable performance to that type of device.
[0087] Where embodiments are described as being implemented within an application, the delivery of an application in a Software as a Service (SaaS) model is conceivable within the scope of the illustrative embodiments. In a SaaS model, the ability to implement an application in an embodiment is provided to a user by executing the application within a cloud infrastructure. Users can access the application using various client devices through thin client interfaces such as web browsers (e.g., web-based email) or other lightweight client applications. Users do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, or storage of the cloud infrastructure. In some cases, users may not even have the ability to manage or control the SaaS application. In some other cases, the SaaS implementation of the application may allow for possible exceptions to limited user-specific application configuration settings.
[0088] Embodiments of the present invention can also be delivered as part of a service agreement with client companies, non-profit organizations, government entities, internal organizational structures, etc. Aspects of these embodiments may include configuring computer systems to perform, and deploying, some or all of the software, hardware, and web services implementing the methods described herein. Aspects of these embodiments may also include analyzing client operations, creating recommendations in response to the analysis, building a system to implement portions of the recommendations, integrating the system into existing processes and infrastructure, metering system usage, allocating fees to users of the system, and billing for system usage. Although the above embodiments of the invention have been described by setting forth their respective advantages, the invention is not limited to their specific combinations. Rather, these embodiments can be combined in any manner and number according to the intended deployment of the invention without losing their beneficial effects.
Claims
1. A computer-implemented method, comprising: Register nodes and data objects on the blockchain; An object task associated with the data object is scheduled by a scheduler in a data controller, and a task execution token is generated on the blockchain by the data controller, wherein the task execution token is associated with the object task; The node senses the task execution token received from the data controller; in response to the sensed task execution token, the object task is executed on the node, and a node energy consumption metric and energy consumption token for the object task are generated on the blockchain; and The node sends the energy consumption token to the data controller, causing the smart contract to calculate the task energy consumption metric based on the node's energy consumption metric, wherein the data object on the blockchain is updated using the task energy consumption metric associated with the object task.
2. The computer-implemented method according to claim 1, wherein, The scheduler schedules the object tasks based on the sustainability parameters of the data object, wherein the sustainability parameters include computational intensity, data size, and processing time.
3. The computer-implemented method according to claim 1 or 2, wherein, The task energy consumption metric includes the power usage and heat metric of the node executing the object task.
4. The computer-implemented method according to any of the preceding claims, wherein, The smart contract verifies that the value of the energy token is equal to the task energy consumption metric.
5. The computer-implemented method according to any of the preceding claims, wherein, The data objects on the blockchain include an aggregation of task energy consumption metrics for multiple object tasks.
6. The computer-implemented method according to claim 5 further includes determining the object task with the highest task energy consumption metric among the plurality of object tasks.
7. The computer-implemented method according to any one of the preceding claims, wherein, The blockchain includes node wallets and data object wallets.
8. A computer program product comprising one or more computer-readable storage media and program instructions commonly stored on the one or more computer-readable storage media, the program instructions being executable by a processor to cause the processor to perform operations, the operations including: Register nodes and data objects on the blockchain; An object task associated with the data object is scheduled by a scheduler in a data controller, and a task execution token is generated on the blockchain by the data controller, wherein the task execution token is associated with the object task; The node senses the task execution token received from the data controller; in response to the sensed task execution token, the object task is executed on the node, and a node energy consumption metric and energy consumption token for the object task are generated on the blockchain; and The node sends the energy consumption token to the data controller, causing the smart contract to calculate the task energy consumption metric based on the node's energy consumption metric, wherein the data object on the blockchain is updated using the task energy consumption metric associated with the object task.
9. The computer program product according to claim 8, wherein, The scheduler schedules the object tasks based on the sustainability parameters of the data object, wherein the sustainability parameters include computational intensity, data size, and processing time.
10. The computer program product according to claim 8 or 9, wherein, The task energy consumption metric includes the power usage and heat metric of the node executing the object task.
11. The computer program product according to claim 8, wherein, The smart contract verifies that the value of the energy token is equal to the task energy consumption metric.
12. The computer program product according to any one of claims 8 to 10, wherein, The data objects on the blockchain include an aggregation of task energy consumption metrics for multiple object tasks.
13. The computer program product of claim 12, further comprising determining the object task with the highest task energy consumption metric among the plurality of object tasks.
14. The computer program product according to any one of claims 8 to 13, wherein, The blockchain includes node wallets and data object wallets.
15. A computer system comprising a processor and one or more computer-readable storage media, and program instructions commonly stored on the one or more computer-readable storage media, the program instructions being executable by the processor to cause the processor to perform operations, the operations including: Register nodes and data objects on the blockchain; An object task associated with the data object is scheduled by a scheduler in a data controller, and a task execution token is generated on the blockchain by the data controller, wherein the task execution token is associated with the object task; The node senses the task execution token received from the data controller; in response to the sensed task execution token, the object task is executed on the node, and a node energy consumption metric and energy consumption token for the object task are generated on the blockchain; and The node sends the energy consumption token to the data controller, causing the smart contract to calculate the task energy consumption metric based on the node's energy consumption metric, wherein the data object on the blockchain is updated using the task energy consumption metric associated with the object task.
16. The computer system according to claim 15, wherein, The scheduler schedules the object tasks based on the sustainability parameters of the data object, wherein the sustainability parameters include computational intensity, data size, and processing time.
17. The computer system according to claim 15 or 16, wherein, The task energy consumption metric includes the power usage and heat metric of the node executing the object task.
18. The computer system according to any one of claims 15 to 17, wherein, The smart contract verifies that the value of the energy token is equal to the task energy consumption metric.
19. The computer system according to any one of claims 15 to 18, wherein, The data objects on the blockchain include an aggregation of task energy consumption metrics for multiple object tasks.
20. The computer system according to any one of claims 15 to 19, wherein, The blockchain includes node wallets and data object wallets.