understanding networked applications: a first course midterm two review by david g. messerschmitt
Post on 21-Dec-2015
219 views
TRANSCRIPT
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.
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
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
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
Understanding Networked Applications A First Course6
Major topics
• Economics of networked computing– Lock-in– Network effects
Understanding Networked Applications A First Course7
Major topics
• Applications and organizations– rationale for networked applications– acquiring applications– application lifecycle
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
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
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
Understanding Networked Applications A First Course11
Example: automobile internal architecture
Steeringwheel
Accelerator Brake
Powersteering
EnginePowerbrakes
Front wheels Rear wheels
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
Understanding Networked Applications A First Course13
Layering
Existing layers
Elaboration or specialization
Layering builds capability incrementally by adding to what exists
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
Understanding Networked Applications A First Course15
Applications
Integrative services
Generic services
Common representations
Processing Storage Connectivity
Application components
Understanding Networked Applications A First Course16
The basic idea
Diversity of applications
Diversity of processing, storage, andconnectivity technologies
Common services andrepresentationsand structures forinformation
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
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
Understanding Networked Applications A First Course19
Standardization
• De facto standard
• De jure standard
• Industry standard
Understanding Networked Applications A First Course20
Industry structure
• Architecture and industrial organization
• Stovepipes vs layers and implications
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?
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
Understanding Networked Applications A First Course23
Intellectual property
• Trademark
• Trade secret
• Patent
• Copyright
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
Understanding Networked Applications A First Course25
Complementary measures
TechnologyLicensing and enforcement
Casual copierHobbyistCrackerSmall-scale pirateLarge-scale pirate
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?
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
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.)
Understanding Networked Applications A First Course29
Types of network effects
No network: independence
Direct: complementary Indirect : mutual
dependence on some complementary commodity
Understanding Networked Applications A First Course30
Copy protection
satellite (encrypted)
Digital Transmission Copy Protection (DTCP)
satellite receiver
High-bandwidthDigital CopyProtection (HDCP)
(DVI)
(IEEE1394)
Understanding Networked Applications A First Course31
Reasons to distribute
• Performance– interactivity– scalability
• Specialization– simplify administration
• Compartmentalization– data in the organization that administers it
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
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
Understanding Networked Applications A First Course34
Waterfall model: lifecycle of an application
• Conceptualization
• Analysis
• Architecture
• Development
• Integration and testing
• Deployment
• Operations, maintenance and upgrade