Software Quality Attributes ->Reliability



Reliability is the measure of how a product behaves in varying circumstances. AdvOSS achieves reliability in its platforms through the following mechanisms:



a- Heavy Load

Much before the processing capacity is reached at heavier loads; these are the software architectural problems that start manifesting themselves and are a major source of unreliability.

i. Locks:

Most current products run as multi-threaded systems. Many of the reliability problems arise from the dead locks caused by locked shared objects taken in a multi-threaded system. Other reliability problems arise through corruption of shared objects when the right locks are not assumed. AdvOSS has invested heavily into the right middleware called AMPS and builds all of its switching and AAA products over it. AMPS code is written in an Asynchronous way guaranteeing that no locks ever need to be taken. AMPS code has proven to be much more reliable at heavier loads where it keeps behaving in the same way it used to do at lower loads.

ii. Race Conditions:

Race Conditions arise when as a result of multi-threaded execution, a process that started after another one, finishes before it and it is not expected. Such situations give rise to the most subtle bugs in the code which are very difficult to trace and remove. All of the AdvOSS Switching and AAA Products are built over AMPS. AMPS non-blocking execution guarantees that an atomic piece of code is always executed without interruption and this saves many race conditions to appear later.



b- Run-Time Errors

When working against Databases, all AdvOSS Products expose a Transactional API. This API guarantees that all transactions are either completed successfully or rolled back in their entirety when a run-time error occurs and that the Database is always left in a clean state. Even with multiple network elements are involved, the Distributed Transaction Manager in AdvOSS Provisioning Engine guarantees that it is a database that can be 'relied' upon for its integrity of data.



c- Bad Input Data

AdvOSS Products present a Provisioning Layer on top of all Transactions. This layer offers first level of Input sanitation and validates the syntax of all input before it passes it to the Transactional API. The Transactional API checks the semantics and existence of all data and this two layer processing guarantees integrity of data in the database.


Contact Now!

Tel: +1 (416) 900 5593

Suite 401, 50 Burnhamthorpe Road W.
Mississauga, ON L5B 3C2, Canada