understanding networked applications: a first course chapter 7 by david g. messerschmitt

36
Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Post on 21-Dec-2015

216 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications:A First Course

Chapter 7

by

David G. Messerschmitt

Page 2: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications:A First Course

Industry

by

David G. Messerschmitt

Page 3: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course3

Component: A subsystem purchased “as is” from an outside vendor

A component implementation is encapsulated (although often configurable)

Components

Page 4: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course4

Examples of components

• Computer

• Disk drive

• Network

• Network router

• Operating system

• Integrated circuit

• Database management system

Why is a component implementation encapsulated?

Page 5: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course5

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

Page 6: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course6

Outsourcing: A subsystem design is contract to an outside vendor

Responsibility is delegated

Outsourcing

Page 7: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course7

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

Page 8: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course8

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?

Page 9: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course9

Component: A subsystem purchased “as is” from an outside vendor

A component implementation is encapsulated (although often configurable)

Components

Page 10: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course10

Examples of components

• Computer

• Disk drive

• Network

• Network router

• Operating system

• Integrated circuit

• Database management system

Why is a component implementation encapsulated?

Page 11: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course11

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

Page 12: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course12

Systemrequirements

Decomposition from system requirements

Requirements

Assembly from available components

Availablecomponents

Two ways to design a system

Page 13: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course13

Outsourcing: A subsystem design is contract to an outside vendor

Responsibility is delegated

Outsourcing

Page 14: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course14

Three types of software

Application

•Infrastructure:

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

•Components and frameworks:

What is in common among applications

Page 15: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications:A First Course

Standardization

by

David G. Messerschmitt

Page 16: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course16

Outline

• Motivation for standards

• Elements of a standard

• Types of standards

• Process to develop a standard

Page 17: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course17

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

Page 18: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course18

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

Page 19: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course19

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

Page 20: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course20

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

Page 21: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course21

Scope of a standard

• Included:– architecture (reference model)– interfaces (physical, electrical, information)– formats and protocols (FAP)– compliance tests (or process)

• Excluded:– implementation– (possibly) extensions

Page 22: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course22

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

Page 23: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course23

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

Page 24: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course24

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

Page 25: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course25

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

Page 26: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course26

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

Page 27: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course27

Old giving way to the new

Page 28: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course28

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

Page 29: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course29

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

Page 30: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course30

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?

Page 31: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course31

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

Page 32: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course32

Question

• What are examples of standards that serve to tame network effects?– Internet protocols– XML– CORBA– DVD– others?

Page 33: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course33

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

Page 34: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course34

Sanctioning organization(s)

Ongoingcommittees

Participatingcompanies

Voluntary standards process

Page 35: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course35

Approaches

• Consensus– ISO

• Collaborative design– MPEG

• Competitive “bake off”– ITEF

• Coordination of vendors– OMG

Page 36: Understanding Networked Applications: A First Course Chapter 7 by David G. Messerschmitt

Understanding Networked Applications A First Course36

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