understanding networked applications: a first course midterm two review by david g. messerschmitt

34
Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Post on 21-Dec-2015

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications:A First Course

Midterm two review

by

David G. Messerschmitt

Page 2: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course2

Copyright notice

©Copyright David G. Messerschmitt, 2000. This material may be used, copied, and distributed freely for educational purposes as long as this copyright notice remains attached. It cannot be used for any commercial purpose without the written permission of the author.

Page 3: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course3

Major topics

• Architecture– decomposition and modularity– granularity and hierarchy– interfaces and data types

• Layering– network, operating system, middleware,

application

Page 4: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course4

Major topics

• Architecture– decomposition and modularity– granularity and hierarchy– interfaces and data types

• Layering– network, operating system, middleware,

application

Page 5: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course5

Major topics

• Interface vs decomposition

• Protocol and user interface

• Challenges for selling information– Intellectual property– Copy protection– Policy issues

Page 6: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course6

Major topics

• Economics of networked computing– Lock-in– Network effects

Page 7: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course7

Major topics

• Applications and organizations– rationale for networked applications– acquiring applications– application lifecycle

Page 8: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course8

Modularity

• A system is modular when it is divided into subsystems (called modules) with “good” properties– Modules embody distinct functional groupings– Hierarchy supports views at different

granularity and scale– Separation of concerns among modules– Reusability

Page 9: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course9

Software:

Allows a system to be understood at different granularity

Hierarchy

Organization:Allows a managerto focus on high-levelobjectives, delegatinglow-level detail

Page 10: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course10

Interfaces

• Focus of module interaction and interoperability

• Two purposes:– informs other modules how to interact– informs implementer as to what has been

promised to other modules

Page 11: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course11

Example: automobile internal architecture

Steeringwheel

Accelerator Brake

Powersteering

EnginePowerbrakes

Front wheels Rear wheels

Page 12: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course12

Module interaction through interfaces

Client Server

action, parameters

returns

Both subsystems areaffected by the interaction

Data customizing an actionand disclosing its results

Page 13: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course13

Layering

Existing layers

Elaboration or specialization

Layering builds capability incrementally by adding to what exists

Page 14: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course14

Communications Storage

Network equipment Storage peripherals

Network software File system

Distributed objectmanagement

Databasemanagement

Application

Middleware

Operatingsystem

Equipment

Simplified infrastructure layering

Page 15: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course15

Applications

Integrative services

Generic services

Common representations

Processing Storage Connectivity

Application components

Page 16: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course16

The basic idea

Diversity of applications

Diversity of processing, storage, andconnectivity technologies

Common services andrepresentationsand structures forinformation

Page 17: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course17

Layer above is a client of thelayer below

Layer below as as a serverto the layer above

….by utilizing the services of the layer below and adding capability

Each layer provides services to the layer above….

Interaction of layers

Page 18: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course18

Web browser

File system

Operatingsystem

File

Network

Message

Collection of packetsFragmentation Assembly

Message

HTML

Screen

Application

Web server

Example

Page 19: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course19

Standardization

• De facto standard

• De jure standard

• Industry standard

Page 20: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course20

Industry structure

• Architecture and industrial organization

• Stovepipes vs layers and implications

Page 21: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course21

Selling information

• Information is the commodity of networked applications (and information technology more generally)

• Information has very different properties from other economic goods

• What are the implications to how information is bought and sold?

Page 22: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course22

Some economic properties

• Extreme supply economies of scale– high creation cost, low replication cost– new models of payment (like free trials,

advertising, and versioning)– unlike other goods, pricing cannot be based on

marginal cost

• Non-rival:– unlike physical goods, you can give away or

sell and still retain

Page 23: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course23

Intellectual property

• Trademark

• Trade secret

• Patent

• Copyright

Page 24: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course24

Limitations to copyright

• Fair use:– quote or review– make limited copies for purposes such as teaching a

class or using different players for the same licensee• Second-use:

– right to convey rights to a third party• Limited to expression of facts or ideas

– does not prevent others from creating independent works based on the same facts or ideas

• Does extend to “derivative” works

Page 25: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course25

Complementary measures

TechnologyLicensing and enforcement

Casual copierHobbyistCrackerSmall-scale pirateLarge-scale pirate

Page 26: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course26

Lock-in

• Often there are switching costs associated with moving from one supplier or application to another (beyond just the direct price charged for the new solution)

• What are some examples of these costs?

Page 27: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course27

Takeaway sound bite

• When the new supplier offers a direct substitute product and has identical costs…

• The asset value of a locked-in customer is equal to that customer’s switching cost

• Lesson for suppliers: encourage switching cost for your customers

• Lesson for customers: beware of switching costs

Page 28: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course28

Wish list

• As an information technology supplier, you want:

1. Lots of complementary products (to increase the value of your product)

2. Lots of competitors for each complementary product (grab more of the value for yourself)

3. No direct competition for your product, or…4. High switching costs for your product (which may

mean for complementary products, which runs counter to 2.)

Page 29: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course29

Types of network effects

No network: independence

Direct: complementary Indirect : mutual

dependence on some complementary commodity

Page 30: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course30

Copy protection

satellite (encrypted)

Digital Transmission Copy Protection (DTCP)

satellite receiver

High-bandwidthDigital CopyProtection (HDCP)

(DVI)

(IEEE1394)

Page 31: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course31

Reasons to distribute

• Performance– interactivity– scalability

• Specialization– simplify administration

• Compartmentalization– data in the organization that administers it

Page 32: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course32

Reasons to distribute (con’t)

• Locality– data near source, presentation near user

• Sharing– maintain in one place, access from many

• Security– access control, selective sharing

• Availability– redundancy

Page 33: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course33

Acquisition options

• To operate it yourself– License “as is”– Outsource its development and license– Develop it internally

• Outsource deployment and operations– ASP: subscribe to the application over the

network

Page 34: Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt

Understanding Networked Applications A First Course34

Waterfall model: lifecycle of an application

• Conceptualization

• Analysis

• Architecture

• Development

• Integration and testing

• Deployment

• Operations, maintenance and upgrade