This document gives an outline of Tim Ward s work on mobile phone systems 2002 2012.



Similar documents
ENGINEER - DEVELOPER ADVANCED JAVA. 28 years old - 7 years of experience

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

Application of Next Generation Telecom Network Management Architecture to Satellite Ground Systems

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

JAVA/J2EE DEVELOPER RESUME

DTWMS Required Software Engineers. 1. Senior Java Programmer (3 Positions) Responsibilities:

Java/J2EE or Web Developer. Formal Education. Technical knowledge. Spoken Languages

OXAGILE RESUMES SUMMARY OF QUALIFICATIONS TECHNICAL SKILLS SENIOR JAVA SOFTWARE ENGINEER

Windows 2000 / NT 4.0 / 95 / 98, MS-DOS, Suse Operating Systems

Design Approaches of Web Application with Efficient Performance in JAVA

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

AD-HOC QUERY BUILDER

Glassfish, JAVA EE, Servlets, JSP, EJB

Cloud Computing with Windows Azure using your Preferred Technology

Framework Adoption for Java Enterprise Application Development

zen Platform technical white paper

Open Multimedia Platform framework

Network Management System (NMS) FAQ

Getting started with API testing

Customer Bank Account Management System Technical Specification Document

Client/server is a network architecture that divides functions into client and server

Developing ASP.NET MVC 4 Web Applications MOC 20486

Developing ASP.NET MVC 4 Web Applications

Portals, Portlets & Liferay Platform

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

Softage Java Project Manager

CrownPeak Playbook CrownPeak Hosting with PHP

SENIOR WEB DEVELOPER

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

Framework as a master tool in modern web development

NetBeans IDE Field Guide

CrownPeak Java Web Hosting. Version 0.20

ActiveVOS Server Architecture. March 2009

WHITE PAPER. Domo Advanced Architecture

Chapter 6 Wireless and Mobile Networks

Information Technology Services

Project SailFin: Building and Hosting Your Own Communication Server.

PL/SQL. JSP Java Script. Struts JSF EJB 2.1. Hibernate. JBoss RichFaces EJB 3

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop

LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE

GRAD Analytics Advanced price and promotional analysis interface. Reactive UI providing dimensional visibility to marketing analysis.

Software Requirements Specification

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

PRINCIPAL JAVA ARCHITECT JOB ID: WD001087

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Techniques for Scaling Components of Web Application

Case Study. Web Application for Financial & Economic Data Analysis Brainvire Infotech Pvt. Ltd Page 1 of 1

A Tool for Evaluation and Optimization of Web Application Performance

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications

An Oracle White Paper May Ready for Business: Oracle GlassFish Server

Security Testing For RESTful Applications

What Is the Java TM 2 Platform, Enterprise Edition?

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)

Evolva web technology for high efficiency. 12 years in Java web development

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

HMS Industrial Networks. Putting industrial applications on the cloud

Introduction to Oracle WebLogic. Presented by: Fatna Belqasmi, PhD, Researcher at Ericsson

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Title Page. Hosted Payment Page Guide ACI Commerce Gateway

Stelian Dumitrascu.

StruxureWare TM Center Expert. Data

Basic & Advanced Administration for Citrix NetScaler 9.2

Using Rich UI Frameworks for Monitoring and managing 4G Network elements

tibbr Now, the Information Finds You.

Apigee Gateway Specifications

SCA & SDO Implementations Open Source and Vendor Products

Evaluation of Load/Stress tools for Web Applications testing

WISE-4000 Series. WISE IoT Wireless I/O Modules

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

A Brief. Introduction. of MG-SOFT s SNMP Network Management Products. Document Version 1.3, published in June, 2008

Beginning POJOs. From Novice to Professional. Brian Sam-Bodden

SALARY SURVEY Technology. Specialists in technology recruitment Technology

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Web Development with the Eclipse Platform

applications. JBoss Enterprise Application Platform

GlassFish Security. open source community experience distilled. security measures. Secure your GlassFish installation, Web applications,

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Alice. Software as a Service(SaaS) Delivery Platform. innovation is simplicity

HMS Industrial Networks

Monitoring and Managing 4G Network Elements Using Rich UI Frameworks

Configuration Guide BES12. Version 12.3

IBM Rational Web Developer for WebSphere Software Version 6.0

Prof. Dr. Klemens Waldhör Chief Architect

Web Hosting Features. Small Office Premium. Small Office. Basic Premium. Enterprise. Basic. General

Application Express Web Application Development

User Manual. Version Yeastar Technology Co., Ltd.

Transcription:

MOBILE PHONE SYSTEMS Tim Ward, Brett Ward Limited, 11/4/2012 This document gives an outline of Tim Ward s work on mobile phone systems 2002 2012. Details of some work for the security industry are omitted. 2G MANAGEMENT SYSTEMS The diagram shows a much simplified 2G mobile phone network, showing the base station subsystem only with its associated management systems omitting the core network (links to the telephone network, the internet, the SMS system so on). Components to which I have made a significant contribution are listed below. (Note: BTS base transceiver station, what most people think of as a mobile phone mast its associated electronics; BSC base station controller.) BTS Manager The BTS Manager connects to BTSs can manage one or more BTSs at a time. It allows configuration of the BTS to the point where it understs how to get an IP address how to talk to a BTS. This involves the management of some dozens of configuration parameters, a software download function, a network listen 1

function whereby the BTS listens to nearby cells makes various measurements on the signals received. Windows (or any Java host if the crypto functions are not needed) This application is mostly written in Java, with certificate, dongle SSL hling in C++. The user interface uses Swing. Stard GSM protocols to talk to the BTS, with proprietary extensions Flat file,.ini style Full responsibility for design, code, test, document maintain the application over several years. BSC Manager The BSC Manager connects to a single BSC manages that BSC its BTSs (once the BTS have been configured, using BTS Manager, to the point where they can connect to their BSC). It allows creating deleting managed objects hosted in the BSC BTS viewing setting their attributes, instructing the objects to perform various actions, displaying a list of alarms other events as they occur. The BSC Manager contains a number of Wizards for ease of constructing modifying complex configurations involving hundreds of managed objects attributes. It has a full context sensitive Help system much of which is generated by mapping together the XML MIB for the system the Windows templates for the wizard panes. Windows This application is written in C++, with the GUI using MFC. The help system involved coding in HTML, CSS JavaScript. Converting the MIB from XML to C++ involved coding in XSLT. A proprietary telecoms management protocol is used between the BSC Manager the BSC. Early versions used a direct connection to an Access database, later versions keep no local data. Full responsibility for design, code, test, document maintain the application over several years. 2

BSC The BSC is a large complex system with a number of functions. My only contribution is the data design database interface layer. Linux C++ N/A MySQL Evaluated various database systems recommended MySQL for this product. Data design for managed object attribute storage. Code test the data access layer which interfaces between the main BSC application, which works in terms of objects attributes, the database, which works in terms of tables rows, in C++ SQL. This was a non-trivial exercise, as some attributes are quite complex, for example consisting of an array of structures of individual values. System Manager The System Manager manages an entire system consisting of several BSCs. In addition to performing the same management functions as the BSC Manager, but applied to an entire system not just a single BSC, it manages alarms from the various pieces of equipment processes performance data. Whereas the BTS Manager BSC Manager are relatively simple applications which can easily be carried around run on a laptop, the System Manager is a large complex application designed for permanent installation in a NOC (Network Operations Centre). It has a server component which can support several GUI clients. Server Linux. Client any Java platform, typically Windows. All code is in Java, with a variety of support data in XML, property files, so on. The server is an EJB (Enterprise JavaBeans) application running in JBoss. The client is a Swing GUI application. Converting the MIB from XML to Java involved coding in XSLT. EJB protocols are used between client server. CORBA is used between the server the BSCs. 3

MySQL used primarily as the persistence mechanism for EJB, but with quite a lot of additional data manipulation code as just using JBoss out of the box provided neither the performance nor the flexibility needed. Over several years I worked, as one of a team, on pretty well all parts of this product, including low level database access interaction bug fixing performance improvements to low level protocol stack server logic client logic GUI design implementation. As well as designing developing new features, which involved negotiating with the Systems team customer facing functions writing various specification documents, a lot of the software engineering work was refactoring earlier design in order to improve robustness maintainability of the code to improve performance. System Manager Web Client The project involved providing a web client interface to the System Manager Server, using a browser in the client a web server web application bolted on to the server. The client was a single page web application with all interactions taking place via Ajax. (This project was cancelled for non-technical reasons before shipping but proof of concept had been established much of the code written.) Server Linux. Client web browser. The additional server side layer consisted of servlets written in Java hosted in Tomcat, serving both data JavaScript code on dem to the client via Ajax, with Push Ajax used for alarms notifications etc. Minimal code data was initially downloaded to the browser for an instant startup, with other components (eg code for dialog boxes) fetched via Ajax in response to user actions. The client code was HTML, CSS JavaScript, with JSON XML being used as the data transfer languages. Stard HTTP between client server N/A I led this project designed the system wrote much of the code, in all the languages used, with the assistance of a small team. 4

3G MANAGEMENT SYSTEM earlier versions This is a similarly simplified diagram for the 3G management system. The AP (access point) replaces the BTS, the AC (access controller) replaces the BSC. This system had no craft terminal equivalents of the BTS Manager or BSC Manager. Earlier versions of the System Manager were an evolution of the same code base as used for the 2G System Manager my role on this project was similar. The System Manager manages an entire system consisting of several ACs. Its functions are similar to those of the 2G System Manager. The System Manager is a large complex application designed for permanent installation in a NOC (Network Operations Centre). It has a server component which can support several GUI clients. Server Linux. Client any Java platform, typically Windows. All code is in Java, with a variety of support data in XML, property files, so on. The server is an EJB (Enterprise JavaBeans) application running in JBoss. The client is a Swing GUI application. EJB protocols are used between client server. Proprietary telecoms 5

management protocols are used between the server the ACs. MySQL used primarily as the persistence mechanism for EJB, but with quite a lot of additional data manipulation code as just using JBoss out of the box provided neither the performance nor the flexibility needed. Over several years I worked, as one of a team, on pretty well all parts of this product, including low level database access interaction bug fixing performance improvements to low level protocol stack server logic client logic GUI design implementation. As well as designing developing new features, which involved negotiating with the Systems team customer facing functions writing various specification documents, a lot of the software engineering work was refactoring earlier design in order to improve robustness maintainability of the code to improve performance. 6

3G MANAGEMENT SYSTEM later versions Later versions of the 3G System Manager have been reworked using different with the server component now consisting of an expable number of boxes, for scalability, in a high availability configuration, with functions able to fail over from one box to another. I contributed significantly, as one of a team, to the specification of this new implementation, the architecture, the design implementation, in particular of how the various parts of the server running on different boxes interacted communicated with each other with the supporting High Availability platform. The System Manager manages an entire system consisting of several ACs. Its functions are similar to those of the earlier versions of the 3G System Manager with many additional features. The System Manager is a large complex application designed for permanent installation in a NOC (Network Operations Centre). It has a server component which can support several GUI clients. The server component can be spread across several physical servers, both for load sharing scalability for high availability, as functions can fail over from one 7

box to another as necessary. Server Linux, with Pacemaker for high availability. Client any Java platform, typically Windows. All code is in Java, with a variety of support data in XML, property files, so on. The server consists of Spring OSGi components running in Glassfish, with Hibernate for persistence. The client is a Swing GUI application. Java protocols are used between client server (RMI, JMS). Proprietary telecoms management protocols are used between the server the ACs. Various stard telecoms protocols are used between the server other components of the operator s management setup. MySQL used as the persistence mechanism for Hibernate. Major contributions to the design of the architecture for the new system, including how functionality is to be distributed between servers communication systems between servers routing of messaging around the system design, specification coding (using Enterprise Architect XML) of the object modelling for the internals of the server interaction of the components of the server with Pacemaker, the high availability platform. Detailed design documentation of large parts of the central infrastructure for the configuration management parts of the system, coded by others. Coding testing of parts of the system infrastructure, including a component framework, layered on top of OSGi Pacemaker, to remove the need for boiler plate code in the various application level services. 8

NETWORK SIMULATOR External systems Phones BTS Network Simulator Client BTS The Network Simulator combines emulations of the functions of the BSC the core network, allowing for example, calls to be made between mobiles. A client application monitors controls the simulator, an interface can be used for external systems to interact with the simulator. The uses of various versions of the simulator include testing BTS functions demonstrations for marketing purposes security applications. See above Windows C++. The client GUI uses MFC. Stard GSM protocols (GSM 04.08 many others) are used between the BTS the simulator. A proprietary protocol is used between the client the server, between the simulator external systems. Microsoft Access is used to persist configuration logging data. I took over responsibility for developing maintaining an early version of the simulator, developed many new features over several years. This included adding several protocol families to those hled by the simulator, including adding a GPRS function which can supply internet service to the phones via various mechanisms. As well as writing emulations for SGSN GGSN, the GPRS work involved IP 9

packet rewriting complex internal routing interactions with Windows IP configuration routing facilities. 10