About Naming Concepts in Distributed systems.
More about its services, its types & the approaches of implementation for Name Space & Name Resolution and Locating Entities Approaches with example diagrams.
4.1Introduction
- Potential Threats and Attacks on Computer System
- Confinement Problems
- Design Issues in Building Secure Distributed Systems
4.2 Cryptography
- Symmetric Cryptosystem Algorithm: DES
- Asymmetric Cryptosystem
4.3 Secure Channels
- Authentication
- Message Integrity and Confidentiality
- Secure Group Communication
4.4 Access Control
- General Issues
- Firewalls
- Secure Mobile Code
4.5 Security Management
- Key Management
- Issues in Key Distribution
- Secure Group Management
- Authorization Management
Replication in computing involves sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility.
Synchronization in distributed computingSVijaylakshmi
Synchronization in distributed systems is achieved via clocks. The physical clocks are used to adjust the time of nodes. Each node in the system can share its local time with other nodes in the system. The time is set based on UTC (Universal Time Coordination).
Message and Stream Oriented CommunicationDilum Bandara
Message and Stream Oriented Communication in distributed systems. Persistent vs. Transient Communication. Event queues, Pub/sub networks, MPI, Stream-based communication, Multicast communication
4.1Introduction
- Potential Threats and Attacks on Computer System
- Confinement Problems
- Design Issues in Building Secure Distributed Systems
4.2 Cryptography
- Symmetric Cryptosystem Algorithm: DES
- Asymmetric Cryptosystem
4.3 Secure Channels
- Authentication
- Message Integrity and Confidentiality
- Secure Group Communication
4.4 Access Control
- General Issues
- Firewalls
- Secure Mobile Code
4.5 Security Management
- Key Management
- Issues in Key Distribution
- Secure Group Management
- Authorization Management
Replication in computing involves sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility.
Synchronization in distributed computingSVijaylakshmi
Synchronization in distributed systems is achieved via clocks. The physical clocks are used to adjust the time of nodes. Each node in the system can share its local time with other nodes in the system. The time is set based on UTC (Universal Time Coordination).
Message and Stream Oriented CommunicationDilum Bandara
Message and Stream Oriented Communication in distributed systems. Persistent vs. Transient Communication. Event queues, Pub/sub networks, MPI, Stream-based communication, Multicast communication
Transactions and Concurrency Control in distributed systems. Transaction properties, classification, and transaction implementation. Flat, Nested, and Distributed transactions. Inconsistent Retrievals, Lost Update, Dirty Read, and Premature Writes Problem
Overview of Network Programming, Remote Procedure Calls, Remote Method Invocation, Message Oriented Communication, and web services in distributed systems
Client-Centric Consistency
Provide guarantees about ordering of operations only for a single client, i.e.
Effects of an operations depend on the client performing it
Effects also depend on the history of client’s operations
Applied only when requested by the client
No guarantees concerning concurrent accesses by different clients
Assumption:
Clients can access different replicas, e.g. mobile users
Overview - Functions of an Operating System – Design Approaches – Types of Advanced
Operating System - Synchronization Mechanisms – Concept of a Process, Concurrent
Processes – The Critical Section Problem, Other Synchronization Problems – Language
Mechanisms for Synchronization – Axiomatic Verification of Parallel Programs - Process
Deadlocks - Preliminaries – Models of Deadlocks, Resources, System State – Necessary and
Sufficient conditions for a Deadlock – Systems with Single-Unit Requests, Consumable
Resources, Reusable Resources.
Peer-to-peer Systems – Introduction – Napster and its legacy – Peer-to-peer – Middleware – Routing overlays. Overlay case studies: Pastry, Tapestry- Distributed File Systems –Introduction – File service architecture – Andrew File system. File System: Features-File model -File accessing models – File sharing semantics Naming: Identifiers, Addresses, Name Resolution – Name Space Implementation – Name Caches – LDAP.
File Replication : High availability is a desirable feature of a good distributed file system and file replication is the primary mechanism for improving file availability. Replication is a key strategy for improving reliability, fault tolerance and availability. Therefore duplicating files on multiple machines improves availability and performance.
Replicated file : A replicated file is a file that has multiple copies, with each copy located on a separate file server. Each copy of the set of copies that comprises a replicated file is referred to as replica of the replicated file.
Replication is often confused with caching, probably because they both deal with multiple copies of data. The two concepts has the following basic differences:
A replica is associated with server, whereas a cached copy is associated with a client.
The existence of cached copy is primarily dependent on the locality in file access patterns, whereas the existence of a replica normally depends on availability and performance requirements.
Satynarayanana [1992] distinguishes a replicated copy from a cached copy by calling the first-class replicas and second-class replicas respectively
Agreement Protocols, Distributed Resource Management: Issues in distributed File Systems, Mechanism for building distributed file systems, Design issues in Distributed Shared Memory, Algorithm for Implementation of Distributed Shared Memory.
Transactions and Concurrency Control in distributed systems. Transaction properties, classification, and transaction implementation. Flat, Nested, and Distributed transactions. Inconsistent Retrievals, Lost Update, Dirty Read, and Premature Writes Problem
Overview of Network Programming, Remote Procedure Calls, Remote Method Invocation, Message Oriented Communication, and web services in distributed systems
Client-Centric Consistency
Provide guarantees about ordering of operations only for a single client, i.e.
Effects of an operations depend on the client performing it
Effects also depend on the history of client’s operations
Applied only when requested by the client
No guarantees concerning concurrent accesses by different clients
Assumption:
Clients can access different replicas, e.g. mobile users
Overview - Functions of an Operating System – Design Approaches – Types of Advanced
Operating System - Synchronization Mechanisms – Concept of a Process, Concurrent
Processes – The Critical Section Problem, Other Synchronization Problems – Language
Mechanisms for Synchronization – Axiomatic Verification of Parallel Programs - Process
Deadlocks - Preliminaries – Models of Deadlocks, Resources, System State – Necessary and
Sufficient conditions for a Deadlock – Systems with Single-Unit Requests, Consumable
Resources, Reusable Resources.
Peer-to-peer Systems – Introduction – Napster and its legacy – Peer-to-peer – Middleware – Routing overlays. Overlay case studies: Pastry, Tapestry- Distributed File Systems –Introduction – File service architecture – Andrew File system. File System: Features-File model -File accessing models – File sharing semantics Naming: Identifiers, Addresses, Name Resolution – Name Space Implementation – Name Caches – LDAP.
File Replication : High availability is a desirable feature of a good distributed file system and file replication is the primary mechanism for improving file availability. Replication is a key strategy for improving reliability, fault tolerance and availability. Therefore duplicating files on multiple machines improves availability and performance.
Replicated file : A replicated file is a file that has multiple copies, with each copy located on a separate file server. Each copy of the set of copies that comprises a replicated file is referred to as replica of the replicated file.
Replication is often confused with caching, probably because they both deal with multiple copies of data. The two concepts has the following basic differences:
A replica is associated with server, whereas a cached copy is associated with a client.
The existence of cached copy is primarily dependent on the locality in file access patterns, whereas the existence of a replica normally depends on availability and performance requirements.
Satynarayanana [1992] distinguishes a replicated copy from a cached copy by calling the first-class replicas and second-class replicas respectively
Agreement Protocols, Distributed Resource Management: Issues in distributed File Systems, Mechanism for building distributed file systems, Design issues in Distributed Shared Memory, Algorithm for Implementation of Distributed Shared Memory.
Naming Entities and Locating Mobile EntitiesRajat Kumar
What is a name in Distributed Systems?
A name in a distributed system is a string of bits or characters that is used to refer to an entity.
What is an Entity?
An entity in a distributed system can be practically anything.
Examples include resources such as hosts, printers, disks, and files, processes, users, mailboxes, newsgroups, Web pages, graphical windows, messages, network connections
The application layer sits at Layer 7, the top of the Open Systems Interconnection (OSI) communications model. It ensures an application can effectively communicate with other applications on different computer systems and networks. The application layer is not an application.
DOMAIN NAME SYSTEM AND DYNAMIC DOMAIN NAME SYSTEM
Machines on the internet are identified by a unique IP address. But it is difficult for people to remember these addresses.
Humans are more comfortable with names rather than numbers. Hence it would be easier to identify a machine using a name instead of an address.
DDNS (Dynamic Domain Name System) allows us to overcome the issues related to Dynamic IP Addresses, in attempting to connect to a DVR somewhere on the Internet whose IP Address may change at any time.
UNIT - 5: Data Warehousing and Data MiningNandakumar P
UNIT-V
Mining Object, Spatial, Multimedia, Text, and Web Data: Multidimensional Analysis and Descriptive Mining of Complex Data Objects – Spatial Data Mining – Multimedia Data Mining – Text Mining – Mining the World Wide Web.
UNIT - 4: Data Warehousing and Data MiningNandakumar P
UNIT-IV
Cluster Analysis: Types of Data in Cluster Analysis – A Categorization of Major Clustering Methods – Partitioning Methods – Hierarchical methods – Density, Based Methods – Grid, Based Methods – Model, Based Clustering Methods – Clustering High, Dimensional Data – Constraint, Based Cluster Analysis – Outlier Analysis.
UNIT 3: Data Warehousing and Data MiningNandakumar P
UNIT-III Classification and Prediction: Issues Regarding Classification and Prediction – Classification by Decision Tree Introduction – Bayesian Classification – Rule Based Classification – Classification by Back propagation – Support Vector Machines – Associative Classification – Lazy Learners – Other Classification Methods – Prediction – Accuracy and Error Measures – Evaluating the Accuracy of a Classifier or Predictor – Ensemble Methods – Model Section.
UNIT - 1 Part 2: Data Warehousing and Data MiningNandakumar P
DBMS Schemas for Decision Support , Star Schema, Snowflake Schema, Fact Constellation Schema, Schema Definition, Data extraction, clean up and transformation tools.
UNIT - 5 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHONNandakumar P
UNIT-V INTRODUCTION TO NUMPY, PANDAS, MATPLOTLIB
Exploratory Data Analysis (EDA), Data Science life cycle, Descriptive Statistics, Basic tools (plots, graphs and summary statistics) of EDA, Philosophy of EDA. Data Visualization: Scatter plot, bar chart, histogram, boxplot, heat maps, etc.
UNIT - 2 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHONNandakumar P
UNIT-II CONTROL STRUCTURES& COLLECTIONS
Control Structures: Boolean expressions, Selection control and Iterative control. Arrays - Creation, Behavior of Arrays, Operations on Arrays, Built-In Methods of Arrays. List –Creation, Behavior of Lists, Operations on Lists, Built-In Methods of Lists. Tuple -Creation, Behavior of Tuples, Operations on Tuples, Built-In Methods of Tuples. Dictionary – Creation, Behavior of Dictionary, Operations on Dictionary, Built-In Methods of Dictionary. Sets – Creation, Behavior of Sets, Operations on Sets, Built-In Methods of Sets, Frozen set.
Problem Solving: A Food Co-op’s Worker Scheduling Simulation.
UNIT-1 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON Nandakumar P
Unit 1 : INTRODUCTION TO PROBLEM SOLVING, EXPRESSION AND DATA TYPES
Fundamentals: what is computer science - Computer Algorithms - Computer Hardware - Computer software - Computational problem solving using the Python programming language - Overview of Python, Environmental Setup, First program in Python, Python I/O Statement. Expressions and Data Types: Literals, Identifiers and Variables, Operators, Expressions. Data types, Numbers, Type Conversion, Random Number.
Problem solving: Restaurant Tab calculation and Age in seconds.
Python tutorial notes for all the beginners. It is covered with core topics in python with example programs. It is useful for all types of students (school, college (lower and higher level)) and also for teachers, lecturers, assistant professors, and professors.
Unit-4 Professional Ethics in EngineeringNandakumar P
About an engineer's responsibility and rights he/she having nowadays. This PPT will give them a basic approach towards engineer's work towards public needs that develop the society in this updated world.
Unit-3 Professional Ethics in EngineeringNandakumar P
About an engineer's responsibility towards safety and risk taken by him/her in critical circumstance.
This PPT will give them a basic approach towards engineer's work towards safety for the society.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
2. Contents
Naming Entities
Names, Identifiers and Address
Name Spaces
Name Resolution
Closure Mechanism
Linking and Mounting
Implementation of Name Space
Implementation of Resolution
Conclusion
3. Why naming is important?
Names are used to
Share resources
Uniquely identify entities
To refer locations, and so on…
Name resolution allows a process to access the named
entity
4. Naming Entities
Name string of characters used to refer to an
entity
Entity in DS can be anything, e.g., hosts, printers, disks,
files, mailboxes, web pages, etc
Access Point To access an entity
Address name of access point
Access points of an entity may change
5. Identifier and True Identifiers
We need
single name of entity independent from the address of
that entity location independent
Identifiers name that uniquely identifies an
entity
True Identifier has three properties
Refers to at most one entity
Each entity is referred to by at most one identifier
Never reused
Differentiating point for Address and Identifier
6. Name Space
Names in DS are organized into Name Spaces
Name Space represented as labeled, directed
graph
Leaf node no outgoing edges
Directory node number of labeled outgoing
edges
Stores directory table containing entries for each
outgoing edge as a pair (edge label, node identifier)
Root Node only outgoing edges
Path Name sequence of labels
Absolute Path first node in path name is root
Relative Path the opposite case
8. Name Resolution
The process of looking up a name
Closure Mechanism Knowing how and where to start
name resolution
Mounting transparent way for name resolution with
different name spaces
Mounted File System letting a directory node store
the identifier of a directory node from a different name
space (foreign name space)
Mount point directory node storing the node
identifier
Mounting point directory node in the foreign name
space
Normally the mounting point is root
9. Mounted File System
During resolution, mounting point is looked up &
resolution proceeds by accessing its directory
table
Mounting requires at least
Name of an access protocol (for communication)
Name of the server (resolved to address)
Name of mounting point in foreign name space (resolved
to node identifier in foreign NS)
Each of these names needs to be resolved
Three names can be represented as URL
nfs://oslab.khu.ac.kr/home/faraz
11. Global Name Service (GNS)
Another way to merge different name spaces
Mechanism add a new root node and make the
exiting root node its children
Problem
Existing names need to be changed. E.g.,
home/faraz people/home/faraz
Expansion is generally hidden from user
Has a significant performance overhead when
merging 100s or 1000s of name spaces
13. Implementation of Name Space
For large scale DS, name spaces are organized
hierarchically
Name Spaces are partitioned into three logical layers
Global Layer formed by highest-level nodes
Administration Layer formed by directory nodes
managed within a single organization
Managerial Layer formed by nodes that may
typically change regularly
15. Implementation of Name Space
Item Global Administrational Managerial
Geographical scale of network Worldwide Organization Department
Total number of nodes Few Many Vast numbers
Responsiveness to lookups Seconds Milliseconds Immediate
Update propagation Lazy Immediate Immediate
Number of replicas Many None or few None
Is client-side caching applied? Yes Yes Sometimes
16. Implementation of Name Resolution
Assumptions
No replication of name servers
No client side caching
Each client has access to a local name server
Two possible implementations
Iterative Name Resolution
Server will resolve the path name as far as it can, and return
each intermediate result to the client
Recursive Name Resolution
A name server passes the result to the next name server found
by it
18. Recursive Name Resolution
Advantages
Caching result is more effective
Reduced communication cost
Disadvantage
Demands high performance on each name server
19. Domain Name System (DNS)
An example implementation of name resolution
Primarily used for looking up host address and
mail servers
DNS name space is hierarchically organized as a
rooted tree
A label is a case sensitive string with max. length
of 63 characters
Max. length of complete path name is 255
characters
The root is represented by a dot
We generally omit this dot for readability
20.
21. Naming versus Locating Entities
Entities are named for lookup and subsequent
access
Human-friendly Names
Identifiers
Addresses
Virtually all naming systems maintain mapping
from Human-friendly names to addresses
Partitioning of Name space
Global Level
Administrator Level
Managerial Level
23. Naming versus Locating Entities
Possible Solutions
Record the address of new machine
Lookup operation shall work
Another update shall be required to database in case it changes
again
Record the name of the new machine
Less efficient
Find the name of new machine
Lookup the address associated with the name
Addition of step to lookup operation
For highly mobile entities, it becomes only worse
24. Naming versus Locating Entities
Direct, single level mapping between names and addresses.
T-level mapping using identities.
25. Simple solutions: Broadcasting and multicasting
A location service accepts an identifier as input and
returns the current address of the identified entity.
Simple solutions exist to work in local area network.
Address Resolution Protocol (ARP) to map the IP address
of a machine to its data-link address, which uses
broadcasting.
Multicasting can be used to locate entities in point-to-
point networks (such as the Internet).
Each multicasting address can be associated with multiple
replicated entities.
32. Hierarchical Approaches (4)
a) An insert request is forwarded to the first node that
knows about entity E.
b) A chain of forwarding pointers to the leaf node is
created.
33. Pointer Caches (1)
Caching a reference to a directory node of the
lowest-level domain in which an entity will reside
most of the time.
34. Pointer Caches (2)
A cache entry that needs to be invalidated
because it returns a nonlocal address, while such
an address is available.
35. Scalability Issues
The scalability issues related to uniformly placing subnodes of a
partitioned root node across the network covered by a location
service.
36. The Problem of Unreferenced
Objects
An example of a graph representing objects
containing references to each other.
37. Reference Counting (1)
The problem of maintaining a proper reference
count in the presence of unreliable
communication.
38. Reference Counting (2)
a) Copying a reference to another process
and incrementing the counter too late
b) A solution.
39. Advanced Referencing Counting (1)
a) The initial assignment of weights in weighted
reference counting
b) Weight assignment when creating a new reference.
43. Reference Listing (1)
Skeleton Keeps track of Proxies
Instead of counting them maintain an explicit list of references
Adding/removing references to the list have no effect on the
fact the proxy is already exists/removed
Idempotent Operations
Repeatable without affecting the end result
Increment/decrement operation are clearly not
idempotent
44. Reference Listing (2)
Advantages
Don’t require reliable communication
Duplicate messages need not to be detected
Only insertion/deletion should be acknowledged
Easier to keep system consistent in case of process failures
Drawback
Scale badly
Solution
Leasing
45. Identifying Unreachable Entities
Trace based garbage collection
Scalability problems
Naïve tracing
Mark and sweep collectors
White, Grey, Black marks
Drawbacks
Reachability graphs need to remain same during both
phases
No process can run when GC is running
49. Conclusion
Naming, organization of names and name
resolution are key issue in any distributed systems
Locating entities is an open research issues. There
are few methods like Forwarding pointers,
hierarchical approaches, home based approaches
and pointer caches but each has its own short
comings
Reference counting, advanced reference counting
and Reference listing are few methods that can be
used for unreferenced objects
Fall-back mechanism for location services based on “Forwarding Pointers”
Draw Backs:
Increased Communication Latency: One has to Contact the Home even if the Host is present in Local network.
Home location must always exist
Solution: Two-Tiered Scheme, Locate the entity in local registry first, then contact the Entity’s Home location. (Mohan and Jain, 1994) applied it in Mobile Telephony.
Home Location be kept at traditional Naming Service and let the client first look up the location of Home. That location can be cached.
Global Location Service (Van Steen et al, 1998) representative of many Personal Communication Systems (Pitoura and Samaras, 2001, Wang 1993)
Network is divided into Hierarchy of Domains similar as DNS
Domain - Sub Domains Leaf Domain (LAN/Cell)
Each Entity present in a Domain D is represented by a Location Record in the directory node dir(D)
Each Location record stores a pointer to the directory node of the next entity, where each location record stores a pointer to the directory node of next lower level sub-domain.
Lookup operations exploit LOCALITY
Insertion is Installing a Chain of Pointers in top-Down fashion
Deletion is Analogous to Insertion.
Delete process continues until a pointer is removed from a location record that remains nonempty afterwards
Storing lookup results in traditional Location Services is highly effective because the entities are STATIONARY.
For Mobile Entities, caching is not effective. But E moves in D regularly, then a reference to dir(D), can, in principal, be cached at every node along the path from the leaf node where the lookup was initiated
Pointer Caching Approach is described by (Jain, 1996) Global Location Service (Van Steen, 1998); (Baggio et al, 2000)
Improvements:
By letting dir(D) store actual location of E, instead of a pointer to sub-domain. It shall make lookup operation in only two steps 1) get appropriate directory node 2) get the actual location of the E
Open Questions:
Which Domain pointer should be cached if E moves in two domains regularly.
When to invalidate the cache entry
Problem:
Root node is required to store a location record for each entity and to process requests for entity
Storage: Location record 1 KB, Billion records take on tera byte 10 100 GB disks
Looup/update request processing: single root node becomes bottleneck
Solution:
Partition the root node/high-level directories into sub nodes. Each sub node is reponsible for a specific sub set of all entities.
Question: Where to physically place each sub node in the network.
Answer 1) centralized approach. Keep all at the same place. And root node is implemented by means of parallel computer
Having a remote reference to an object doesn’t mean that the object will always be accessible
Uni-processor systems VS distributed systems
(Plainfosse and Shpiro, 1995) and (Abdullah and RingWood, 1998).
Popular Method in Uni-processor systems.
Problems:
Unreliable Communication
If no special measures are taken to detect duplicate messages then skeleton may falsely increment its reference counter again.
When a remote reference is to be removed and message is lost again.
Passing a reference requires three messages. That is performance impact in distributed systems.
Only Decrement counting can be used to maintain reference integrity. Weighted Reference Counting
Problem: Only a limited number of references can be made.
Use of Indirection:
This is similar to forwarding pointers and suffer from the same problems.
Chains are performance degrading
Chains are more Susceptible to failure
Generation Reference Counting:
Each remote reference is created as Proxy/Skeleton pair. (p, s)
Each proxy has a generation number. When created it is set to zero. When reference is copied and new proxy is made, this number adds up.
Skeleton maintains a table G in which G[i] denotes the outstanding copies of generation i.
When a proxy is removed, the Copy Counter (n) and Generation number (k) is sent to Skeleton.
Skeleton adjusts G by decrementing G[k] by one and incrementing G[k+1] by n
Advantages: Handle duplicate references without the need to contact skeleton at proxy creation time
Java RMI based on (Birrell et al, 1993)
Naïve tracing in Distributed Systems: Emerald Systems, (jul et al, 1998)
(Lang et al, 1992)
Only for (proxy, skeleton) sets. Distributed GC.
Address Scalability. Basic idea is to let low level groups collect garbage, and leave the analysis of inter group references
Garbage Reclamation is actually be performed by the Local GC.