EE290X, CS294-6, BA 296.5 Strategic Computing and Communications
Document Sample


Understanding Networked Applications:
A First Course
Chapter 7
by
David G. Messerschmitt
Understanding Networked Applications:
A First Course
Industry
by
David G. Messerschmitt
Components
Component: A
subsystem
purchased “as is”
from an outside
vendor
A component
implementation
is encapsulated
(although often
configurable)
Understanding Networked Applications 3 A First Course
Examples of components
• Computer
Why is a component
• Disk drive implementation
• Network encapsulated?
• Network router
• Operating system
• Integrated circuit
• Database management system
Understanding Networked Applications 4 A First Course
Interoperability
• Components are interoperable when they interact
properly to achieve some desired functionality
• Increasingly component interoperability cannot be
dependent on integration, or is dependent on end-
user integration
– PC and peripherals
– Enterprise, inter-enterprise, consumer applications
– Role for standardization
Understanding Networked Applications 5 A First Course
Outsourcing
Outsourcing: A
subsystem design
is contract to an
outside vendor
Responsibility is
delegated
Understanding Networked Applications 6 A First Course
System integration
Architecture subsystem implementation
system integration
• Bring together subsystems and make them
cooperate properly to achieve desired
system functionality
– Always requires testing
– May require modifications to architecture
and/or subsystem implementation
Understanding Networked Applications 7 A First Course
Why system decomposition?
• Divide and conquer approach to containing
complexity
• Reuse
• Consonant with industry structure (unless
system is to be supplied by one company)
• Others?
Understanding Networked Applications 8 A First Course
Components
Component: A
subsystem
purchased “as is”
from an outside
vendor
A component
implementation
is encapsulated
(although often
configurable)
Understanding Networked Applications 9 A First Course
Examples of components
• Computer
Why is a component
• Disk drive implementation
• Network encapsulated?
• Network router
• Operating system
• Integrated circuit
• Database management system
Understanding Networked Applications 10 A First Course
Interoperability
• Components are interoperable when they interact
properly to achieve some desired functionality
• Increasingly component interoperability cannot be
dependent on integration, or is dependent on end-
user integration
– PC and peripherals
– Enterprise, inter-enterprise, consumer applications
– Role for standardization
Understanding Networked Applications 11 A First Course
Two ways to design a system Available
components
System
requirements Requirements
Decomposition from Assembly from available
system requirements components
Understanding Networked Applications 12 A First Course
Outsourcing
Outsourcing: A
subsystem design
is contract to an
outside vendor
Responsibility is
delegated
Understanding Networked Applications 13 A First Course
Three types of software
Application
•Components and frameworks:
What is in common among applications
•Infrastructure:
Basic services (communication, storage,
concurrency, presentation, etc.)
Understanding Networked Applications 14 A First Course
Understanding Networked Applications:
A First Course
Standardization
by
David G. Messerschmitt
Outline
• Motivation for standards
• Elements of a standard
• Types of standards
• Process to develop a standard
Understanding Networked Applications 16 A First Course
Network effects
• The value of a product to the adopter
depends on the number of other adopters
– Direct
• e.g. fax machine
– Indirect, through common content or software
• e.g. Windows, CD music
Understanding Networked Applications 17 A First Course
Lock-in
• Consumer:
– Switching costs make consumer reluctant to
adopt a new product
• Supplier:
– Switching costs or cannibalization of existing
products make supplier reluctant to pursue new
product opportunity
Understanding Networked Applications 18 A First Course
Consumer lock-in
• Prevalence increases as the industry fragments,
and consumer has to purchase complementary
products to get a “complete solution”
– Switching costs discourage moving to complete new
solution
– Supplier with a “better mousetrap” can’t penetrate
market unless product is compatible with existing
complementary product
Understanding Networked Applications 19 A First Course
Purpose of a standard
• Infrastructure:
– Allow products or services from different
suppliers or providers to be interoperable
• Application:
– Enable applications to run across uncoordinated
administrative domains
Understanding Networked Applications 20 A First Course
Scope of a standard
• Included:
– architecture (reference model)
– interfaces (physical, electrical, information)
– formats and protocols (FAP)
– compliance tests (or process)
• Excluded:
– implementation
– (possibly) extensions
Understanding Networked Applications 21 A First Course
Reference model
• Decide decomposition of system
– where interfaces fall
• Defines the boundaries of competition and
ultimately industrial organization
– competition on the same side of an interface
– complementary suppliers on different sides
– hierarchical decomposition at the option of suppliers
– (possibly) optional extensions at option of suppliers
Understanding Networked Applications 22 A First Course
Some issues
• Once a standard is set
– becomes possible source of industry lock-in;
overcoming that standard requires a major
(~10x?) advance
– may lock out some innovation
• In recognition, some standards evolve
– IETF, CCITT (modems), MPEG
– backward compatibility
Understanding Networked Applications 23 A First Course
Types of standards
• de jure
– Sanctioned and actively promoted by some
organization with jurisdiction, or by government
• de facto
– Dominant solution arising out of the market
• Voluntary industry standards body
• Industry consortium
• Common or best practice
Understanding Networked Applications 24 A First Course
Examples
• de jure
– Ada, VHDL
• de facto
– Hayes command set, Windows API, Pentium instruction set,
Ethernet
• Voluntary industry standards body
– OMG/CORBA, IAB/IETF, IEEE
• Industry consortium
– W3C/XML, SET
• Best practice
– Windowed GUI
Understanding Networked Applications 25 A First Course
The changing process
• As technology and industry move more quickly, the global
concensus standards activity has proven too unwieldy
– e.g. ISO (protocols, SGML)
• “New age” standards activities are more informal, less
consensus driven, a little less political, more strategic,
smaller groups
– e.g. OMG, IETF, ATM Forum, WAP
• Programmable/extensible approaches for flexibility
– e.g. XML, Java
Understanding Networked Applications 26 A First Course
Old giving way to the new
Understanding Networked Applications 27 A First Course
Reasons for change
• From government sanction/ownership to
market forces
– Increasing fragmentation
– Importance of time to market
• Greater complexity
– Less physical/performance constraint for either
hardware or software
Understanding Networked Applications 28 A First Course
Lock-in
• (Particularly open) standards reduce consumer
lock-in
– Consumers can mix and match complementary
products
– e.g. IBM (in their day) and Microsoft are perceived to
be lock-in problems, other agendas in addition to
pleasing customers
• Increase supplier lock-in
– Innovation limited by backward compatibility
– e.g. IP/TCP, x86, Hayes command set
Understanding Networked Applications 29 A First Course
Question
• What are some examples of open standards
that reduce consumer lock-in?
– Intranet applications
• WWW, newsgroups, calendar, etc
– Linux
– PC peripherals
• ISA, serial/parallel port, etc
– Others?
Understanding Networked Applications 30 A First Course
Network effects
• Standards can harness network effects to the
industry advantage
– Revenue = (market size) x (market share)
• Increases value to customer
• Increases competition
– Only within confines of the standard
– But forces customer integration or services of a
system integrator
Understanding Networked Applications 31 A First Course
Question
• What are examples of standards that serve
to tame network effects?
– Internet protocols
– XML
– CORBA
– DVD
– others?
Understanding Networked Applications 32 A First Course
Why standards?
• de jure are customer driven to reduce confusion and cost
• de facto standards are sometimes the result of positive
feedback in network effects
• Customers and suppliers like them because they
– increase value
– reduce lockin
• Governments like them because they
– promote competition in some circumstances
– May believe they can be used to national advantage
Understanding Networked Applications 33 A First Course
Voluntary standards process
Sanctioning organization(s)
Ongoing
committees
Participating
companies
Understanding Networked Applications 34 A First Course
Approaches
• Consensus
– ISO
• Collaborative design
– MPEG
• Competitive “bake off”
– ITEF
• Coordination of vendors
– OMG
Understanding Networked Applications 35 A First Course
Why companies participate
• Pool expertise in collaborative design
– e.g. MPEG
• Have influence on the standard
• Get technology into the standard
– Proprietary, with expectation of royalties
– Non-proprietary
• Reduced time to market
Understanding Networked Applications 36 A First Course
Get documents about "