Thursday, July 29, 2010

Types of Transparency in distributed computing

Transparency: A transparent distributed system is system which hides’s internal complexity and 'n' numbers of computers involved and presents itself to its users, application as single coherent system.

Types of transparency:

1. Location transparency: hiding physical location of resource. Eg URL.

2. Access transparency: hiding how data is physically stored and how it is accessed. Eg: retrieval of result from mu.ac.in.

3. Migration transparency: ability to hide that resource is shifted from one to another location after last accessed. Eg: accessing orkut/ email from different location.

4. Relocation transparency: hiding that resource is being shifted from one to another location while being accessed. E.g. active call on mobile.

5. Failure transparency: ability to hide that system has failed.

6. Replication transparency:
ability to hide whether we are accessing original resources or its replica. Eg web servers are replicated for better performance.

7. Persistance transparency: hiding whether data is coming from primary or secondary memory. E.g. browsing internet.

8. Concurrency transparency: hiding that resource is being accessed by n users simultaneously. Eg browsing website.

Four goals of Distributed computing

Openness: an open distributed system is a system which gives set of rules describing syntax and semantics of communication. Where syntax gives how to communicate. E.g. programming language. And semantics gives what to communicate. Example: type of data.

Connecting users and resources: distributed system is built to allow communication between user and resource irrespective of their physical location. E.g. accessing website which are far away.

Scalability: is the ability to expand the system. Scalability can be in either three directions. First a system can be scalable with respect to its size, meaning that we can add more user and resources to the system. Second a geographically scalable system is one in which the users and resources may lie far apart. Third a system can be administratively scalable meaning that it can still be easy to manage even if it spans many independent administrative organizations.

Transparency: a transparent distributed system is system which hides’s internal complexity and n number computers involved and presents itself to its users, application as single coherent system.

Difference between statefull and stateless server

STATEFULL SERVER:

  1. Keeps all necessary information about its client
  2. Will change its state only after informing its client
  3. In case of crash recovery responsible for recovering its own and client data
  4. Eg web server

STATELESS SERVER:
  1. Keeps no information about its client
  2. Can change its state when it wishes to without informing client
  3. In case of crash recovery responsible only for recovering its own data
  4. Eg Email server

What are software agents?

SOFTWARE AGENTS: Autonomous process capable of reacting to changes in environment and/or capable of causing changes in environment in collaboration with other agent or with users.

TYPES OF SOFTWARE AGENTS

  1. Collaborative agent: in this N agents are working together in order to achieve one common goal.
  2. Interface agent: in this agents works with GUI and user in order to learn user requirements and adjust system accordingly.
  3. Information agent: responsible for gathering info and keeping it in indexed and sorted order so that it can be provided when required.
  4. Mobile agent: agent capable of moving from one machine to another.

PROPERTIES OF SOFTWARE AGENTS

  1. Communication: ability to communicate.
  2. Reactive: capable of reacting to changes in environment.
  3. Autonomous: capable of acting on its own.
  4. Adaptive: capable of learning.
  5. Mobile: capable of moving across machines.
  6. Pro active: capable of causing changes in environment.
  7. Continuous life: longest life cycle.
APPLICATIONS OF SOFTWARE AGENTS