[hydra-dev] Hydra definition

Nick Lewis Nick.Lewis at atltelecom.com
Wed Jun 9 04:33:14 CDT 2010


comments /*inline*/

-- N_L



<DRAFT>


Hydra Definition


Hydra is a distributed, extensible, open-source framework for
integrating multiple telecommunications protocols and technologies to
facilitate the creation of highly scalable telecommunications
applications. 


Hydra Goals


1.	Extensibility
2.	Scalability
3.	Manageability
 /* every software product seems to claim these - can we be a bit more
specific here */
4.	Supportive of High Availability use cases
5.	Provide mechanisms to support deployments which require fault
tolerance


Hydra Architecture


Hydra is built around the concept of fine-grained software components
that focus on very specific functional tasks. It's message-oriented
distributed architecture provides a flexible deployment model, making
Hydra suitable for creating applications that exploit multi-core
processors, operate across dedicated server farms, or provide
cloud-based services. Hydra provides a set of building blocks for
telecommunications applications, and interfaces and services that
support adding new building blocks. 
 /* I like the bit about application i.e. "multi-core processors,
operate across dedicated server farms, or provide cloud-based services".
How this is achieved (i.e. the architecture) is of secondary importance
and can I think be moved to later in the document */

Hydra Services


The Hydra system provides a variety of services, including: an
extensible set of media transcoding services (both audio and video) to
allow interoperability between a wide variety of communication
technologies; Hydra Channel Services, which are an extensible set of
gateways to specific telecommunications technologies, such as SIP, MGCP,
and H.323; Routing Service to determine how communication messages flow
through the system; and Bridging Services that connect pairs or groups
of end users. Hydra Discovery Services allow new services to be
introduced into the system. 
/* Great stuff - this paragraph really defines the product. Lets now
take this to the next level of detail */

How Hydra Achieves it's Goals


Extensibility in Hydra is achieved partially via the nature of it's
architecture, and also via design. By creating fined-grained components
that interoperate via a publicly-defined messaging API, the opportunity
exists at many points for new components to interject themselves into
the system, either as replacements for other components, intermediaries
between components, or observers of the the system interactions. The
system also defines a wide array of publishable events, as well as hook
mechanisms for altering the operation of individual components.
Configurable discovery mechanisms in Hydra are designed to insure that
new technologies and components can be rapidly integrated. 
/* This could perhaps say something about built in support for API
versioning, compatibility detection, dependancy resolution, component
repositories etc*/

Scalability in Hydra is achieved by supporting load-balancing among the
various system components. With each major function implemented in it's
own software module, end-users can make the decision during deployment
how best to allocate their computing resources based on their specific
needs. 
/* There also needs to be some automation of this allocation task in
commonly experienced deployment scenarios */

/* Manageability is going to be vital in something as flexible as hydra
if it is to avoid acquiring a reputation for being over-complicated or
unfinished. As a minimum it needs a simple installation process,
workable defaults and a web based configuration manager */

</DRAFT>

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered through the MessageLabs Virus Control Centre.
_____________________________________________________________________
Disclaimer of Liability
ATL Telecom Ltd shall not be held liable for any improper or incorrect use of the  information described and/or contained herein and assumes no responsibility for anyones use  of the information. In no event shall ATL Telecom Ltd be liable for any direct, indirect,  incidental, special, exemplary, or consequential damages (including, but not limited to,  procurement or substitute goods or services; loss of use, data, or profits; or business  interruption) however caused and on any theory of liability, whether in contract, strict  liability, or tort (including negligence or otherwise) arising in any way out of the use of  this system, even if advised of the possibility of such damage.

Registered Office: ATL Telecom Ltd, Fountain Lane, St. Mellons Cardiff, CF3 0FB
Registered in Wales Number 4335781

All goods and services supplied by ATL Telecom Ltd are supplied subject to ATL Telecom Ltd standard terms and conditions, available upon request.




More information about the asterisk-scf-dev mailing list