In recent years, especially getting through the COVID-19 pandemic, the world is increasingly transforming into a digital-first era, where computing services including but not limited to web-based, communication, and storage services hosted by servers and accessible by various client devices (e.g., PCs and mobile devices) over the Internet dominate our livelihood and are essential to every industry. Conventionally, the servers hosting the computing services are located at centralized data centers or server farms while the client devices accessing the computing services are associated with individual users. Such centralized computing service platforms as well as human behaviors of the individual users, however, have led to overuse and waste of natural resources since a huge amount of computing resources/electronic devices that are perfectly functional are no longer being used simply because they are not the latest version, e.g., older generations of smart phones. Although a small number of these devices can be traded in and/or recycled, most of the computing resources remain idle and unutilized, leading to a tremendous waste of computing resources.
The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent upon a reading of the specification and a study of the drawings.
Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying figures. It is noted that, in accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.
The following disclosure provides many different embodiments, or examples, for implementing different features of the subject matter. Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
A new approach is proposed to support a reward-based distributed computing platform. Here, a service provider is configured to identify, register, and utilize a plurality of distributed computing resources/service nodes in the distributed computing platform to collectively provide/host a set of services to a plurality of service/application clients, wherein the set of services include but are not limited to computing, communication, and storage services that are accessible by the plurality of clients. Here, the plurality of service nodes are electronic devices owned or associated with a plurality of third-party service participants located at distinct geographical locations and are discoverable by the service provider over the Internet. The service provider is configured to intelligent route each request for a service from a service client to be served by one or more of the device nodes of a service participant. After the service has been delivered, the service provider is configured to track and generate one or more immutable proof-of-service receipts for the service provided by the service participant. A reward service may then record and reward the service participant for the service provided according to the proof-of-service receipts.
The proposed approach enables a reward mechanism that identifies distributed computing resources and verifies proof of work or contract service delivered by the service participants via the service provider including the servicing time of each of the distributed computing resources. By capturing under-utilized computing resources that are already available and rewarding the community of service participants (e.g., owners of the currently unused computing devices) accordingly, the proposed approach aims at shifting wasteful behaviors and providing incentives to the service participants for providing their resources to serve other clients. Such reward mechanism can drive sustainability in computer resources (e.g., by making computing services greener) and change in human behavior (e.g., by encouraging service participants to stop mining and to start earning by serving others). In addition, given the decentralized and peer-to-peer nature of the distributed computing resources, the proposed approach increases resiliency of the computing services.
In the example of
In the example of
In some embodiments, one or more of the plurality of service nodes 202 are identified by the service provider engine 102 over the Internet. In some embodiments, one or more of the plurality of service nodes 202 are self-registered by a service participant that owns the one or more service nodes 202 via a service node registry 206 of the service provider engine 102. In some embodiments, the service node registry 206 is configured to accept a registration request of the one or more service nodes 202 by the participant, collect and maintain detailed information about each node device of the one or more service nodes 202 wherein information includes but is not limited to computing and/or storage capacity, communication bandwidth, availability and health of the each node device. In some embodiments, the service node registry 206 is configured to collect a list of computing services offered by the one or more service nodes 202 that are available to the service clients and maintain the set of computing services in a service directory 208. In some embodiments, the service node registry 206 is configured to publish the list of computing services maintained in the service directory 208 to the plurality of service clients so they can choose which computing services are available/offered for access by the service participants.
In some embodiments, a service node cluster manager 210 of the service provider engine 102 is configured to organize and group the plurality of service nodes 202 into one or more scalable service clusters 204s each comprising one or more of the plurality of service nodes 202. In some embodiments, the service node cluster manager 210 is configured to monitor current running condition and/or health of each of the node devices of the one or more service nodes 202 within each service cluster 204. In some embodiments, the service node cluster manager 210 is configured to create one or more logical clusters/pools 212 of logical nodes 214s and map the one or more service nodes 202 within a service cluster 204 to one or more logical nodes 214 within one of the logical clusters 214. In some embodiments, each service node 202 and its node devices may run one or more logical nodes 214 and belong to one or more logical clusters 212. As shown by the example of
Once the list of computing services has been published to the plurality of service clients, a service client may start a request for one of the list of computing services. In some embodiments, the request is published to the logic clusters 212s of logical nodes 214s, creating a competitive fulfillment race. In some embodiments, the first logical service cluster 212/service node 214 responding to fulfill the service request will return a response. In some embodiments, a service/content router 216 of the service provider engine 102 is configured to route communications (e.g., the requests for service and/or the response to the request) between the service client and the first logical service cluster 212/service node 214 that responds to the request. In some embodiments, the service/content router 216 is configured to logically allocate/assign and intelligently route the request for service from the service client to a logical cluster 212 and/or a logical service node 214 depending on current service routing logic of the plurality of logical clusters 212s/logical nodes 214. Here, the service routing logic includes one or more of geolocations, available computing capacities, service types, and current service demands of the plurality of logical clusters 212s/logical nodes 214s and/or the plurality of service nodes 202 and service clusters 204 mapped to them. In some embodiments, the service/content router 216 is configured to constantly receive updates of the latest service routing logic from the service node registry 206.
Once the request has been routed and served by the logical cluster 212/logical node 214, the service/content router 216 is configured to track selection of service and the logical cluster 212/logical node 214 by the service client in real-time and to generate a service delivery selection list comprising one or more of immutable proof-of-work, proof-of-service, proof-of-space, and time of the service that has been provided by the logical cluster 212/logical node 214 and/or the underlying service node 202 and the service cluster 204. In some embodiments, for advanced anti-spoofing and fraud prevention, the service/content router 216 is configured to validate the immutable proofs of the service delivery selection list based on one or more cryptographically-signed receipts originating from one or more trust platform modules in the service node 202 and/or the service cluster 204. In some embodiments, the service/content router 216 is configured to transmit/send the service delivery selection list to a service delivery register 302 of the reward service engine 104 in order to credit/reward the service participant who owns the service node 202 and the service cluster 204. In some embodiments, the service/content router 216 is configured to create an additional receipt based on a feedback from the service client and send the feedback receipt to the service delivery register 302.
In some embodiments, a platform internet adapter 218 of the service provider engine 102 is configured to handle transformation of service content requested by the service client as needed and to deliver a digital response of the content to the service client from the logical cluster 212/logical node 214. In some embodiments, the platform internet adapter 218 is configured to perform one of a protocol-level, a network-level, and another type of network messaging exchange between the service client and the logical cluster 212/logical node 214. Once the response has been successfully delivered, the platform internet adapter 218 is configured to simultaneously create a service/content delivery receipt for the service provided by the logical cluster 212/logical node 214 and send the service receipt to the service delivery register 302 of the reward service engine 104. In some embodiments, the service client is configured to generate a service fulfillment receipt via a tracing app for verifying the service/content requested has been delivered. In some embodiments, the tracing app can be in a form of a piece of injected code or a software agent.
In the example of
In the example of
One embodiment may be implemented using a conventional general purpose or a specialized digital computer or microprocessor(s) programmed according to the teachings of the present disclosure, as will be apparent to those skilled in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art.
The methods and system described herein may be at least partially embodied in the form of computer-implemented processes and apparatus for practicing those processes. The disclosed methods may also be at least partially embodied in the form of tangible, non-transitory machine readable storage media encoded with computer program code. The media may include, for example, RAMs, ROMs, CD-ROMs, DVD-ROMs, BD-ROMs, hard disk drives, flash memories, or any other non-transitory machine-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the method. The methods may also be at least partially embodied in the form of a computer into which computer program code is loaded and/or executed, such that, the computer becomes a special purpose computer for practicing the methods. When implemented on a general-purpose processor, the computer program code segments configure the processor to create specific logic circuits. The methods may alternatively be at least partially embodied in a digital signal processor formed of application specific integrated circuits for performing the methods.
This application claims the benefit of U.S. Provisional Pat. Application No. 63/277,018, filed Nov. 8, 2021, which is incorporated herein in its entirety by reference.
Number | Date | Country | |
---|---|---|---|
63277018 | Nov 2021 | US |