Updated by Gio Wiederhold, 11 Jan 2002, March 1 2002.
Do: Suggestions for topics, glossary, ...
Resource sharing for ARPA (the Defense Department's Advanced
Research Projects Agency) and its Contractors, academic and industrial.
Objectives:
Reading: CS99 chapter about the Internet.
Multiple levels of providers:
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.
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.
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.
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]
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.
Counting with only two symbols {0, 1} . (need a reference to
reading?).
more in next set of notes
See
class chapter about the Internet and the glossary.