Skip to content
David Fischer edited this page Oct 20, 2013 · 2 revisions

Definitions

Service
An OSCIED service can be either scalable TRANSFORMATION (encoding/transcoding), DISTRIBUTION (webserver), STORAGE unit (also called node or charm) or the ORCHESTRATOR, WEBUI unit which normally are fixed to one location.
Transformation service
This is the virtualised service of OSCIEDthat contains one or a collection of transformation units (encoders) located in private and / or public clouds.
Transformation unit
A single transformation unit is a worker dedicated to encoding or transcoding files from a source to an output. A transformation unit can harbour different software encoders. In the current version we adopted FFMPEG and DashCast but this could be other encoding software like GStreamer, VLC, ...
Transformation profile
Predefined encoder options that define which encoder should be addressed and what variables should be used, for example the 'DASH vod_x264_HbbTV' profile contains the parameters for the DashCast encoder to output optimised files for playout to HbbTV services.
Task queue
Mechanism to distribute work across threads or virtual machines. Routing tasks of different processes in OSCIED, for example to send tasks in transformation or publication (distribution) units. This makes possible to handle simple business rules by sending tasks to the right queue depending of your needs. You may create a set of queues called amazon_europe, amazon_us_west, private_geneva, private_tokyo, all_europe, worldwide, vod_encoders, high_bandwidth_distribution and configure your workers to connect to the queues according to their geographical location and other parameters. Finally, send your tasks on the right queue and you're done.
Business rule
External parameter for the scheduling algorithm.
Scheduling algorithm
Takes care of scheduling computing resources (virtual machines, media assets, ...) in order to optimize the operational costs depending of the business rules and various metrics (real-time costs of public cloud resources, ...).
Task
Task queue input (Celery vocabulary) which is a unit of work that needs to be done by a worker.
Worker
This is either a transformation or a publication unit that constantly monitor the task queues for pending tasks.
Bootstrap
To bootstrap an environment means initializing it so that Services may be deployed on it.
Endpoint
The combination of a service name and a relation name.
Environment
An Environment is a configured location where Services can be deployed onto.
Charm
A Charm provides the definition of the service, including its metadata, dependencies to other services, packages necessary, as well as the logic for management of the application.
Repository
A location where multiple charms are stored. Repositories may be as simple as a directory structure on a local disk, or as complex as a rich smart server supporting remote searching and so on.
Relation
Relations are the way in which juju enables Services to communicate to each other, and the way in which the topology of Services is assembled. The Charm defines which Relations a given Service may establish, and what kind of interface these Relations require.
Service
juju operates in terms of services. A service is any application (or set of applications) that is integrated into the framework as an individual component which should generally be joined with other components to perform a more complex goal.
Service Unit
A running instance of a given juju Service. Simple Services may be deployed with a single Service Unit, but it is possible for an individual Service to have multiple Service Units running in independent machines. All Service Units for a given Service will share the same Charm, the same relations, and the same user-provided configuration.
Service Configuration
There are many different settings in a juju deployment, but the term Service Configuration refers to the settings which a user can define to customize the behavior of a Service. The behavior of a Service when its Service Configuration changes is entirely defined by its Charm.
Provisioning Agent
Software responsible for automatically allocating and terminating machines in an Environment, as necessary for the requested configuration.
Machine Agent
Software which runs inside each machine that is part of an Environment, and is able to handle the needs of deploying and managing Service Units in this machine.
Service Unit Agent
Software which manages all the life-cycle of a single Service Unit.