A low latency, decentralized content storage & delivery network for DDC.


Latest Updates

šŸ”„Ā dCDN Node Alpha Release coming soon!


Project Resources

šŸ“–Ā CDN Service Documentation (v1)


Decentralized Content Delivery Network (dCDN)

To provide content with high-availability and high-speed around the globe, a Content Delivery Network (CDN) is needed. The Cere decentralized CDN (dCDN) service is offered by decentralized CDN nodes. A dCDN node is a gateway from the Web to the DDC. It can act as a web server and provide content to regular HTTP clients such as web browsers.

A new type of DDC Node was introduced in 2022 ā€“ a dCDN ā€“ a lightweight content delivery node with several layers of caching for effective content delivery from the DDC.

As individual dCDN nodes often won't suffice, managed together as larger pools, dCDN clusters have effective routing mechanism to assign the best node for content relaying. The cluster manager handles cluster pools.

Web apps can rely on dCDN nodes to serve various assets or can even be hosted completely on the DDC. dCDN nodes are stateless service providers capable of routing content to and from storage nodes, as well as data replication and caching, for improved latency.

Our geo-routing dCDN node is a network infrastructure component that is used to improve the delivery of content to users across the Internet. It is designed to route traffic to the optimal location to minimize latency and improve performance.

The main benefit of using a geo routing dCDN node is that it allows for faster and more efficient delivery of content to users, regardless of their location. This is achieved by routing traffic through the closest dCDN node to the user, which reduces the distance that the data has to travel and therefore reduces the amount of time it takes to reach the user.

In addition to improving performance, a geo routing dCDN node can also help to reduce the load on servers and improve the overall scalability of a website or application. This is particularly useful for sites that receive a high volume of traffic, as it helps to ensure that the site remains responsive and available to users at all times.

Overall, a geo-routing dCDN node is an essential component of any modern content delivery network, and is an important tool for optimizing the delivery of content to users across the globe.

Core Features

Caching

To serve content as fast as possible and seamlessly integrate with the current CDN architecture and infrastructure, DDC CDN nodes provide multiple ways to cache data.


Approach

CDN should have 2 levels of cache:

  1. The first level is an in-memory cache with the most popular chunks served from this node.
  2. The second level is a key-value DB with links to the recently requested data chunks from storage nodes.

Database Caching

CDN nodes already have an embedded database with O(1) access complexity to the content. To optimize read/write efficiency, dCDN will use an in memory database.

General (In-Memory) Caching

Using an in memory key/value store is a great way to build highly performant applications.

Thereā€™re two approaches to implement:

For the first phase of dCDN development, we have decided to go with Embedded in-memory caching, implemented in Golang, that meets our internal requirements for the following properties:

Object Compression

Before adding content to the cache gzip compression will be used to reduce the content's byte-size.

Cache Metrics

dCDN operations must be measured precisely and verifiably to account for required payment for services provided. Metrics will also be tracked to provide the required information about the current node cache state in runtime. The details of metrics tracked by the dCDN nodes and implementation details are still in development. More information coming soon.

Smart Routing

Cereā€™s CDN Smart Routing is a cutting-edge technology that combines geo/proximity routing with content-based routing to provide an optimized content delivery experience. By utilizing caching, it minimizes loading times and ensures smooth delivery of content, combined with geo/proximity content-based routing and decentralized elastic load balancing.

To distribute the load between nodes, the technology employs decentralized elastic load balancing to guarantee fair usage and prevent node overloading. This avoids bottlenecks and slowdowns and improves user experience.

To achieve this, shared state between nodes is distributed through a p2p gossip protocol. Each node creates a snapshot of its state, including all its vital information, and shares it with the cluster. This real-time sharing allows each node to play the role of a router, providing efficient content routing.

The shared state is easily extendable, allowing for further improvements to the routing algorithm, including the addition of new rules. The cluster can be supplemented with a centralized solution to optimize initial node guessing and reduce the time spent on redirects.





Ā©Ā BY-SA-4.0