This article picks up the previous discussion on the requirements from a multi-tenant solution for the delivery of
user-generated content to designated consumers and delves into the
architecture.
The architecture comprises a cloud infrastructure layer, a
content service virtualization layer, and an Identity Access Management that
provides authentication, authorization, and auditing. These can be integrated
through an inter-cloud messaging bus that facilitates a distributed protocol
for resource management, account management, content management and service
orchestration.
The cloud infrastructure layer spans the public, private and
personal cloud. The purpose of stretching a cloud infrastructure layer over
hybrid IT resources is to form a dynamic content delivery service overlay. This
overlay consists of a content distribution tree which provides 1) the required
Quality-of-Service and 2) has a minimum cost. In addition to the standard
storage and bandwidth required by the overlay, some computing resources are
reserved for content processing, rendering and management functionalities. Each
of these functionalities requires a dedicated application engine. The key
module to pool all the required IT resources together is a distributed
algorithm for cloud resource management. Any message-based consensus protocol
could be used here such as Paxos or Raft*.
The content service virtualization layer is the one
providing a suite of middleware components to support different application
engines. These include:
Content distribution: which provides services for optimally
distributing the content from its source to its consumers. These services are
supported by content caches strategically located through the network. The
distribution component. The distribution component also includes the actual
mechanism and the protocols used for transmitting data over the underlying
network and serving the content to the consumers.
Content processing: which provides services for sourcing and
adapting content based on available bandwidth, user preferences and device
capabilities. Modification and conversion also includes those for wireless
devices.
Content storage: which includes modules that provision
directories and artifacts for storing user generated content with security
specified by the providers. The implementation of an S3 storage is a good
analogy here. Functionalities include distributed secure storage, content
naming, and resolution, and content replication.
Request routing: which provides services for navigating both
clients’ requests to upload their contents and consumers requests to retrieve
the content from the nearest and available location. The selection of this
location depends on both the proximity and the availability of the system
resources.
Service orchestration: which provides services for
integrating different media services for internal and external service entry
points. For example, a social TV application would draw a lot of individual
media services such as a buddy service from social networking and a media
streaming service.
The IAM and Service Bus are left out to be completed as
appropriate for the above application engines.
No comments:
Post a Comment