Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Distributed operating system wikipedia , lookup
Net neutrality wikipedia , lookup
Deep packet inspection wikipedia , lookup
Net neutrality law wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Zero-configuration networking wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Internet Architectural Fundamentals Internet Architectural Principles for the eBusiness Era • Architectural Guidelines for going forward: – – – – A-to-A B-to-B Enterprise Architecture All of the above Rjd 06/12/2001 Internet Architectural Fundamentals Recommending a Strategy • Internet Architecture Principles Are Proven to Work... – Unprecedented interoperability, scalability, and functional extensibility – Unprecedented economic impact: the “business case” which changed the world – Unstoppable combination: Collaborative Computing is King! • So Let’s Apply them to throughout the Entire Architecture! – A2A, AI, B2B, B2C, EIA, etc. Rjd 06/12/2001 Internet Architectural Fundamentals 4 Basic Principles of Internet Architecture: #1) The Internet Architecture is defined by a collection of protocols which are the rules for things to talk to each other. #2) Everything can talk to everything else. #3) Intelligence lives at the edge of the network, not within it. #4) Internet Service Model: functionality is provided by the federated action (collaboration) of protocol specific services. Rjd 06/12/2001 Internet Architectural Fundamentals #1) The Internet Architecture is defined by a collection of protocols: – e.g. IP, DNS, HTTP, TCP, POP3, FTP, SNMP, Telnet, LDAP, RIP, BGP, ... – the protocol specifications are usually sanctioned by the Internet Engineering Task Force (IETF) – World Wide Web Consortium (W3C) also emerging as a companion source of standards Rjd 06/12/2001 Software Service Interface (API) Internet Architectural Fundamentals Software Service Interface (API) Network Channel Local Network Stack Component AtoB Message 1 AtoB Message 2 AtoB Msg 3 Local Network Stack BtoA Message 1 BtoA Message 2 Network Node A Component Network Node B •The protocol defines the rules for valid types of message “on the wire” and the legal sequence of messages. •The Software Service Interface (SSI) defines the Application Programming Interface (API) independently to each local network stack component. •SSI/API relates to Protocol in N:M ways. •In general, a specific Protocol is vastly more important than a specific SSI/API in Network Computing Architecture. Traditional software engineering mentality not withstanding! Rjd 06/12/2001 Internet Architectural Fundamentals #2) Everything can talk to everything else: – the basic Internet Protocol (IP) does not define a “cloud” but rather an image of total interconnection – inherently Peer to Peer but not physically Point to Point – tech note: only datagram (packet) delivery known to the inside of the network Rjd 06/12/2001 Internet Architectural Fundamentals #3) Intelligence live at the edges of the network, not within it: SMTP Server DNS Server – No single point of control or failure – Decoupling of unrelated functionality – Simplified design of functionality, e.g. DNS, SMTP, LDAP, SNMP, etc. – Specific functionality controlled by self-organizing communities eMail Client DNS Server – Vast Synergy: nearly infinite number of ways recombine functionality at the end Points! Rjd 06/12/2001 Internet Architectural Fundamentals #4) Internet Service Model: functionality is provided by the federated action (collaboration) of protocol specific services: – Each protocol specification implies the existence of a distributed computing model (which may or may not be explicitly mentioned): • Distributed Communication Scheme: the service protocol itself consisting of protocol messages (logical data units) and sequence rules (“behavior”) • Distributed Processing/Algorithm Scheme, e.g. WWW: Navigating the “World Wide Web” as one huge hypertext document FTP: file access & transfer rules, DNS look up, SMTP: eMail delivery, … • Distributed Memory/Persistence Scheme, e.g. WWW: Web page contents stored in whatever form FTP: files, DNS:name records, SMTP: message stores, LDAP: X.500 trees, .... • Distributed Linkage Scheme to find/relate things of interest, e.g. WWW: the URL (an act of sheer genius!) SMTP eMail addresses, DNS names, LDAP distinguished names, …. – The operational result of the distributed computing model enabled by the particular protocol is a virtual service, namely the protocol’s “Internet Service” Rjd 06/12/2001 Internet Architectural Fundamentals An Internet Service • An Internet Service provides functionality which appears to be available throughout the net provide by and to communities of common interest. • An Internet Service is: – Virtual – Well Defined (Virtual) Internet Service – Distributed – Federated (Collaborative) Rjd 06/12/2001 Internet Architectural Fundamentals An Internet Service Is: • Virtual – An Internet Service is “virtual service” which looks like one complete thing but in reality has many far flung parts glued together • Well Defined – An Internet Service is defined by a common protocol specification (messages and rules about exchanging message) – Usually promulgated through the Internet Engineering Task Force (IETF), or more recently, the World Wide Web Consortium (W3C) Rjd 06/12/2001 Internet Architectural Fundamentals An Internet Service is: (cont’d) • Distributed – An Internet Service protocol specification implies (not necessarily overtly) an associated Distributed Computing Model: – Distributed Algorithm(s), – Distributed Data Store(s), – and Distributed Reference Mechanism(s) (URI, etc.) – An Internet Service may (C/S), or may not (P2P), divide its participants between client and server nodes Rjd 06/12/2001 Internet Architectural Fundamentals An Internet Service is: (cont’d) • Federated (Collaborative) – Technically • an Internet Service is composed of many participants • an Internet Services coexists, often beneficially, with other Internet Services (sometimes in a layered relationship) – Organizationally: Technical Structure follows Social Structure • There must be an active social/technical/business community(s) which come together around a common interest(s) in the Internet Service • Never, or at most rarely, is there a single enforcing point of control over the service (protocol) specification nor over the service operation (systems administration, etc.) Rjd 06/12/2001 Internet Architectural Fundamentals Internet Service Examples: IP Routing, Domain Name Service, eMail, and the World Wide Web Service Protocol(s) Distributed Algorithm Distributed Data Store Reference Mechanism IP connectivity Routing Protocols: RIP, BGP, OSPF, etc. Various – Open Shortest Path First, etc. Routing Tables Media Access Address, Port Number, IP address (recursivly) Domain Name Service DNS with hostname records, MX (mail host) records, etc. Hierarchical Name Space DNS records IP address, Domain Name (recursively) eMail (to Message Transport Agent) SMTP with ASCII data which has been extended with MIME, HTML, etc. Point to Point over TCP for stored message exchange Message Store User@DNSName World Wide Web HTTP with HTML data which has been extended with MIME, Javascript, XML, etc. Request/Response of pages from one universal WWW hypertext document Web Server (and back end) contents URL (including Service Name, DNSName or IP address, “file name”, and parameters) Rjd 06/12/2001 Internet Architectural Fundamentals Note: even the fundamental IP connectivity of “everything to everything else” is really a virtual service internal to the Internet called IP Routing! IP Routing Service Physical Network Topology: Limited Direct Connectivity IP Conceptual Addressing: Everything connected to everything else Rjd 06/12/2001 Internet Architectural Fundamentals Further notes on the TCP as an Internet (virtual) Service: • While IP routing is provided by the internals of the network, Transmission Control Protocol (TCP) is the prime example of virtual service provide by “intelligence at edge of the Network” - IP allows packet by packet to go from anywhere to anywhere: “datagram/connectionless” transport - TCP provides an overlaid sequential message stream layered on top of IP: “virtual circuit/connection oriented” transport • By means of the TCP protocol each end node (TCP/IP procotocl stack) sorts out packets which may arrive in jumbled order in order to maintain the illusion of a continuous octet (byte) stream • In its day this was radical: most contemporary network architectures in the 1970s and 1980s were not datagram oriented, but rather virtual circuit oriented, e.g. SNA, DECNet, X.25, ISDN, etc. Rjd 06/12/2001 Internet Architectural Fundamentals Architectural Observations • Social/Business Context: most standard Internet Services provide core functionality of interest to a large percentage of Internet users (i.e have really large communities), e.g. DNS, HTTP, SMTP, etc. • Most of these core Internet Services are analogous to Single Instruction Multiple Data (SIMD) computer systems architecture - Each server independently follows the same algorithm (SI equivalent) with its own unique data store contents (MD equivalent) -The algorithms and virtual data stores tend to be fairly simple • Services may be implemented by “components” in any given node, often they are, but they don’t have to be • Much like “components” may be implemented by “objects”, often are, but don’t have to be • Services are NOT defined by APIs, programming languages, or distributed object models, rather they are defined by protocols Rjd 06/12/2001 Internet Architectural Fundamentals Architecture Observations - Future Directions • The notion of Internet “Service” is expanding from infrastructure functionality (IP, TCP, DNS, LDAP, etc) to included support of many application domains (B2C, B2B, engineering, finance, etc.) • Concomitantly, Internet Architecture is expanding from SIMD like simple protocols to more sophisticated MIMD like protocols • Communities of interest may be smaller and more specialized, e.g. subcultures of Boeing suppliers and customers • A big enabler of the expanded notion of application level protocols are new data types such as multi-media (MIME and streaming formats) and, especially, XML • Better ways to define and implement the behavioral aspects of a protocol has not yet achieved the relative success of XML for the data aspects. Rjd 06/12/2001 Internet Architectural Fundamentals An Example of Using Internet Services in a Future Data Query Architecture Rjd 06/12/2001 Internet Architectural Fundamentals Distributed Query Services Architecture Service (aka "Interface") Repository(s) Internal Schema Partner OLTP/SoR(s) & Repository(s) Service Implementation External Service Global & Service Level Security Models Service Implementation (via Business Object Schema*) Service Implementation OLTP / System of Record(s) * e.g XML DTD/Schema Service Implementation Data Service Data Service Response Extract Request Query (via Extract Schema*) (via Query Schema*) Service Client Application/ Service (e.g EJB) Client User Agent (e.g. Web Servlet) Service Description Description Request Response Service (e.g. WSDL) Directory (e.g. UDDI) GUI (e.g Browser) Rjd 06/12/2001 Internet Architectural Fundamentals Table Instances Relational Schema & Other Metadata Service Business Object Schema* Data Store Model Service Implementation: Apply Relevant and Permitted Business Rules to Map, Merge, and Transform Service Response Response Object Service Response Object Schema* Business Object Model *e.g. All service schemas are XML DTD/Schemas ===> All service "object" instances are XML Service Request Request Object Service Security Model: Credentials & Authorization Rules Service Virtual BO Data Store "document" instances. Service Request Object Schema* Anatomy of a Schema Oriented Service: Metadata Rules! Rjd 06/12/2001