add initial goals documentation #1
1 changed files with 23 additions and 23 deletions
46
goals.md
46
goals.md
|
|
@ -5,36 +5,36 @@
|
|||
- Use cached segments for seamless seeking and fast resume.
|
||||
- If another user starts playback with the same parameters, reuse existing cached data to minimize transcoding and bandwidth usage.
|
||||
- **CDN Capabilities and P2P Federation**
|
||||
|
blint marked this conversation as resolved
|
||||
- **Lightweight CDN Node:**
|
||||
- Each CDN node runs as a standalone executable binary that can be easily deployed by both technical and non-technical users.
|
||||
- **Lightweight CDN Node:**
|
||||
- Each CDN node runs as a standalone executable binary that can be easily deployed by both technical and non-technical users.
|
||||
- Minimal configuration required:
|
||||
- **Data Directory:** Defines where cached media files are stored.
|
||||
- **Optional Name:** Human-readable CDN identifier (used for UI labeling and dynamic DNS registration).
|
||||
- **Mode:** Can operate as a **shared CDN** (available to multiple users) or a **local-only CDN**.
|
||||
- **Data Directory:** Defines where cached media files are stored.
|
||||
- **Optional Name:** Human-readable CDN identifier (used for UI labeling and dynamic DNS registration).
|
||||
- **Mode:** Can operate as a **shared CDN** (available to multiple users) or a **local-only CDN**.
|
||||
|
||||
- **Secure Connectivity:**
|
||||
- Each CDN connects to the **main metadata server** using a **pre-shared key** for authentication and trust establishment.
|
||||
- This ensures only authorized CDNs can register and exchange data with the main network.
|
||||
- **Secure Connectivity:**
|
||||
- Each CDN connects to the **main metadata server** using a **pre-shared key** for authentication and trust establishment.
|
||||
- This ensures only authorized CDNs can register and exchange data with the main network.
|
||||
|
||||
- **Dynamic Registration & Discovery:**
|
||||
- Upon startup, the CDN connects to the **main metadata server** and automatically registers itself.
|
||||
- The main server assigns a **dynamic DNS name** to each CDN for seamless connectivity.
|
||||
- CDNs periodically update their metadata to report available content, storage capacity, and health status.
|
||||
- **Dynamic Registration & Discovery:**
|
||||
- Upon startup, the CDN connects to the **main metadata server** and automatically registers itself.
|
||||
- The main server assigns a **dynamic DNS name** to each CDN for seamless connectivity.
|
||||
- CDNs periodically update their metadata to report available content, storage capacity, and health status.
|
||||
|
||||
- **Content Awareness & Distribution:**
|
||||
- The main server maintains a global index of all available CDNs and the content cached on each.
|
||||
- Users can choose which CDN should serve their content in the client UI.
|
||||
- **Content Awareness & Distribution:**
|
||||
- The main server maintains a global index of all available CDNs and the content cached on each.
|
||||
- Users can choose which CDN should serve their content in the client UI.
|
||||
- If a requested content is missing from the selected CDN, users have two options:
|
||||
1. **Request content replication:** Copy or prefetch the content from another CDN or the main server.
|
||||
2. **Stream fallback:** Stream the content directly from the main server or the nearest available CDN.
|
||||
1. **Request content replication:** Copy or prefetch the content from another CDN or the main server.
|
||||
2. **Stream fallback:** Stream the content directly from the main server or the nearest available CDN.
|
||||
|
||||
- **Peer-to-Peer (P2P) Sharing:**
|
||||
- CDNs and the main server interconnect via **P2P protocols** to simplify file transfer and reduce reliance on centralized infrastructure.
|
||||
- This enables faster, bandwidth-efficient distribution of popular content between geographically distributed CDNs.
|
||||
- **Peer-to-Peer (P2P) Sharing:**
|
||||
- CDNs and the main server interconnect via **P2P protocols** to simplify file transfer and reduce reliance on centralized infrastructure.
|
||||
- This enables faster, bandwidth-efficient distribution of popular content between geographically distributed CDNs.
|
||||
|
blint marked this conversation as resolved
marcsello
commented
This is not a goal, this is an explanation. This is not a goal, this is an explanation.
|
||||
|
||||
- **Federation & Collaboration:**
|
||||
- Multiple CDNs can share content and metadata within a trusted federation network.
|
||||
- The system can automatically balance or replicate popular content across CDNs to optimize bandwidth usage and ensure availability.
|
||||
- **Federation & Collaboration:**
|
||||
- Multiple CDNs can share content and metadata within a trusted federation network.
|
||||
- The system can automatically balance or replicate popular content across CDNs to optimize bandwidth usage and ensure availability.
|
||||
|
||||
- **Metadata Management:**
|
||||
- Automatically identify and fetch metadata from databases like IMDb, TVDB, etc.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue
I think it might worth including that what content does exactly a CDN node deliver? For starters I think serving only "media" would be good.