SlideShare una empresa de Scribd logo
1 de 16
Systems Design Experiences
                   or
 Just Some War Stories…

           Abhay Ghaisas
     Product Architect, BMC Software




                                       1
Iridium – Background
   Satellite telephony project
     • 66 polar LEO satellites in six orbital planes
     • Provides telephony and messaging
     • Satellites have straight and cross links for
        communication
    •   System control segment on ground with
        multiple gateways
    •   Software development began in 1995



                                                       2
System Challenges
 Huge software system
 Interacting components

 Frameworks in nascent stage: CORBA

 Immature development processes: no
  UML
   • Experiment with different OOAD methods
   • Invent some of your own
 New language: C++


                                              3
Messaging Subsystem
   Function
     • Get messages (pages) with subscriber id
     • Locate the subscriber from HLR / VLR
     • Choose satellites and schedule of delivery
        • Multiple deliveries form different angles
     • Create transaction record




                                                      4
Messaging Subsystem
   Expectations
     • High throughput
        • Live system to support all messaging
     • High availability
        • Downtime has direct business impact
     • Fault tolerance
        • No single point of failure



                                                 5
Challenges
 No standard way of horizontal scaling
 No off-the-shelf distributed architecture
  • No application servers
 No distributed or clustered databases

 No off-the-shelf components really…




                                              6
Solution
   Build it yourself!




                               7
HA and FT Architecture
 Live and hot stand-by systems
   • Identical H/W and S/W
 Connected over two LANs
   • To avoid single point of failure




                                        8
HA and FT Architecture
   Hand-written demons to maintain health
    • Exchange heart-beat on both LANs
    • Watch for all processes to be alive
    • Declare switch-over in case of failure and
        initiate power recycle
    •   Take over from other system in case of a
        switch-over
    •   Hand shake on start-up to elect active and
        stand-by

                                                 9
HA and FT Architecture
    Cannot lose in-flight data
     • Relay each incoming message to stand-by
       system1
     • Stand-by to hold on to the data till active
       finishes transaction
     • Allows for quick take over by stand-by system in
       case of failure
    Ensure DB replication
      • No feature in DB itself
      • Active to relay DB changes to stand-by
      • Re-play DB changes on stand-by through code
1.   Log Updates

                                                     10
Other Fun Challenges
 Regularly test the limits of C++ compiler
   • C++ far off from standardization
 Test the limits of the source code control
  system




                                          11
Mobile Browser
 For early mobile phones – c. 2000
 No standard operating system
   • No standard memory management
   • No processes / scheduler
   • Memory mapped I/O
   • No file system
 Limited resources
   • Low memory
   • Poor horsepower
   • Limited real estate

                                      12
Re-invent
   How to parse HTML?
    • Cannot use standard parsers – none
        available
    •   Cannot write one with Lex and Yacc – too
        heavy
  •     Hand-write the parser – first principles
 What about data structures?
  • Hand-write all the data structures
  • Use statically allocated memory – manage
        it yourself

                                                   13
Re-invent
    Custom-made display framework
     • Memory mapped display
     • Interfaces that let you draw to the glass
     • Hand written layered XML display
         framework1
     •   Messaging to handle dynamic parts of the
         display
          • Animation, blink, and marquee!

1.   Use brute force

                                                   14
Small World
    Cannot assume a lot of resources
     • Use static limits1
     • Parse only what you can2
     • Display only what gets parsed




1.   Split resources
2.   Shed load

                                        15
Verification
 No devices available for early
  verification
 Components still to be manufactured!

 Some kits, some emulation

 Tap the display memory for automation




                                      16

Más contenido relacionado

La actualidad más candente

Session 7362 Handout 427 0
Session 7362 Handout 427 0Session 7362 Handout 427 0
Session 7362 Handout 427 0jln1028
 
The survey on real time operating systems (1)
The survey on real time operating systems (1)The survey on real time operating systems (1)
The survey on real time operating systems (1)manojkumarsmks
 
PNUTS: Yahoo!’s Hosted Data Serving Platform
PNUTS: Yahoo!’s Hosted Data Serving PlatformPNUTS: Yahoo!’s Hosted Data Serving Platform
PNUTS: Yahoo!’s Hosted Data Serving PlatformTarik Reza Toha
 
I Know What You Did THIS Summer
I Know What You Did THIS SummerI Know What You Did THIS Summer
I Know What You Did THIS SummerMartin Packer
 
What's in the Box?: An Intro to HFM System Utilities
What's in the Box?: An Intro to HFM System Utilities What's in the Box?: An Intro to HFM System Utilities
What's in the Box?: An Intro to HFM System Utilities Alithya
 

La actualidad más candente (7)

Session 7362 Handout 427 0
Session 7362 Handout 427 0Session 7362 Handout 427 0
Session 7362 Handout 427 0
 
The survey on real time operating systems (1)
The survey on real time operating systems (1)The survey on real time operating systems (1)
The survey on real time operating systems (1)
 
PNUTS: Yahoo!’s Hosted Data Serving Platform
PNUTS: Yahoo!’s Hosted Data Serving PlatformPNUTS: Yahoo!’s Hosted Data Serving Platform
PNUTS: Yahoo!’s Hosted Data Serving Platform
 
I Know What You Did THIS Summer
I Know What You Did THIS SummerI Know What You Did THIS Summer
I Know What You Did THIS Summer
 
HBase Snapshots
HBase SnapshotsHBase Snapshots
HBase Snapshots
 
Xen Hypervisor Update 2011
Xen Hypervisor Update 2011Xen Hypervisor Update 2011
Xen Hypervisor Update 2011
 
What's in the Box?: An Intro to HFM System Utilities
What's in the Box?: An Intro to HFM System Utilities What's in the Box?: An Intro to HFM System Utilities
What's in the Box?: An Intro to HFM System Utilities
 

Destacado

Shortness of Breath and back pain
Shortness of Breath and back painShortness of Breath and back pain
Shortness of Breath and back paindonvance
 
NAPCNewsbreak_TOXE_article
NAPCNewsbreak_TOXE_articleNAPCNewsbreak_TOXE_article
NAPCNewsbreak_TOXE_articleEdward Berkovich
 
Astrid correa cancer intervencion
Astrid correa cancer intervencionAstrid correa cancer intervencion
Astrid correa cancer intervencionFrancisco Sepulveda
 
Web membership brochure working file new layout rv1
Web membership brochure working file new layout rv1Web membership brochure working file new layout rv1
Web membership brochure working file new layout rv1Alexandra Chavez
 
Enabling Spatial Decision Support and Analytics on a Campus Scale with FME Te...
Enabling Spatial Decision Support and Analytics on a Campus Scale with FME Te...Enabling Spatial Decision Support and Analytics on a Campus Scale with FME Te...
Enabling Spatial Decision Support and Analytics on a Campus Scale with FME Te...Safe Software
 
CAD Standards by the Use of Civil 3D to Enterprise GIS
CAD Standards by the Use of Civil 3D to Enterprise GISCAD Standards by the Use of Civil 3D to Enterprise GIS
CAD Standards by the Use of Civil 3D to Enterprise GISSafe Software
 
The Latino list poster
The Latino list posterThe Latino list poster
The Latino list posterkimberlywbu
 
Using FME to Automate Lidar QA\QC Processes
Using FME to Automate Lidar QA\QC ProcessesUsing FME to Automate Lidar QA\QC Processes
Using FME to Automate Lidar QA\QC ProcessesSafe Software
 

Destacado (15)

Analisis dafo
Analisis dafoAnalisis dafo
Analisis dafo
 
Shortness of Breath and back pain
Shortness of Breath and back painShortness of Breath and back pain
Shortness of Breath and back pain
 
Heidi lpac-photo07
Heidi lpac-photo07Heidi lpac-photo07
Heidi lpac-photo07
 
YUI 3 菜鳥救星
YUI 3 菜鳥救星YUI 3 菜鳥救星
YUI 3 菜鳥救星
 
Diet
DietDiet
Diet
 
NAPCNewsbreak_TOXE_article
NAPCNewsbreak_TOXE_articleNAPCNewsbreak_TOXE_article
NAPCNewsbreak_TOXE_article
 
Astrid correa cancer intervencion
Astrid correa cancer intervencionAstrid correa cancer intervencion
Astrid correa cancer intervencion
 
Web membership brochure working file new layout rv1
Web membership brochure working file new layout rv1Web membership brochure working file new layout rv1
Web membership brochure working file new layout rv1
 
Enabling Spatial Decision Support and Analytics on a Campus Scale with FME Te...
Enabling Spatial Decision Support and Analytics on a Campus Scale with FME Te...Enabling Spatial Decision Support and Analytics on a Campus Scale with FME Te...
Enabling Spatial Decision Support and Analytics on a Campus Scale with FME Te...
 
CAD Standards by the Use of Civil 3D to Enterprise GIS
CAD Standards by the Use of Civil 3D to Enterprise GISCAD Standards by the Use of Civil 3D to Enterprise GIS
CAD Standards by the Use of Civil 3D to Enterprise GIS
 
The Latino list poster
The Latino list posterThe Latino list poster
The Latino list poster
 
Task 4
Task 4Task 4
Task 4
 
Using FME to Automate Lidar QA\QC Processes
Using FME to Automate Lidar QA\QC ProcessesUsing FME to Automate Lidar QA\QC Processes
Using FME to Automate Lidar QA\QC Processes
 
My screencast workshop4
My screencast workshop4My screencast workshop4
My screencast workshop4
 
DUSS Activities
DUSS ActivitiesDUSS Activities
DUSS Activities
 

Similar a Systems Design Experiences or Just Some War Stories…

Distributed Erlang Systems In Operation
Distributed Erlang Systems In OperationDistributed Erlang Systems In Operation
Distributed Erlang Systems In OperationAndy Gross
 
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInJay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInLinkedIn
 
Life After Sharding: Monitoring and Management of a Complex Data Cloud
Life After Sharding: Monitoring and Management of a Complex Data CloudLife After Sharding: Monitoring and Management of a Complex Data Cloud
Life After Sharding: Monitoring and Management of a Complex Data CloudOSCON Byrum
 
Xldb2011 wed 1415_andrew_lamb-buildingblocks
Xldb2011 wed 1415_andrew_lamb-buildingblocksXldb2011 wed 1415_andrew_lamb-buildingblocks
Xldb2011 wed 1415_andrew_lamb-buildingblocksliqiang xu
 
VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012Eonblast
 
Cpphtp4 ppt 01
Cpphtp4 ppt 01Cpphtp4 ppt 01
Cpphtp4 ppt 01Jao Saloto
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications OpenEBS
 
Multi Layer Monitoring V1
Multi Layer Monitoring V1Multi Layer Monitoring V1
Multi Layer Monitoring V1Lahav Savir
 
Hadoop Operations: Keeping the Elephant Running Smoothly
Hadoop Operations: Keeping the Elephant Running SmoothlyHadoop Operations: Keeping the Elephant Running Smoothly
Hadoop Operations: Keeping the Elephant Running SmoothlyMichael Arnold
 
Lahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile GatewaysLahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile GatewaysLahav Savir
 
Introduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesIntroduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesJason TC HOU (侯宗成)
 
High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2ScribbleLive
 
Large Scale Computing Infrastructure - Nautilus
Large Scale Computing Infrastructure - NautilusLarge Scale Computing Infrastructure - Nautilus
Large Scale Computing Infrastructure - NautilusGabriele Di Bernardo
 
Get the Facts: Oracle's Unbreakable Enterprise Kernel
Get the Facts: Oracle's Unbreakable Enterprise KernelGet the Facts: Oracle's Unbreakable Enterprise Kernel
Get the Facts: Oracle's Unbreakable Enterprise KernelTerry Wang
 
Opening last bits of the infrastructure
Opening last bits of the infrastructureOpening last bits of the infrastructure
Opening last bits of the infrastructureErwan Velu
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Christopher Curtin
 
Deploying Maximum HA Architecture With PostgreSQL
Deploying Maximum HA Architecture With PostgreSQLDeploying Maximum HA Architecture With PostgreSQL
Deploying Maximum HA Architecture With PostgreSQLDenish Patel
 
Architecture to Scale. DONN ROCHETTE at Big Data Spain 2012
Architecture to Scale. DONN ROCHETTE at Big Data Spain 2012Architecture to Scale. DONN ROCHETTE at Big Data Spain 2012
Architecture to Scale. DONN ROCHETTE at Big Data Spain 2012Big Data Spain
 
Introduction to failover clustering with sql server
Introduction to failover clustering with sql serverIntroduction to failover clustering with sql server
Introduction to failover clustering with sql serverEduardo Castro
 

Similar a Systems Design Experiences or Just Some War Stories… (20)

Distributed Erlang Systems In Operation
Distributed Erlang Systems In OperationDistributed Erlang Systems In Operation
Distributed Erlang Systems In Operation
 
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInJay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
 
Life After Sharding: Monitoring and Management of a Complex Data Cloud
Life After Sharding: Monitoring and Management of a Complex Data CloudLife After Sharding: Monitoring and Management of a Complex Data Cloud
Life After Sharding: Monitoring and Management of a Complex Data Cloud
 
Xldb2011 wed 1415_andrew_lamb-buildingblocks
Xldb2011 wed 1415_andrew_lamb-buildingblocksXldb2011 wed 1415_andrew_lamb-buildingblocks
Xldb2011 wed 1415_andrew_lamb-buildingblocks
 
VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012
 
Cpphtp4 ppt 01
Cpphtp4 ppt 01Cpphtp4 ppt 01
Cpphtp4 ppt 01
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Multi Layer Monitoring V1
Multi Layer Monitoring V1Multi Layer Monitoring V1
Multi Layer Monitoring V1
 
Hadoop Operations: Keeping the Elephant Running Smoothly
Hadoop Operations: Keeping the Elephant Running SmoothlyHadoop Operations: Keeping the Elephant Running Smoothly
Hadoop Operations: Keeping the Elephant Running Smoothly
 
Lahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile GatewaysLahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile Gateways
 
Introduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesIntroduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network Issues
 
High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2
 
Large Scale Computing Infrastructure - Nautilus
Large Scale Computing Infrastructure - NautilusLarge Scale Computing Infrastructure - Nautilus
Large Scale Computing Infrastructure - Nautilus
 
Get the Facts: Oracle's Unbreakable Enterprise Kernel
Get the Facts: Oracle's Unbreakable Enterprise KernelGet the Facts: Oracle's Unbreakable Enterprise Kernel
Get the Facts: Oracle's Unbreakable Enterprise Kernel
 
Opening last bits of the infrastructure
Opening last bits of the infrastructureOpening last bits of the infrastructure
Opening last bits of the infrastructure
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
 
Deploying Maximum HA Architecture With PostgreSQL
Deploying Maximum HA Architecture With PostgreSQLDeploying Maximum HA Architecture With PostgreSQL
Deploying Maximum HA Architecture With PostgreSQL
 
Simics - Break the Rules of Product Development
Simics - Break the Rules of Product DevelopmentSimics - Break the Rules of Product Development
Simics - Break the Rules of Product Development
 
Architecture to Scale. DONN ROCHETTE at Big Data Spain 2012
Architecture to Scale. DONN ROCHETTE at Big Data Spain 2012Architecture to Scale. DONN ROCHETTE at Big Data Spain 2012
Architecture to Scale. DONN ROCHETTE at Big Data Spain 2012
 
Introduction to failover clustering with sql server
Introduction to failover clustering with sql serverIntroduction to failover clustering with sql server
Introduction to failover clustering with sql server
 

Más de Persistent Systems Ltd.

Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...Persistent Systems Ltd.
 
Embedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing TechtalkEmbedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing TechtalkPersistent Systems Ltd.
 
Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing TechtalkLife and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing TechtalkPersistent Systems Ltd.
 
Life and Work of Ivan Sutherland | Turing100@Persistent
Life and Work of Ivan Sutherland | Turing100@PersistentLife and Work of Ivan Sutherland | Turing100@Persistent
Life and Work of Ivan Sutherland | Turing100@PersistentPersistent Systems Ltd.
 
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...Persistent Systems Ltd.
 
What is wrong with the Internet? [On the foundations of internet security, fu...
What is wrong with the Internet? [On the foundations of internet security, fu...What is wrong with the Internet? [On the foundations of internet security, fu...
What is wrong with the Internet? [On the foundations of internet security, fu...Persistent Systems Ltd.
 
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...Persistent Systems Ltd.
 
Life and Work of Judea Perl | Turing100@Persistent
Life and Work of Judea Perl | Turing100@PersistentLife and Work of Judea Perl | Turing100@Persistent
Life and Work of Judea Perl | Turing100@PersistentPersistent Systems Ltd.
 
Early History of Fortran: The Making of a Wonder | Turing100@Persistent
Early History of Fortran: The Making of a Wonder | Turing100@PersistentEarly History of Fortran: The Making of a Wonder | Turing100@Persistent
Early History of Fortran: The Making of a Wonder | Turing100@PersistentPersistent Systems Ltd.
 
Life and Work of Dr. John Backus | Turing100@Persistent
Life and Work of Dr. John Backus | Turing100@PersistentLife and Work of Dr. John Backus | Turing100@Persistent
Life and Work of Dr. John Backus | Turing100@PersistentPersistent Systems Ltd.
 
Life and Work of Jim Gray | Turing100@Persistent
Life and Work of Jim Gray | Turing100@PersistentLife and Work of Jim Gray | Turing100@Persistent
Life and Work of Jim Gray | Turing100@PersistentPersistent Systems Ltd.
 
Software Faults, Failures and Their Mitigations | Turing100@Persistent
Software Faults, Failures and Their Mitigations | Turing100@PersistentSoftware Faults, Failures and Their Mitigations | Turing100@Persistent
Software Faults, Failures and Their Mitigations | Turing100@PersistentPersistent Systems Ltd.
 
Life & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentLife & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentPersistent Systems Ltd.
 
Life & Work of Robin Milner | Turing100@Persistent
Life & Work of Robin Milner | Turing100@PersistentLife & Work of Robin Milner | Turing100@Persistent
Life & Work of Robin Milner | Turing100@PersistentPersistent Systems Ltd.
 
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@PersistentLife & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@PersistentPersistent Systems Ltd.
 
Net Neutrality | Turing100@Persistent Systems
Net Neutrality | Turing100@Persistent SystemsNet Neutrality | Turing100@Persistent Systems
Net Neutrality | Turing100@Persistent SystemsPersistent Systems Ltd.
 
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsPersistent Systems Ltd.
 
Life and work of E.F. (Ted) Codd | Turing100@Persistent
Life and work of E.F. (Ted) Codd | Turing100@PersistentLife and work of E.F. (Ted) Codd | Turing100@Persistent
Life and work of E.F. (Ted) Codd | Turing100@PersistentPersistent Systems Ltd.
 
Alan Turing Centenary @ Persistent Systems
Alan Turing Centenary @ Persistent SystemsAlan Turing Centenary @ Persistent Systems
Alan Turing Centenary @ Persistent SystemsPersistent Systems Ltd.
 

Más de Persistent Systems Ltd. (20)

Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
 
Embedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing TechtalkEmbedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing Techtalk
 
Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing TechtalkLife and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
 
Life and Work of Ivan Sutherland | Turing100@Persistent
Life and Work of Ivan Sutherland | Turing100@PersistentLife and Work of Ivan Sutherland | Turing100@Persistent
Life and Work of Ivan Sutherland | Turing100@Persistent
 
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
 
What is wrong with the Internet? [On the foundations of internet security, fu...
What is wrong with the Internet? [On the foundations of internet security, fu...What is wrong with the Internet? [On the foundations of internet security, fu...
What is wrong with the Internet? [On the foundations of internet security, fu...
 
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
 
Life and Work of Judea Perl | Turing100@Persistent
Life and Work of Judea Perl | Turing100@PersistentLife and Work of Judea Perl | Turing100@Persistent
Life and Work of Judea Perl | Turing100@Persistent
 
Early History of Fortran: The Making of a Wonder | Turing100@Persistent
Early History of Fortran: The Making of a Wonder | Turing100@PersistentEarly History of Fortran: The Making of a Wonder | Turing100@Persistent
Early History of Fortran: The Making of a Wonder | Turing100@Persistent
 
Life and Work of Dr. John Backus | Turing100@Persistent
Life and Work of Dr. John Backus | Turing100@PersistentLife and Work of Dr. John Backus | Turing100@Persistent
Life and Work of Dr. John Backus | Turing100@Persistent
 
Life and Work of Jim Gray | Turing100@Persistent
Life and Work of Jim Gray | Turing100@PersistentLife and Work of Jim Gray | Turing100@Persistent
Life and Work of Jim Gray | Turing100@Persistent
 
Software Faults, Failures and Their Mitigations | Turing100@Persistent
Software Faults, Failures and Their Mitigations | Turing100@PersistentSoftware Faults, Failures and Their Mitigations | Turing100@Persistent
Software Faults, Failures and Their Mitigations | Turing100@Persistent
 
System Anecdotes | Turing100@Persistent
System Anecdotes | Turing100@PersistentSystem Anecdotes | Turing100@Persistent
System Anecdotes | Turing100@Persistent
 
Life & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentLife & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@Persistent
 
Life & Work of Robin Milner | Turing100@Persistent
Life & Work of Robin Milner | Turing100@PersistentLife & Work of Robin Milner | Turing100@Persistent
Life & Work of Robin Milner | Turing100@Persistent
 
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@PersistentLife & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
 
Net Neutrality | Turing100@Persistent Systems
Net Neutrality | Turing100@Persistent SystemsNet Neutrality | Turing100@Persistent Systems
Net Neutrality | Turing100@Persistent Systems
 
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
 
Life and work of E.F. (Ted) Codd | Turing100@Persistent
Life and work of E.F. (Ted) Codd | Turing100@PersistentLife and work of E.F. (Ted) Codd | Turing100@Persistent
Life and work of E.F. (Ted) Codd | Turing100@Persistent
 
Alan Turing Centenary @ Persistent Systems
Alan Turing Centenary @ Persistent SystemsAlan Turing Centenary @ Persistent Systems
Alan Turing Centenary @ Persistent Systems
 

Último

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Systems Design Experiences or Just Some War Stories…

  • 1. Systems Design Experiences or Just Some War Stories… Abhay Ghaisas Product Architect, BMC Software 1
  • 2. Iridium – Background  Satellite telephony project • 66 polar LEO satellites in six orbital planes • Provides telephony and messaging • Satellites have straight and cross links for communication • System control segment on ground with multiple gateways • Software development began in 1995 2
  • 3. System Challenges  Huge software system  Interacting components  Frameworks in nascent stage: CORBA  Immature development processes: no UML • Experiment with different OOAD methods • Invent some of your own  New language: C++ 3
  • 4. Messaging Subsystem  Function • Get messages (pages) with subscriber id • Locate the subscriber from HLR / VLR • Choose satellites and schedule of delivery • Multiple deliveries form different angles • Create transaction record 4
  • 5. Messaging Subsystem  Expectations • High throughput • Live system to support all messaging • High availability • Downtime has direct business impact • Fault tolerance • No single point of failure 5
  • 6. Challenges  No standard way of horizontal scaling  No off-the-shelf distributed architecture • No application servers  No distributed or clustered databases  No off-the-shelf components really… 6
  • 7. Solution  Build it yourself! 7
  • 8. HA and FT Architecture  Live and hot stand-by systems • Identical H/W and S/W  Connected over two LANs • To avoid single point of failure 8
  • 9. HA and FT Architecture  Hand-written demons to maintain health • Exchange heart-beat on both LANs • Watch for all processes to be alive • Declare switch-over in case of failure and initiate power recycle • Take over from other system in case of a switch-over • Hand shake on start-up to elect active and stand-by 9
  • 10. HA and FT Architecture  Cannot lose in-flight data • Relay each incoming message to stand-by system1 • Stand-by to hold on to the data till active finishes transaction • Allows for quick take over by stand-by system in case of failure  Ensure DB replication • No feature in DB itself • Active to relay DB changes to stand-by • Re-play DB changes on stand-by through code 1. Log Updates 10
  • 11. Other Fun Challenges  Regularly test the limits of C++ compiler • C++ far off from standardization  Test the limits of the source code control system 11
  • 12. Mobile Browser  For early mobile phones – c. 2000  No standard operating system • No standard memory management • No processes / scheduler • Memory mapped I/O • No file system  Limited resources • Low memory • Poor horsepower • Limited real estate 12
  • 13. Re-invent  How to parse HTML? • Cannot use standard parsers – none available • Cannot write one with Lex and Yacc – too heavy • Hand-write the parser – first principles  What about data structures? • Hand-write all the data structures • Use statically allocated memory – manage it yourself 13
  • 14. Re-invent  Custom-made display framework • Memory mapped display • Interfaces that let you draw to the glass • Hand written layered XML display framework1 • Messaging to handle dynamic parts of the display • Animation, blink, and marquee! 1. Use brute force 14
  • 15. Small World  Cannot assume a lot of resources • Use static limits1 • Parse only what you can2 • Display only what gets parsed 1. Split resources 2. Shed load 15
  • 16. Verification  No devices available for early verification  Components still to be manufactured!  Some kits, some emulation  Tap the display memory for automation 16

Notas del editor

  1. Make actions restartable
  2. Log updates
  3. Use brute force
  4. Use static limit: Split resourcesParse only what you can: Shed load