One 2 one ERLANG USER CONFERENCE 3rd October 2000.

Slides:



Advertisements
Similar presentations
Express5800/ft series servers Product Information Fault-Tolerant General Purpose Servers.
Advertisements

CLEARSPACE Digital Document Archiving system INTRODUCTION Digital Document Archiving is the process of capturing paper documents through scanning and.
Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Authored by: Seth Gilbert and Nancy Lynch Presented by:
Welcome SMS Welcome SMS in Erlang. Experiences of Rapid Deployment in a GSM network.
The Case for Drill-Ready Cloud Computing Vision Paper Tanakorn Leesatapornwongsa and Haryadi S. Gunawi 1.
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Technical Architectures
COMP106 Assignment 2 – A new interface design Proposal 6.
1 CSSE 477 – A bit more on Performance Steve Chenoweth Friday, 9/9/11 Week 1, Day 2 Right – Googling for “Performance” gets you everything from Lady Gaga.
Reliability Week 11 - Lecture 2. What do we mean by reliability? Correctness – system/application does what it has to do correctly. Availability – Be.
MCITP Guide to Microsoft Windows Server 2008 Server Administration (Exam #70-646) Chapter 14 Server and Network Monitoring.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
PRASHANTHI NARAYAN NETTEM.
Client/Server Architecture
OCR Computing for GCSE © Hodder Education 2011
Hands-On Microsoft Windows Server 2008 Chapter 11 Server and Network Monitoring.
CH 13 Server and Network Monitoring. Hands-On Microsoft Windows Server Objectives Understand the importance of server monitoring Monitor server.
Windows Server 2008 Chapter 11 Last Update
NovaBACKUP 10 xSP Technical Training By: Nathan Fouarge
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
The Migration from Erlang to OTP A case study of a heavy duty TCP/IP client/server application Francesco Cesarini Mickaël.
Selecting and Implementing An Embedded Database System Presented by Jeff Webb March 2005 Article written by Michael Olson IEEE Software, 2000.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Networked File System CS Introduction to Operating Systems.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Chapter 8 Implementing Disaster Recovery and High Availability Hands-On Virtual Computing.
Distributed systems [Fall 2014] G Lec 1: Course Introduction.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Components of Database Management System
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming  To allocate scarce memory resources.
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
What Is Java? According to Sun in a white paper: Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable,
The Alternative Larry Moore. 5 Nodes and Variant Input File Sizes Hadoop Alternative.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
1 Makes Mobile WiMAX Simple Netspan Overview Andy Hobbs Director, Product Management 5 th October 2007.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
CS 326: Functional Programming 1. 2 Erlang – A survey of the language & applications Paper by: Joe Armstrong, Computer Science Laboratory, Ericsson Telecom.
Deadlock Detection and Recovery
Unit 9: Distributing Computing & Networking Kaplan University 1.
CS603 Basics of underlying platforms January 9, 2002.
Install, configure and test ICT Networks
MapReduce: Simplified Data Processing on Large Clusters By Dinesh Dharme.
Review CS File Systems - Partitions What is a hard disk partition?
Activity 1 5 minutes to discuss and feedback on the following:
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
CLIENT SERVER COMPUTING. We have 2 types of n/w architectures – client server and peer to peer. In P2P, each system has equal capabilities and responsibilities.
Final Presentation Smart-Home Smart-Switch using Arduino
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
COMP1321 Digital Infrastructure Richard Henson March 2016.
Networking Objectives Understand what the following policies will contain – Disaster recovery – Backup – Archiving – Acceptable use – failover.
1.4 wired and wireless networks lesson 1
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Business System Development
Hands-On Microsoft Windows Server 2008
Maximum Availability Architecture Enterprise Technology Centre.
File System Implementation
Software Engineering Introduction to Apache Hadoop Map Reduce
Introduction of Week 3 Assignment Discussion
Fault Tolerance Distributed Web-based Systems
CSCE 313 – Introduction to UNIx process
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 15: File System Internals
Database System Architectures
Presentation transcript:

one 2 one ERLANG USER CONFERENCE 3rd October 2000

Use of Erlang for IN Service Creation Sean Hinde IN Services Manager One 2 One

A Bit about Intelligent Networks IN provides a high level abstraction of the functionality of a Telephony Network by defining a set of building blocks which make up a call, and allowing them to be put together in new and interesting ways. It should not be possible to break the network by doing something wrong in an IN service! What is it?

A Bit About Intelligent Networks Architecture and Abbreviations SCP (Service Control Point) MSC/SSF (Mobile Switching Centre/Service Switching Function) C7 INAP Signalling SDP (Service Data Point)

A Bit about Intelligent Networks Put a new box in the network (SCP) and interface this into the existing switching network using a standard (ish) protocol. Provide a GUI based Service Creation Environment for the SCP. The SCP contains the real time data base and logic program which controls the SSF. Optional Service Data Point (SDP) - external database for holding large amounts of customer data How does it work?

Properties of IN and GSM systems Real Time Response - a few millisecs Massively High Availability % Enormous complexity - GSM! Great Flexibility - Service differentiation Is it impossible to achieve all these at once??

One 2 One SDP Implementation One 2 One started out with a home grown SDP implementation which existed before the introduction of IN into the network. Based on a commercial relational database/ big multiprocessor UNIX machine. The SCP interface and some service logic is home grown and coded in straight C. Uses a separate c7 to TCP/IP protocol converter IN Service fails safe if SDP times out

Experiences of own SDP One read failure led to others - multithread! Random explosions in the number of threads - file descriptors.. Commercial Failover never worked CPU load 100% - buying more processors didn’t help - spinlock problem. Still slows down - Full time DBAs to keep it running/optimised.

Experiences of own SDP - 2 Now have team of 20 IT contractors writing C code Conclusion from the telecoms designer perspective was that the experiment was not a great success. Hard and expensive to do well. What was the alternative though? Commercial SDPs not flexible enough SCP internal database not suitable/flexible enough Needed a Telecoms tool running on IT platforms with IT flexibility...

ERLANG Browsing Ericsson Web site - stumbled across a new platform - Open Telecom Platform.. It seemed to have many of the properties we were looking for, but what actually was it?? Downloaded and read more and more Some time approved to investigate further

ERLANG - The learning experience Started out as a non programmer (except for Ericsson SMAS IN SCE) and learned by reading the Erlang book part 1 PDF and the source. Three weeks to get multithreaded TCP/IP server running. Real confidence that code would carry on working. Bought commercial licence and got The Book.

ERLANG - Initial Conclusions The conclusion from the initial investigations was that there was minimal work required to turn Erlang/OTP into a high availability SDP with sophisticated logic. SCP TCP/IP Interface and service logic wrapper Alarm Interface - TCP/IP (now SNMP) Stats Interface - Files Provisioning - Same as SCP Event logging via Socket. Web based monitoring Service logic written in very few lines of easily testable and maintainable code

Current Applications Corporate VPN service Short Code dialling Black/White lists Short code presentation number Intranet based provisioning system (uses enhanced esp) 3 Nodes WAP RADIUS Whole customer base - 24 nodes Authentication with non standard logic mnesia table split into 64 fragments across 8 pairs

Soon to be in service Mini Prepayment system Checks usage at start of call and writes new total at the end Intranet Page to view customers with highest usage Uses several ordered set tables to achieve ordered queries 3 Nodes Number Translation Another with whole customer base - 22 nodes All voic calls will absolutely rely on it. mnesia table split into 64 fragments across 8 pairs

RADIUS Management Customer Details

RADIUS Management TCP/IP Client status

RADIUS Management Current Stats

RADIUS Management System Alarms

Operational Experience First 5 months of WAP system - several node failures, no missed calls. The day after sending the paper for publication - disaster. Major LAN problems affected Solaris/OTP so badly that heart or h/w watchdog kicked in on several nodes. Erlang went into cyclic restart on several nodes due to corrupt SNMP ets disk file preventing clean startup. LAN up and down - so many partitioned network entries we lost count. Failed to recover database consistency despite repeated attempts to set_master_nodes, mnesia deadlock Disk Failure on one machine meant we couldn’t load fallback until this was also fixed.

Lessons from Outage Plan to put a check to stop cyclic restarts. Need to apply an SNMP fix which was already available - and any others which may affect startup. More thought needed about how to fix partitioned networks. Proved that restore from fallback works faultlessly :-) 40 mins for 370M backup file.

Having Said That... Very few problems have been found with the whole system over two years of use. Wishes: Multipath distribution mechanism or something similar. Better memory handling - Occasional excessive memory usage with potentially serious consequences. Mnesia online table transform

Future Plans Plan to continue the use of Erlang/OTP in the Telecoms domain in One 2 One: Mass SMS Sending Tool More functionality for existing systems Tuxedo interface.. Possible migration of existing work into 3G architecture Other odd projects!

Conclusions Erlang/OTP has proved itself to be well up to the task of being an IN Service Data Point. The Erlang language has proved to be an ideal and safe environment for writing and maintaining IN service logic. It has also proved very quick and easy to write simple Internet protocol front ends to mnesia with no software faults found to date. Quote from Support Engineer: “We didn’t know much about how to fix it because it never goes wrong”...

one 2 one