CosmoCDN is a Content Distribution Network service that distributes VoD and live content to client’s devices, as close to the user as possible. With our high performance caching servers and optimized software for video streaming, CosmoCDN improves video quality and delivers content to thousands of concurrent users. CosmoCDN can help customers to deliver their content faster, reduce the audience segmentation, lower network latency, reduce packet loss, and improve security by using tokens and OAuth2.0.
iSize and CosmoCDN have been integrated our backend systems to be able to provide the best service to the customers. In Figure 1, you can see the high-level architecture design which shows the flow of the VoD and Live feed content delivery:
Figure 1: iSize and CosmoCDN High-Level Architecture Diagram
The flow of the content from the source to the user’s device is the following:
- iSize receiving the VoD content as well as Live feed (by utilizing the SRT protocol) and transcoding it by using their patented AI iSize engine.
- iSize sending the VoD ABR content to the storage which is the Origin for CosmoCDN, while the Live feed goes directly to the CosmoCDN edge servers.
- CosmoCDN streaming the content to the end users and the same time caching it in the SSD drives for fast and reliable delivery.
- Customers receiving embedded URL from iSize which includes the player and the CosmoCDN streaming URL. This code can be used in the CMS such as WordPress, Drupal, etc.
- Additionally, there is a tokenized plugin which generates a token to allow watching the content, with this way only authorized users can use the service.
Security is a very important aspect of CosmoCDN’s architecture. Together with our partner iSize we are monitoring all user’s activity and CosmoCDN is using a token to authenticate the users.
As you can see from Figure 2, we are using tokens to secure the requests to our backend servers. The tokens can use a combination of options, such as Client’s IP address, UserID, expire date/time, expiration period, etc.
Figure 2. User requests to CosmoCDN using tokens and OAuth2.0
The flow of the requests from a valid and invalid user is the following:
- A valid user will send a GET request with a valid token to CosmoCDN caching servers.
- If the token is valid, then CosmoCDN will allow accessing the service by forwarding the request to the Origin, in case of Cache MISS, or deliver it from the cache in case of Cache HIT.
- If the user tries to send a rogue request by simulating a token, the caching server will block it by returning 403 “Access Denied” to the client. Each token includes an HMAC key and expiration date/time for maximum security.