How Billing is Calculated

How Billing & Payment works in Tardigrade

Billing is aggregated at the project level. A project is the platform construct used for aggregating usage, calculating billing, invoicing fees, and collecting payment. Currently, user accounts are limited to a single project, but in the future, users will be able to create and manage multiple projects. Although users may only create one single project, multiple users may be added to a project team, and one user may be on more than one project. Within a project, usage is tracked at the bucket level and aggregated for invoicing to the project. Project names are not client-side encrypted so that they may be rendered in the satellite user interface.

The following table lists the types of metered services that appear in billing and usage user interfaces as well as invoices:

Metered Service Type

Metered Units

Increment

Pricing Unit

Price per Pricing Unit

Description

Object Storage

Bytes

GB Hour

GB Month

$0.010 per GB Month

Storage is calculated based on bytes uploaded, including any encryption-based overhead

Object

Count

Object

Per Object Per Month

$0.0000022 per object

Each file uploaded includes a nominal fee associated with metadata overhead

Egress Bandwidth

Bytes

GB

Total Volume

$0.045 per GB

Bandwidth related to object downloads calculated on bytes downloaded including long tail elimination-related bandwidth

The following section describes how the charges listed in the table above are calculated to provide users detailed insights into their cloud storage usage, broken down by storage, egress bandwidth, and number of objects. Note that for billing purposes, usage data is continuously rolled up and aggregated. Billing data is not displayed in real-time in the satellite interface and some time lag should be expected.

Object Storage

Object storage is priced per GB per month in increments of byte hours. The calculation of object storage fees is based on a standard 720-hour month. Actual storage is metered in bytes uploaded. Bytes uploaded include the bytes associated with actual objects plus any nominal overhead associated with encryption. Byte hours are calculated based on the number of hours bytes are stored on the Tardigrade Platform from when an object is uploaded to when it is deleted. The calculated number of bytes is then multiplied by the byte hour price. The byte hour price is derived from the GB month price divided by the standard 720-hour month and base 10 conversion of GB to bytes.

Example

A user uploads a 1TB file. Half way through the month, the user deletes the file. With encryption overhead, the file is stored as 1.001TB. The 1.001TB is accounted for as 1,001,000,000,000 bytes. The file is stored for 360 hours. The file is stored for 360,360,000,000,000 byte hours. The price per GB month is $0.01. The price per GB hour is $0.000013889. The price per byte hour is $0.000000000013889. The total amount charged for the storage is $5.00.

Per Object Fee

Each object stored on the network includes a nominal object fee. The object fee is $0.0000022 Per Object Per Month. Distributed object storage is optimized for large files (several MB or larger - the larger the better). Very small objects generate more overhead with the storage of the metadata for the file than the actual storage of the object. Consequently, we charge a small object fee to account for that overhead. If a user is storing even large numbers of big files, the per object fee will be inconsequential. If a user streams millions of small files, the per object fee will offset the cost associated with the metadata overhead.

The Tardigrade Platform distinguishes between two types of object storage: remote and inline. Remote objects are large enough to erasure code and store the pieces of the file on storage nodes. Inline objects are smaller than the metadata associated with the actual object. In the case of objects that are smaller than the associated metadata, it is more efficient to store the object inline in the satellite metadata database. When storing a large number of tiny files, the best practice is to employ a packing strategy to store larger blocks of small files as a single object.

The per object fee is priced per object per month in increments of object hours. The calculation of per object fees is based on a standard 720-hour month. Actual per object fees are metered in objects uploaded. Per object fee hours are calculated based on the number of hours objects are stored on the Tardigrade Platform from when an object is uploaded to when it is deleted. The number of hours each object is stored on the platform during the month then is multiplied by the object hour price. The object hour price is derived from the object month price divided by the standard 720-hour month and base 10 conversion of GB to bytes.

Example

A user uploads 100,000 one GB files. Half way through the month, the user deletes the files. The 100,000 files are 100,000 objects. The files are stored for 360 hours. The files are stored for 36,000,000 object hours. The price per object month is $0.0000022. The price per object hour is $0.000000003056. The total amount charged for the per object fee is $0.11.

Bandwidth Fee

Download bandwidth, also referred to as egress bandwidth, is priced per GB in increments of bytes downloaded. The calculation of download bandwidth price per byte is derived from the GB download bandwidth divided by the base 10 conversion of GB to bytes. The calculated number of bytes is then multiplied by the byte download bandwidth per byte price.

When an object is downloaded, there are a number of factors that can impact the actual amount of bandwidth used. The download process includes requests for pieces from more than the minimum number of storage nodes required. While only 29 pieces out of 80 are required to reconstitute an object, in order to avoid potential long-tail performance lag from a single storage node, an Uplink will try to retrieve an object from 39 storage nodes. The Uplink will terminate all incomplete downloads in process once 29 pieces are successfully downloaded and the object can be re-encoded. In addition, if a user terminates a download before completion, the amount of data that is transferred might exceed the amount of data that the customer’s application receives. This discrepancy can occur because a transfer termination request cannot be executed instantaneously, and some amount of data might be in transit pending execution of the termination request. This data that was transferred is billed as data download bandwidth.

Example

A user downloads one 1 TB file. Based on the long tail elimination, up to 1.3 TB of download bandwidth may be used. The 1.3 TB of download bandwidth is accounted for as 1,300,000,000 bytes. The price per GB is $0.045. The price per byte is $0.000000045. The total amount charged for the egress is $58.50.