Download - Introduction to Distributed Systems
![Page 1: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/1.jpg)
Com
pile
d by
: Mira
f Bel
yuIntroduction to Distributed SystemsChapter twoArchitectures
![Page 2: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/2.jpg)
Com
pile
d by
: Mira
f Bel
yu
Introduction
Distributed systems are often complex pieces of software of which the components are by definition dispersed across multiple machines.
Organization of distributed systems is mostly about the software components that constitute the system.
![Page 3: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/3.jpg)
Com
pile
d by
: Mira
f Bel
yu
Introduction cont…
Organization • Logical organization• Physical organization
![Page 4: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/4.jpg)
Com
pile
d by
: Mira
f Bel
yu
Introduction cont…
Software architecture• how the various software components are
to be organized and how they should interact.
system architecture• instantiate and place software components
on real machines.
![Page 5: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/5.jpg)
Com
pile
d by
: Mira
f Bel
yu
Introduction cont…
Centralized architecture •Single server implements software components•Remote clients access the server with any communication means
![Page 6: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/6.jpg)
Com
pile
d by
: Mira
f Bel
yu
Sample centralized architecture
![Page 7: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/7.jpg)
Com
pile
d by
: Mira
f Bel
yu
Centralized architecture cont…
Drawback •Not easily scalable• Limitation in the number of CPUs.• Entire system needs to be upgraded or
replaced
![Page 8: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/8.jpg)
Com
pile
d by
: Mira
f Bel
yu
Introduction cont…
Decentralized architecture •Two or more machines•Plays more or less equal role
![Page 9: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/9.jpg)
Com
pile
d by
: Mira
f Bel
yu
Architectural styles
Formulated in terms of componentsThe way that components are connected
to each otherThe data exchanged between componentsHow these elements are jointly configured
into a system
![Page 10: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/10.jpg)
Com
pile
d by
: Mira
f Bel
yu
Architectural styles cont…
Layered architecture Object – based architectureData – centered architectureEvent – based architecture
![Page 11: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/11.jpg)
Com
pile
d by
: Mira
f Bel
yu
Layered architecture
Components are organized in a layered fashion
Component at layer L; is allowed to call components at the underlying layer Li
But not vise versa
![Page 12: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/12.jpg)
Com
pile
d by
: Mira
f Bel
yu
Layered architecture cont…
![Page 13: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/13.jpg)
Com
pile
d by
: Mira
f Bel
yu
Layered architecture cont…
Key observation is that control generally flows from layer to layer
Requests go down the hierarchy whereas the results flow upward
![Page 14: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/14.jpg)
Com
pile
d by
: Mira
f Bel
yu
Object – based architecture
Each object corresponds to what is called a component
Components are connected through a (remote) procedure call mechanism
Matches the client-server system architecture.
![Page 15: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/15.jpg)
Com
pile
d by
: Mira
f Bel
yu
Sample object – based arch
![Page 16: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/16.jpg)
Com
pile
d by
: Mira
f Bel
yu
Data – centric architecture
Processes communicate through a common repository.
Processes communicate through shared data
![Page 17: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/17.jpg)
Com
pile
d by
: Mira
f Bel
yu
Data – centric architecture cont…
Shared distributed file system in which virtually all communication takes place through files
Web-based distributed systems, are largely data-centric
![Page 18: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/18.jpg)
Com
pile
d by
: Mira
f Bel
yu
Event – based architectures
Processes essentially communicate through the propagation of events, which optionally also carry data.
Associated with what are known as publish/subscribe systems.
![Page 19: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/19.jpg)
Com
pile
d by
: Mira
f Bel
yu
Event – based architectures cont…
Processes publish events after middleware ensures that only those processes that subscribed to those events will receive them
Advantage :•Processes are Decoupled in space,
or referentially decoupled.
![Page 20: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/20.jpg)
Com
pile
d by
: Mira
f Bel
yu
Advantage cont…
Referentially decoupled implies processes need not explicitly refer to each other
![Page 21: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/21.jpg)
Com
pile
d by
: Mira
f Bel
yu
System architectures
![Page 22: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/22.jpg)
Com
pile
d by
: Mira
f Bel
yuWhat is System Architecture?
![Page 23: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/23.jpg)
Com
pile
d by
: Mira
f Bel
yu
System Architecture
CentralizedDecentralized Hybrid
![Page 24: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/24.jpg)
Com
pile
d by
: Mira
f Bel
yu
Centralized Architecture
Basic client-server modelA server is a process (machine) implementing a specific service
for example, a file system service or a database service.
![Page 25: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/25.jpg)
Com
pile
d by
: Mira
f Bel
yu
Centralized Architecture cont…
A client is a process that requests a service from a server by sending it a request and subsequently waiting for the server's reply.
client-server interaction is also known as request-reply.
![Page 26: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/26.jpg)
Com
pile
d by
: Mira
f Bel
yu
Centralized Architecture cont…
![Page 27: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/27.jpg)
Com
pile
d by
: Mira
f Bel
yu
Centralized Architecture cont…
The communication can be either of the following:•Connection less protocol•Connection - oriented protocol
![Page 28: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/28.jpg)
Com
pile
d by
: Mira
f Bel
yu
Centralized Architecture cont…
Connectionless protocolIf the underlying network is fairly reliable as in many local-area networks
![Page 29: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/29.jpg)
Com
pile
d by
: Mira
f Bel
yu
How Connectionless protocol works
How client requests a service:•Packages a message for the server• Identifying the service it wants• Include necessary input data•The message is then sent to the server.
![Page 30: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/30.jpg)
Com
pile
d by
: Mira
f Bel
yu
Cont…
How servers works:•Always wait for an incoming request•Subsequently process requests•Package the results in a reply message•Send replies to the client
![Page 31: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/31.jpg)
Com
pile
d by
: Mira
f Bel
yu
Centralized Architecture cont…
Connection - oriented protocolIs not entirely appropriate in a local-area network due to relatively low performance
Works perfectly fine in wide-area systems in which communication is inherently unreliable
![Page 32: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/32.jpg)
Com
pile
d by
: Mira
f Bel
yu
Cont…
For example, All Internet application protocols are based on reliable TCP/IP connections.
![Page 33: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/33.jpg)
Com
pile
d by
: Mira
f Bel
yu
How connection – oriented protocol works
When client requests a service:•Sets up a connection to the server before sending the request•Server generally uses that same connection to send the reply message
![Page 34: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/34.jpg)
Com
pile
d by
: Mira
f Bel
yu
Cons of connection – oriented protocol
Setting up and tearing down a connection is relatively costly, especially when the request and reply messages are small.
![Page 35: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/35.jpg)
Com
pile
d by
: Mira
f Bel
yu
Centralized Architecture cont…Application Layering•The user-interface level•A part that handles interaction with a user•The processing level•A part that operates on a database or file
system•The data level•A middle part that generally contains the
core functionality of an application
![Page 36: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/36.jpg)
Com
pile
d by
: Mira
f Bel
yu
Cont.… Search Engine Example
![Page 37: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/37.jpg)
Com
pile
d by
: Mira
f Bel
yu
Decentralized Architecture
Vertical distribution• Is achieved by placing different
components on different machines• functions are logically and physically
split across multiple machines• each machine is tailored to a specific
group of functions
![Page 38: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/38.jpg)
Com
pile
d by
: Mira
f Bel
yu
Decentralized Architecture
Horizontal distribution•Client or server may be physically split up into logically equivalent parts, but•Each part is operating on its own share of the complete data set•Balance the load
![Page 39: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/39.jpg)
Com
pile
d by
: Mira
f Bel
yu
Structured peer – to – peer Arch
Network is constructed using a deterministic procedure like Distributed Hash Table (DHT)
![Page 40: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/40.jpg)
Com
pile
d by
: Mira
f Bel
yu
Structured peer to peer cont …
Distributed Hash Table (DHT)• Data items are assigned a random key
(128-bit or 160-bit identifier)• Nodes assigned a random number from
the same identifier space• DHT Maps the key of a data item to the
identifier of a node based on some distance metric
![Page 41: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/41.jpg)
Com
pile
d by
: Mira
f Bel
yu
Unstructured peer –to – peer Arch
Rely on randomized algorithms for constructing an overlay network
Each node maintains a list of neighbors
Data items are randomly placed on nodes
![Page 42: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/42.jpg)
Com
pile
d by
: Mira
f Bel
yu
Cont..
When a node needs to locate a specific data item, it floods the network with a search query.
Alternative way:•Super-peers
![Page 43: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/43.jpg)
Com
pile
d by
: Mira
f Bel
yu
Super - peers
Make use of special nodes that maintain an index of data items
![Page 44: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/44.jpg)
Com
pile
d by
: Mira
f Bel
yu
Super – peer cont
Problem •select the nodes that are eligible to become super peer•Leader-election problem
![Page 45: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/45.jpg)
Com
pile
d by
: Mira
f Bel
yu
Hybrid Architecture
![Page 46: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/46.jpg)
Com
pile
d by
: Mira
f Bel
yu
Hybrid Architecture
Client-server solutions are combined with decentralized architectures
•Edge-Server Systems•Collaborative Distributed Systems
![Page 47: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/47.jpg)
Com
pile
d by
: Mira
f Bel
yu
Edge – Server Systems
Deployed on the InternetServers are placed "at the edge" of the network
Boundary between enterprise networks and the actual Internet
![Page 48: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/48.jpg)
Com
pile
d by
: Mira
f Bel
yu
Edge – Server Systems
![Page 49: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/49.jpg)
Com
pile
d by
: Mira
f Bel
yu
Collaborative Distributed Systems
Once a node has joined the system, it can use a fully decentralized scheme for collaboration.
BitTorrent
![Page 50: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/50.jpg)
Com
pile
d by
: Mira
f Bel
yu
BitTorrent implementation
![Page 51: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/51.jpg)
Com
pile
d by
: Mira
f Bel
yu
System Models
![Page 52: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/52.jpg)
Com
pile
d by
: Mira
f Bel
yu
System Models
Provide an abstract, simplified but consistent description of a relevant aspect of distributed system design.
![Page 53: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/53.jpg)
Com
pile
d by
: Mira
f Bel
yu
System models cont…
Physical modelsArchitectural modelsFundamental models
![Page 54: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/54.jpg)
Com
pile
d by
: Mira
f Bel
yu
Physical models
Hardware composition of a system in terms of:
ComputersMobilesAnd their interconnecting
network
![Page 55: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/55.jpg)
Com
pile
d by
: Mira
f Bel
yu
Physical models cont…
Three generations of distributed systems:
1. Early Distributed Systems2. Internet – Scale Distributed Systems3. Contemporary Distributed Systems
![Page 56: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/56.jpg)
Com
pile
d by
: Mira
f Bel
yu
Generation of Distributed Sys.
Early Distributed Systemslate 1970s and early 1980s in response
to the emergence of local area networking technology, usually Ethernet
10 to 100 nodes interconnected by a LANSmall rage of services like:
Local printer sharing and file servers
![Page 57: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/57.jpg)
Com
pile
d by
: Mira
f Bel
yu
Early Distributed Systems cont…
Homogenous individual systemsOpenness not implemented largelyQoS didn’t metNodes are typically Desktop PCs:• Static• Autonomous•Discrete
![Page 58: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/58.jpg)
Com
pile
d by
: Mira
f Bel
yu
Generation cont…
Internet – scale distributed systems1990s in response to growth of the Internet
Large number of nodesNodes interconnected by network of networks (Internet)
![Page 59: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/59.jpg)
Com
pile
d by
: Mira
f Bel
yu
Internet – Scale Distributed Systems cont…Highly heterogeneous:
• Network, PC architecture, OS, implementation language and etc.
Nodes are typically Desktop PCs:• Static• Autonomous• Discrete
Google (1996)About 16 or 17 years before
![Page 60: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/60.jpg)
Com
pile
d by
: Mira
f Bel
yu
Generation cont…
Contemporary Distributed SystemsMobile computing (laptops and
smartphones capabilities)Ubiquitous computing (embedded
computers in everyday life)Cloud computing highly not
autonomous
![Page 61: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/61.jpg)
Com
pile
d by
: Mira
f Bel
yu
Fundamental models
Takes an abstract perspective in order to examine individual aspects of a distributed system• Interaction models•Failure models•Security models
![Page 62: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/62.jpg)
Com
pile
d by
: Mira
f Bel
yu
Fundamental models cont…
Interaction modelsConsider the structure and sequencing of the communication between the elements of the system
![Page 63: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/63.jpg)
Com
pile
d by
: Mira
f Bel
yu
Fundamental models cont…
Failure modelsConsider the ways in which a system may fail to operate correctly
![Page 64: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/64.jpg)
Com
pile
d by
: Mira
f Bel
yu
Fundamental models cont…
Security modelsConsider how the system is protected against attempts to interfere with its correct operation or to steal its data
![Page 65: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/65.jpg)
Com
pile
d by
: Mira
f Bel
yu
Architectural models
System structure in terms of separately specified components and their interrelationships
Architectural elementsCommunicating entitiesCommunication paradigms
![Page 66: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/66.jpg)
Com
pile
d by
: Mira
f Bel
yu
Communicating entities
Are the entities that are communicating in the distributed system•Objects• Components•Web services
![Page 67: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/67.jpg)
Com
pile
d by
: Mira
f Bel
yu
Communicating entities cont…
ObjectsEnable and encourage the use of object-oriented approaches in distributed systems (including both object-oriented design and OOP)
![Page 68: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/68.jpg)
Com
pile
d by
: Mira
f Bel
yu
Communicating entities cont…
Components Interconnected to form the systemAccessed through interfacesDependency between components
![Page 69: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/69.jpg)
Com
pile
d by
: Mira
f Bel
yu
Communicating entities cont…
Web servicesClosely related to objects and components
Are intrinsically integrated into the World Wide Web
![Page 70: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/70.jpg)
Com
pile
d by
: Mira
f Bel
yu
Communication paradigms
How entities communicate in a distributed system
Three paradigms:• Inter process communication• Remote invocation • Indirect communication
![Page 71: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/71.jpg)
Com
pile
d by
: Mira
f Bel
yu
Inter process communication
Low-level support for communication between processes
Including message-passing primitives, direct access to the API offered by Internet protocols (socket programming) and support for multicast communication.
![Page 72: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/72.jpg)
Com
pile
d by
: Mira
f Bel
yu
Remote invocation
Based on a two-way exchange between communicating entities in a distributed system and resulting in the calling of a remote operation, procedure or method.
Request-reply protocol• Remote procedure call• Remote method invocation
![Page 73: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/73.jpg)
Com
pile
d by
: Mira
f Bel
yu
Remote procedure call (RPC)
Procedures in processes on remote computers can be called as if they are procedures in the local address space
![Page 74: Introduction to Distributed Systems](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816498550346895dd66ec1/html5/thumbnails/74.jpg)
Com
pile
d by
: Mira
f Bel
yu
Remote Method Invocation (RMI)
A calling object can invoke a method in a remote object
The underlying details are generally hidden from the user