Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduction:
Architecture.
ARCHITECTURE:
Traditional Architectures.
o To read a tuple instance, a process provides a typed template tuple for matching.
o A field in the template tuple either contains a reference to an actual object or contains the
value NULL.
o Two fields match if they have a copy of the same reference or if the template tuple field is
NULL.
o A tuple instance matches a template tuple if they have the same fields.
o Read and Take (remove tuple after reading) block the caller.
o Some implementations return immediately if there is not matching tuple or a timeout can
be set.
o Centralized implementations makes complex matching rules easier and also can be used
for synchronization.
TIB/Rendezvous.
o Instead of central servers we can immediately send published tuples to subscribers using
multicasting.
o Data item is a message tagged with a compound keyword describing its content
(subject).
o Uses broadcast or uni cast if the subscribers addresses are known.
o Each host has a rendezvous daemon, which takes care that messages are sent and
delivered according to their subject.
o The daemon has a table of (process, subject), entries and whenever a message on
subject S arrives, the daemon checks in its table for local subscribers, and forwards the
message to each one.
o Can allow complex matching of published data items against subscriptions
o For scalability, restrictions on describing subscriptions and data items may be necessary.
o Keywords or (attribute, value) pairs are hashed to unique identifiers for published data,
which can be efficiently implemented in a DHT-based system.
o For more advanced matching rules we can use Gossip-Based Publish/Subscribe
Systems
Gossip-Based Publish/Subscribe Systems.
Lime.
Communication.
COMMUNICATION.
o Routers can take routing decisions based on the message content so it it cuts of
routes that do not lead to receivers of this message.
o ● Clients can tell the servers which messages they are interested in so that the
servers notify them when they receive a relevant message. This is done in 2 layers
where layer 1 consists of a shared broadcast tree connecting the servers using
routers
o ● In simple subject-based publish/subscribe using a unique (non-compound)
keyword.
o ● We can send each published message to every server like in TIB/Rendezvous. Or
let every server broadcast its subscriptions to all other servers to be able to compile a
list of (subject, destination) pairs.
Naive content based routing
Processes.
Processes.
Naming
NAMING.
o These FSMs can often be decomposed into smaller FSMs that communicate
by passing events to each other. Note that such an event communication would
normally trigger a state transition at the FSM for which that event is intended. For
example, assume that we want to automatically tum off the lights in room R4.20 after 2
seconds when we are certain that nobody is there anymore (and the door is locked).
o
DYNAMIC REPLICATION:
Replication in coordination-based systems has generally been restricted to static policies for
parallel applications. In commercial applications, relatively simple schemes in which entire
dataspaces or otherwise statically predefined parts of a data set are subject to a single policy are
seen (GigaSpaces, 2005). Inspired by the fine-grained replication of Web documents in Globule,
performance improvements can also be achieved when differentiating replication between the
different kinds of data stored in a dataspace. This differentiation is supported by GSpace.
GSPACE OVERVIEW:
Fault Tolerance
Fault Tolerance.
Security
Security.
Confidentiality:
One important difference between many distributed systems and coordination-based ones is that
in order to provide efficiency, the middleware needs to inspect the content of published data.
Without being able to do so, the middleware can essentially only flood data to all potential
subscribers. This poses the problem
of information confidentiality which refers to the fact that it is sometimes important to disallow the
middleware to inspect published data. This problem can be circumvented through end-to-end
encryption.
Decoupling Publishers from Subscribers:
Use of a special ACcounting service(AS) is taken into existence in order to protect data and
subscriptions from the middleware where AS sits between clients( Publishers and subscribers)
and the actual publish/Subscribe middleware.
A publisher registers itself at any node of the publish/subscribe network, that is, aka broker. The
broker forwards the registration information to the accounting service which then generates a
public key to be used by the publisher, and which is signed by the AS. Of course, the AS keeps
the associated private key to itself.
When a subscriber registers, it provides an encryption key that is forwarded by the broker
A common approach is to simply encrypt the fields of data items and let matching take place only
when decryption succeeds and content matches with a subscription.
One of the major problems with this approach is that keys may need to be shared between
publishers and subscribers, or that the decryption keys of the publishers should be known to
authorized subscribers.