System and method for controlling access to resources in a multi-computer network

By introducing a deferred instance resource management system, and utilizing delayed startup and market pricing mechanisms, the system addresses the issues of low resource utilization and SLA compliance risks for cloud service providers, thereby achieving efficient resource utilization and flexible management.

CN115136567BActive Publication Date: 2026-02-13R·盖尔冯德
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180015864.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-10-07
Filing Date
2021-02-05
Publication Date
2026-02-13
Estimated Expiration
2041-02-05

AI Technical Summary

Technical Problem

Existing cloud service providers have low resource utilization and difficulty in effectively managing peak demand, leading to increased SLA violation risks. Furthermore, existing resource managers are unable to effectively utilize changes in resource supply and demand for optimization.

Method used

A deferred instance resource management system is introduced. By configuring deferred instances and additional deferred instances, the resource manager can predict resource demand, postpone instance start time, optimize resource allocation to improve utilization, and adjust resource allocation strategies through market pricing and latency mechanisms.

Benefits of technology

It improved resource utilization, reduced the risk of SLA violations, optimized resource management, and enabled flexible response to peak demand and efficient resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115136567B_ABST
    Figure CN115136567B_ABST
Patent Text Reader

Abstract

The network resource manager is configured to read in requests from the deferrable instance to transfer program data and / or execution instructions to computer-based resources of the cloud service provider for execution. If the cloud service provider is heavily loaded, the manager will send a query to the deferrable instance, and if both the original deferrable instance and the additional deferrable instance accept the condition that no resources are requested during the delay period, the additional deferrable instance is offered to the original deferrable instance.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Copyright and Trademark Notices

[0002] A portion of the disclosure of this patent document contains material to which a claim of copyright exists. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. TECHNICAL FIELD

[0003] Embodiments of the invention relate to systems and methods for controlling access to resources in a multi-computer network. BACKGROUND

[0004] Figure 1 is a schematic diagram of an existing system 100 for current instance resource management. The system comprises:

[0005] • one or more computer-implemented current instances 112, 114, 116;

[0006] • a computer-implemented resource manager 130; and

[0007] • one or more computer-implemented current resources 142, 144, 146;

[0008] The system can be owned or controlled by a cloud computing service provider 148, such as Amazon EC2, Google Cloud, or Microsoft Azure.

[0009] Current Instance

[0010] The instance is “current” in that it is established at approximately the time of launch. When an instance is established, a user receives a price from the cloud service provider, and if the user accepts the price, the user provides payment or a promise of payment to the cloud service provider. The user then launches the current instance, i.e., issues a request to use the current resources. Using the resources can include the step of transferring program data and / or execution instructions to the resources for execution during a time step. The launch can be immediate or it can be within a relatively short time (e.g., 3 months) after establishment. The time between establishment and launch is considered short if there is no substantial change in the available resources. A substantial change can be a significant capacity expansion (e.g., more than 5%) or a significant upgrade to the performance of the current resources (e.g., upgrading to a faster CPU).

[0011] Each current instance can be described by a contract 122, 124, 126. The contract can include a description of one or more desired resources, performance metrics, service level agreements (SLAs), and / or guaranteed service level objectives (SLOs). Exemplary desired resources can include one or more types of CPUs or vCPUs, the number of cores of the CPUs or vCPUs, memory allocation, and an operating system. The desired resources can be physical resources or virtual resources. As used herein, a virtual resource is a first type of physical resource in combination with emulation software that makes the physical resource work like a second type of physical resource.

[0012] The performance metrics can be any quantitative measure of performance. Suitable performance metrics for CPUs or vCPUs include clock speed, MFLOP rating, one or more SPEC INT 2006 benchmarks, and / or percentage of uptime.

[0013] Each instance can be described by a term 110. The term can be an integer number of time steps 104. The term can begin at an initial time 102 and end at a termination time 106. The time steps can be any unit of time suitable for the system, such as seconds, minutes, or any larger or smaller unit of time. A minimum term (e.g., a minute) can be specified. The minimum term can be an integer number of time steps, such as 60 seconds.

[0014] The type of term for an instance can be a variable term 112, a fixed term 114, or an interruptible term 116. Other types of terms can be provided, such as combinations of variable, fixed, and interruptible terms.

[0015] A variable term instance 112 is initiated and terminated at the discretion of a user. Relative to other types of instances, a variable term instance tends to have a high priority 108. A high priority means that the variable instance will be allocated to a current resource before other instances (e.g., fixed term instances or interruptible term instances). A variable term instance can also have a correspondingly higher cost per unit time of its term.

[0016] A fixed term instance 114 has a start time determined by the user, but the term is for a fixed, predefined period of time. The predefined term can be one year, three years, or any other amount of time. For a fixed term instance, the user will pay a fixed rate regardless of whether the instance actually uses the current resource. However, the price per unit time for a fixed term is typically lower than the price for a variable term instance. The fact that a fixed term instance typically does not use the current resource continuously within its term means that, at times, the current resource can be available for use by other instances, such as interruptible term instances.

[0017] Interruptible term instances 116 have a start time determined by the user, but can have a termination time determined by the resource manager 130. The resource manager can provide a relative availability 128 of the current resource to the interruptible instances. The relative availability can be expressed as a spot price for using the current resource at a given time step 104. The interruptible term instance can receive the spot price and, if the spot price is below a threshold price that the interruptible instance is willing to pay, it will start. If the spot price is above the threshold price that the interruptible instance is willing to pay, the interruptible term instance can not start, or if it has previously started, it can terminate its own term. Thus, the resource manager can effectively control the terms of the interruptible term instances by changes in the spot price. This in turn allows the resource manager to control the availability of the current resource to higher priority instances.

[0018] Current resource

[0019] Each current resource 142, 144, 146 can be described by a specification 152, 154, 156 that defines its capabilities. The specification can list one or more of a performance metric, a CPU type, a number of cores of the CPU, a memory allocation, and an operating system. The current resource can be a physical resource (e.g., a CPU) or a virtual resource (e.g., a vCPU). The performance metric can be any quantitative measure of performance, such as a CPU clock speed, an MFLOP rating, one or more SPEC INT 2006 benchmarks, an uptime percentage, or a memory storage capacity.

[0020] Allocating current resources by the resource manager

[0021] The resource manager 130 can receive one or more requests 122, 124, 126 from one or more current instances 112, 114, 116 at the beginning of a given time step 104. The resource manager then allocates instances 132, 134, 136 to current resources 142, 144, 146 with matching specifications. The allocation can include a step of starting a virtual resource on a given physical resource to match the virtual resource to the specification of the instance.

[0022] Prior to allocation, the resource manager can predict to what extent the current resources are adequate to meet the current instance requests. If the resources are insufficient, the resource manager can lower the availability 128 of the current resources (e.g., raise the spot price) to the interruptible term instances. Some of the interruptible instances can be shut down in order to provide sufficient resources to the variable term instances and the fixed term instances. Alternatively, if the current resources are over-provisioned, the resource manager can increase the availability of the current resources to the interruptible term instances (e.g., a lower spot price) in order to start more interruptible instances and increase the utilization of the current resources.

[0023] If at any given time step, the resource manager is unable to satisfy the requests of all variable and fixed term instances, it can result in unplanned downtime and can violate its respective service level agreements (SLAs). The cloud service provider 148 can then be liable for penalties for violating the SLAs. The penalties for violating the SLAs can be in the form of monetary credits provided to the users of the current instances that were denied current resources. Compliance with the SLAs can be monitored by the current instances or the resource manager by providing output in a graphical user interface to their respective users.

[0024] Existing resource underutilization

[0025] It has been reported that even with a resource manager configured as described above, the total utilization of current resources in a cloud service provider can be only about 40%. Therefore, there is a need for an improved resource manager to achieve higher total utilization without increasing SLA violation penalties. Furthermore, while increasing the percentage of resources in use is ideal, cloud service providers can also be concerned with being able to handle peak demand. This can be more important than increasing the average percentage of resources in use. Therefore, there is also a need for an improved resource manager that will provide users with the ability to defer the demand of instances for current resources from peak load periods to future periods selected by the users. The cloud service provider can then sell these deferrable instances as if they were running at near 100% usage while the deferrable instances are actually not redeemed. SUMMARY

[0026] The abstract provided is provided as an aid to understanding the present invention. It does not necessarily describe the most generic embodiment or the most expansive alternative of the present invention.

[0027] Figure 2 is a schematic diagram of a system 200 for deferrable instance resource management. The system includes one or more of the current instances 112, 114, 116 and current resources 142, 144, 146 previously described with respect to the prior art system 100. The allocation of instances to resources is controlled by a computer-implemented deferrable instance resource manager 230. In addition to the functionality of the prior art resource manager 130, the deferrable instance resource manager is configured to manage resource requests 222 of one or more deferrable instances 212.

[0028] Deferrable instance

[0029] A deferrable instance is established by a first user at a previous time 202 to a current time 102. The launch (e.g., request for resources 222) can be deferred 208 to a later time 206 by the first user's discretion. The steps to establish a deferrable instance can include receiving a price from a cloud service provider and transmitting a payment or payment commitment to the cloud service provider. The payment can be in the form of a fiat currency (e.g., US dollars), other currency, or any other consideration (e.g., stock or other type of deferrable instance). The payment or payment commitment can be provided by any mutually agreed upon terms, such as a financing over a period of time.

[0030] Each deferrable instance 212 can be defined by a recipe 252. The recipe can include one or more desired physical or virtual resources, performance metrics, service level agreements (SLAs), guaranteed service level objectives (SLOs), and / or terms. Exemplary desired resources can include one or more types of CPUs or vCPUs, number of cores for the CPUs or vCPUs, memory allocation, and / or operating system.

[0031] Performance metrics can be any quantitative measure of performance. Suitable performance metrics for CPUs, vCPUs, or individual cores thereof include clock speed, MFLOP rating, one or more SPEC INT 2006 benchmarks, and / or uptime percentage. Performance metrics can also include memory storage capacity.

[0032] Service level agreements and service level objectives can be similar to the other cases described above. An SLA can indicate that a deferrable instance has priority. Priority can be any level from higher than a variable term instance to lower than an interruptible term instance. As used herein, priority "higher than a variable term instance" can include an absolute right to launch the deferrable instance at any time without prior notice. As used herein, "at any time" launch includes launch immediately after establishment. It can also include launch at an infinite time in the future. As will be described in greater detail below, priority can be set to improve utilization of resources without causing undue SLA breach penalties.

[0033] Terms 210 of a deferrable instance can be fixed or variable. A term can be an integer number of time steps 204. Time steps 204 of a deferrable instance can be an integer multiple of time steps 104 of a resource manager, and vice versa. A deferrable instance can be configured so that a variable term instance can be simulated by sequentially launching multiple fixed term deferrable instances with similar or identical recipes.

[0034] A latency period can be specified for a deferred instance. The latency period is the time period during which a deferred instance can be started. The latency period can be finite (e.g., 10 years) or infinite. As will be described in more detail below, the latency period may be long enough to allow the deferred instance to access future expansions or upgrades, in the sense that the capacity of the current resource may be significantly expanded and / or the performance of the current resource may be significantly upgraded.

[0035] Allocate the current resources to a deferable instance.

[0036] Figure 2 The diagram illustrates a method for allocating current resources to a combination of one or more deferred instances and current instances. Resource Manager 230 may receive one or more requests 122, 124, 126, 222 from one or more current instances 112, 114, 116 and / or deferred instance 212, which were initiated 206 at or before the current time 102. The requests begin at a given time step 104. Resource Manager then allocates instances 132, 134, 136 to current resources 142, 144, 146 that have specifications matching the instance's specifications.

[0037] Before allocation, the resource manager can predict the extent to which current resources are suitable for current and deferred instance requests. As mentioned above, if resources are insufficient, the resource manager can reduce the availability of current resources to interruptible instance items to avoid penalties for violating the SLA. Further resource control can be obtained by setting the priority of deferred instances to a lower value, allowing items of deferred instances to be interrupted to free up resources if necessary. To compensate for the low priority, the price of deferred instances can be set low enough that users purchase them when they anticipate future increases in the supply or performance of current resources. Thus, the overall utilization of current resources can be improved. Alternatively, a fee can be paid to holders of deferred instances to defer their right to exercise or use the instances. The payment can take any form, including paying interest by providing users with additional deferred instances, items, or any other form of compensation. In alternative embodiments, the price of deferral will be strictly determined by the market. In extreme cases, the resource manager may only repurchase unfulfilled deferred instances (at market price) and / or purchase current instances from another provider. Attached Figure Description

[0038] Figure 1 This is a schematic diagram of an existing technology system used for managing current instance resources.

[0039] Figure 2 This is a schematic diagram of a system for managing deferred instance resources.

[0040] Figure 3is a schematic diagram of a system for additional deferrable instance resource management.

[0041] Figure 4 is a schematic diagram of a system for deferrable instance resource management with resource substitution.

[0042] Figure 5 is a flowchart of a method for managing additional deferrable instances. DETAILED DESCRIPTION

[0043] The detailed description sets forth non-limiting exemplary embodiments. Any individual feature or combination of features described herein can be combined with any other feature or combination of features described herein to create an embodiment of the present disclosure that is not explicitly described but that is nonetheless within the scope of the present disclosure. As used herein, the term "about" means plus or minus 10% of the given value. As used herein, the term "substantially the same" means that two items are at least 90% identical.

[0044] As used herein, "computer-based system," "computer-based resource," "computer- implemented system," "computer-implemented resource," and the like include an input device to receive data, an output device to output data in tangible form (e.g., to print or display on a computer screen), a persistent memory to store data and computer code, and a microprocessor to execute the computer code resident in the persistent memory, which will physically cause the microprocessor to read in data through the input device, process the data within the microprocessor, and output the processed data through the output device.

[0045] As used herein, the phrase "configured to" and the like means that a computer-based system is programmed or otherwise physically modified (e.g., input and / or output devices are provided) to perform a particular action.

[0046] As used herein, the term "shape" means that an item has the overall appearance of a given shape, even if there is a slight difference from the pure form of the given shape.

[0047] As used herein, the term "generally" when referring to a shape means that an ordinary observer would perceive an object as having the shape, even if there is a slight difference from the shape.

[0048] As used herein, "use" of a computer-based resource can include the step of transferring program data and / or execution instructions to the computer-based resource for execution during a time step. It can also include the step of executing a program or any other use for which the computer-based resource is adapted.

[0049] As used herein, relative directional terms such as “up,” “down,” “top,” “bottom,” “left,” “right,” “vertical,” “horizontal,” “far,” and “near” are defined relative to the initial presentation of an object and will continue to refer to the same part of the object even if the object subsequently presents itself in an alternative orientation, unless otherwise stated.

[0050] As used herein, unless otherwise stated, the disclosure of odd elements is also the disclosure of complex elements, and vice versa.

[0051] Additional Delayable Instances

[0052] Figure 3 This is a schematic diagram of system 300 for managing additional deferred instance resources. To improve resource utilization without incurring inappropriate SLA violation penalties, resource manager 230 may be configured to offer one or more, or a small number, additional deferred instances 214 to a first user in exchange for the first user withdrawing or not initiating a resource request 222 from deferred instance 212 at the current time 102. The resource manager may do this because it anticipates that high utilization of the current resources could lead to SLA violation penalties.

[0053] The provided form may be a query 224 transmitted from the resource manager to the deferred instance. The query may include a delay period 216 during which the deferred instance and / or additional deferred instances are not allowed to start without penalty, or are not allowed to start at all. The computer-implemented deferred instance may be configured to compare the query conditions (e.g., the number of additional deferred instances and the delay period) with one or more delay thresholds to automatically accept 226 or reject the query. If the query is accepted 226, the resource manager may assign 228 of the additional deferred instance to the first user and may maintain a record of the delay periods associated with the deferred instance and the additional deferred instances.

[0054] All instances 112, 114, 116, and 212 authorized to request resources can be identified by an identifier or an identifier code. These instances may also have associated authorization codes. When an instance requests a resource, the request may include both the identifier and the authorization code. Any secure authorization method can be used.

[0055] If additional or other deferred instances request resources, the resource manager can check its records to confirm that the request was not made during the deferred period previously assigned to a deferred instance that made the request based on the deferred instance's identifier. If it was during the deferred period, the resource manager can either reject the resource request or assess a previously specified penalty against the first user. The penalty can be any kind of fine, such as a monetary penalty or the revocation of some deferred instances previously issued to the first user.

[0056] The deferral period 216 can be "long-term" in the sense that there can be a significant increase 302 in new resources 348 during the deferral period. The new resources can have a given profile 358. The resource manager 230 can allocate 304 them to requests when they come online 218. A deferral period of 3 months or more can be considered long-term. Thus, the first user can participate in the expected capacity growth of the cloud service provider by accepting additional deferrable instances in exchange for a long-term deferral period. Nonetheless, any deferral period is suitable.

[0057] The additional deferrable instances can be granted to the first user periodically over the deferral period so that the computing time available to the first user grows over time. The number of deferrable instances granted at any given time can be proportional to the total number of additional or other deferral instances owned by the first user. Thus, the growth can compound over time.

[0058] The cloud service provider can adjust the number of additional deferrable instances specified in the query and their associated deferral periods to effectively fund future capacity expansion.

[0059] In alternative embodiments, the deferrable instances can be transferable to other users. A market can be created for the deferrable instances, with pricing varying according to market forces, such as resource availability versus demand for resources. Thus, the deferrable instances can serve as a way to store and transfer wealth, particularly in times of financial crisis, such as a loss of faith in fiat currency.

[0060] Method for managing allocation of resources and additional deferrable instances

[0061] Figure 5 is a flowchart of an exemplary method 500 for managing allocation of resources and additional deferrable instances. Reference is made to Figure 3 and Figure 5 the computer-based network resource manager 230 is configured to perform the following steps:

[0062] a) at a current time 502, read in 504 from one or more computer-based instances 212, 112, 114, 116, one or more requests 222, 122, 124, 126 for and optionally including transfer of program data and / or execution instructions to one or more current physical or virtual computer-based resources 142, 144, 146 for execution during a time step 104, wherein:

[0063] i) the time step has a duration of a unit time period;

[0064] ii) at least one of the computer-based instances is a deferrable instance 212;

[0065] iii) assigning the deferrable instance to a first user;

[0066] iv) the deferrable instance comprises:

[0067] 1) technical specifications and performance metrics 252 that substantially match technical specifications and performance metrics of an original physical or virtual computer-based resource selected by the first user at the time of establishing 202 the deferrable instance; and

[0068] 2) a term 210 equal to the unit time period; and

[0069] v) the deferrable instance 212 is configured to:

[0070] 1) receive 224 a query from the resource manager, the query comprising:

[0071] a) a deferral period 216 relative to the current time; and

[0072] b) assign an additional deferrable instance 214 to the first user, wherein the additional deferrable instance:

[0073] i) has substantially the same 252 technical specifications, performance metrics, and term as the deferrable instance; and

[0074] ii) can only be initiated after the deferral period;

[0075] 2) accept 226 or reject the query based on the deferral period relative to a deferral threshold; and

[0076] 3) upon accepting the query, defer the request of the deferrable instance for the use of the one or more current physical or virtual computer-based resources (e.g., deferring the transfer of the program data and

[0077] / or execution instructions to the one or more current physical or virtual computer-based resources) to after the deferral period; b) determining 506 a total relative load of the requests on the one or more current physical or virtual computer-based resources 142, 144, 146 for the time step; c) when the total relative load is greater than 509 a load threshold, performing the following steps:

[0078] i) transmitting 512 the query to the deferrable instance;

[0079] ii) receiving 514 an acceptance or rejection of the query from the deferrable instance;

[0080] iii) Upon receiving an acceptance 516 for the query, perform the following steps:

[0081] 1) Assign the additional deferred instance 518 to the first user; and

[0082] 2) During the time step, according to the request, the one or more current physical or virtual computer-based resources are allocated 522 to the computing-based instance, but the transfer of program data and / or execution instructions from the deferred instance to the one or more current physical or virtual computer-based resources is postponed until after the delay period; or

[0083] iv) Upon receiving a rejection 517 for the query, perform the following steps:

[0084] 1) Transferring the program data and / or execution instructions from the deferred instance 524 to the one or more current physical or virtual computer-based resources for execution during the time step; and d) When the total relative load is less than or equal to the load threshold 508, performing the following steps:

[0085] i) Transferring the program data and / or execution instructions from the deferred instance 524 to the one or more current physical or virtual computer-based resources for execution during the time step.

[0086] At the end of the time step 526, the resource manager 230 can start again for the next time step 502 method 500.

[0087] If a deferable instance started a program on a computer-based resource at a previous time step, and then a query to offer an additional deferable instance in exchange for a delay might mean that the "execution instruction" transmitted to the computer-based resource might simply be missing an interrupt instruction for the currently executing program. Conversely, if the query is accepted, then the "delay in transmitting the execution instruction" could include actually transmitting the interrupt instruction to the computer-based resource that has already executed the previously started program.

[0088] Alternative methods

[0089] Additional deferred instances do not necessarily have to have essentially the same technical specifications and performance metrics as the deferred instance. For example, if the cloud service provider upgrades resources after the deferred instance is created, the additional deferred instances may have the same or better technical specifications and performance metrics as the deferred instance initially allocated to it at creation. See below for reference. Figure 4 Let's discuss the upgrade of resources in more detail.

[0090] The additional deferrable instance provided in the query need not be the same as the deferrable instance of the item that receives the query.

[0091] The deferral period of the additional deferrable instance provided in the query need not be the same as the deferral period of the deferrable instance of the item that receives the query. For example, the query can specify a deferral period of several hours for the deferrable instance to accommodate a short-term demand spike. The deferral period of the additional deferrable instance provided in the query can be months or even years to allow the cloud service provider to increase capacity to accommodate potentially large additional deferrable instances that can be offered during periods of heavy use of current resources.

[0092] The additional deferrable instance can be allocated to a third party other than the first user.

[0093] There can be restrictions on transferring deferrable instances to other users.

[0094] Deferrable instance GUI

[0095] The computer-implemented deferrable instance can include a screen having a graphical user interface. The computer-implemented deferrable instance can be configured to present a query from the resource manager to the first user at the graphical user interface such that the first user can decide to accept or reject the query.

[0096] The computer-implemented deferrable instance can further include an input device, such as a mouse, touch screen, keyboard, or microphone, to receive the decision to accept or reject the query from the first user.

[0097] The computer-implemented deferrable instance can be configured to accept a value of a deferral threshold from the first user via the input device for accepting or rejecting the query including the additional deferrable instance. The computer-implemented deferrable instance can be configured to present external data, such as market data, to the first user for setting the deferral threshold for accepting or rejecting the query including the additional deferrable instance. Alternatively, or additionally, the deferrable instance can be configured to automatically adjust the threshold for accepting the query based on a current value of the external data, such as market data.

[0098] Providing additional deferrable instances to current instances

[0099] The resource manager can be configured to provide additional deferrable instances to current instances, not just deferrable instances. For example, a first user can not need to use a fixed term instance continuously within its term. If the fixed term instance requests resources within its term, the resource manager can provide an additional deferrable instance in exchange for the first user deferring its request for resources to a later time within its term. Similarly, the resource manager can provide an additional deferrable instance in exchange for an interruptible term instance withdrawing its request for resources, rather than raising the spot price of the interruptible term.

[0100] Resource substitution

[0101] Figure 4 is a schematic diagram of a system 400 for delayable instance resource management with resource substitution. After a delayable instance is established 202, a first user can defer the launch of the delayable instance for a long time 234. As used herein, "a long time" can be the time required for the current resources 142, 144, 146 available when the delayable instance was initially established to be substantially replaced by next generation resources 402, 404, 406 having corresponding improved technical specifications and performance metrics 472, 474, 476. Upon receiving a request for resources at a very late time 234, the resource manager 230 can perform the following steps:

[0102] i) determine whether any of the current next generation physical or virtual computer-based resources' 402, 404, 406 technical specifications and performance metrics 472, 474, 476 substantially match the delayable instance's technical specifications and performance metrics 252; and

[0103] ii) when none of the current physical or virtual computer-based resources' technical specifications and performance metrics substantially match the delayable instance's technical specifications and performance metrics, perform the following steps:

[0104] 1) identify one or more groups of the computer-based resources that have overall technical specifications and performance metrics that meet or exceed the delayable instance's technical specifications and performance metrics; and

[0105] 2) transfer program data and / or execution instructions from the delayable instance to the one or more groups of computer-based resources for execution during the time step.

[0106] The technical effect of this method of resource substitution is that the delayable instance will in effect automatically upgrade to new technical specifications and performance metrics 272 that have been available since the upgrade to next generation resources and the obsolescence of now outdated resources (specified when the delayable instance was initially established).

[0107] The resource manager can use the same method before installing next generation resources. For example, the resource manager can allocate current instances to resources owned or controlled by third parties, such as in a grid federation or cloud allocation. The resource manager can then select a group of third party resources that meet or exceed the requirements of the delayable instance.

[0108] The performance metrics can be one or more of minimum CPU clock speed, minimum MFLOP rating, any SPEC INT 2006 benchmark, percentage of uptime, memory storage capacity, or any other metric appropriate to the intended use of the deferrable instance. The performance metrics can apply to a multi-core CPU or CPU group for a multi-threaded program, or to a single CPU or core of a multi-core CPU for a single-threaded program.

[0109] multi-threaded program

[0110] The deferrable instance can transmit program data to the computer-based resources, which can include a multi-threaded program. When identifying the group of one or more computer-based resources having aggregate technical specifications and performance metrics that meet or exceed the technical specifications and performance metrics of the deferrable instance, the resource manager 230 can be further configured to perform the following steps:

[0111] a) determining whether the program data and / or execution instructions include a multi-threaded program;

[0112] b) when the program data and / or execution instructions include a multi-threaded program:

[0113] i) limiting the group of one or more computer-based resources to groups containing multiple cores;

[0114] ii) determining the aggregate technical specifications and performance metrics of the group based at least in part on the aggregate performance of the multiple cores; or

[0115] c) when the program data and / or execution instructions do not include a multi-threaded program:

[0116] i) determining the core or CPU within the group having the highest appropriate technical specifications and performance metrics, including one or more of:

[0117] 1) clock speed of the core or CPU;

[0118] 2) MFLOP rating of the core or CPU; or

[0119] 3) SPEC INT 2006 benchmark of the core or CPU; and

[0120] ii) determining the aggregate technical specifications and performance metrics of the group based at least in part on the core or CPU having the highest appropriate technical specifications and performance metrics.

[0121] When a transmission request is issued, program data and / or execution instructions to a computer-based resource can be determined. Thus, the determined set of resources can depend on whether a multi-threaded program is specified in the program data at the time of the request. As multi-threading technology advances for different applications, the cost to a cloud service provider to provide resources to a deferrable instance can decrease. This can be taken into account by the resource manager in determining how many additional deferrable instances to provide in exchange for a certain deferral period. In turn, this can result in an increase in the value of a deferrable instance to an owner for applications that cannot be threaded.

[0122] Applications

[0123] The deferrable instance can be used for program data and / or execution instructions for any application. Suitable applications include, but are not limited to, the following examples.

[0124] Example 1 : Weather Forecast

[0125] Weather forecasting is an example of an application that has a competitive demand for increasing computing resources. Who has the most accurate long-term weather forecasts has a disproportionately larger market share. Any increase in prediction accuracy will give a huge value to the predictor with the best system. Currently, ten days is considered the practical limit for weather forecasting. Even a small amount of time, such as one day, can have important economic consequences, such as in the field of storm tracking (e.g., hurricanes). Thus, a user can wish to invest in a combination of deferrable instances whose relative computing power will grow as the performance of available computing resources increases. Thus, the program data and / or execution instructions for a deferrable instance applied to weather forecasting can include:

[0126] i) a set of initial conditions for a control quantity;

[0127] ii) a set of boundary conditions for the control quantity;

[0128] iii) a prediction time period for the control quantity; and

[0129] iv) a computational fluid dynamics computer code that causes a set of one or more computer-based resources to determine a flow field for the control quantity over a period of time based on the initial conditions and the boundary conditions.

[0130] The deferrable instance can be configured to set a deferral threshold based at least in part on:

[0131] i) a minimum accuracy required at the end of the prediction time period; and

[0132] ii) technical specifications and performance metrics of the set of computer-based resources that are capable of meeting the minimum accuracy required.

[0133] If the technical specifications and performance metrics of the group are relatively low, the deferrable instance can set a lower delay threshold, as there is little competitive advantage to performing the weather forecasting procedure at the current time. If the technical specifications and performance metrics of the group are relatively high, the deferrable instance can set a higher delay threshold, as the deferrable instance will sacrifice current competitive advantage for additional deferrable instances to be allocated to users.

[0134] The deferrable instance described above can be applied to any application of computational fluid dynamics. This includes flow over airfoils, flow within enclosed spaces, supersonic flow, transonic flow, and three-dimensional turbulent flow. These are all areas of competitive advantage with best performance.

[0135] The deferrable instance described above can also be applied to any modelling / simulation of highly non-linear complex dynamics, such as drug discovery / biological processes. This can be used not only for research, but also for medical emergencies that require real-time prediction of a patient’s response to a particular treatment / drug. Emergency rooms will require capacity, but can not be able to schedule these types of usage. To be prepared, artificial intelligence can be on standby at the hospital when an emergency arises.

[0136] Example 2: Machine Learning

[0137] Machine learning (e.g. artificial intelligence) is another instance of a competing demand for increasing computational resources. A particularly important application of machine learning is object detection using neural networks. The program data and / or execution instructions for a deferrable instance of a neural network for object detection can include:

[0138] i) a set of ground truth data for object detection;

[0139] ii) a neural network comprising a plurality of node weight parameters; and

[0140] iii) neural network training computer code for causing the group of one or more of the computer-based resources to determine optimal values for the node weight parameters.

[0141] The deferrable instance can be configured to set a delay threshold based at least in part on:

[0142] i) a required minimum accuracy for the neural network; and

[0143] ii) technical specifications and performance metrics of the group that are capable of meeting the required minimum accuracy.

[0144] Similar to instance 1, a low delay threshold can be set if the technical specifications and performance metrics of the group are relatively low. Conversely, a high delay threshold can be set if the technical specifications and performance metrics of the group are relatively high.

[0145] Example 3: Proof of Work

[0146] Proof-of-work of a block content of a blockchain is another instance in which there is a competitive demand for increasing computational resources. Program data and / or execution instructions of a deferrable instance having program data for proof-of-work can include:

[0147] i) a block content of a blockchain;

[0148] ii) a current difficulty and an expected validation period associated with the blockchain; and

[0149] iii) proof-of-work computer code for causing the group of one or more of the computer-based resources to determine a nonce based on a nonce and a hash of the block content, such that the hash is less than or equal to the difficulty.

[0150] A deferrable instance can be configured to set a deferral threshold based at least in part on:

[0151] i) a shortest execution time of each hash required to find the nonce within the expected validation period; and

[0152] ii) technical specifications and performance metrics of the group capable of finding the nonce within the expected validation period.

[0153] Groups of auxiliary groups

[0154] When program data includes a multi-threaded program, such as the proof-of-work computer code described above, a resource manager can establish a group comprising a plurality of auxiliary resource managers. Each auxiliary resource manager can be configured to identify an auxiliary group of computer-based resources capable of executing at least one thread of the multi-threaded program. Each auxiliary group of computer-based resources can be described by secondary technical specifications and performance metrics. Technical specifications and performance metrics of the group as a whole can be based at least in part on a sum of the secondary technical specifications and performance metrics of the auxiliary groups.

[0155] Ownership and transfer of deferrable instances

[0156] A deferrable instance can be owned by and transferred between users. Ownership can be recorded in a computer-implemented database, such as a persistent memory of a resource manager 230. A first record ID number can be assigned to a first user. Records in the database can include record ID numbers and a plurality of deferrable instances of a given type owned by the first user and assigned to the record ID number.

[0157] The "type" of a deferrable instance can be defined by the technical specifications and performance indicators 252 of the deferrable instance and the item 210. When a deferrable instance is started, the resource manager can reduce the number of deferrable instances in the first user record by 1. This can happen, for example, after the deferrable instance rejects a query for additional deferrable instances and the resource manager allocates the current resources to the deferrable instance. Having used the deferrable instance, the number of deferrable instances available to the user is reduced by one.

[0158] A deferrable instance can be sold by a first user having a first record ID to a second user having a second record ID. The deferrable instance can be sold for fiat currency or any other consideration. The sale can be a negotiated transaction or a transaction subject to a predetermined exchange rate. The sale steps performed by the resource manager can include:

[0159] a) stored in the persistent memory:

[0160] i) the first record ID assigned to the first user;

[0161] ii) the first number of deferrable instances associated with the first record ID;

[0162] iii) the second record ID assigned to the second user;

[0163] iv) the second number of deferrable instances associated with the second record ID; and

[0164] v) a database comprising an exchange rate of deferrable instances for fiat currency;

[0165] b) receiving confirmation of a payment by the first user to the second user of an amount of the fiat currency;

[0166] c) determining, by the exchange rate, a number of the deferrable instances equal to the amount paid in the fiat currency;

[0167] d) increasing the first number of deferrable instances by the number; and

[0168] e) reducing the second number of deferrable instances by the number.

[0169] The first user and the second user in the market can negotiate the exchange rate. The exchange rate can also be a published number. The published number can be based on multiple transactions in the market. The exchange rate can be updated periodically, for example, every second. Any update period can be used.

[0170] Data stored in persistent memory can be retrieved from the blockchain ledger. Transaction records after transaction execution can be stored in the blockchain ledger as blocks to provide a current, independently verifiable record of ownership of the deferrable instance. The blockchain ledger can be on any blockchain platform, such as Ethereum.

[0171] Resource overbooking

[0172] The cloud service provider 148 can be the second user. The cloud service provider can set the value of the second number of deferrable instances in the second record ID based on the number of current and future resources currently available or likely to be available in the future.

[0173] The second number can be greater than the actual number of current resources currently available. This is called overbooking. The criteria for acceptable overbooking can be based on a prediction of the frequency and conditions under which users launch their deferrable instances. The cloud service provider can control the rate at which users launch their deferrable instances to some extent by offering additional rates of deferrable instances to the current owners of deferrable instances. If the rates are high enough, and if users maintain trust in the cloud service provider's ability to provide resources in the future when they launch deferrable instances, many users can choose to hold their deferrable instances indefinitely. The deferrable instances held indefinitely can be used as a kind of currency, where users trade deferrable instances for other goods and services. Thus, the value of the deferrable instances is backed by the specified computer-based resources that users can launch at any time.

[0174] Deferrable instance token

[0175] To use the deferrable instances to purchase goods and services, the resource manager can include a machine (such as a printer) adapted to produce a first physical token that includes a unique identification number and a number of digits and / or an indication of the type of deferrable instance, the physicality, unalterability, and non-reproducibility of which are at least at the level of the physicality, unalterability, and non-reproducibility of a note of a fiat currency. An exemplary method of producing such tokens is described in U.S. Patent No. 5,393,099, "Anti-Counterfeiting Laminated Currency and Method of Making the Same." The patent is incorporated herein by reference, specifically with respect to the holographic technology described therein. Other suitable forms of tokens include magnetic strips or smart cards (e.g., credit or debit cards) or any other token suitable for storing or transferring the value of a fiat currency.

[0176] Each physical token can represent a large number of deferrable instances of a given type. The "type" of a deferrable instance can be defined by its technical specifications and performance metrics. The method for producing a physical token can include:

[0177] i) receiving from a first user:

[0178] 1) a request to produce the first physical token; and

[0179] 2) an input of a numerical quantity of deferrable instances; and

[0180] 3) a record ID associated with the first quantity of deferrable instances;

[0181] ii) verifying that the first number associated with the first record ID is greater than the numerical quantity;

[0182] iii) producing the physical token containing the indication of the unique identification number and the numerical quantity; and

[0183] iv) reducing the first quantity of deferrable instances associated with the first record ID by the numerical quantity.

[0184] One or more of the unique identification number, quantity, and type of deferrable instances can be embodied in the physical token in a physical, unalterable, and uncopyable form. The type of physical token can include an indication that the deferrable instances are provided by a cloud service provider. Accordingly, there can be a market and exchange rate for exchanging physical tokens issued by different cloud service providers.

[0185] As used herein, "physical, unalterable, and uncopyable" means to be at least as physical, unalterable, and uncopyable as an indication on one or more of a fiat currency, a stored value card (e.g., a debit card), or an electronic currency (e.g., a mobile wallet). For example, holograms are currently considered to be beyond the capabilities of a standard photocopier. They are affixed to the bills of fiat currencies to prevent counterfeiting. Accordingly, the technology suitable for use with fiat currencies, stored value cards, or electronic currencies can be used for deferrable instance tokens.

[0186] The resource manager 230 can alternatively or additionally include a machine for receiving a deposit of a token. The machine can be suitable for performing the following steps:

[0187] i) receiving into the container:

[0188] 1) a first record ID; and

[0189] 2) a physical token including a unique identification number, quantity, and type;

[0190] ii) verifying:

[0191] 1) the first record ID;

[0192] 2) the unique identification number indicated on the token;

[0193] 3) the numerical quantity indicated on the token; and

[0194] 4) the type indicated on the token;

[0195] iii) securely storing or destroying the physical token; and

[0196] iv) increasing the first quantity associated with the first record ID by the numerical quantity.

[0197] The technology suitable for receiving monetary deposits into an automated teller machine is suitable for receiving the deferrable instance tokens.

[0198] The records associated with the deferrable instance token transactions can be stored in any secure manner, such as a block in a blockchain ledger. The SLA for the deferrable instance can also be stored in a block of the blockchain. The SLA can include a smart contract containing executable code. The executable code can control, for example, the acceptance or rejection of queries for additional deferrable instances as described above.

[0199] A manner of storing transactions and / or SLAs is considered secure if it is at least as secure as the manner in which transactions in fiat currency are stored.

[0200] Alternative embodiments

[0201] The embodiments of the deferrable instance presented herein have been described in relation to the allocation of resources based on digital computers. The same embodiments can be applied to the allocation of other physical resources and resources based on services. These resources include resources based on quantum computers, resources based on molecular computers, telecommunications resources, energy resources, and labour resources or other resources that can be developed in the future.

[0202] The functions of the resource manager described herein can be distributed among separate physical devices. For example, the resource manager can include a server for performing the method of allocating a deferrable instance to a current resource and a separate machine for producing a physical token. All of the separate physical devices can be in digital communication with each other, for example, the server is in digital communication with the printer. Thus, the separate physical devices can act as a single device.

[0203] Conclusion

[0204] While the application has been described with reference to one or more particular embodiments, those skilled in the art will understand that various changes can be made and equivalents substituted for elements thereof without departing from the scope of the application. In addition, many modifications can be made to adapt a particular situation or material to the teachings of the application without departing from the central scope thereof. Therefore, it is intended that the application not be limited to the particular embodiment disclosed as the best or only mode contemplated for carrying out this application.

Claims

1. A resource control method based on a network resource manager, comprising the following steps: a) At the current time, read one or more requests from one or more computer-based instances to transfer program data and / or execution instructions to one or more current physical or virtual computer-based resources for execution during a time step, wherein: i) The time step has a duration of a unit time period; ii) At least one of the computer-based instances is a deferred instance; iii) Assign the deferred instance to the first user; iv) The deferable instances include: 1) Technical specifications and performance metrics that substantially match the technical specifications and performance metrics of the original physical or virtual computer-based resources selected when establishing the deferred instance; and 2) Items equal to the unit time period; and v) The deferred instance is configured as follows: 1) Receive a query from the resource manager, the query including: a) The delay period relative to the current time; and b) Assign an additional deferred instance to the first user, wherein the additional deferred instance: i) Has substantially the same technical specifications, performance metrics, and items as the said delayable instance; and ii) It can only be started after the said delay period; 2) To accept or reject the query based on the delay period relative to a delay threshold; and 3) Upon receiving the query, the request of the deferred instance is postponed until after the delay period in order to transfer the program data and / or execution instructions to the one or more current physical or virtual computer-based resources; b) For the time step, determine the total relative load of the request on one or more current physical or virtual computer-based resources; c) When the total relative load is greater than the load threshold, perform the following steps: i) Transmit the query to the deferred instance; ii) Receive an acceptance or rejection of the query from the deferred instance; iii) Upon receiving an acceptance of the query, perform the following steps: 1) Assign the additional deferred instance to the first user; and 2) Delay the transfer of program data and / or execution instructions from the deferred instance to the one or more current physical or virtual computer-based resources until after the delay period; or iv) Upon receiving a rejection of the query, perform the following steps: 1) Transferring the program data and / or execution instructions from the deferred instance to the one or more current physical or virtual computer-based resources for execution during the time step; and d) When the total relative load is less than or equal to the load threshold, perform the following steps: i) Transferring the program data and / or execution instructions from the deferred instance to the one or more current physical or virtual computer-based resources for execution during the time step.

2. The resource control method according to claim 1, further comprising the following steps: a) Upon receiving the rejection of the query: i) Determine whether any of the technical specifications and performance metrics of the current physical or virtual computer-based resources substantially match the technical specifications and performance metrics of the deferred instance. and ii) When the specifications and performance metrics of the current physical or virtual computer-based resources do not substantially match the specifications and performance metrics of the deferred instance, perform the following steps: 1) Identify one or more groups of the computer-based resources having aggregated technical specifications and performance metrics that meet or exceed the technical specifications and performance metrics of the deferred instance; and 2) Transferring the program data and / or execution instructions from the deferred instance to the group of one or more computer-based resources for execution during the time step.

3. The resource control method according to claim 2, wherein: a) The performance metrics of the deferred instance include one or more of the following: i) CPU clock speed; ii) CPU MFLOP rating; iii) CPU SPEC INT 2006 benchmark; iv) Uptime percentage; or v) Memory storage capacity.

4. The resource control method according to claim 3, wherein the step further includes the following step: a) Determine whether the program data and / or execution instructions include a multithreaded program; b) When the program data and / or execution instructions comprise a multithreaded program: i) Restrict the group of one or more computer-based resources to a group containing multiple cores; ii) The polymerization technical specifications and performance metrics of the group are determined at least in part based on the polymerization performance of the plurality of cores; or c) When the program data and / or execution instructions do not include a multithreaded program: i) Identify the core or CPU within the group that has the highest applicable technical specifications and performance indicators, including one or more of the following: 1) The clock speed of the core or CPU; 2) The MFLOP rating of the core or CPU; or 3) The SPEC INT 2006 benchmark for the core or CPU; and ii) The aggregate technical specifications and performance metrics of the group are determined at least in part based on the core or CPU having the highest applicable technical specifications and performance metrics.

5. The resource control method according to claim 3, wherein: a) The program data and / or execution instructions include: i) A set of initial conditions for the control quantity; ii) A set of boundary conditions for the control quantity; iii) the prediction period for the control quantity; and iv) Computational fluid dynamics computer code for enabling one or more of the said computer-based resources to determine the flow field of the control quantity over the said time period based on the initial conditions and the boundary conditions; and b) The deferable instance is configured to set the latency threshold based at least in part on the following: i) The minimum required accuracy at the end of the prediction period; and ii) The technical specifications and performance indicators of the group are able to meet the minimum required accuracy.

6. The resource control method according to claim 5, wherein: a) The flow field described is a weather pattern; and b) The prediction period is 10 days or longer.

7. The resource control method according to claim 3, wherein: a) The program data and / or execution instructions include: i) A set of basic factual data used for object detection; ii) A neural network including weight parameters for multiple nodes; and iii) Neural network training computer code used to enable one or more of the said computer-based resources to determine the optimal values ​​of the node weight parameters; and b) The deferable instance is configured to set the latency threshold based at least in part on the following: i) The minimum required accuracy of the neural network; and ii) The technical specifications and performance indicators of the group are able to meet the minimum required accuracy.

8. The resource control method according to claim 3, wherein: a) The program data and / or execution instructions include: i) Block content of the blockchain; ii) The current difficulty and expected verification cycle associated with the blockchain; and iii) Proof-of-work computer code for causing the group of one or more of the computer-based resources to determine a random number based on a random number and a hash of the block content, such that the hash is less than or equal to the difficulty; and b) The deferable instance can be configured to set the delay threshold based at least in part on the following: i) The shortest execution time for each hash operation required to find the random number within the desired verification period; and ii) The technical specifications and performance indicators of the group, which enable the random number to be found within the expected verification period.

9. The resource control method according to claim 8, wherein: a) The work demonstrates that the computer code includes a multithreaded program, which includes multiple threads; b) The group includes multiple auxiliary resource managers; c) Each of the auxiliary resource managers is configured to identify auxiliary groups of computer-based resources capable of executing at least one of the plurality of threads; d) Each of the aforementioned computer-based resource auxiliary groups is described by secondary technical specifications and performance indicators; and e) The technical specifications and performance indicators of the group are at least partially based on the sum of the secondary technical specifications and performance indicators of the auxiliary group.

10. Persistent storage allocated to a user as a computer-based, deferred instance, comprising: a) Technical specifications and performance metrics that substantially match the technical specifications and performance metrics of the original physical or virtual computer-based resources selected by the first user when establishing the deferred instance. b) item; and c) A set of instructions that, when executed by the microprocessor of the defragmentable instance, cause the defragmentable instance to perform the following steps: i) At the current time, send a request to the computer-based network resource manager to transfer program data and / or execution instructions to one or more current physical or virtual computer-based resources for execution during the time step, wherein: 1) The one or more current physical or virtual computer-based resources having technical specifications and performance indicators that meet or exceed the technical specifications and performance indicators of the deferred instance; and 2) The time step has a duration of a unit time period; ii) Receive a query from the computer-based resource manager, the query including: 1) The delay period relative to the current time; and 2) Assign additional deferred instances to the user, wherein the additional deferred instances are: a) Has substantially the same technical specifications, performance metrics, and items as the said deferred instance; and b) It can only be started after the said delay period; iii) Accept or reject the query based on the delay period relative to the delay threshold; iv) When accepting the query: 1) Deferring the request of the deferred instance after the delay period in order to transfer the program data and / or execution instructions to the one or more current physical or virtual computer-based resources; and 2) Accept the allocation of the additional deferred instance to the user; or v) Upon rejecting the query, transfer the program data and / or execution instructions to one or more current physical or virtual computer-based resources for execution during the time step.

11. The computer-based, deferred instance of permanent storage according to claim 10, wherein: a) The performance metrics stored in the permanent memory of the computer-based, delayable instance include one or more of the following: i) CPU clock speed; ii) CPU MFLOP rating; iii) CPU SPEC INT 2006 benchmark; iv) Uptime percentage; or v) Memory storage capacity.

12. The permanent storage for a computer-based deferred instance as claimed in claim 10, further comprising a unique identifier for the deferred instance.

13. The persistent storage of a computer-based deferred instance according to claim 12, further comprising a physical token, wherein the physical token further comprises the unique identifier of the deferred instance.

14. The computer-based, delayable instance of permanent storage according to claim 10, wherein the user and the first user are different users.

15. The computer-based, deferred instance of permanent memory according to claim 10, further comprising the program data and / or execution instructions.

16. The computer-based, delayable instance of permanent memory according to claim 15, wherein: a) The program data and / or execution instructions include: i) A set of initial conditions for the control quantity; ii) A set of boundary conditions for the control quantity; iii) the prediction period for the control quantity; and iv) Computational fluid dynamics computer code for determining the flow field of the control quantity within the prediction period using the one or more current physical or virtual computer-based resources based on the initial conditions and the boundary conditions; and b) The deferable instance is configured to set the latency threshold based at least in part on the following: i) The minimum required accuracy at the end of the prediction period; and ii) The technical specifications and performance metrics of one or more current physical or virtual computer-based resources.

17. The computer-based, deferred instance of permanent memory according to claim 16, wherein: a) The flow field described is a weather pattern; and b) The prediction period is 10 days or longer.

18. The computer-based, deferred instance of permanent memory according to claim 15, wherein: a) The program data and / or execution instructions include: i) A set of basic factual data used for object detection; ii) A neural network including weight parameters for multiple nodes; and iii) Neural network training computer code used to enable the one or more current physical or virtual computer-based resources to determine the optimal values ​​of the node weight parameters; and b) The deferable instance is configured to set the latency threshold based at least in part on the following: i) The minimum required accuracy of the neural network; and ii) The technical specifications and performance metrics of one or more current physical or virtual computer-based resources.

19. The computer-based, delayable permanent storage according to claim 15, wherein: a) The program data and / or execution instructions include: i) Block content of the blockchain; ii) The current difficulty and expected verification cycle associated with the blockchain; and iii) Proof-of-work computer code used to enable the one or more current physical or virtual computer-based resources to determine a random number based on a random number and a hash of the block content; and b) The deferable instance is configured to set the latency threshold based at least in part on the following: i) The shortest execution time for each hash operation required to find the random number within the desired verification period; and ii) The technical specifications and performance metrics of one or more current physical or virtual computer-based resources.

20. A method performed by a computer-based network resource manager, the method comprising the following steps: a) Store the following items in the first permanent memory: ai) is assigned to the first record ID of the first user; aii) The first number of deferred instances associated with the first record ID; aiii) The second record ID assigned to the second user; aiv) a second number of the deferred instances associated with the second record ID; and The database includes exchange rates for deferred instances used for pricing. b) Receive confirmation of the transfer of the consideration from the first user to the second user; c) Determine the number of the deferred instances equal to the consideration using the exchange rate; d) Increase the first number of the deferable instances by the specified number; and e) Reduce the second number of the deferred instances by the number. Each of the deferable instances includes a second permanent memory, the second permanent memory comprising: A) Technical specifications and performance metrics that substantially match the technical specifications and performance metrics of the original physical or virtual computer-based resources selected when establishing the deferred instance. Option B); and C) A set of instructions, when executed by the microprocessor of the defragmentable instance, cause the defragmentable instance to perform the following steps: Ci) At the current time, a request is sent from the current user to the computer-based network resource manager to transfer program data and / or execution instructions to one or more current physical or virtual computer-based resources for execution during a time step, wherein: Ci1) one or more current physical or virtual computer-based resources having technical specifications and performance indicators that meet or exceed the technical specifications and performance indicators of the defragmentable instance; and The time step described in Ci2) has a duration of a unit time period; Cii) receives a query from the computer-based resource manager, the query including: Cii1) the delay period relative to the current time; and Cii2) assigns an additional deferred instance to the current user, wherein the additional deferred instance is: Ciia has substantially the same technical specifications, performance metrics, and items as the aforementioned deferred instance; and Ciib can only be started after the stated delay period; Ciii) Accept or reject the query based on the delay period relative to the delay threshold; Civ) When receiving the query: Civ1) postpones the request of the deferred instance until after the delay period in order to transfer the program data and / or execution instructions to the one or more current physical or virtual computer-based resources; and Civ2) accepts the allocation of the additional deferred instance to the current user; or When Cv rejects the query, it transfers the program data and / or execution instructions to one or more current physical or virtual computer-based resources for execution during the time step.

21. The method of claim 20, wherein: a) The second user owns or controls one or more of the current physical or virtual computer-based resources; and b) The computer-based network resource manager is configured to perform the following steps: i) Set the exchange rate based on the frequency and conditions of initiating the deferred instance, so that multiple users will choose to hold their deferred instances indefinitely.

22. The method of claim 21, further configured to set a second number of the deferred instances associated with the second record ID to be greater than the current capacity of the one or more current physical or virtual computer-based resources.

23. The method of claim 20, wherein the exchange rate is negotiated in the market by the first user and the second user.

24. The method of claim 20, wherein: a) The first number of the deferred instances is increased by the number; and b) The reduction in the second number of deferred instances is stored in the blockchain as blocks.

25. The method of claim 24, wherein the blockchain is the Ethereum blockchain.

26. The method of claim 20, wherein the consideration is one or more of fiat currency, stocks, or one or more other deferred instances.

27. The method of claim 20, wherein: a) Each of the aforementioned deferred instances is associated with a unique ID; and b) The computer-based network resource manager is configured as follows: i) Store the first number of the deferred instances allocated to the first user. A list of unique IDs associated with the deferred instance assigned to the first user; ii) Store the second quantity of the deferred instance allocated to the second user. A list of unique IDs associated with the deferred instance assigned to the second user; iii) The increase in the first number of deferred instances is performed by recording the unique IDs of the number of deferred instances that have been transferred in the first record; and iv) The reduction in the second number of deferred instances is performed by deleting the unique ID of the number of deferred instances that have been transferred from the second record.

28. The method of claim 27, wherein: a) The computer's resource manager includes a machine for generating physical tokens; b) The first record includes the physical token specifying at least one of the unique IDs; and c) The step of increasing the first number of deferred instances includes generating the physical token by the machine.

29. The method according to claim 28, wherein: a) The physical token is a ticket that includes a hologram.

30. The method of claim 28, wherein the machine has the physical token stored therein.

31. The method according to claim 27, wherein: a) The computer's resource manager includes a storage machine for receiving physical tokens; b) The second record includes the physical token specifying at least one of the unique IDs; and c) The step of reducing the second number of deferred instances includes receiving the physical token stored in the machine.

32. The method of claim 31, wherein the physical token is stored within the machine.

Citation Information

Patent Citations

  • Anti-counterfeiting laminated currency and method of making the same

    US5393099A

  • Cloud computing Web application resource load balancing algorithm based on SLA service grade

    CN105407162A

  • Ultra-lightweight virtual machine-based cloud computing dynamic resource scheduling system and method

    CN106020933A