Capacity Allocation
Last updated
Last updated
In the Impossible Cloud Network (ICN), Service Providers (SPs) can request and allocate storage capacity across the network, allowing them to access decentralised cloud services efficiently. The allocation of capacity is handled automatically by the ICN protocol, ensuring that the best-suited Hardware Providers (HPs) within a cluster are selected to meet the SP’s needs.
Hardware Nodes (HNs) within the Impossible Cloud Network are grouped based on a multi-layer hierarchical structure, providing efficiency and flexibility when assigning resources. These layers are structured to ensure that SPs receive the necessary resources, with assignment decisions being based on established rules within the smart contract.
Region: The broadest geographical classification, such as Europe West (EUW).
Zone: Each region is divided into zones, typically representing smaller geographical areas like a city or a group of data centres. Example: Frankfurt within EUW.
Cluster: Each zone is divided into clusters, which group together several hardware nodes (HNs). Clusters, such as FRA-1 or FRA-3, are responsible for handling capacity assignments.
Each hierarchical level serves a specific purpose in the ICN's infrastructure, enabling optimized allocation, pricing, and performance. From a protocol perspective, nodes within each cluster are treated as interchangeable. The protocol handles both reward/fee logic and assignment logic at the cluster level.
Region: EUW
Zone: Frankfurt
Cluster: FRA-1 (2 HNs), FRA-2 (1 HN), FRA-3 (3 HNs)
Clusters, and by extension HNs, are chosen by the protocol based on capacity and other factors, such as reservation price and commitment duration.
The ICN protocol assigns capacity from an HN that meets the requested criteria. The assignment is based on several factors:
Reservation Price: Each HP can set a minimum price for their services, known as the Reservation_Price. HPs with lower reservation prices are more likely to be selected for bookings.
Commitment Duration: HPs that have committed their collateral for longer periods are prioritised in the assignment process.
Cluster-Level Pricing: If multiple HPs meet the criteria, the protocol compares their prices and assigns the booking to the HP with the most favourable price and commitment combination.
\text{Cluster_Price} = \min(\text{Unit_Price}, \text{Max_Cluster_Price})
Cluster-Level Assignment: Capacity is always assigned at the cluster level, meaning the protocol selects the best-suited HP within the same cluster.
Zone-Level Assignment: If the capacity is requested for a zone (e.g., all of Frankfurt), the protocol will first select a cluster and then assign the booking to an HP within that cluster.
Region-Level Assignment: For requests that span a region (e.g., all of Europe West), the protocol selects a zone, then a cluster within that zone, and finally an HP within that cluster.
At no point can an SP select a specific HP or hardware node directly; all selections are made by the ICN protocol based on performance, pricing, and availability.
ICN aggregates available network capacity into its hierarchical layers and makes it accessible for SPs on a monthly basis. Capacity can always be secured for up to 6 months in advance with a minimum time duration of 3 months. However, each HN can extend this period to secure capacity requests that are farther in the future if the HP is willing to take on the additional price risk.
As SPs provide ICNT for reserved capacity upfront, the access fee is fixed at the time of booking. This means that for longer request periods and times farther in the future, the price risk shifts increasingly towards the protocol and ultimately to the HP that fulfills the capacity request.
SPs can query the protocol to read available capacity and current prices for various clusters and zones.
Based on the query results, SPs can decide which capacity they want to book at the listed price.
Once the SP has identified the desired capacity, they submit a booking transaction directly to the protocol. This transaction includes:
The selected capacity details (e.g., Cluster ID, desired size in PB).
The total ICNT cost based on the listed price of the capacity at the time of booking.
The protocol, via smart contract, will:
Validate that the specified capacity is still available.
Confirm that all transaction fields, including price, are correct.
If all criteria are met, the booking is confirmed, and the capacity is allocated to the SP.
The smart contract handles all resource allocation based on the specified booking. It will:
Assign the resources automatically based on the SP’s selection.
Make any necessary decisions about resource assignment where multiple nodes within a cluster may fulfill the request.
Once assigned, the capacity is reserved for the SP, and the transaction is completed.
The entire process is automated by the smart contract, without the need for protocol-level checks or intermediate confirmations. After the transaction is accepted, the capacity is immediately booked, and no further steps are required from the SP.