Distributed Systems

Group 5 - Brian, Chris, Kevin, Van


Presentation


- Kinds Of Systems -

Distributed Operating Systems
+ A Distributed Operating System (DOS) supports communication, resource sharing and distributed processing, which allows processes or threads to cooperate while executing on physically separated processors
+ A DOS tries to make the distributed system look like a centralized system: access to remote resources is no different than access to local resources
+ A DOS simplifies usage of remote resources, promotes parallel execution of threads (on separate processors) and encourages sharing at a fine grained level
+ Controls multiprocessors (computers that share main memory) and controls multicomputers (computers which communicate through message sending and do not share main memory)
+ Offers a much higher level of transparency than that of a networking operating system making it more user friendly
+ The major disadvantage is that it is difficult to design and implement this kind of system
Network Operating Systems
+ A Network Operating System (NOS) extends the traditional operating system to provide communication and resource sharing among nodes on a network
+ It supports interprocess communication, a file system, and provides mechanisms such as rlogin or ftp for remote login, file transfer, and other resource sharing
+ Network operating systems are good when the primary objective of the system is to share resources at a coarse-grained level (e.g. files, I/O devices)
+ Disadvantages: It is more difficult for users to access resources remotely; harder to share computational resources than in a centralized system
+ Individual nodes on the network are relatively independent and each runs its own operating system
+ Non-transparent and are specifically designed to run networks with least amount of errors.

- Network Operating Systems -

Internet
+ An internet is a public network of networks that is fairly easy to obtain access to with the help of an ISP
+ Allows access to the world wide web and email as well as other features
Intranet
+ An intranet also allows access to the world wide web, email, and etc, but it uses a private line to do so
+ As a result, performance is far superior and security is heightened

- Issues -

Transparency
+ A system that is transparent means that it hides from the user all of the background processes
+ As a result, it is more user-friendly due to better navigation
Scalability
+ Scalability refers to a systems ability to grow without a major loss of performance or undesirable occurrences
Software Interfaces
+ A distributed system can have many different types/brands of computers with different operating systems
+ The systems must be able to accommodate for these differences and run properly off all computers in the system
Security
+ Risks of security can arise from internal or external affairs in a distributed system

- Connections -

Packets
+ Fundamental units of information carriage in networks that uses packet switching
+ Consists of a header, a data area, and a trailer
+ Headers is needed to get information from source to destination
+ Data areas contains the information of the user who created the packet
+ Trailers ensures errors do not occur during transmission
+ Some systems needes a connection setup before packets could be sent, thus the need for datagrams
+ Datagrams are packets that contain enough information for communication independent of any connection setup
+ Previous protocols like virtual circuit needed connection setups, but the Internet protocol does not
Protocol
+ A protocol is a standard that controls or enables the connection, communication, and data transfer between two computer endpoints
+ The most recognizable protocol is the Internet protocol known as TCP/IP
+ May be implemented by hardware, software, or a combination of the two
+ Computing protocol is used to define real time communcation behavior
Sockets
+ There are two types of sockets: Internet and IPC
+ With IPC (Inter-Process Communication), a socket can be used to create one end of a bi-direction link between two programs
+ Internet sockets on a certain host are defined as a combination of an IP address, a protocol, and an IP address
Endpoints and Ports
+ An endpoint is merely one end of a connection
+ There are several types of ports, such as hardware, software, or network
+ A hardware port is an outlet on a device where a plug connects
+ A software port is basically software that has been transported to another system
+ A network port is an identified doorway for communication between a program and another system or program passing through the port

- Software Interfaces -

RPC
+ RPC is known as Remote Procedure Call and is a protocol that enables a program on a client computer to execute a program on a server computer
+ This works by allowing the client computer to send arguments to the server, then the server sends back a message that contains the results of the client’s argument.
+ RPC is popular because a software developer does not have to develop specific procedures for the server computer; instead, they could just develop one universal program
+ RPC is also fast because it uses the eXternal Data Representation (XDR) protocol
+ The XDR protocol normalizes the format of integers, floating numbers, strings, and etc
Middleware
+ Middleware is a common term in the IT category and is, by definition, a type of software that brings together two otherwise separate applications
+ Middleware is sometimes called a transition or conversion layer because of how it integrates two separate programs together
+ The need for middleware has progressively increased due to the result of the IT field becoming increasingly technical and wide
+ Middleware also makes application development easier because application developers do not need to worry about how they are going to integrate their software into a completely different platform
Client/Server Model
+ The client/server model is a term that dates back to the 1980’s and was used to describe computers communicating on a network; Simply put, on a network, a computer is either a client or server
+ There is one server and the rest of the computers are clients
+ The server, which is sometimes referred to as a daemon, is usually a powerful machine that handles all of the requests of the clients
+ The client computers send requests to the server computer, which then sends back the finished request
+ The most common example of the client/server model is TCP/IP and your internet browser

Client-Server Model

- Security -

Security Threats - Interception
+ An unauthorized party that gains access to an asset
+ Example: An unauthorized party eavesdropping on what you are doing, but not tampering with anything Security Threats - Interruption
+ An asset of a system is destroyed, unavailable or unusable
+ Example: An unauthorized party deleting a program so you can not use it Modification
+ An unauthorized party gains access as well as tamper with assets
+ Example: An unauthorized user modifying files on your computer Fabrication
+ An unauthorized party inserts fake objects into the system
+ Example: An unauthorized user adds a new file onto your computer

- Security Mechanisms -

Encryption
+ Encryption is the coding or scrambling of information so that it can only be decoded and read by someone who has the correct decoding key
+ Encryption is used in secure websites as well as other mediums of data transfer
+ If a third party were to intercept the information you sent via an encrypted connection, they would not be able to read it
+ There are two types of encryption: Symmetric and Asymmetric
+ Symmetric is when a single key is used for encryption and decryption; Asymmetric is when two keys are used, one for encryption and one for decryption
Authentication
+ Authentication is any process by which a system verifies the identity of a user who wishes to access it
+ Example: Credentials (username and password)
Authorization
+ Authorization grants users access to different areas on a system based on their identity
+ Example: Different user groups (Admin, User, Guest…) Auditing
+ An independent review and examination of data processing, system records and activities
+ Used to…
  • Test for adequacy of system controls
  • Ensure compliance with established security policy and operational procedures
  • Detect breaches in security
  • Recommend any indicated changes in control, security policy, and procedures



Online Resources:
Wikipedia
IEEE Computer Society
Introduction to distributed computing
RPC Protocol Interview
Middleware
Computer Security Concepts
Threats & Attacks On Security (PDF)

Literary Resources:
Silberschatz, Galvin, and Gagne. Applied Operating System Concepts First Edition. Copyright (c) 2000 John Wiley & Sons, Inc.