Reliability Tools and Options Professor Ken Birman Dept. of Computer Science Cornell University
Last Time <ul><li>We saw that reliability is a complex spectrum of properties and tradeoffs </li></ul><ul><li>We developed...
Today <ul><li>Last of three lectures on reliability </li></ul><ul><li>Focus on technologies in more depth </li></ul><ul><u...
Technologies <ul><li>Communication Tools: </li></ul><ul><ul><li>TCP/IP  </li></ul></ul><ul><ul><li>Remote Procedure Call (...
Sorting Things Out <ul><li>Computer scientists like to think in terms of big chunks of technology that they classify into ...
Examples of Layers Network Protocols Operating System Server Technologies Middleware Applications
What Makes a Layer? <ul><li>Layer uses stuff below it but nothing from above it </li></ul><ul><li>And the layer offers a s...
Examples of Layers Network Protocols Operating System Server Technologies Middleware Applications
Operating System <ul><li>Major ones are </li></ul><ul><ul><li>Windows (several varients), from Microsoft </li></ul></ul><u...
Operating System <ul><li>It runs the hardware for one computer </li></ul><ul><ul><li>Also supports “processes”, manages me...
Protocols <ul><li>These are little programs that run in applications or in the OS </li></ul><ul><li>They work by sending m...
Representative Protocols? <ul><li>Just look at two examples to get the feel </li></ul><ul><li>Don’t worry about the detail...
Communication Tools: TCP/IP <ul><li>The basic communication technology of the Web </li></ul><ul><li>Works like a telephone...
TCP sliding window m i+k   m i+k-1  ....  m i+k+1 -  -  m i+k-2  - m i+k-3  ...  m i sender provides data receiver consume...
TCP/IP: Pros and Cons <ul><li>Simple, widely supported way to communicate </li></ul><ul><li>Overcomes packet loss, duplica...
Communication Tools: RPC <ul><li>Idea is that each program declares a set of actions it can perform – “methods” that can b...
The basic RPC protocol client server “ binds” to server registers with name service
The basic RPC protocol client server “ binds” to server prepares, sends request registers with name service  receives requ...
The basic RPC protocol client server “ binds” to server prepares, sends request registers with name service  receives requ...
The basic RPC protocol client server “ binds” to server prepares, sends request registers with name service  receives requ...
The basic RPC protocol client server “ binds” to server prepares, sends request unpacks reply registers with name service ...
RPC Summary <ul><li>Basic technology in most “client-server” situations with exception of the Web </li></ul><ul><li>Can hi...
When are they used? <ul><li>TCP is used to transfer “objects” </li></ul><ul><ul><li>Usually objects are reasonably large <...
Examples of Layers Network Protocols Operating System Middleware Applications Server Technologies
Concept Of Middleware <ul><li>Middleware is any kind of a software tool that runs over a basic infrastructure </li></ul><u...
Communication Middleware Example: Multicast <ul><li>Broad term covering a variety of one-many communication tools </li></u...
Virtual Synchrony Model crash G 0 ={p,q}  G 1 ={p,q,r,s}  G 2 ={q,r,s}  G 3 ={q,r,s,t} p q r s t r, s request to join r,s ...
Communication Middleware Example: Publish/Subscribe <ul><li>Packaging of one-many communication tools into an elegant, eas...
Conceptually, a message “bus” <ul><li>Boxes are publishers (red / green subjects) </li></ul><ul><li>Circles are subscriber...
Conceptually, a message “bus” <ul><li>Boxes are publishers (blue / green subjects) </li></ul><ul><li>Circles are subscribe...
Conceptually, a message “bus” <ul><li>Boxes are publishers (blue / green subjects) </li></ul><ul><li>Circles are subscribe...
Publish/Subscribe Pros and Cons <ul><li>Conceptually very simple, popular </li></ul><ul><li>But in practice the infrastruc...
When Are They Used? <ul><li>Process groups? </li></ul><ul><ul><li>New York Stock Exchange, Swiss Exchange </li></ul></ul><...
Examples of Layers Network Protocols Operating System Server Technologies Middleware Applications
Servers <ul><li>Many modern technologies follow a  client-server  programming model </li></ul><ul><ul><li>You are the clie...
Servers <ul><li>Web servers </li></ul><ul><li>Database servers </li></ul><ul><li>Weblogic: a fancy web server that combine...
Servers <ul><li>Secretly, most servers are a database perhaps extended to know about a specific category of application or...
Transactions and Databases <ul><li>One of the very big, well supported technologies </li></ul><ul><li>Associated with data...
ACID Properties <ul><li>A tomicity: entire group of actions is treated as one “atomic unit” </li></ul><ul><li>C oncurrency...
Pros and Cons <ul><li>Mixture of a powerful model with powerful, comprehensive vendor support </li></ul><ul><ul><li>More o...
Trends in Systems <ul><li>Enough on layers  </li></ul><ul><li>In previous lectures looked at business issues associated wi...
Ways of posing questions <ul><li>As a business question: </li></ul><ul><ul><li>I want to get rich, what should I invest in...
Looking for Exciting Change <ul><li>Our goal is to anticipate dramatic, unexpected change </li></ul><ul><li>Is there a met...
Traditional Areas <ul><li>File systems </li></ul><ul><li>Communications </li></ul><ul><li>Naming of objects, interoperatio...
Emerging areas <ul><li>Scalable service management </li></ul><ul><li>Tools for hosting data </li></ul><ul><li>Mechanisms f...
Where are the big opportunities? <ul><li>We could review these one topic at a time, but that might get dull </li></ul><ul>...
Technology trends Source: Scientific American, Sept. 1995 Note tremendous growth in WAN speeds
Typical latencies (milliseconds) WAN, disk latencies are fairly constant due to  physical limitations
O/S latency: the most expensive overhead on LAN communication!
Suggests? <ul><li>Notice that revolutionary opportunity is triggered by technical discontinuity </li></ul><ul><li>To predi...
Recent revolutions <ul><li>Internet became much faster, more widely available </li></ul><ul><li>Operating systems became o...
Other examples? <ul><li>For a long time, PCs were slow and balky, but very cheap </li></ul><ul><li>But around 1990 technol...
Other examples? <ul><li>We used to be short on memory hence relied heavily on disks </li></ul><ul><li>But around 1985 memo...
Looking to the future? <ul><li>Major discontinuities: </li></ul><ul><ul><li>Move from PC to PDA/telephone hybrids </li></u...
Want to have an impact? <ul><li>Trick is to zero in on one of these areas </li></ul><ul><li>Be an early player </li></ul><...
Mobile Trends <ul><li>Nomadicity: increasingly powerful nomadic devices </li></ul><ul><ul><li>Anticipate fusion of web bro...
Mobile trends <ul><li>Communications standards </li></ul><ul><ul><li>We already are seeing widespread use of wireless ethe...
Mobile trends <ul><li>Power conservation </li></ul><ul><ul><li>Also better understood </li></ul></ul><ul><ul><li>Flexibili...
Mobile trends <ul><li>Suggests a future in which </li></ul><ul><ul><li>We’ll move from place to place with our computing c...
Mobile trends <ul><li>But this also points to a missing link: exciting research opportunity </li></ul><ul><ul><li>How to d...
Illustrating… <ul><li>A discontinuous development </li></ul><ul><ul><li>From fixed infrastructure to mobile wireless one <...
Driving… <ul><li>New ideas in file systems </li></ul><ul><ul><li>How should we do file systems for mobile and wireless sys...
Dangers <ul><li>It is easy to overreach </li></ul><ul><ul><li>People tend to try to do 10 things all at the same time… </l...
But we’re out of time… <ul><li>Take-aways from this lecture series? </li></ul><ul><li>Business roles in eCommerce </li></u...
What should I know? <ul><li>If you want to remember just one thing… </li></ul><ul><ul><li>Remember the French air traffic ...
Upcoming SlideShare
Loading in …5
×

[ppt]

250
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
250
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[ppt]

  1. 1. Reliability Tools and Options Professor Ken Birman Dept. of Computer Science Cornell University
  2. 2. Last Time <ul><li>We saw that reliability is a complex spectrum of properties and tradeoffs </li></ul><ul><li>We developed the idea of e-triage </li></ul><ul><li>And we glanced at some technologies </li></ul>
  3. 3. Today <ul><li>Last of three lectures on reliability </li></ul><ul><li>Focus on technologies in more depth </li></ul><ul><ul><li>What can they do for us? </li></ul></ul><ul><ul><li>How do they work? </li></ul></ul><ul><ul><li>How well to they integrate? </li></ul></ul><ul><ul><li>Limitations? Scalability issues? </li></ul></ul>
  4. 4. Technologies <ul><li>Communication Tools: </li></ul><ul><ul><li>TCP/IP </li></ul></ul><ul><ul><li>Remote Procedure Call (or “method invocation”) </li></ul></ul><ul><ul><li>Process group membership tracking and multicast </li></ul></ul><ul><ul><li>Publish/subscribe (also called “MOMS”) </li></ul></ul><ul><li>Checkpoint and Restart, perhaps with mirrored disks </li></ul><ul><li>Transactions and Databases </li></ul><ul><li>Web servers and Java/JNI/JavaScript </li></ul><ul><li>Components and Object-oriented architectures </li></ul><ul><li>Cluster fault-tolerance and load-balancing </li></ul><ul><li>Traditional Linux tools and “scripts” </li></ul><ul><li>Hardware reliability – fault-tolerant computers </li></ul>
  5. 5. Sorting Things Out <ul><li>Computer scientists like to think in terms of big chunks of technology that they classify into categories </li></ul><ul><li>Often we talk about “layers” </li></ul><ul><li>Lowest layers are close to the hardware </li></ul><ul><li>Higher layers deal with things closer to the user who sits in front of a screen </li></ul>
  6. 6. Examples of Layers Network Protocols Operating System Server Technologies Middleware Applications
  7. 7. What Makes a Layer? <ul><li>Layer uses stuff below it but nothing from above it </li></ul><ul><li>And the layer offers a set of services to things above it </li></ul><ul><li>Sometimes we imagine a layer as a thing that transforms a computer or a network into a new one with new properties! </li></ul><ul><li>Somewhat like looking through a set of magic eyeglasses, each one somehow transforming the world into a magic new world… </li></ul>
  8. 8. Examples of Layers Network Protocols Operating System Server Technologies Middleware Applications
  9. 9. Operating System <ul><li>Major ones are </li></ul><ul><ul><li>Windows (several varients), from Microsoft </li></ul></ul><ul><ul><li>Linux (one of many versions of Unix) </li></ul></ul><ul><ul><li>Macintosh OS </li></ul></ul><ul><ul><li>Palm OS </li></ul></ul><ul><ul><li>VxWorks, QNX </li></ul></ul><ul><li>Many other minor ones </li></ul>
  10. 10. Operating System <ul><li>It runs the hardware for one computer </li></ul><ul><ul><li>Also supports “processes”, manages memory and other resources, provides security </li></ul></ul><ul><li>People refer to the OS as a “platform” </li></ul><ul><ul><li>Applications use OS features and run “on” it </li></ul></ul><ul><ul><li>They don’t need to deal with special issues involving the hardware because the OS handles them </li></ul></ul><ul><li>These days OS also includes components that handle networking </li></ul><ul><li>A modern OS is structured as a set of “objects” </li></ul>
  11. 11. Protocols <ul><li>These are little programs that run in applications or in the OS </li></ul><ul><li>They work by sending messages over network connections </li></ul><ul><li>Goal is to do something useful in a distributed manner </li></ul><ul><ul><li>For example, network can lose packets </li></ul></ul><ul><ul><li>But web pages can’t tolerate missing chunks of data! </li></ul></ul><ul><ul><li>So web uses a protocol that resends lost packets </li></ul></ul>
  12. 12. Representative Protocols? <ul><li>Just look at two examples to get the feel </li></ul><ul><li>Don’t worry about the details </li></ul><ul><li>Idea is to understand the “kinds of things” each layer is doing, not the specifics </li></ul><ul><ul><li>We do teach the specifics in Cornell courses </li></ul></ul><ul><ul><li>But any one of these would take weeks to cover in a comprehensive way </li></ul></ul>
  13. 13. Communication Tools: TCP/IP <ul><li>The basic communication technology of the Web </li></ul><ul><li>Works like a telephone call: </li></ul><ul><ul><li>Your browser connects to a server using its IP address (looks like 128.64.77.133) </li></ul></ul><ul><ul><li>Your request is sent as a message over the connection. The result comes back. </li></ul></ul><ul><ul><li>The connection automatically matches sending and receiving rates (easily fooled by noisy links!) </li></ul></ul><ul><ul><li>Also, automatically corrects for data loss </li></ul></ul>
  14. 14. TCP sliding window m i+k m i+k-1 .... m i+k+1 - - m i+k-2 - m i+k-3 ... m i sender provides data receiver consumes data IP packets carry segments window has k “segments” receiver replies with acks and nacks. sender resends missing data When acknowledgement is received, segment number keeps incrementing but slot number is reused.
  15. 15. TCP/IP: Pros and Cons <ul><li>Simple, widely supported way to communicate </li></ul><ul><li>Overcomes packet loss, duplication, out of order delivery </li></ul><ul><ul><li>But can reduce rate down to zero when network becomes congested, easily fooled by a noisy link </li></ul></ul><ul><ul><li>Also, connections can break even if neither endpoint actually fails. </li></ul></ul><ul><li>Things that use TCP, like web browsers, inherit these benefits… and these problems! </li></ul>
  16. 16. Communication Tools: RPC <ul><li>Idea is that each program declares a set of actions it can perform – “methods” that can be invoked using an “interface” </li></ul><ul><li>Client programs “bind” to interface </li></ul><ul><li>Send a message to invoke a method, reply comes back in form of a message too. Special protocols overcome failure </li></ul>
  17. 17. The basic RPC protocol client server “ binds” to server registers with name service
  18. 18. The basic RPC protocol client server “ binds” to server prepares, sends request registers with name service receives request
  19. 19. The basic RPC protocol client server “ binds” to server prepares, sends request registers with name service receives request invokes handler
  20. 20. The basic RPC protocol client server “ binds” to server prepares, sends request registers with name service receives request invokes handler sends reply
  21. 21. The basic RPC protocol client server “ binds” to server prepares, sends request unpacks reply registers with name service receives request invokes handler sends reply
  22. 22. RPC Summary <ul><li>Basic technology in most “client-server” situations with exception of the Web </li></ul><ul><li>Can hide packet loss but not server failure </li></ul><ul><li>Can certainly fail (due to timeout) when server and client are actually both healthy </li></ul><ul><li>Many limitations in terms of form of data you can send, packet size, etc. </li></ul>
  23. 23. When are they used? <ul><li>TCP is used to transfer “objects” </li></ul><ul><ul><li>Usually objects are reasonably large </li></ul></ul><ul><ul><li>Examples are email messages, files, web pages, copies of programs </li></ul></ul><ul><li>RPC is used when a program asks for a service provided by some other program </li></ul><ul><ul><li>Best for small requests and replies </li></ul></ul>
  24. 24. Examples of Layers Network Protocols Operating System Middleware Applications Server Technologies
  25. 25. Concept Of Middleware <ul><li>Middleware is any kind of a software tool that runs over a basic infrastructure </li></ul><ul><ul><li>Provides a standard set of services for some class of applications </li></ul></ul><ul><ul><li>Idea is that OS and network may be “too general” </li></ul></ul><ul><ul><li>Middleware creates a better environment for some large class of applications that all share a need poorly addressed by the lower layers </li></ul></ul><ul><li>Middleware is increasingly important </li></ul>
  26. 26. Communication Middleware Example: Multicast <ul><li>Broad term covering a variety of one-many communication tools </li></ul><ul><li>We talk about the: </li></ul><ul><ul><li>Process group: set of programs for which membership is tracked </li></ul></ul><ul><ul><li>Multicast: a way of sending data to group </li></ul></ul><ul><ul><li>State transfer: brings a joining program up to date </li></ul></ul><ul><ul><li>Order, atomicity: guarantee that messages are seen in same order by all members, despite failure </li></ul></ul>
  27. 27. Virtual Synchrony Model crash G 0 ={p,q} G 1 ={p,q,r,s} G 2 ={q,r,s} G 3 ={q,r,s,t} p q r s t r, s request to join r,s added; state xfer t added, state xfer t requests to join p fails
  28. 28. Communication Middleware Example: Publish/Subscribe <ul><li>Packaging of one-many communication tools into an elegant, easily understood form </li></ul><ul><li>Idea is that data producers “publish” information, marked with “subjects” that each item is about </li></ul><ul><li>Subscribers “subscribe” to the subjects of interest to them </li></ul>
  29. 29. Conceptually, a message “bus” <ul><li>Boxes are publishers (red / green subjects) </li></ul><ul><li>Circles are subscribers (“ “ ) </li></ul><ul><li>Disks represent spoolers used for playback </li></ul><ul><li>Flexible and easily extended over time </li></ul><ul><li>Supports huge numbers of subjects </li></ul>
  30. 30. Conceptually, a message “bus” <ul><li>Boxes are publishers (blue / green subjects) </li></ul><ul><li>Circles are subscribers (“ “ ) </li></ul><ul><li>Disks represent spoolers used for playback </li></ul><ul><li>Flexible and easily extended over time </li></ul><ul><li>Supports huge numbers of subjects </li></ul>
  31. 31. Conceptually, a message “bus” <ul><li>Boxes are publishers (blue / green subjects) </li></ul><ul><li>Circles are subscribers (“ “ ) </li></ul><ul><li>Disks represent spoolers used for playback </li></ul><ul><li>Flexible and easily extended over time </li></ul><ul><li>Supports huge numbers of subjects </li></ul>
  32. 32. Publish/Subscribe Pros and Cons <ul><li>Conceptually very simple, popular </li></ul><ul><li>But in practice the infrastructure can be limiting and cumbersome </li></ul><ul><li>Often end up with more or less all processes receiving more or less all the messages, anyhow </li></ul><ul><li>Example of a technology that made more sense when computers were slower </li></ul>
  33. 33. When Are They Used? <ul><li>Process groups? </li></ul><ul><ul><li>New York Stock Exchange, Swiss Exchange </li></ul></ul><ul><ul><li>French air traffic control system </li></ul></ul><ul><ul><li>AEGIS rebuild </li></ul></ul><ul><li>Publish-Subscribe message bus </li></ul><ul><ul><li>Most trading floors </li></ul></ul><ul><ul><li>Factory automation and process control </li></ul></ul><ul><ul><li>Some internal use for gluing databases to web sites </li></ul></ul>
  34. 34. Examples of Layers Network Protocols Operating System Server Technologies Middleware Applications
  35. 35. Servers <ul><li>Many modern technologies follow a client-server programming model </li></ul><ul><ul><li>You are the client </li></ul></ul><ul><ul><li>The server handles incoming requests </li></ul></ul><ul><li>This model is probably the big success of the 1980-2000 period for computing </li></ul><ul><li>Normally, client connects to server on network and uses some form of RPC to talk to it </li></ul>
  36. 36. Servers <ul><li>Web servers </li></ul><ul><li>Database servers </li></ul><ul><li>Weblogic: a fancy web server that combines features needed for eCommerce sites </li></ul><ul><li>Mail servers, message queuing servers </li></ul><ul><li>Other application-specific servers </li></ul><ul><ul><li>E.g. computer-aided design, payroll, etc… </li></ul></ul>
  37. 37. Servers <ul><li>Secretly, most servers are a database perhaps extended to know about a specific category of application or use </li></ul><ul><ul><li>We call this domain-specific refinements </li></ul></ul><ul><ul><li>Idea is that an Oracle database, out of the box, is a very general platform but that a lot of work is needed to use it for, say, payroll </li></ul></ul><ul><li>Databases use “transactional” model </li></ul>
  38. 38. Transactions and Databases <ul><li>One of the very big, well supported technologies </li></ul><ul><li>Associated with databases </li></ul><ul><li>Each program “runs a transaction” </li></ul><ul><ul><li>begin </li></ul></ul><ul><ul><ul><li>action 1 action 2 action 3 …. </li></ul></ul></ul><ul><ul><li>commit or abort </li></ul></ul><ul><li>Either entire transaction is performed, or entire transaction is erased (if disrupted by crash) </li></ul>
  39. 39. ACID Properties <ul><li>A tomicity: entire group of actions is treated as one “atomic unit” </li></ul><ul><li>C oncurrency: more than one can run at the same time on the same database </li></ul><ul><li>I solation: but they are isolated from each other, as if only one ran at a time </li></ul><ul><li>D urability: committed transactions survive failures and recoveries </li></ul>
  40. 40. Pros and Cons <ul><li>Mixture of a powerful model with powerful, comprehensive vendor support </li></ul><ul><ul><li>More or less integrated with web </li></ul></ul><ul><ul><li>But recovery can be slow </li></ul></ul><ul><ul><li>And high availability databases usually sacrifice some aspects of ACID guarantee </li></ul></ul><ul><li>Note that vendors offer “replication” products but nobody uses these – performance is terrible. </li></ul><ul><li>Hot topic: cluster-style parallel servers </li></ul><ul><ul><li>Clustering is a way to get scalability </li></ul></ul>
  41. 41. Trends in Systems <ul><li>Enough on layers </li></ul><ul><li>In previous lectures looked at business issues associated with the Internet </li></ul><ul><li>Today have also seen lots of technology </li></ul><ul><ul><li>Mixture of current systems </li></ul></ul><ul><ul><li>Emerging products and systems </li></ul></ul><ul><ul><li>Technologies </li></ul></ul><ul><li>What comes next in distributed computing? </li></ul>
  42. 42. Ways of posing questions <ul><li>As a business question: </li></ul><ul><ul><li>I want to get rich, what should I invest in? </li></ul></ul><ul><ul><ul><li>Ultimately a flakey and meaningless question </li></ul></ul></ul><ul><ul><ul><li>Should ask “what should I learn about” </li></ul></ul></ul><ul><li>As a research question </li></ul><ul><ul><li>I want to be famous, what should I invent? </li></ul></ul><ul><ul><ul><li>If you’re so smart, you should tell me! </li></ul></ul></ul><ul><li>As a big-picture question </li></ul><ul><ul><li>Where is dramatic change inevitable? </li></ul></ul><ul><ul><li>This question makes more sense than the others </li></ul></ul>
  43. 43. Looking for Exciting Change <ul><li>Our goal is to anticipate dramatic, unexpected change </li></ul><ul><li>Is there a methodology for identifying the big opportunities? </li></ul><ul><li>How can we apply it to networks and distributed computing? </li></ul>
  44. 44. Traditional Areas <ul><li>File systems </li></ul><ul><li>Communications </li></ul><ul><li>Naming of objects, interoperation </li></ul><ul><li>Security </li></ul><ul><li>Resource management </li></ul><ul><li>Transactions </li></ul><ul><li>Extensibility </li></ul>
  45. 45. Emerging areas <ul><li>Scalable service management </li></ul><ul><li>Tools for hosting data </li></ul><ul><li>Mechanisms for offloading work from customers onto 3 rd party solution provider systems </li></ul><ul><li>QoS mechanisms </li></ul><ul><li>Power-aware and mobility support </li></ul>
  46. 46. Where are the big opportunities? <ul><li>We could review these one topic at a time, but that might get dull </li></ul><ul><li>Can we develop a methodology for recognizing big opportunities and “leaping in”? </li></ul>
  47. 47. Technology trends Source: Scientific American, Sept. 1995 Note tremendous growth in WAN speeds
  48. 48. Typical latencies (milliseconds) WAN, disk latencies are fairly constant due to physical limitations
  49. 49. O/S latency: the most expensive overhead on LAN communication!
  50. 50. Suggests? <ul><li>Notice that revolutionary opportunity is triggered by technical discontinuity </li></ul><ul><li>To predict a revolution… </li></ul><ul><ul><li>… just identify a technology sector about to be shaken up by a trend that breaks the usual relationships </li></ul></ul><ul><ul><li>… predict “big things will happen” </li></ul></ul>
  51. 51. Recent revolutions <ul><li>Internet became much faster, more widely available </li></ul><ul><li>Operating systems became object oriented </li></ul><ul><ul><li>Enabled the Web </li></ul></ul><ul><ul><li>Which enabled all sorts of B2B developments people knew were coming… </li></ul></ul>
  52. 52. Other examples? <ul><li>For a long time, PCs were slow and balky, but very cheap </li></ul><ul><li>But around 1990 technology gave us a fast, big PC </li></ul><ul><ul><li>Suddenly, desktop world yielded to PC world </li></ul></ul><ul><ul><li>Price point can trigger a discontinuity </li></ul></ul>
  53. 53. Other examples? <ul><li>We used to be short on memory hence relied heavily on disks </li></ul><ul><li>But around 1985 memory sizes and cost changed the equation </li></ul><ul><li>Suddenly massive caches made sense </li></ul><ul><ul><li>Giving us ideas like log-structured file systems and new styles of caching in file and database systems </li></ul></ul><ul><ul><li>A world where 100% hit rates made sense </li></ul></ul>
  54. 54. Looking to the future? <ul><li>Major discontinuities: </li></ul><ul><ul><li>Move from PC to PDA/telephone hybrids </li></ul></ul><ul><ul><li>Mobility, disconnected operation </li></ul></ul><ul><ul><li>Emergence of huge numbers of computing systems that need to cooperate </li></ul></ul><ul><ul><li>Perhaps, some form of QoS? </li></ul></ul>
  55. 55. Want to have an impact? <ul><li>Trick is to zero in on one of these areas </li></ul><ul><li>Be an early player </li></ul><ul><ul><li>For example, get a mobile hand-held system and start to play with it </li></ul></ul><ul><ul><li>Lots of things in the legacy infrastructure just aren’t right for it </li></ul></ul><ul><ul><ul><li>Your opportunity: fix a few of them by doing the obvious things </li></ul></ul></ul><ul><ul><ul><li>And you’ll instantly be famous! </li></ul></ul></ul>
  56. 56. Mobile Trends <ul><li>Nomadicity: increasingly powerful nomadic devices </li></ul><ul><ul><li>Anticipate fusion of web browser, telephone and also PDA functionality </li></ul></ul><ul><ul><li>Some devices of this sort already exist – but they remain primitive </li></ul></ul><ul><ul><li>Low bandwidth interaction a big obstacle right now – you can’t talk to it, but typing without a keyboard is a pain </li></ul></ul>
  57. 57. Mobile trends <ul><li>Communications standards </li></ul><ul><ul><li>We already are seeing widespread use of wireless ethernet cards </li></ul></ul><ul><ul><li>Bluetooth is the next big step: widespread low-power connectivity for small devices </li></ul></ul><ul><ul><li>XML helps: data objects are readily understood… fewer proprietary standards </li></ul></ul>
  58. 58. Mobile trends <ul><li>Power conservation </li></ul><ul><ul><li>Also better understood </li></ul></ul><ul><ul><li>Flexibility: compute faster or slower, move code or data, sleep or run more actively </li></ul></ul><ul><ul><li>Signal strength also a factor </li></ul></ul>
  59. 59. Mobile trends <ul><li>Suggests a future in which </li></ul><ul><ul><li>We’ll move from place to place with our computing context </li></ul></ul><ul><ul><li>In a given setting, devices find the appropriate local resources and can talk to them </li></ul></ul><ul><ul><li>And device is smart about when to ship code, when to ship data </li></ul></ul>
  60. 60. Mobile trends <ul><li>But this also points to a missing link: exciting research opportunity </li></ul><ul><ul><li>How to do naming of objects in this new mobile world? </li></ul></ul><ul><ul><ul><li>User wants a single personalized name for resources and a single name space </li></ul></ul></ul><ul><ul><ul><li>But we also need to share things </li></ul></ul></ul><ul><ul><li>And how to organize or structure a nomadic or wireless environment </li></ul></ul><ul><ul><li>Peer-to-peer and multi-peer opportunity will be enormous </li></ul></ul>
  61. 61. Illustrating… <ul><li>A discontinuous development </li></ul><ul><ul><li>From fixed infrastructure to mobile wireless one </li></ul></ul><ul><ul><li>High performance but power-aware </li></ul></ul><ul><ul><li>Fusion of previously independent technologies (voice, web, email) </li></ul></ul><ul><li>Stress on existing infrastructure </li></ul><ul><ul><li>We tend to adapt the existing infrastructure to the new setting </li></ul></ul><ul><ul><li>But a whole new approach may be needed </li></ul></ul>
  62. 62. Driving… <ul><li>New ideas in file systems </li></ul><ul><ul><li>How should we do file systems for mobile and wireless systems? </li></ul></ul><ul><li>Communication </li></ul><ul><ul><li>How should we do point to point and multicast for wireless peer-to-peer or “ad-hoc” networks? </li></ul></ul><ul><ul><li>Is TCP the right protocol for a wireless connection to a server? </li></ul></ul><ul><li>The list goes on… </li></ul>
  63. 63. Dangers <ul><li>It is easy to overreach </li></ul><ul><ul><li>People tend to try to do 10 things all at the same time… </li></ul></ul><ul><ul><li>Need to be incremental </li></ul></ul><ul><li>Challenge? </li></ul><ul><ul><li>Picking the right first step </li></ul></ul><ul><ul><li>The right infrastructure can enable just about anything! </li></ul></ul>
  64. 64. But we’re out of time… <ul><li>Take-aways from this lecture series? </li></ul><ul><li>Business roles in eCommerce </li></ul><ul><ul><li>Examples of existing sectors </li></ul></ul><ul><ul><li>Some thought about business role in developing new technology-limited ventures </li></ul></ul><ul><ul><li>And some review of how technologies are structured </li></ul></ul><ul><li>Leading to an angle on how to identify big emerging opportunity areas </li></ul>
  65. 65. What should I know? <ul><li>If you want to remember just one thing… </li></ul><ul><ul><li>Remember the French air traffic control project </li></ul></ul><ul><ul><li>Where the US project overreached and failed, the French went slowly, tested like crazy, and built a better system that really worked </li></ul></ul><ul><ul><li>Scalability and stability of technology is the key </li></ul></ul><ul><li>Be French! </li></ul><ul><ul><li>Also drink moderate amounts of good red wine </li></ul></ul><ul><ul><li>Visit http://www.fromages.com now and then </li></ul></ul><ul><ul><li>Remember that vision of the world as 100 people… </li></ul></ul>

×