Chapter 7 by David G. Messerschmitt Understanding Networked - - PDF document

chapter 7
SMART_READER_LITE
LIVE PREVIEW

Chapter 7 by David G. Messerschmitt Understanding Networked - - PDF document

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


slide-1
SLIDE 1

Understanding Networked Applications: A First Course

Chapter 7

by David G. Messerschmitt

Understanding Networked Applications: A First Course

Industry

by David G. Messerschmitt

slide-2
SLIDE 2

Understanding Networked Applications A First Course

3 Component: A subsystem purchased “as is” from an outside vendor A component implementation is encapsulated (although often configurable)

Components

Understanding Networked Applications A First Course

4

Examples of components

  • Computer
  • Disk drive
  • Network
  • Network router
  • Operating system
  • Integrated circuit
  • Database management system

Why is a component implementation encapsulated?

slide-3
SLIDE 3

Understanding Networked Applications A First Course

5

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 A First Course

6 Outsourcing: A subsystem design is contract to an

  • utside vendor

Responsibility is delegated

Outsourcing

slide-4
SLIDE 4

Understanding Networked Applications A First Course

7

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 A First Course

8

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?
slide-5
SLIDE 5

Understanding Networked Applications A First Course

9 Component: A subsystem purchased “as is” from an outside vendor A component implementation is encapsulated (although often configurable)

Components

Understanding Networked Applications A First Course

10

Examples of components

  • Computer
  • Disk drive
  • Network
  • Network router
  • Operating system
  • Integrated circuit
  • Database management system

Why is a component implementation encapsulated?

slide-6
SLIDE 6

Understanding Networked Applications A First Course

11

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 A First Course

12 System requirements Decomposition from system requirements Requirements Assembly from available components Available components

Two ways to design a system

slide-7
SLIDE 7

Understanding Networked Applications A First Course

13 Outsourcing: A subsystem design is contract to an

  • utside vendor

Responsibility is delegated

Outsourcing

Understanding Networked Applications A First Course

14

Three types of software

Application

  • Infrastructure:

Basic services (communication, storage, concurrency, presentation, etc.)

  • Components and frameworks:

What is in common among applications

slide-8
SLIDE 8

Understanding Networked Applications: A First Course

Standardization

by David G. Messerschmitt

Understanding Networked Applications A First Course

16

Outline

  • Motivation for standards
  • Elements of a standard
  • Types of standards
  • Process to develop a standard
slide-9
SLIDE 9

Understanding Networked Applications A First Course

17

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 A First Course

18

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

slide-10
SLIDE 10

Understanding Networked Applications A First Course

19

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 A First Course

20

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

slide-11
SLIDE 11

Understanding Networked Applications A First Course

21

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 A First Course

22

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

slide-12
SLIDE 12

Understanding Networked Applications A First Course

23

Some issues

  • Once a standard is set

– becomes possible source of industry lock-in;

  • vercoming 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 A First Course

24

Types of standards

  • de jure

– Sanctioned and actively promoted by some

  • rganization with jurisdiction, or by government
  • de facto

– Dominant solution arising out of the market

  • Voluntary industry standards body
  • Industry consortium
  • Common or best practice
slide-13
SLIDE 13

Understanding Networked Applications A First Course

25

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 A First Course

26

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

slide-14
SLIDE 14

Understanding Networked Applications A First Course

27

Old giving way to the new

Understanding Networked Applications A First Course

28

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

slide-15
SLIDE 15

Understanding Networked Applications A First Course

29

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 A First Course

30

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?

slide-16
SLIDE 16

Understanding Networked Applications A First Course

31

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 A First Course

32

Question

  • What are examples of standards that serve

to tame network effects?

– Internet protocols – XML – CORBA – DVD – others?

slide-17
SLIDE 17

Understanding Networked Applications A First Course

33

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 A First Course

34 Sanctioning organization(s) Ongoing committees Participating companies

Voluntary standards process

slide-18
SLIDE 18

Understanding Networked Applications A First Course

35

Approaches

  • Consensus

– ISO

  • Collaborative design

– MPEG

  • Competitive “bake off”

– ITEF

  • Coordination of vendors

– OMG

Understanding Networked Applications A First Course

36

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