ST 7 Flashcards
- a network of autonomous computers cooperating to accomplish a task.
- Hardware and software components of a distributed system coordinate their activity by sharing resources such as data, computation, compute cycles, bandwidth and storage
distributed system
Hyper Text Transfer Protocol builds on TCP to facilitate hyper-text document exchange
HTTP
Protocol builds on IP to define a reliable data delivery protocol
TCP
defines an unreliable packet transfer protocol
IP
a set of rules that end points in a telecommunication system use when exchanging information
Protocol
supports remote read and write access to a collection of files
FTP
a network-enabled entity that provides a specific capability
Service
Service FORMULA
Service = Protocol + Behavior
defines a standard interface for invoking a specified set of functionality
API
defines standard functions for verifying identity of communicating parties, encrypting messages and so forth
Generic Security Service (GSS) API
denotes a set of code designed to be linked with, and invoked from within, an application program to provide specified functionality
SDK
Interconnection of a collection of heterogeneous networks of computers
Internet
- Simple programs written as a single module
- Single entry point typically in a “main” function
- Procedural, functional and object-oriented
- Applications, applets (web-based)
- More recently the focus is on rich content: Rich Internet Application (RIA)
- Adobe Flash, Adobe Flex, Microsoft Silverlight, Ajax
- Model-View-Controller (MVC) model for design and deployment flexibility. Ex: java swing, struts..
Client programming
refers to a process on a networked computer that accepts requests from other (local or remote) processes to perform a service and responds appropriately
server
requesting process in the above is referred to as the client
client
What can you do with such fast delivery speed? Connect them up
Networked application models
- Internet stack
- Standardization
- IPV4, IPV6: Internet protocol version 4, 6
- Tremendous increase in network bandwidth: measured in bits per second
- From few kilobits per second (56kb/s dial up lines to
- 1.5Mb/s T1 to 100Gb/s ethernet)
- What can you do with such fast delivery speed? Connect them up.. Networked application models
intranetworking
Issues in networked systems
- Heterogeneity in various aspects of a distributed systems
- Communication modes different
- Variations in products
- Additional runtime features
Communication Middleware
application
middleware
network protocol stack
Remote procedure call (RPC)
client application call
rpc stub code
rpc runtime
nps
server application
rpc stub code
rpc runtime
npc
framework for object-oriented distributed applications
COBRA
- Allows distributed programs in different languages and different platforms to interact as though they were in a single programming language on one computer.
- Brings advantages of OO to distributed systems.
- Allows you design a distributed application as a set of cooperating objects and to reuse existing objects
COBRA
- A software component that mediates transfer of messages from a program to an object located on a remote host.
- Hides underlying network communications from a programmer.
- ORB allows you to create software objects whose member functions can be invoked by client programs located anywhere.
- A server program contains instances of CORBA objects.
ORB
- These are standard software objects implemented in any supported language including Java, C++ and Smalltalk.
- Each CORBA object has a clearly defined interface specified in CORBA interface definition language (IDL).
- The interface definition specifies the member functions available to the client without any assumption about the implementation of the object
CORBA Objects and IDL