”Life is too short for imperative programming” John Hughes.

Slides:



Advertisements
Similar presentations
Chapter 3: Planning a Network Upgrade
Advertisements

”Life is too short for imperative programming” John Hughes.
Security in VoIP Networks Juan C Pelaez Florida Atlantic University Security in VoIP Networks Juan C Pelaez Florida Atlantic University.
1 Roch H. Glitho- Ericsson/Concordia UniversityJanuary 2008 INSE 7110 – Winter 2008 Value Added Services Engineering in Next Generation Networks Week #4,
金融工程导论 讲师: 何志刚,倪禾 *
1 PakNetX What is an Internet ACD? Spring 98 VON Conference Bruce Allen, President and CEO PakNetX Corporation
IP Telephony (Article Presentation) by Samir Goswami Source: Rivier College, CS699 Professional Seminar.
12/05/2000CS590F, Purdue University1 Sip Implementation Protocol Presented By: Sanjay Agrawal Sambhrama Mundkur.
Scaling Service Requests Linux: ipvsadm & iptoip.
SIP vs H323 Over Wireless networks Presented by Srikar Reddy Yeruva Instructor Chin Chin Chang.
Lesson 5 – Understanding Network Hardware. Repeaters Hubs and concentrators Bridges Routers Switches Gateways Firewalls Short-haul modems OVERVIEW.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Lesson 1: Configuring Network Load Balancing
Voice over Internet Protocol (VoIP) Training and Development.
Cisco Confidential 1 © 2013 Cisco and/or its affiliates. All rights reserved. Cisco Small Business RV320/RV325 Product Overview.
July 16 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s at all Book :: Chapters 13 Fred Durão.
Load Sharing and Balancing - Saravanan Mathialagan Masters in Computer Science Georgia State University.
Virtual Data Systems, Inc. Value Proposition of IP Telephony Voice over IP Technologies.
Lecturer: Tamanna Haque Nipa
VOIP ENGR 475 – Telecommunications Harding University November 16, 2006 Jonathan White.
NETWORKING COMPONENTS Zach Avis. Hub A hub is a low cost way to connect two computers. A hub can also act as a repeater. When a signal comes from one.
VoIP - Abridged - Stephen R. Nelson November 11,
Terminal Services in Windows Server ® 2008 Infrastructure Planning and Design.
Testing a Media Proxy with … QuickCheck Thomas Arts John Hughes Chalmers/ITU Joakim Johansson Ulf Wiger Ericsson.
How to construct world-class VoIP applications on next generation hardware David Duffett, Aculab.
F5’s BIG-IP Blade Controller - The Essential Software for Blade Server Systems May 2002 John Bigelow Vice President & General Manager, Software Business.
CHAPTER 14 PSTN and VoIP Interworking. Cisco Packet Telephony: Connection Control Call Control Services.
Cooperative Education – Networking Spring 2010 Network Team Saigon Institute of Technology.
1 Distributed Systems : Server Load Balancing Dr. Sunny Jeong. Mr. Colin Zhang With Thanks to Prof. G. Coulouris,
ACM 511 Chapter 2. Communication Communicating the Messages The best approach is to divide the data into smaller, more manageable pieces to send over.
(or what I learned from Neil about software testing) John Hughes Chalmers University/Quviq AB.
 Spring 2011  CSCI 27 Computer Networking Course Overview.
Applied Communications Technology Voice Over IP (VOIP) nas1, April 2012 How does VOIP work? Why are we interested? What components does it have? What standards.
Corporate Firewalls and DMZs By Matt Bertram ISQS 6342 (Spring 2003) Professor John Durrett.
Motorola Internal Use Only Evaluating Erlang for Robust Telecoms Software David King 2004 S 3 Symposium – Henry Nystrom, Phil Trinder, David King.
Emerging Technologies. Emerging Technology Overview  Emerging technologies are those which are just beginning to be adopted or are at the initial acceptance.
Mr. Mark Welton.  A computer network, or simply a network, is a collection of computers and other hardware interconnected by communication channels.
Appendix A UM in Microsoft® Exchange Server 2010.
Ch 1. Computer Networks and the Internet Myungchul Kim
Proxy Server PROXY SERVER. What is a Web Proxy? Proxy Server A proxy is a host which relays web access requests from clients Used when clients do not.
Day11 Devices/LAN/WAN. Network Devices Hub Switches Bridge Router Gateway.
Protection and Restoration Definitions A major application for MPLS.
Cooperative Education – Networking Fall 2009 Network Team Saigon Institute of Technology.
1 MGT 821/ECON 873 Financial Derivatives Lecture 1 Introduction.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Omar A. Abouabdalla Network Research Group (USM) SIP – Functionality and Structure of the Protocol SIP – Functionality and Structure of the Protocol By.
Voice over IP B 林與絜.
Mr C Johnston ICT Teacher
Solutions for Today on the Network of Tomorrow ePort.
Local Area Networks Honolulu Community College
Assignment # 3 Networking Components By: Jeff Long.
Network Models. The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding.
Technical Sales Specialist Software - OS and Applications John R. Moegling Sr. Systems Engineer.
SIP & How It Relates To YOUR Business. Jeff S. Olson Director of Marco Carrier Services David Bailey-Aldrich Technology.
Rohde & Schwarz Topex TOPEX IP Radio Gateway July 2011.
Redundant Bricks Configuration Example Lucent Security Products Configuration Example Series.
HOW TO GUIDE: INEXPENSIVE INTERNET PROTOCOL TELEPHONY SOLUTION Created by: Cameron Adkisson Eastern Kentucky University
Rohde & Schwarz Topex TOPEX SoftSwitch July 2011.
SDN & NFV Driving Additional Value into Managed Services.
VoIP ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
MISY 3312: Introduction to Telecommunications Summer 2012 VoIP
Chapter 7 Internet Service Providers: Hosting Your Web Site
Local Area Networks Honolulu Community College
TTCN Case Study - InterWatch
Class 4 & Class 5 Softswitch
The OSI 7 Layer Model.
Gary Thom President, Delta Information Systems, Inc.
Testing Telecoms Software with QuickCheck
OSI Model The Seven Layers
Presentation transcript:

”Life is too short for imperative programming” John Hughes

Software Crisis, 1968—today Software project outcomes

In Large Companies

Technology adoption life cycle

The Erlang Story 1986—Erlang emerges at Ericsson –Functional language –Extra support for concurrency & fault tolerance Early 1990s—small products 1996 –Open Telecoms Platform (higher-order functions for robust telecom systems) –AXD 301 project starts

The AXD 301 ATM switch (telephone backbone) Born out of a failed project! 1,5 MLOC Erlang Seven nines reliability 4-10x better productivity, quality

Erlang Story II 1998—Erlang banned for new projects 1998—Open source Erlang 1998—Bluetail –Jane Walerud VD –Mail robustifier, Web prioritizer

SSL Accelerator Alteon WebSystems' SSL Accelerator offers phenomenal performance, management and scalability. –Network Computing

Kreditor Order 100:- Order details 97:- invoice 100:-

Founded May 2006 Selling… QuickCheck! –Extra feature: simplifies failing tests

Session Border Gateway: A Firewall for IP telephony Media Proxy Opens media pin- holes for calls in progress 2x10G Ethernet Hardware for packet forwarding Media Gateway Controller Monitors signalling traffic; opens and closes pinholes 2x1G Ethernet Linux ”blade” processor

Session Border Gateway: A Firewall for IP telephony Media Proxy Media Gateway Controller ITU standard protocol H.248 (Megaco) 150KLOC Erlang InterWork Description defines a subset

Session Border Gateway: A Firewall for IP telephony Media Proxy QuickCheck

Megaco Commands Context

Megaco Commands Context Termination Add

Megaco Commands Context Termination Add

Megaco Commands Context Termination Stream Modify

Megaco Commands Context Termination Stream Subtract

Megaco Commands Context Termination Stream Subtract

Megaco Commands Context

Command Sequences Normal sequence: Add Modify Add Modify Subtract We wanted to test other sequences that, according to the IWD, should work.

Add/Modify Error Modify assumes there are already two terminations in the context Same bug found in virtually every run! New ”bug precondition” needed for Modify Add Modify

Add/Subtract Error There one day, gone the next… This bug had just been found and fixed by the development team Add Subtract

Add/Add/Modify Error If the terminations have different numbers of streams Same underlying problem: Modify assumes each stream has two ends… Add Modify Add

Add/Add/Sub/Add… Error Extracted from a test case 160 commands long Caused by corrupt data- structures after the first Subtract Add Subtract Add Subtract

Derivatives trading in New York 10 Microsoft shares Option to buy ● for $100 anytime In 2007 Option to sell ● for $10 in Nov 2006

How do they do it? C++ plugins

Simon Peyton-Jones: Financial Contracts in Haskell anytime :: Contract -> Contract -- Acquire the underlying contract at -- any time before it expires (but -- you must acquire it)  The option to acquire 10 Microsoft shares, for $100, anytime between t1 and t2 years from now golden_handcuff = anytime shares shares = zero `or` (scaleK -100 (one Dollar) `and` scaleK 10 (one MSShare)) anytime : Choose when MS shares are a “currency” or : Choose whether

New Approach C++ plugins Haskell contract models

Functional programming on Wall Street –Proprietary trading –60 people –OCaml primary development language

The Cat Among the Pigeons

Two cores, each hyperthreaded