CS99I Meeting 01 Notes

Updated by Gio Wiederhold, 11 Jan 2002, March 1 2002.

Topics Covered briefly

Do: Suggestions for topics, glossary, ...

Technology Origin:

Resource sharing for ARPA (the Defense Department's Advanced Research Projects Agency) and its Contractors, academic and industrial.
Objectives:

  1. Remote use of computers: TELNET protocol
  2. File transfer for remote execution: FTP protocol
  3. Robustness: redundant linking over multiple paths
  4. Limited loss on failure, load balancing: packeting of messages

Reading: CS99 chapter about the Internet.

Current Technologies

Multiple levels of providers:

  1. Local servers for LANs. Connect to enterprise networks or ISPs. Buy bandwidth from ISPs for external use. 
  2. Enterprise networks (in large companies, universities) or small ISPs provide shared servers, DSN, routers and linkages among their LANs.  Buy bandwidth from major ISPs for external use.
  3. Local Internet service providers (ISPs). Buy bandwidth from regional providers for regional - wide area  (WAN) use.
  4. Regional Internet services {BART, Los Nettos, (what was yours in your home town?) }  Buy bandwidth from backbone providers for long-range use.
  5. Backbone linkages -- wide, transcontinental links (leased from the phone companies, as MCI etc.). Trade bandwidth, portal demands inormally. {MCI, SPRINT, Worldcom, UUnet, AT&T }

Sharing among major ISPs of resources.

Transmission Control Protocol: TCP, specifies

Packets with headers: from, to, number
Nodes with forwarding information tables

Later: four level adresses: 171.64.64.64. (what is yours?)
Because address tables got too large - Now cached at designated nodes: Domain Name Servers (DSN>.
Three level addresses: cs.stanford.edu, ranslated by domain name servers (DSN)

Later a simplified protocol for email: SMTP
Internet protocol (IP), provided for interconnection of local subnetworks networks (LAN>, connected by Internetwork routers.
LANs often use the Ethernet protocol for locally wired networks with

Carrier Sense Multiple Access (CSMA) and
Collision detection (CD) and
exponential backoff

developed originally for satelite networks (Aloha net in Hawaii).

The Ethernet protocol is a broadcast protocol, versus a point-to-point protocol.

Distributed, autonomous development of standard protocols.

For ARPAnet and continuing: Requests for comments (RFCs) to proposals, collected at SRI International. Implemented and adopted by the community, after discussion, when effective.

Example: SMTP (RFC 8xx): combined messy Telnet and FTP operations into a simple email protocol.

Alternate means of developing standards

·        Implement, show, convince others of usefulness and leverage if major company (now Microsoft, formerly IBM)

·        Committee of wise men, supported government mandates. Governments can set standards, but are rarely competent to do so. Politicians and marketers think it's simple, like electric plugs.

·        Commercial value of getting one's standard accepted. Standards are a major commercial competitive weapon.

·        Now we have a surfeit of standards (look at video storage), confusion, cost, dirty tricks.

·        Standards take long to develop, criticize, implement, get the bugs ou

·        Then they stick around for a long time, often too long.

Two-horse Roman chariot -> grooves in limestone street  --> all carts --> mines --> steam-propelled mine carts -> RRs -> BART.

Service and Congestion

Suppliers of Internet services must be available to their clients. Bad service discourages customers. Supplier can increase number of server computers. Line congestion is harder to deal with.

When the number of customers grows, then the capability of the service must also increase. Some of that can be achieved by getting a bigger or better computer. Another approach is to clone the system, i.e., make multiple copies of the computer and its software, all accessed via a proxy (sometimes a firewall) so that only one address is needed for the customer.

 

Having multiple, identical computers also provides apparent reliability. Now, if one of the clones fails, service can continue. Only current clients are affected. If the reliability of one system is 90%, for a two clone system the reliability is nearly 99%. Having a proxy reduces system reliability a bit.

If you want to service only selected clients, you can establish a subnet in the Internet. A Virtual Interactive Network (VINs) uses the Internet for transport anywhere, but uses encryption so that others cannot access their sites.

Keeping Track of A Client

Cloning of servers leads to a problem of keeping track of a client's interaction. The client, on a subsequent request may be directed to another clone.

It is not desirable to maintain client state in the cloned front-end systems because this works against transparent client failover and load balancing. There are two principal ways to maintain client state across sessions. One is to store client state in a partitioned back-end server. (Client state can be partitioned perfectly, and therefore it scales well. However, it is necessary to retrieve this state on each client request.) Another way to maintain client state across sessions is to use cookies and/or URLs. Cookies are small files managed by the client's Web browser. They are invaluable for minimizing load on stateful servers and maximizing the utility of stateless front ends. Data can also be stored in URLs and returned when the user clicks on the link on the displayed Web page. [Microsoft DNA guidance]

Methods to retain state information

Web linkages are stateless: each transaction is disjoint. But for e-commerce there are normally incremental interactions, as searching for some kind of service or object, finding suppliers, comparing prices and quality, and finally purchasing it. All these require some indication of state, so that the client does not have to reenter all previously found information. There are several techniques in use:

One of the recent proposals is used to manage state, as RDS ADO. RDS requires services in the browsers that make a table available to the server, that the server can use to deposit and extract information. RDS links to database services, so that the quantity of state information can be very large, say an entire catalog of goods.

We see that there are competing ways to keep track of state, but for Business-to-business e-commerce the more heavyweight methods are likely to be used. Note also that services that deposit information on a client machine will not provide continuity if the end-user moves among multiple client computers.

Number representation -- decimal vs, binary

Counting with only two symbols {0, 1} . (need a reference to reading?).
more in next set of notes

Reference Notes

See class chapter about the Internet and the glossary.