SlideShare a Scribd company logo
1 of 53
Distributed Object-Based
Systems
Chapter 9
Overview of CORBA
The global architecture of CORBA.
Object Model
The general organization of a CORBA system.
Corba Services
Overview of CORBA services.
Service Description
Collection Facilities for grouping objects into lists, queue, sets, etc.
Query Facilities for querying collections of objects in a declarative manner
Concurrency Facilities to allow concurrent access to shared objects
Transaction Flat and nested transactions on method calls over multiple objects
Event Facilities for asynchronous communication through events
Notification Advanced facilities for event-based asynchronous communication
Externalization Facilities for marshaling and unmarshaling of objects
Life cycle Facilities for creation, deletion, copying, and moving of objects
Licensing Facilities for attaching a license to an object
Naming Facilities for systemwide name of objects
Property Facilities for associating (attribute, value) pairs with objects
Trading Facilities to publish and find the services on object has to offer
Persistence Facilities for persistently storing objects
Relationship Facilities for expressing relationships between objects
Security Mechanisms for secure channels, authorization, and auditing
Time Provides the current time within specified error margins
Object Invocation Models
Invocation models supported in CORBA.
Request type Failure semantics Description
Synchronous At-most-once Caller blocks until a response is
returned or an exception is
raised
One-way Best effort delivery Caller continues immediately
without waiting for any response
from the server
Deferred
synchronous
At-most-once Caller continues immediately
and can later block until
response is delivered
Event and Notification Services (1)
The logical organization of suppliers and consumers
of events, following the push-style model.
Event and Notification Services (2)
The pull-style model for event delivery in CORBA.
Messaging (1)
CORBA's callback model for asynchronous method invocation.
Messaging (2)
CORBA'S polling model for
asynchronous method invocation.
Interoperability
GIOP message types.
Message type Originator Description
Request Client Contains an invocation request
Reply Server Contains the response to an invocation
LocateRequest Client Contains a request on the exact location of an object
LocateReply Server Contains location information on an object
CancelRequest Client Indicates client no longer expects a reply
CloseConnection Both Indication that connection will be closed
MessageError Both Contains information on an error
Fragment Both Part (fragment) of a larger message
Clients
Logical placement of interceptors in CORBA.
Portable Object Adaptor (1)
Mapping of CORBA object identifiers to servants.
a) The POA supports multiple servants.
b) The POA supports a single servant.
Portable Object Adaptor (2)
Changing a C++ object into a CORBA object.
My_servant *my_object; // Declare a reference to a C++ object
CORBA::Objectid_var oid; // Declare a CORBA identifier
my_object = new MyServant; // Create a new C++ object
oid = poa ->activate_object (my_object);
// Register C++ object as CORBA OBJECT
Agents
CORBA's overall model of agents, agent systems, and regions.
Object References (1)
The organization of an IOR with specific information for IIOP.
Object References (2)
Indirect binding in CORBA.
Caching and Replication
The (simplified) organization of a DCS.
Object Groups
A possible organization of an IOGR for an object
group having a primary and backups.
An Example Architecture
An example architecture of a fault-tolerant CORBA system.
Security (1)
The general organization for secure object invocation in CORBA.
Security (2)
The role of security interceptors in CORBA.
Overview of DCOM
The general organization of ActiveX, OLE, and COM.
Object Model
The difference between language-defined and binary interfaces.
Tape Library and Registry
The overall architecture of DCOM.
DCOM Services
Overview of DCOM services in comparison to CORBA services.
CORBA Service DCOM/COM+ Service Windows 2000 Service
Collection ActiveX Data Objects -
Query None -
Concurrency Thread concurrency -
Transaction COM+ Automatic Transactions Distributed Transaction Coordinator
Event COM+ Events -
Notification COM+ Events -
Externalization Marshaling utilities -
Life cycle Class factories, JIT activation -
Licensing Special class factories -
Naming Monikers Active Directory
Property None Active Directory
Trading None Active Directory
Persistence Structured storage Database access
Relationship None Database access
Security Authorization SSL, Kerberos
Time None None
Events
Event processing in DCOM.
Clients
Passing an object reference in DCOM with custom marshaling.
Monikers (1)
Binding to a DCOM object by means of file moniker.
Step Performer Description
1 Client Calls BindMoniker at moniker
2 Moniker
Looks up associated CLSID and instructs SCM
to create object
3 SCM Loads class object
4 Class object
Creates object and returns interface pointer to
moniker
5 Moniker Instructs object to load previously stored state
6 Object Loads its state from file
7 Moniker Returns interface pointer of object to client
Monikers (2)
DCOM-defined moniker types.
Moniker type Description
File moniker Reference to an object constructed from a file
URL moniker Reference to an object constructed from a URL
Class moniker Reference to a class object
Composite moniker Reference to a composition of monikers
Item moniker Reference to a moniker in a composition
Pointer moniker Reference to an object in a remote process
Active Directory
The general organization of Active Directory.
Fault Tolerance
Transaction attribute values for DCOM objects.
Attribute value Description
REQUIRES_NEW A new transaction is always started at each invocation
REQUIRED A new transaction is started if not already done so
SUPPORTED Join a transaction only if caller is already part of one
NOT_SUPPORTED Never join a transaction
DISABLED Never join a transaction, even if told to do so
Declarative Security (1)
Authentication levels in DCOM.
Authentication level Description
NONE No authentication is required
CONNECT Authenticate client when first connected to server
CALL Authenticate client at each invocation
PACKET Authenticate all data packets
PACKET_INTEGRITY Authenticate data packets and do integrity check
PACKET_PRIVACY Authenticate, integrity-check, and encrypt data packets
Declarative Security (2)
Impersonation levels in DCOM.
Impersonation level Description
ANONYMOUS The client is completely anonymous to the server
IDENTIFY
The server knows the client and can do access control
checks
IMPERSONATE The server can invoke local objects on behalf of the client
DELEGATE The server can invoke remote objects on behalf of the client
Programmatic Security
a) Default authentication services supported in DCOM.
b) Default authorization services supported in DCOM.
Service Description
NONE No authentication
DCE_PRIVATE DCE authentication based on shared keys
DCE_PUBLIC DEC authentication based on public keys
WINNT Windows NT security
GSS_KERBEROS Kerberos authentication
(a)
Service Description
NONE No authorization
NAME Authorization based on the client's identity
DCE Authorization using DEC Privilege Attribute Certificates (PACs)
(b)
Globe Object Model (1)
The organization of a Globe distributed shared object.
Globe Object Model (2)
The general organization
of a local object for
distributed shared
objects in Globe.
Globe Object Model (3)
Interfaces implemented by the semantics subobject of
a GlobeDoc object.
Document Interface
Method Description
AddElement Add an element to the current set of elements
DeleteElement Remove an element from the Web document
AllElements Return a list of the elements currently in the document
SetRoot Set the root element
GetRoot Return a reference to the root element
Content Interface
Method Description
GetCotent Return the content of an element as an array of bytes
PutContent Replace the content of an element with a given array of bytes
PutAllContent Replace the content of an entire document
Globe Object Model (4)
Interfaces implemented by the semantics
subobject of a GlobeDoc Object.
Property Interface
Method Description
GetProperties Return the list of (attribute, value)-pairs of an element
SetProperties Provide a list of (attribute, value)-pairs for an element
Lock Interface
Method Description
CheckOutElements Check out a series of elements that require modification
CheckInElements Check in a series of modified elements
GetCheckedElements Get a list of elements that are currently checked out
Process-to-Object Binding
Binding a process to an object in Globe.
Globe Services
Overview of possible Globe implementations of typical
distributes-systems services.
Service Possible Implementation in Globe Available
Collection Separate object that holds references to other objects No
Concurrency Each object implements its own concurrency control strategy No
Transaction Separate object representing a transaction manager No
Event/Notification Separate object per group of events (as in DCOM) No
Externalization Each object implements its own marshaling routines Yes
Life cycle Separate class objects combined with per-object implementations Yes
Licensing Implemented by each object separately No
Naming Separate service, implemented by a collection of naming objects Yes
Property/Trading Separate service, implemented by a collection of directory objects No
Persistence Implemented on a per-object basis Yes
Security Implemented per object, combined with (local) security services Yes
Replication Implemented on a per-object basis Yes
Fault tolerance Implemented per object combined with fault-tolerant services Yes
Communication
Invoking an object in Globe that uses active replication.
Globe Server
Operations on a Globe object server.
Method Description
Bind Lets the server bind to a given object, unless it is already bound
AddBinding Lets the server bind to an object, even if it is already bound
CreateLR Lets the server create a local object for a new distributed object
RemoveLR Lets the server remove a local object of a given object
UnbindDSO Lets the server remove all local objects of a given object
ListAll Returns a list of all local objects
ListDSO Returns a list of all local objects for a given objects
StatLR Get the status of a specific local object
Object References and Contact Addresses (1)
The representation of a protocol layer in a stacked contact address.
Field Description
Protocol identifier A constant representing a (known) protocol
Protocol address A protocol-specific address
Implementation handle Reference to a file in a class repository
Object References and Contact Addresses (2)
The representation of an instance contact address.
Field Description
Implementation handle Reference to a file in a class repository
Initialization string String that is used to initialize an implementation
Globe Naming Service
Iterative DNS-based name resolution in Globe.
Replication (1)
The interface of the replication subobject as
made available to the control subobject.
Method Description
Start Indicate that a new method invocation has been locally requested
Send Pass the marshaled invocation request to the replication subobject
Invoked Indicate that the invocation on the semantics object has completed
Replication (2)
The behavior of the control
subobject as a finite state machine.
Examples of Replication in Globe (1)
State transitions and actions for active replication.
Read method
State Action to take Method call Next state
START None Start INVOKE
INVOKE Invoke local method Invoked RETURN
RETURN Return results to caller None START
Modify method
State Action to take Method call Next state
START None Start SEND
SEND Pass marshaled invocations Send INVOKE
INVOKE invoke local method Invoked RETURN
RETURN Return results to caller None START
Examples of Replication in Globe (2)
State transitions and actions with primary-backup replication.
Read method
State Action to take Method call Next state
START None Start INVOKE
INVOKE Invoke local method Invoked RETURN
RETURN Return results to caller None START
Modify method at backup replica
State Action to take Method call Next state
START None Start SEND
SEND Pass marshaled invocation Send RETURN
RETURN Return results to caller None START
Modify method at primary replica
State Action to take Method call Next state
START none Start INVOKE
INVOKE invoke local method Invoked RETURN
RETURN Return results to caller None START
Security (1)
The position of a security subobject in a Globe local object.
Security (2)
Using Kerberos to establish
secure distributed shared
objects.
Summary (1)
Comparison of CORBA, DCOM, and Globe.
Issue CORBA DCOM Globe
Design goals Interoperability Functionality Scalability
Object model Remote objects Remote objects Distributed objects
Services Many of its own From environment Few
Interfaces IDL based Binary Binary
Sync. communication Yes Yes Yes
Async. communication Yes Yes No
Callbacks Yes Yes No
Events Yes Yes No
Messaging Yes Yes No
Object server Flexible (POA) Hard-coded Object dependent
Directory service Yes Yes No
Trading service yes No No
Continued …
Summary (2)
Comparison of CORBA, DCOM, and Globe.
Issue CORBA DCOM Globe
Naming service Yes Yes Yes
Location service No No Yes
Object reference Object's location Interface pointer True identifier
Synchronization Transactions Transactions Only intra-object
Replication support Separate server None Separate subobject
Transactions Yes Yes No
Fault tolerance By replication By transactions By replication
Recovery support Yes By transactions No
Security Various mechanisms Various mechanisms More work needed

More Related Content

What's hot

Chapter 9 security
Chapter 9 securityChapter 9 security
Chapter 9 securityNaiyan Noor
 
An Introduction to Kerberos
An Introduction to KerberosAn Introduction to Kerberos
An Introduction to KerberosShumon Huque
 
Java networking programs - theory
Java networking programs - theoryJava networking programs - theory
Java networking programs - theoryMukesh Tekwani
 
Advance Java-Network Programming
Advance Java-Network ProgrammingAdvance Java-Network Programming
Advance Java-Network Programmingashok hirpara
 
Java API: java.net.InetAddress
Java API: java.net.InetAddressJava API: java.net.InetAddress
Java API: java.net.InetAddressSayak Sarkar
 
Java Network Programming
Java Network ProgrammingJava Network Programming
Java Network Programmingbackdoor
 
Network programming in Java
Network programming in JavaNetwork programming in Java
Network programming in JavaTushar B Kute
 
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...Denis Kolegov
 
Basic Networking in Java
Basic Networking in JavaBasic Networking in Java
Basic Networking in Javasuraj pandey
 
Authentication Application in Network Security NS4
Authentication Application in Network Security NS4Authentication Application in Network Security NS4
Authentication Application in Network Security NS4koolkampus
 
PRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGE
PRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGEPRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGE
PRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGEEditor IJCTER
 
Java Networking
Java NetworkingJava Networking
Java NetworkingSunil OS
 
Covert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache HeadersCovert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache HeadersDenis Kolegov
 
Covert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache HeadersCovert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache HeadersDenis Kolegov
 

What's hot (20)

Chapter 9 security
Chapter 9 securityChapter 9 security
Chapter 9 security
 
SSO with kerberos
SSO with kerberosSSO with kerberos
SSO with kerberos
 
Java Programming - 07 java networking
Java Programming - 07 java networkingJava Programming - 07 java networking
Java Programming - 07 java networking
 
Networking in Java
Networking in JavaNetworking in Java
Networking in Java
 
An Introduction to Kerberos
An Introduction to KerberosAn Introduction to Kerberos
An Introduction to Kerberos
 
Java networking programs - theory
Java networking programs - theoryJava networking programs - theory
Java networking programs - theory
 
Advance Java-Network Programming
Advance Java-Network ProgrammingAdvance Java-Network Programming
Advance Java-Network Programming
 
Networking in java
Networking in javaNetworking in java
Networking in java
 
Java API: java.net.InetAddress
Java API: java.net.InetAddressJava API: java.net.InetAddress
Java API: java.net.InetAddress
 
Java Network Programming
Java Network ProgrammingJava Network Programming
Java Network Programming
 
Network programming in Java
Network programming in JavaNetwork programming in Java
Network programming in Java
 
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
 
Basic Networking in Java
Basic Networking in JavaBasic Networking in Java
Basic Networking in Java
 
Authentication Application in Network Security NS4
Authentication Application in Network Security NS4Authentication Application in Network Security NS4
Authentication Application in Network Security NS4
 
PRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGE
PRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGEPRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGE
PRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGE
 
Java networking
Java networkingJava networking
Java networking
 
Java Networking
Java NetworkingJava Networking
Java Networking
 
Covert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache HeadersCovert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache Headers
 
Covert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache HeadersCovert Timing Channels using HTTP Cache Headers
Covert Timing Channels using HTTP Cache Headers
 
Java Networking
Java NetworkingJava Networking
Java Networking
 

Similar to Distributed System by Pratik Tambekar

Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyOverview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyPeter R. Egli
 
Remote Method Invocation
Remote Method InvocationRemote Method Invocation
Remote Method InvocationSabiha M
 
RIA services exposing & consuming queries
RIA services exposing & consuming queriesRIA services exposing & consuming queries
RIA services exposing & consuming queriesiedotnetug
 
Validate your entities with symfony validator and entity validation api
Validate your entities with symfony validator and entity validation apiValidate your entities with symfony validator and entity validation api
Validate your entities with symfony validator and entity validation apiRaffaele Chiocca
 
05 rpc-case studies
05 rpc-case studies05 rpc-case studies
05 rpc-case studieshushu
 
Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Sri Prasanna
 
Corba and-java
Corba and-javaCorba and-java
Corba and-javaafreen58
 
Coldbox developer training – session 5
Coldbox developer training – session 5Coldbox developer training – session 5
Coldbox developer training – session 5Billie Berzinskas
 
Remote Method Invocation
Remote Method InvocationRemote Method Invocation
Remote Method Invocationashishspace
 
corba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptxcorba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptxAasimAbdul
 
UnderstandingLDAP.ppt
UnderstandingLDAP.pptUnderstandingLDAP.ppt
UnderstandingLDAP.pptEfrizal Zaida
 
Middleware1
Middleware1Middleware1
Middleware1bhumi109
 

Similar to Distributed System by Pratik Tambekar (20)

RMI (Remote Method Invocation)
RMI (Remote Method Invocation)RMI (Remote Method Invocation)
RMI (Remote Method Invocation)
 
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyOverview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technology
 
Remote Method Invocation
Remote Method InvocationRemote Method Invocation
Remote Method Invocation
 
RIA services exposing & consuming queries
RIA services exposing & consuming queriesRIA services exposing & consuming queries
RIA services exposing & consuming queries
 
Validate your entities with symfony validator and entity validation api
Validate your entities with symfony validator and entity validation apiValidate your entities with symfony validator and entity validation api
Validate your entities with symfony validator and entity validation api
 
05 rpc-case studies
05 rpc-case studies05 rpc-case studies
05 rpc-case studies
 
Day6
Day6Day6
Day6
 
Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)
 
Corba and-java
Corba and-javaCorba and-java
Corba and-java
 
Corba
CorbaCorba
Corba
 
Module 15 attributes
Module 15 attributesModule 15 attributes
Module 15 attributes
 
Corba model ppt
Corba model pptCorba model ppt
Corba model ppt
 
Dot NET Remoting
Dot NET RemotingDot NET Remoting
Dot NET Remoting
 
Remoting and serialization
Remoting and serializationRemoting and serialization
Remoting and serialization
 
Rmi
RmiRmi
Rmi
 
Coldbox developer training – session 5
Coldbox developer training – session 5Coldbox developer training – session 5
Coldbox developer training – session 5
 
Remote Method Invocation
Remote Method InvocationRemote Method Invocation
Remote Method Invocation
 
corba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptxcorba-151024114450-lva1-app6891.pptx
corba-151024114450-lva1-app6891.pptx
 
UnderstandingLDAP.ppt
UnderstandingLDAP.pptUnderstandingLDAP.ppt
UnderstandingLDAP.ppt
 
Middleware1
Middleware1Middleware1
Middleware1
 

More from Pratik Tambekar

Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik TambekarPratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik TambekarPratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik TambekarPratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik TambekarPratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik TambekarPratik Tambekar
 
Data Mining Concepts and Techniques
Data Mining Concepts and TechniquesData Mining Concepts and Techniques
Data Mining Concepts and TechniquesPratik Tambekar
 
What Is DATA MINING(INTRODUCTION)
What Is DATA MINING(INTRODUCTION)What Is DATA MINING(INTRODUCTION)
What Is DATA MINING(INTRODUCTION)Pratik Tambekar
 
How To Add System Call In Ubuntu OS
How To Add System Call In Ubuntu OSHow To Add System Call In Ubuntu OS
How To Add System Call In Ubuntu OSPratik Tambekar
 

More from Pratik Tambekar (11)

ASP DOT NET
ASP DOT NETASP DOT NET
ASP DOT NET
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Data Mining Concepts and Techniques
Data Mining Concepts and TechniquesData Mining Concepts and Techniques
Data Mining Concepts and Techniques
 
What Is DATA MINING(INTRODUCTION)
What Is DATA MINING(INTRODUCTION)What Is DATA MINING(INTRODUCTION)
What Is DATA MINING(INTRODUCTION)
 
Distributed Transaction
Distributed TransactionDistributed Transaction
Distributed Transaction
 
World Wide Web(WWW)
World Wide Web(WWW)World Wide Web(WWW)
World Wide Web(WWW)
 
How To Add System Call In Ubuntu OS
How To Add System Call In Ubuntu OSHow To Add System Call In Ubuntu OS
How To Add System Call In Ubuntu OS
 

Recently uploaded

Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixingviprabot1
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixing
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 

Distributed System by Pratik Tambekar

  • 2. Overview of CORBA The global architecture of CORBA.
  • 3. Object Model The general organization of a CORBA system.
  • 4. Corba Services Overview of CORBA services. Service Description Collection Facilities for grouping objects into lists, queue, sets, etc. Query Facilities for querying collections of objects in a declarative manner Concurrency Facilities to allow concurrent access to shared objects Transaction Flat and nested transactions on method calls over multiple objects Event Facilities for asynchronous communication through events Notification Advanced facilities for event-based asynchronous communication Externalization Facilities for marshaling and unmarshaling of objects Life cycle Facilities for creation, deletion, copying, and moving of objects Licensing Facilities for attaching a license to an object Naming Facilities for systemwide name of objects Property Facilities for associating (attribute, value) pairs with objects Trading Facilities to publish and find the services on object has to offer Persistence Facilities for persistently storing objects Relationship Facilities for expressing relationships between objects Security Mechanisms for secure channels, authorization, and auditing Time Provides the current time within specified error margins
  • 5. Object Invocation Models Invocation models supported in CORBA. Request type Failure semantics Description Synchronous At-most-once Caller blocks until a response is returned or an exception is raised One-way Best effort delivery Caller continues immediately without waiting for any response from the server Deferred synchronous At-most-once Caller continues immediately and can later block until response is delivered
  • 6. Event and Notification Services (1) The logical organization of suppliers and consumers of events, following the push-style model.
  • 7. Event and Notification Services (2) The pull-style model for event delivery in CORBA.
  • 8. Messaging (1) CORBA's callback model for asynchronous method invocation.
  • 9. Messaging (2) CORBA'S polling model for asynchronous method invocation.
  • 10. Interoperability GIOP message types. Message type Originator Description Request Client Contains an invocation request Reply Server Contains the response to an invocation LocateRequest Client Contains a request on the exact location of an object LocateReply Server Contains location information on an object CancelRequest Client Indicates client no longer expects a reply CloseConnection Both Indication that connection will be closed MessageError Both Contains information on an error Fragment Both Part (fragment) of a larger message
  • 11. Clients Logical placement of interceptors in CORBA.
  • 12. Portable Object Adaptor (1) Mapping of CORBA object identifiers to servants. a) The POA supports multiple servants. b) The POA supports a single servant.
  • 13. Portable Object Adaptor (2) Changing a C++ object into a CORBA object. My_servant *my_object; // Declare a reference to a C++ object CORBA::Objectid_var oid; // Declare a CORBA identifier my_object = new MyServant; // Create a new C++ object oid = poa ->activate_object (my_object); // Register C++ object as CORBA OBJECT
  • 14. Agents CORBA's overall model of agents, agent systems, and regions.
  • 15. Object References (1) The organization of an IOR with specific information for IIOP.
  • 16. Object References (2) Indirect binding in CORBA.
  • 17. Caching and Replication The (simplified) organization of a DCS.
  • 18. Object Groups A possible organization of an IOGR for an object group having a primary and backups.
  • 19. An Example Architecture An example architecture of a fault-tolerant CORBA system.
  • 20. Security (1) The general organization for secure object invocation in CORBA.
  • 21. Security (2) The role of security interceptors in CORBA.
  • 22. Overview of DCOM The general organization of ActiveX, OLE, and COM.
  • 23. Object Model The difference between language-defined and binary interfaces.
  • 24. Tape Library and Registry The overall architecture of DCOM.
  • 25. DCOM Services Overview of DCOM services in comparison to CORBA services. CORBA Service DCOM/COM+ Service Windows 2000 Service Collection ActiveX Data Objects - Query None - Concurrency Thread concurrency - Transaction COM+ Automatic Transactions Distributed Transaction Coordinator Event COM+ Events - Notification COM+ Events - Externalization Marshaling utilities - Life cycle Class factories, JIT activation - Licensing Special class factories - Naming Monikers Active Directory Property None Active Directory Trading None Active Directory Persistence Structured storage Database access Relationship None Database access Security Authorization SSL, Kerberos Time None None
  • 27. Clients Passing an object reference in DCOM with custom marshaling.
  • 28. Monikers (1) Binding to a DCOM object by means of file moniker. Step Performer Description 1 Client Calls BindMoniker at moniker 2 Moniker Looks up associated CLSID and instructs SCM to create object 3 SCM Loads class object 4 Class object Creates object and returns interface pointer to moniker 5 Moniker Instructs object to load previously stored state 6 Object Loads its state from file 7 Moniker Returns interface pointer of object to client
  • 29. Monikers (2) DCOM-defined moniker types. Moniker type Description File moniker Reference to an object constructed from a file URL moniker Reference to an object constructed from a URL Class moniker Reference to a class object Composite moniker Reference to a composition of monikers Item moniker Reference to a moniker in a composition Pointer moniker Reference to an object in a remote process
  • 30. Active Directory The general organization of Active Directory.
  • 31. Fault Tolerance Transaction attribute values for DCOM objects. Attribute value Description REQUIRES_NEW A new transaction is always started at each invocation REQUIRED A new transaction is started if not already done so SUPPORTED Join a transaction only if caller is already part of one NOT_SUPPORTED Never join a transaction DISABLED Never join a transaction, even if told to do so
  • 32. Declarative Security (1) Authentication levels in DCOM. Authentication level Description NONE No authentication is required CONNECT Authenticate client when first connected to server CALL Authenticate client at each invocation PACKET Authenticate all data packets PACKET_INTEGRITY Authenticate data packets and do integrity check PACKET_PRIVACY Authenticate, integrity-check, and encrypt data packets
  • 33. Declarative Security (2) Impersonation levels in DCOM. Impersonation level Description ANONYMOUS The client is completely anonymous to the server IDENTIFY The server knows the client and can do access control checks IMPERSONATE The server can invoke local objects on behalf of the client DELEGATE The server can invoke remote objects on behalf of the client
  • 34. Programmatic Security a) Default authentication services supported in DCOM. b) Default authorization services supported in DCOM. Service Description NONE No authentication DCE_PRIVATE DCE authentication based on shared keys DCE_PUBLIC DEC authentication based on public keys WINNT Windows NT security GSS_KERBEROS Kerberos authentication (a) Service Description NONE No authorization NAME Authorization based on the client's identity DCE Authorization using DEC Privilege Attribute Certificates (PACs) (b)
  • 35. Globe Object Model (1) The organization of a Globe distributed shared object.
  • 36. Globe Object Model (2) The general organization of a local object for distributed shared objects in Globe.
  • 37. Globe Object Model (3) Interfaces implemented by the semantics subobject of a GlobeDoc object. Document Interface Method Description AddElement Add an element to the current set of elements DeleteElement Remove an element from the Web document AllElements Return a list of the elements currently in the document SetRoot Set the root element GetRoot Return a reference to the root element Content Interface Method Description GetCotent Return the content of an element as an array of bytes PutContent Replace the content of an element with a given array of bytes PutAllContent Replace the content of an entire document
  • 38. Globe Object Model (4) Interfaces implemented by the semantics subobject of a GlobeDoc Object. Property Interface Method Description GetProperties Return the list of (attribute, value)-pairs of an element SetProperties Provide a list of (attribute, value)-pairs for an element Lock Interface Method Description CheckOutElements Check out a series of elements that require modification CheckInElements Check in a series of modified elements GetCheckedElements Get a list of elements that are currently checked out
  • 39. Process-to-Object Binding Binding a process to an object in Globe.
  • 40. Globe Services Overview of possible Globe implementations of typical distributes-systems services. Service Possible Implementation in Globe Available Collection Separate object that holds references to other objects No Concurrency Each object implements its own concurrency control strategy No Transaction Separate object representing a transaction manager No Event/Notification Separate object per group of events (as in DCOM) No Externalization Each object implements its own marshaling routines Yes Life cycle Separate class objects combined with per-object implementations Yes Licensing Implemented by each object separately No Naming Separate service, implemented by a collection of naming objects Yes Property/Trading Separate service, implemented by a collection of directory objects No Persistence Implemented on a per-object basis Yes Security Implemented per object, combined with (local) security services Yes Replication Implemented on a per-object basis Yes Fault tolerance Implemented per object combined with fault-tolerant services Yes
  • 41. Communication Invoking an object in Globe that uses active replication.
  • 42. Globe Server Operations on a Globe object server. Method Description Bind Lets the server bind to a given object, unless it is already bound AddBinding Lets the server bind to an object, even if it is already bound CreateLR Lets the server create a local object for a new distributed object RemoveLR Lets the server remove a local object of a given object UnbindDSO Lets the server remove all local objects of a given object ListAll Returns a list of all local objects ListDSO Returns a list of all local objects for a given objects StatLR Get the status of a specific local object
  • 43. Object References and Contact Addresses (1) The representation of a protocol layer in a stacked contact address. Field Description Protocol identifier A constant representing a (known) protocol Protocol address A protocol-specific address Implementation handle Reference to a file in a class repository
  • 44. Object References and Contact Addresses (2) The representation of an instance contact address. Field Description Implementation handle Reference to a file in a class repository Initialization string String that is used to initialize an implementation
  • 45. Globe Naming Service Iterative DNS-based name resolution in Globe.
  • 46. Replication (1) The interface of the replication subobject as made available to the control subobject. Method Description Start Indicate that a new method invocation has been locally requested Send Pass the marshaled invocation request to the replication subobject Invoked Indicate that the invocation on the semantics object has completed
  • 47. Replication (2) The behavior of the control subobject as a finite state machine.
  • 48. Examples of Replication in Globe (1) State transitions and actions for active replication. Read method State Action to take Method call Next state START None Start INVOKE INVOKE Invoke local method Invoked RETURN RETURN Return results to caller None START Modify method State Action to take Method call Next state START None Start SEND SEND Pass marshaled invocations Send INVOKE INVOKE invoke local method Invoked RETURN RETURN Return results to caller None START
  • 49. Examples of Replication in Globe (2) State transitions and actions with primary-backup replication. Read method State Action to take Method call Next state START None Start INVOKE INVOKE Invoke local method Invoked RETURN RETURN Return results to caller None START Modify method at backup replica State Action to take Method call Next state START None Start SEND SEND Pass marshaled invocation Send RETURN RETURN Return results to caller None START Modify method at primary replica State Action to take Method call Next state START none Start INVOKE INVOKE invoke local method Invoked RETURN RETURN Return results to caller None START
  • 50. Security (1) The position of a security subobject in a Globe local object.
  • 51. Security (2) Using Kerberos to establish secure distributed shared objects.
  • 52. Summary (1) Comparison of CORBA, DCOM, and Globe. Issue CORBA DCOM Globe Design goals Interoperability Functionality Scalability Object model Remote objects Remote objects Distributed objects Services Many of its own From environment Few Interfaces IDL based Binary Binary Sync. communication Yes Yes Yes Async. communication Yes Yes No Callbacks Yes Yes No Events Yes Yes No Messaging Yes Yes No Object server Flexible (POA) Hard-coded Object dependent Directory service Yes Yes No Trading service yes No No Continued …
  • 53. Summary (2) Comparison of CORBA, DCOM, and Globe. Issue CORBA DCOM Globe Naming service Yes Yes Yes Location service No No Yes Object reference Object's location Interface pointer True identifier Synchronization Transactions Transactions Only intra-object Replication support Separate server None Separate subobject Transactions Yes Yes No Fault tolerance By replication By transactions By replication Recovery support Yes By transactions No Security Various mechanisms Various mechanisms More work needed