SlideShare a Scribd company logo
1 of 23
Download to read offline
• Data Problems in Communications
• Store primitive values by different byte order (Big endian, Little endian)
• Different code sets for OS (UTF-8, CP949, etc…)
• enable any two computers to exchange binary data values
• The values are converted to an agreed external format before transmission and converted to the local
form on receipt
• The values are transmitted in the sender’s format, together with an indication of the format used, and
the recipient converts the values if necessary.
• An agreed standard for the representation of data structures and primitive values is
called an external data representation.
• Marshalling is the process of taking a collection of data items and assembling them
into a form suitable for transmission in a message.
• Three alternative approaches to external data representation and marshalling
• CORBA’s common data representation (CDR)
• Java’s object serialization
• XML (Extensible Markup Language)
• Marshalling should be handled in software, not directly by the programmer.
• Because marshalling takes into account all the details of a composite object, it is prone to errors if
done manually.
• Design issue of marshalling : file format, type information
• CORBA CDR is the external data representation defined
with CORBA 2.0 [OMG 2004a].
• It consists of primitive type and constructed type.
Type Representation
sequence length(unsignedlong) followedby elements in order
string length(unsignedlong) followedby characters in order (can also
can have widecharacters)
array arrayelements in order (no length specified becauseit is fixed)
struct in theorder of declaration of thecomponents
enumerated unsignedlong(thevalues are specifiedby theorder declared)
union type tag followed by the selected member
The flattened form represents a Person struct with value: {‘Smith’, ‘London’, 1984}
0–3
4–7
8–11
12–15
16–19
20-23
24–27
5
"Smit"
"h___"
6
"Lond"
"on__"
1984
index in
sequence of bytes 4 bytes
notes
on representation
length of string
‘Smith’
length of string
‘London’
unsigned long
• Type of a data item not given: assumed sender and recipient have common
knowledge of the order and types of data items
• Types of data structures and types of basic data items are described in CORBA IDL
• Provides a notation for describing the types of arguments and results of RMI methods
• Both objects and primitive data values may be passed as arguments and results of
method invocations.
• The following Java class is equivalent to Person struct
• Serialization: flattening objects into a serial form for storing on disk or transmitting in
a message.
• Assumed has no prior knowledge of the types of the objects in the serialized form
• Some information about the class of each object is included in the serialized form
• Java objects can contain references to other objects.
• All objects it references are serialized
• References are serialized as handles
• A handle is a reference to an object within the serialized form
• Each object is written once only
• Handle is written in subsequent occurrences
1. its class info is written out: name, version number
2. types and names of instance variables
* If an instance variable belong to a new class, then new class info must be
written out, recursively.
* Each class is given a handle
3. values of instance variables
Ex) Person p = new Person("Smith", "London", 1984);
The true serialized form contains additional type markers; h0 and h1 are handles
Serialized values
Person
3
1984
8-byte version number
int year
5 Smith
java.lang.String
name:
6 London
h0
java.lang.String
place:
h1
Explanation
class name, version number
number, type and name of
instance variables
values of instance variables
• XML is a markup language that was defined by the World Wide Web Consortium
(W3C) for general use on the Web.
• XML data items are tagged with ‘markup’ strings.
• XML is used to enable clients to communicate with web services and for defining the interfaces and
other properties of web services.
• XML is extensible in the sense that users can define their own tags
• XML documents, being textual, can be read by humans.
• XML elements and attributes
• Elements: An element in XML consists of a portion of character data surrounded by matching start and
end tags.
• Attributes: A start tag may optionally include pairs of associated attribute names and values such as
id="123456789", as shown above.
• Parsing and well-formed documents
• Well formed rule
• every start tag has a matching end tag
• all tags are correctly nested
• Every XML document must have a single root element
• CDATA : How to represent special characters
• XML prolog : version, encoding
• XML namespaces : a set of names for a collection of element types and attributes
• referenced by a URL
• allows an application to make use of multiple sets of external definitions in different namespaces
without the risk of name clashes.
• XML schemas : Define element shape
• defines the elements and attributes that can appear in a document
• how the elements are nested and the order and number of elements, and whether an element is
empty or can include text
• Each process contains objects, some of which can receive remote invocations, others
only local invocations.
• Those that can receive remote invocations are called remote objects
• Objects need to know the remote object reference of an object in another process in
order to invoke its methods.
• A remote object reference is an identifier for a remote object that is valid throughout
a distributed system.
• Remote object references must be generated in a manner that ensures uniqueness
over space and time.
• Even if remote object is deleted, it is important that the remote object reference is not reused
• Example of unique remote object reference
• Concatenate Internet address of its computer and the port number of the process that created it with
the time of its creation and a local object number
• Multicast communication is appropriate model for communication from one process
to a group of other processes.
• Four cases where multicast messages are used
• Fault tolerance based on replicated services
• Discovering services in spontaneous networking
• Better performance through replicated data
• Propagation of event notifications
• IP multicast
• built on top of the Internet Protocol
• allows the sender to transmit a single IP packet to a set of computers that form a multicast group.
• multicast group is specified by a Class D Internet address
• following details are specific to IPv4
• Multicast routers
• Multicast address allocation
• Multicast Routers
• IP packets can be multicast both on a local network and on the wider Internet.
• Local multicasts use the multicast capability of the local network, for example, of an Ethernet.
• Internet multicasts make use of multicast routers, which forward single datagrams to routers on other
networks, where they are again multicast to local members.
• To limit the distance of propagation of a multicast datagram, the sender can specify the number of
routers it is allowed to pass – called the time to live, or TTL for short.
• Multicast address allocation
• Class D addresses (that is, addresses in the range 224.0.0.0 to 239.255.255.255) are reserved for
multicast traffic
• Local network Control Block, Internet Control Block, Ad Hoc Control Block, Administratively Scoped
Block
• Multicast addresses may be permanent or temporary
• When a temporary group is created, it requires a free multicast address to avoid
accidental participation in an existing group.
• The IP multicast protocol does not directly address this issue.
• If used locally, setting the TTL to a small value, making collisions with other groups unlikely.
• Failure model for multicast datagrams
• Datagrams multicast over IP multicast have the same failure characteristics as UDP datagrams
• Unreliable multicast, because it does not guarantee that a message will be delivered to any member of
a group.
• Failure feature of Unreliable IP Multicast
• A datagram sent from one multicast router to another may be lost
• recipients may drop the message because its buffer is full.
• the effect of the failure semantics of IP multicast on the four examples
• Fault tolerance based on replicated services
• Discovering services in spontaneous networking
• Better performance through replicated data
• Propagation of event notifications
• The examples also suggest that some applications have strong requirements for
ordering, the strictest of which is called totally ordered multicast,
[Distributed System] ch4. interprocess communication

More Related Content

What's hot

Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corbaMayuresh Wadekar
 
Msit computer networks 1
Msit computer networks 1Msit computer networks 1
Msit computer networks 1Sridhar Baithi
 
Abstract data types
Abstract data typesAbstract data types
Abstract data typesHoang Nguyen
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocolsFabMinds
 
introduction for web connectivity (IoT)
introduction for web connectivity (IoT)introduction for web connectivity (IoT)
introduction for web connectivity (IoT)FabMinds
 
Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...IndicThreads
 
Networking in java, Advanced programming
Networking in java, Advanced programmingNetworking in java, Advanced programming
Networking in java, Advanced programmingGera Paulos
 
ET3003-2 OSI-TCPIP (Semester II 2013-2014)
ET3003-2 OSI-TCPIP (Semester II 2013-2014)ET3003-2 OSI-TCPIP (Semester II 2013-2014)
ET3003-2 OSI-TCPIP (Semester II 2013-2014)Tutun Juhana
 
Osi model with neworking overview
Osi model with neworking overviewOsi model with neworking overview
Osi model with neworking overviewSripati Mahapatra
 
Networking- OSI Layer Protocol Functions
Networking- OSI Layer Protocol FunctionsNetworking- OSI Layer Protocol Functions
Networking- OSI Layer Protocol FunctionsGayathri Kesavan
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecturenupurmakhija1211
 

What's hot (20)

Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
 
Msit computer networks 1
Msit computer networks 1Msit computer networks 1
Msit computer networks 1
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
 
Design patternsforiot
Design patternsforiotDesign patternsforiot
Design patternsforiot
 
22 owl section 1
22 owl    section 122 owl    section 1
22 owl section 1
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
 
introduction for web connectivity (IoT)
introduction for web connectivity (IoT)introduction for web connectivity (IoT)
introduction for web connectivity (IoT)
 
Protocol Buffer.ppt
Protocol Buffer.pptProtocol Buffer.ppt
Protocol Buffer.ppt
 
COMPUTER NETWORKS UNIT 5
COMPUTER NETWORKS UNIT 5COMPUTER NETWORKS UNIT 5
COMPUTER NETWORKS UNIT 5
 
Protocol Buffers
Protocol BuffersProtocol Buffers
Protocol Buffers
 
Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...
 
Networking in java, Advanced programming
Networking in java, Advanced programmingNetworking in java, Advanced programming
Networking in java, Advanced programming
 
ET3003-2 OSI-TCPIP (Semester II 2013-2014)
ET3003-2 OSI-TCPIP (Semester II 2013-2014)ET3003-2 OSI-TCPIP (Semester II 2013-2014)
ET3003-2 OSI-TCPIP (Semester II 2013-2014)
 
Osi model with neworking overview
Osi model with neworking overviewOsi model with neworking overview
Osi model with neworking overview
 
5. protocol layering
5. protocol layering5. protocol layering
5. protocol layering
 
C O R B A Unit 4
C O R B A    Unit 4C O R B A    Unit 4
C O R B A Unit 4
 
19.cobra
19.cobra19.cobra
19.cobra
 
Networking- OSI Layer Protocol Functions
Networking- OSI Layer Protocol FunctionsNetworking- OSI Layer Protocol Functions
Networking- OSI Layer Protocol Functions
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecture
 
Osi layer model
Osi layer modelOsi layer model
Osi layer model
 

Similar to [Distributed System] ch4. interprocess communication

Web technologies: recap on TCP-IP
Web technologies: recap on TCP-IPWeb technologies: recap on TCP-IP
Web technologies: recap on TCP-IPPiero Fraternali
 
Network architecure (3).pptx
Network architecure (3).pptxNetwork architecure (3).pptx
Network architecure (3).pptxKaythry P
 
09 Systems Software Programming-Network Programming.pptx
09 Systems Software Programming-Network Programming.pptx09 Systems Software Programming-Network Programming.pptx
09 Systems Software Programming-Network Programming.pptxKushalSrivastava23
 
Unit 1- Network Layer and Protocols-4.pptx
Unit 1- Network Layer and Protocols-4.pptxUnit 1- Network Layer and Protocols-4.pptx
Unit 1- Network Layer and Protocols-4.pptxDESTROYER39
 
chapter-4-networking hjgjjgj did hfhhfhj
chapter-4-networking hjgjjgj did hfhhfhjchapter-4-networking hjgjjgj did hfhhfhj
chapter-4-networking hjgjjgj did hfhhfhjAmitDeshai
 
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 10
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 10CCNA (R & S) Module 01 - Introduction to Networks - Chapter 10
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 10Waqas Ahmed Nawaz
 
Module 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptxModule 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptxAASTHAJAJOO
 
Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxdagilema
 
Ccna exploration exams
Ccna exploration examsCcna exploration exams
Ccna exploration examsHossam Zein
 
Computer design and Architechure and Algorithm
Computer design and Architechure and AlgorithmComputer design and Architechure and Algorithm
Computer design and Architechure and Algorithmmirzaahmadali
 
02-ProtocolArchitecture william stellings.ppt
02-ProtocolArchitecture william stellings.ppt02-ProtocolArchitecture william stellings.ppt
02-ProtocolArchitecture william stellings.pptstriker78669
 
Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and modelsMayank Jain
 
UNIT I DIS.pptx
UNIT I DIS.pptxUNIT I DIS.pptx
UNIT I DIS.pptxSamPrem3
 

Similar to [Distributed System] ch4. interprocess communication (20)

Web technologies: recap on TCP-IP
Web technologies: recap on TCP-IPWeb technologies: recap on TCP-IP
Web technologies: recap on TCP-IP
 
MVA slides lesson 2
MVA slides lesson 2MVA slides lesson 2
MVA slides lesson 2
 
Null talk
Null talkNull talk
Null talk
 
Network architecure (3).pptx
Network architecure (3).pptxNetwork architecure (3).pptx
Network architecure (3).pptx
 
09 Systems Software Programming-Network Programming.pptx
09 Systems Software Programming-Network Programming.pptx09 Systems Software Programming-Network Programming.pptx
09 Systems Software Programming-Network Programming.pptx
 
Protobuff and gRPC
Protobuff and gRPCProtobuff and gRPC
Protobuff and gRPC
 
Unit 1- Network Layer and Protocols-4.pptx
Unit 1- Network Layer and Protocols-4.pptxUnit 1- Network Layer and Protocols-4.pptx
Unit 1- Network Layer and Protocols-4.pptx
 
chapter-4-networking hjgjjgj did hfhhfhj
chapter-4-networking hjgjjgj did hfhhfhjchapter-4-networking hjgjjgj did hfhhfhj
chapter-4-networking hjgjjgj did hfhhfhj
 
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 10
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 10CCNA (R & S) Module 01 - Introduction to Networks - Chapter 10
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 10
 
Module 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptxModule 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptx
 
Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptx
 
Network layer
Network layerNetwork layer
Network layer
 
Computer networks
Computer networksComputer networks
Computer networks
 
Network layer logical addressing
Network layer logical addressingNetwork layer logical addressing
Network layer logical addressing
 
Ccna exploration exams
Ccna exploration examsCcna exploration exams
Ccna exploration exams
 
Computer design and Architechure and Algorithm
Computer design and Architechure and AlgorithmComputer design and Architechure and Algorithm
Computer design and Architechure and Algorithm
 
02-ProtocolArchitecture william stellings.ppt
02-ProtocolArchitecture william stellings.ppt02-ProtocolArchitecture william stellings.ppt
02-ProtocolArchitecture william stellings.ppt
 
Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and models
 
MVA slides lesson 1
MVA slides lesson 1MVA slides lesson 1
MVA slides lesson 1
 
UNIT I DIS.pptx
UNIT I DIS.pptxUNIT I DIS.pptx
UNIT I DIS.pptx
 

More from Gyuhyeon Nam

[study] pointer networks
[study] pointer networks[study] pointer networks
[study] pointer networksGyuhyeon Nam
 
grade server - block socket
grade server - block socketgrade server - block socket
grade server - block socketGyuhyeon Nam
 
[study] Survey of the State of the Art in Natural Language Generation: Core t...
[study] Survey of the State of the Art in Natural Language Generation: Core t...[study] Survey of the State of the Art in Natural Language Generation: Core t...
[study] Survey of the State of the Art in Natural Language Generation: Core t...Gyuhyeon Nam
 
[study] character aware neural language models
[study] character aware neural language models[study] character aware neural language models
[study] character aware neural language modelsGyuhyeon Nam
 
[Tool] Tree Tagger 를 이용한 한국어 품사 태깅
[Tool] Tree Tagger 를 이용한 한국어 품사 태깅 [Tool] Tree Tagger 를 이용한 한국어 품사 태깅
[Tool] Tree Tagger 를 이용한 한국어 품사 태깅 Gyuhyeon Nam
 
[study] 띄어쓰기 오류에 강건한 문장 압축 기반 한국어 문장 분류
[study] 띄어쓰기 오류에 강건한 문장 압축 기반 한국어 문장 분류[study] 띄어쓰기 오류에 강건한 문장 압축 기반 한국어 문장 분류
[study] 띄어쓰기 오류에 강건한 문장 압축 기반 한국어 문장 분류Gyuhyeon Nam
 
universal dependency relation
universal dependency relation universal dependency relation
universal dependency relation Gyuhyeon Nam
 
[study] Building Universal Dependency Treebanks in Korean
[study] Building Universal Dependency Treebanks in Korean[study] Building Universal Dependency Treebanks in Korean
[study] Building Universal Dependency Treebanks in KoreanGyuhyeon Nam
 
[study] Long Text Generation via Adversarial Training with Leaked Information
[study] Long Text Generation via Adversarial Training with Leaked Information[study] Long Text Generation via Adversarial Training with Leaked Information
[study] Long Text Generation via Adversarial Training with Leaked InformationGyuhyeon Nam
 
[Tool] chatscript 사용법
[Tool] chatscript 사용법[Tool] chatscript 사용법
[Tool] chatscript 사용법Gyuhyeon Nam
 
한국어 품사 태깅
한국어 품사 태깅 한국어 품사 태깅
한국어 품사 태깅 Gyuhyeon Nam
 

More from Gyuhyeon Nam (12)

[study] pointer networks
[study] pointer networks[study] pointer networks
[study] pointer networks
 
grade server - block socket
grade server - block socketgrade server - block socket
grade server - block socket
 
[study] Survey of the State of the Art in Natural Language Generation: Core t...
[study] Survey of the State of the Art in Natural Language Generation: Core t...[study] Survey of the State of the Art in Natural Language Generation: Core t...
[study] Survey of the State of the Art in Natural Language Generation: Core t...
 
[study] character aware neural language models
[study] character aware neural language models[study] character aware neural language models
[study] character aware neural language models
 
[Tool] Tree Tagger 를 이용한 한국어 품사 태깅
[Tool] Tree Tagger 를 이용한 한국어 품사 태깅 [Tool] Tree Tagger 를 이용한 한국어 품사 태깅
[Tool] Tree Tagger 를 이용한 한국어 품사 태깅
 
[study] 띄어쓰기 오류에 강건한 문장 압축 기반 한국어 문장 분류
[study] 띄어쓰기 오류에 강건한 문장 압축 기반 한국어 문장 분류[study] 띄어쓰기 오류에 강건한 문장 압축 기반 한국어 문장 분류
[study] 띄어쓰기 오류에 강건한 문장 압축 기반 한국어 문장 분류
 
universal dependency relation
universal dependency relation universal dependency relation
universal dependency relation
 
[study] Building Universal Dependency Treebanks in Korean
[study] Building Universal Dependency Treebanks in Korean[study] Building Universal Dependency Treebanks in Korean
[study] Building Universal Dependency Treebanks in Korean
 
[study] Long Text Generation via Adversarial Training with Leaked Information
[study] Long Text Generation via Adversarial Training with Leaked Information[study] Long Text Generation via Adversarial Training with Leaked Information
[study] Long Text Generation via Adversarial Training with Leaked Information
 
[Tool] chatscript 사용법
[Tool] chatscript 사용법[Tool] chatscript 사용법
[Tool] chatscript 사용법
 
한국어 품사 태깅
한국어 품사 태깅 한국어 품사 태깅
한국어 품사 태깅
 
[Tool] cwb cqp
[Tool] cwb cqp[Tool] cwb cqp
[Tool] cwb cqp
 

Recently uploaded

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 

Recently uploaded (20)

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 

[Distributed System] ch4. interprocess communication

  • 1.
  • 2. • Data Problems in Communications • Store primitive values by different byte order (Big endian, Little endian) • Different code sets for OS (UTF-8, CP949, etc…) • enable any two computers to exchange binary data values • The values are converted to an agreed external format before transmission and converted to the local form on receipt • The values are transmitted in the sender’s format, together with an indication of the format used, and the recipient converts the values if necessary. • An agreed standard for the representation of data structures and primitive values is called an external data representation.
  • 3. • Marshalling is the process of taking a collection of data items and assembling them into a form suitable for transmission in a message. • Three alternative approaches to external data representation and marshalling • CORBA’s common data representation (CDR) • Java’s object serialization • XML (Extensible Markup Language) • Marshalling should be handled in software, not directly by the programmer. • Because marshalling takes into account all the details of a composite object, it is prone to errors if done manually. • Design issue of marshalling : file format, type information
  • 4. • CORBA CDR is the external data representation defined with CORBA 2.0 [OMG 2004a]. • It consists of primitive type and constructed type. Type Representation sequence length(unsignedlong) followedby elements in order string length(unsignedlong) followedby characters in order (can also can have widecharacters) array arrayelements in order (no length specified becauseit is fixed) struct in theorder of declaration of thecomponents enumerated unsignedlong(thevalues are specifiedby theorder declared) union type tag followed by the selected member
  • 5. The flattened form represents a Person struct with value: {‘Smith’, ‘London’, 1984} 0–3 4–7 8–11 12–15 16–19 20-23 24–27 5 "Smit" "h___" 6 "Lond" "on__" 1984 index in sequence of bytes 4 bytes notes on representation length of string ‘Smith’ length of string ‘London’ unsigned long
  • 6. • Type of a data item not given: assumed sender and recipient have common knowledge of the order and types of data items • Types of data structures and types of basic data items are described in CORBA IDL • Provides a notation for describing the types of arguments and results of RMI methods
  • 7. • Both objects and primitive data values may be passed as arguments and results of method invocations. • The following Java class is equivalent to Person struct
  • 8. • Serialization: flattening objects into a serial form for storing on disk or transmitting in a message. • Assumed has no prior knowledge of the types of the objects in the serialized form • Some information about the class of each object is included in the serialized form • Java objects can contain references to other objects. • All objects it references are serialized • References are serialized as handles • A handle is a reference to an object within the serialized form • Each object is written once only • Handle is written in subsequent occurrences
  • 9. 1. its class info is written out: name, version number 2. types and names of instance variables * If an instance variable belong to a new class, then new class info must be written out, recursively. * Each class is given a handle 3. values of instance variables Ex) Person p = new Person("Smith", "London", 1984); The true serialized form contains additional type markers; h0 and h1 are handles Serialized values Person 3 1984 8-byte version number int year 5 Smith java.lang.String name: 6 London h0 java.lang.String place: h1 Explanation class name, version number number, type and name of instance variables values of instance variables
  • 10. • XML is a markup language that was defined by the World Wide Web Consortium (W3C) for general use on the Web. • XML data items are tagged with ‘markup’ strings. • XML is used to enable clients to communicate with web services and for defining the interfaces and other properties of web services. • XML is extensible in the sense that users can define their own tags • XML documents, being textual, can be read by humans.
  • 11. • XML elements and attributes • Elements: An element in XML consists of a portion of character data surrounded by matching start and end tags. • Attributes: A start tag may optionally include pairs of associated attribute names and values such as id="123456789", as shown above. • Parsing and well-formed documents • Well formed rule • every start tag has a matching end tag • all tags are correctly nested • Every XML document must have a single root element • CDATA : How to represent special characters • XML prolog : version, encoding
  • 12. • XML namespaces : a set of names for a collection of element types and attributes • referenced by a URL • allows an application to make use of multiple sets of external definitions in different namespaces without the risk of name clashes.
  • 13. • XML schemas : Define element shape • defines the elements and attributes that can appear in a document • how the elements are nested and the order and number of elements, and whether an element is empty or can include text
  • 14. • Each process contains objects, some of which can receive remote invocations, others only local invocations. • Those that can receive remote invocations are called remote objects • Objects need to know the remote object reference of an object in another process in order to invoke its methods. • A remote object reference is an identifier for a remote object that is valid throughout a distributed system.
  • 15. • Remote object references must be generated in a manner that ensures uniqueness over space and time. • Even if remote object is deleted, it is important that the remote object reference is not reused • Example of unique remote object reference • Concatenate Internet address of its computer and the port number of the process that created it with the time of its creation and a local object number
  • 16. • Multicast communication is appropriate model for communication from one process to a group of other processes. • Four cases where multicast messages are used • Fault tolerance based on replicated services • Discovering services in spontaneous networking • Better performance through replicated data • Propagation of event notifications
  • 17. • IP multicast • built on top of the Internet Protocol • allows the sender to transmit a single IP packet to a set of computers that form a multicast group. • multicast group is specified by a Class D Internet address • following details are specific to IPv4 • Multicast routers • Multicast address allocation
  • 18. • Multicast Routers • IP packets can be multicast both on a local network and on the wider Internet. • Local multicasts use the multicast capability of the local network, for example, of an Ethernet. • Internet multicasts make use of multicast routers, which forward single datagrams to routers on other networks, where they are again multicast to local members. • To limit the distance of propagation of a multicast datagram, the sender can specify the number of routers it is allowed to pass – called the time to live, or TTL for short.
  • 19. • Multicast address allocation • Class D addresses (that is, addresses in the range 224.0.0.0 to 239.255.255.255) are reserved for multicast traffic • Local network Control Block, Internet Control Block, Ad Hoc Control Block, Administratively Scoped Block • Multicast addresses may be permanent or temporary • When a temporary group is created, it requires a free multicast address to avoid accidental participation in an existing group. • The IP multicast protocol does not directly address this issue. • If used locally, setting the TTL to a small value, making collisions with other groups unlikely.
  • 20. • Failure model for multicast datagrams • Datagrams multicast over IP multicast have the same failure characteristics as UDP datagrams • Unreliable multicast, because it does not guarantee that a message will be delivered to any member of a group.
  • 21.
  • 22. • Failure feature of Unreliable IP Multicast • A datagram sent from one multicast router to another may be lost • recipients may drop the message because its buffer is full. • the effect of the failure semantics of IP multicast on the four examples • Fault tolerance based on replicated services • Discovering services in spontaneous networking • Better performance through replicated data • Propagation of event notifications • The examples also suggest that some applications have strong requirements for ordering, the strictest of which is called totally ordered multicast,