padres: a middleware for the decentralized execution of ...metis security seminar series, march,...
TRANSCRIPT
![Page 1: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/1.jpg)
METIS Security Seminar Series, March, 2006
PADRES: A Middleware for the Decentralized Execution
of Business Processes
Hans-Arno JacobsenMiddleware Systems Research Group
University of Toronto
www.msrg.utoronto.ca
www.msrg.utoronto.ca/padres (coming soon)
![Page 2: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/2.jpg)
METIS Security Seminar Series, March, 2006
Acknowledgements
2003-2005 Supported by:
Research Team:Hans-Arno Jacobsen (PI)
Alex Cheung
Guoli Li
Vinod Muthusamy
Songlin Hu (Visitor)
Pengcheng Wan
Alex Wun
Serge Mankovski (Cybermation Inc.)
Alumni:Eli Fidler, Ferdous Jewel, David Matheson,
Gerald Chan, Matt Medland
2006-… Supported by:
![Page 3: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/3.jpg)
METIS Security Seminar Series, March, 2006
Outline
• A few Examples Motivating Pub/Sub
• Publish/Subscribe Overview
• The PADRES Publish/Subscribe System
• Business Processes in PADRES
• Security in PADRES
![Page 4: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/4.jpg)
METIS Security Seminar Series, March, 2006
The Name
• First generation of students, when I looked away– Peng Alex David aRno Eli Serge
• PAdres is Distributed REsourceScheduling
• Publish/subscribe Applied to Distributed Resource Scheduling
![Page 5: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/5.jpg)
METIS Security Seminar Series, March, 2006
Motivation forPublish/Subscribe
per se
![Page 6: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/6.jpg)
METIS Security Seminar Series, March, 2006
Querying the Future
![Page 7: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/7.jpg)
METIS Security Seminar Series, March, 2006
Amazon to Chapters to you ....
Monday, October 10th in Cyberspace
Your book “...”is available
at .... $10 off
Thursday, November 15th,in Toronto
![Page 8: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/8.jpg)
METIS Security Seminar Series, March, 2006
Business Process Execution
Broker
BrokerBroker
Broker
WSAgent
Agent Broker
……
Database
WSClient
Pick Invoke
Wait
Scope
Receive
Assign
Flow
Reply
Business Process
Scope
Reply
Business Process
Scope
Receive
SwitchClient
![Page 9: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/9.jpg)
METIS Security Seminar Series, March, 2006
Publish/Subscribe
![Page 10: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/10.jpg)
METIS Security Seminar Series, March, 2006
Publish/Subscribe
Publisher Publisher
Subscriber Subscriber
Subscriptions
Publications
NotificationNotification
IBM=84
MSFT=27 INTC=19 JNJ=58ORCL=12
HON=24
AMGN=58
Stock marketsNYSE
NASDAQTSX
Subscriptions:IBM > 85ORCL < 10JNJ > 60
Broker(s)
![Page 11: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/11.jpg)
METIS Security Seminar Series, March, 2006
Publish/Subscribe Benefits
• Decoupling– Space (physical distribution)– Location (clients do not need references to
each other)– Time (clients do not need to be up at the same
time)– Representation (different message formats)
• Other paradigms: request/response, messaging, shared memory, …
![Page 12: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/12.jpg)
METIS Security Seminar Series, March, 2006
Data(a lot of)
Subscriptions(a lot of)
query publication
Query and subscription is very similar.Set of tuples and publication is very similar.
However, the two problem statements are inverse.
That’s Like Data Base Querying !!
Sets of tuples Matching subscriptions
Abo
ut p
ast
Abo
ut fu
ture
![Page 13: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/13.jpg)
METIS Security Seminar Series, March, 2006
Publish/Subscribe Matching Problem
• Given a set of subscriptions, S, and a publication, e, return all s in S matched by e.
• e is referred to as event or publication
• Splitting hairs– Event is a state transition of interest in the environment
– Publication is the information about e submitted to the publish/subscribe system
• Simple problem statement, widely applicable, and lots of open questions
![Page 14: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/14.jpg)
METIS Security Seminar Series, March, 2006
Problem Instantiations• Text / search strings (information filtering)• Semi-structured data / queries
– attribute-value pairs / attribute-operator-value-predicates– XML, HTML
• Tree-structured data / path expressions– XML ./ XPath expressions
• Graph-structured data / graph queries–RDF / RDF queries (e.g., SPARQL)
• Regular languages / regular expressions• Centralized and distributed instantiation• Different matching semantics (e.g., crisp, approximate,
similar, n-of-m, …)
Subscriptions
![Page 15: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/15.jpg)
METIS Security Seminar Series, March, 2006
Challenges
• Lot’s of subscriptions
• High publication rate
• High subscription update rate
• Different data formats
![Page 16: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/16.jpg)
METIS Security Seminar Series, March, 2006
The Content-based Model
• Language and Data model– Conjunctive Boolean functions over predicates
– Predicates are attribute-operator-value triples• [class,eq,trigger]
–Subscriptions are conjunctions of predicates• [class,eq,trigger],[appl,eq,payroll],[gid,eq,g001]
– Publications are sets of attribute-value pairs• [class,trigger],[appl,printer],[gid,g007]
• Matching semantic– A subscription matches if all its predicates are matched
![Page 17: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/17.jpg)
METIS Security Seminar Series, March, 2006
Distributed Publish/Subscribe
Broker
Broker Broker
Broker
SubscriberPublisher
Distributed Overlay
Broker Network
Publisher
Subscriber
Broker
… …
Publications
Subscriptions
Database
• A.k.a. content-based routing• All interactions are based on publish and subscribe• No address information is exposed or
available to clients & brokers
Notifications
![Page 18: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/18.jpg)
METIS Security Seminar Series, March, 2006
Publish/Subscribe in Industry
• Standards– CORBA Event Service
– CORBA Notification Service
– OMG Data Dissemination Service
– Java Messaging Service
– WS Eventing
– WS Notification (Draft)
• Emerging technologies– RSS aggregators
• PubSub.com, FeedTree
– Real-time data dissemination• TIBCO, RTI Inc.,
Mantara Software
– Application integration• Softwired
– Hardware-based brokers• Sarvega (Intel), Solace
Systems, DataPower(IBM)
![Page 19: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/19.jpg)
METIS Security Seminar Series, March, 2006
Publish/Subscribe in Academia
• Research projects– Gryphon (IBM)
– Hermes (Cambridge)
– SIENA (Boulder)
– REBECA (Darmstadt)
– ToPSS (UofT)
– PADRES (UofT)
• Classification of Pub/Sub– Channel
– Topic
– Content
– Subject space
Channel-basednytimes.com RSS
Content-basednytimes.com RSS
type = editorialauthor = Safire
nytimes.com
![Page 20: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/20.jpg)
METIS Security Seminar Series, March, 2006
Pub/Sub Research Directions
• Matching algorithms– Language expressiveness,
scalability, speed
• Routing protocols– Network architectures,
scalability
• Higher level abstractions– Workflow execution
– Monitoring
S-ToPSS(semantic)
X-ToPSS(XML matching)
A-ToPSS(approximate)
persistent-ToPSS(subject spaces)
L-ToPSS(location-based)
ToPSS(matching)
M-ToPSS(mobile)
Ad hoc-ToPSS(ad hoc networking)
Federated-ToPSS(federation of ToPSS brokers)
Rb-ToPSS(rule-based)
P2P-ToPSS(peer-to-peer)
LB-ToPSS(load balancing)
FT-ToPSS(fault tolerance)
Historic-ToPSS(historic data)
CS-ToPSS(composite subs)
BPEL-ToPSS(BPEL execution)
JS-ToPSS(job scheduling)
![Page 21: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/21.jpg)
METIS Security Seminar Series, March, 2006
Applications Enabled by Pub/Sub
• Selective information dissemination• Location-based services• Personalization• Alerting services• Application integration• Job scheduling• Monitoring, surveillance, and control • Network and distributed system management• Workforce management• (Scientific) workload management• Business activity monitoring• Business process management, monitoring, and
execution
![Page 22: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/22.jpg)
METIS Security Seminar Series, March, 2006
Modeling the Motivating Examples
• Google example– Search string is the subscription– Pages continously indexed by Google are publications– A match identifies new information found– Requires high-performance centralized matching engine
• Amazon / Chapters– Book looked-up on Amazon is the subscription– Current location coordinates and items on sale at store are the
publications– A match identifies that the user is close to a book store that has
the sought book on sale– Requires a distributed publish/subscribe infrastructure
• Business process execution (see later)
![Page 23: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/23.jpg)
METIS Security Seminar Series, March, 2006
The PADRES System
![Page 24: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/24.jpg)
METIS Security Seminar Series, March, 2006
PADRES Project Overview
• Collaborative R&D project (2003-2005)• Part of ToPSS Family (Toronto Publish/Subscribe
System)• A publish/subscribe system built on a peer-to-peer
overlay network model (i.e., at application-level)• The goal is to advance publish/subscribe research as
well as provide a flexible messaging substrate for decentralized workflow management
• Investigate the hybridisation of publish/subscribe and query-based data access in distributed environments
• Experiment with emerging applications, such as business activity monitoring and business process execution (i.e., workflow management)
• In addition to standard publish/subscribe semantics, PADRES supports a large range of original ideas
![Page 25: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/25.jpg)
METIS Security Seminar Series, March, 2006
PADRES Architecture Overview
• PADRES consists of 2 major components– Brokers
• Forward messages using overlay network
• Provide bindings as client connection points
– Clients• Publish, Subscribe,
Advertise Clients
Clients
Broker Broker
Broker
Broker
Binding
Binding
![Page 26: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/26.jpg)
METIS Security Seminar Series, March, 2006
Broker Architecture
QueueHandlerQueueHandlerQueueHandler
BrokerCore
Matching Engine
Controller
Lifecycle Manager Overlay Manager
Publication / Subscription Routing Table
JESS
InputQueue
…
QueueHandler
OutputQueues
Broker_Control Message
QueueHandler
…
RMITransportHandler
JMS
BrokerRMI
ClientRMI
DB
![Page 27: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/27.jpg)
METIS Security Seminar Series, March, 2006
Routing
![Page 28: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/28.jpg)
METIS Security Seminar Series, March, 2006
Physical Network
DatabaseDatabase
Physical Network
Distributed Overlay Broker Network
D atabase
Publisher
SubscriberBroker
Database Database
![Page 29: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/29.jpg)
METIS Security Seminar Series, March, 2006
Publish and Subscribe Cycle
• Publishers come alive and submit– Advertisements as indication of the type of
information they may provide in the future• Advs. are flooded• Advs. are an optimization (not absolutely required)
• Subscribers submit– Subscriptions as indication of interest specifications
• Subscriptions propagate towards source of advs. to establish publication-routing paths in the network
• Publisher publish concrete information– Publications propagate along publication-
routing path toward interested subscribers• # Advs < # Subs < # Pubs
![Page 30: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/30.jpg)
METIS Security Seminar Series, March, 2006
Content-based Routing: Advertising
Publisher
Publisher
…PADRES
Distributed Overlay
Broker Network Subscriber
Subscriber
…Broker Broker
BrokerBroker
Broker
Advertisement
![Page 31: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/31.jpg)
METIS Security Seminar Series, March, 2006
Content-based Routing: Subscribing
Publisher
Publisher
…PADRES
Distributed Overlay
Broker Network Subscriber
Subscriber
…Broker Broker
BrokerBroker
Broker
Subscription
![Page 32: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/32.jpg)
METIS Security Seminar Series, March, 2006
Content-based Routing: Publishing
Publisher
Publisher
…PADRES
Distributed Overlay
Broker Network Subscriber
Subscriber
…Broker Broker
BrokerBroker
Broker
Publication
![Page 33: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/33.jpg)
METIS Security Seminar Series, March, 2006
Unique PADRES Features
• Rule-based matching engine for routing decisions (Rete-based matcher)
• Historic data access in publish/subscribe layer
• Composite subscription and composite event detection
• Meta events and subscriptions
• Failure detection in publish/subscribe layer
• Load-balancing (high-volume subs. & pubs.)
• Workflow management application support
![Page 34: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/34.jpg)
METIS Security Seminar Series, March, 2006
Composite Subscription
• Composite subscription consists of atomic subscriptions– Provide a higher level view for subscribers (e.g., for event
aggregation)
– Here used to express flow dependencies
• Subscription language features– Operators (AND, OR) and variables ($x)
• Seamlessly supported by Rete for centralized matching but require extensions to content-based routing for distributed matching
![Page 35: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/35.jpg)
METIS Security Seminar Series, March, 2006
Composite Subscription Example
AND
OR
S1 S2
OR
S3 S4
AND
S5
CS={{S1 OR S2} AND{S3 OR S4} AND S5}
Composite event is the constellation ofevents being detected by the compositesubscription.
![Page 36: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/36.jpg)
METIS Security Seminar Series, March, 2006
Composite Subscription Routing
Distributed Overlay Broker Network
B4B3
AND
AND
S1 S2
S3
S
P2
P3
CS={{S1 AND S2} ANDS3}
B2
B1
B6
B5
P1CS
CS’={S1 AND S2}
P Publishers
S Subscribers
CS’S3S2
S1
![Page 37: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/37.jpg)
METIS Security Seminar Series, March, 2006
Composite Event Detection
Distributed Overlay Broker Network
B4B3
AND
AND
S1 S2
S3
S
P2
P3
CS={{S1 AND S2} ANDS3}
B2
B1
B6
B5
P1
CS
CS’={S1 AND S2}
P Publishers
S Subscribers
CS’
S3S2
S1 CS
P1
P2
P12
P3
P123
![Page 38: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/38.jpg)
METIS Security Seminar Series, March, 2006
Decentralized Business Process Execution in PADRES
We use the terms business process and workflow synonymously.
![Page 39: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/39.jpg)
METIS Security Seminar Series, March, 2006
• Natural composition of distributed resources
• A centralized execution may constitute a bottleneck
• A centralized execution may introduce unnecessary message load
• Avoid single point of faulure
Decentralized Workflow Execution
![Page 40: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/40.jpg)
METIS Security Seminar Series, March, 2006
Workflow Descriptions
• Workflows are described using XML-based languages, such as BPEL
• Activities defined in a workflow depend on each other
• A workflow instance is generated by a trigger
• Failure handing is part of the workflow description
A
B C
D
trigger
E
F
![Page 41: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/41.jpg)
METIS Security Seminar Series, March, 2006
Workflow Transformation
• The first job(s) subscribe to trigger messages
• Job dependencies are modeled by subscriptions
• A workflow instance is generated by a trigger publication
Trigger: {[class, trigger],[workflow,payroll],[instanceID, 10001]}
Job D: {{[class,=,job_info],[workflow,=,payroll], [instanceID,=,$x],[job,=,B],[status,=,succ]}
AND {[class,=,job_info],[workflow,=,payroll], [instanceID,=,$x],[job,=,C],[status,=,succ]}}
Job E: {[class,=,job_info],[workflow,=,payroll], [instanceID,=,$x],[job,=,A],[status,=,fail]}
Job A: {[class,=,trigger],[workflow,=,payroll], [instanceID,=,$x]}
![Page 42: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/42.jpg)
METIS Security Seminar Series, March, 2006
sub/advsJob D
sub/advsJob C
sub/advsJob B
Workflow Deployment
A
B C
D
BPEL
Distributed Overlay Broker Network
B4
B2
B3
B1
Job C Agent
Job D Agent
Job A Agent
Job B Agent
B6
Deployer
B5
sub/advsJob C
sub/advsJob A
sub/advsJob B
sub/advsJob D
sub/advsJob A
![Page 43: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/43.jpg)
METIS Security Seminar Series, March, 2006
Workflow Execution (Success)
A
B C
D
BPEL
Distributed Overlay Broker Network
B4
B2
B3
B1
Job C Agent
Job D Agent
Job A Agent
Job B Agent
B6
Workflow Manager
B5
sub/advsJob C
sub/advsJob A sub/advs
Job B
sub/advsJob D
trigger
A
A
B C
A
BC
END
![Page 44: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/44.jpg)
METIS Security Seminar Series, March, 2006
Workflow Execution (Failure)
Distributed Overlay Broker Network
B4
B2
B3
B1 Job D Agent
Job A Agent
Job B Agent
B6
Workflow Manager
B5
sub/advsJob C
sub/advsJob A
sub/advsJob B
sub/advsJob D
trigger
Job E Agent
sub/advsJob E
Job C Agent
Job F Agent
sub/advsJob F
A
B C
D
BPEL
E
F
A
E
END
![Page 45: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/45.jpg)
METIS Security Seminar Series, March, 2006
Overall Vision
![Page 46: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/46.jpg)
METIS Security Seminar Series, March, 2006
Summary
• Publish/Subscribe is a widely applicable paradigm• Content-based pub/sub is efficiently possible for a large
variety of languages and data models• Pub/Sub is not like data base querying• PADRES is a distributed, content-based
publish/subscribe system• PADRES targets decentralized workflow execution• All PADRES interaction patterns are entirely publish and
subscribe– Deployment– Execution– Failure detection– Monitoring– …
![Page 47: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/47.jpg)
METIS Security Seminar Series, March, 2006
Encrypted Content-based Routing in PADRES
Security for Publish/Subscribe Networks
![Page 48: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/48.jpg)
METIS Security Seminar Series, March, 2006
Background:Content-Based Routing
Advertisement: [class,sensor_reading],[temp,>,20],[light_level,<=,9]
Subscription: [class,sensor_reading],[temp,>,35],[light_level,<,6]
Publication: [class,sensor_reading],[temp,40],[light_level,3]
![Page 49: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/49.jpg)
METIS Security Seminar Series, March, 2006
PADRES: Message Encryption
• Observe that plain-text string representation of messages is effectively a Unique ID
• Encrypted representation of matched message is tunnelled in regular predicate as Routing Token
• Encryption/Decryption occurs only at locally Trusted Brokers– End-to-End security association
– Transparent to clients
![Page 50: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/50.jpg)
METIS Security Seminar Series, March, 2006
Encrypted Content-Based Routing
Advertisement: [class,sensor_reading],[temp,>,20],[light_level,<=,9] E(adv)
Subscription: [token,E(adv)],[data,E([class,sensor_reading],[temp,>,35],[light_level,<,6])]
Publication: [token,E(sub)],[data,E([temp,40],[light_level,3])]
![Page 51: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/51.jpg)
METIS Security Seminar Series, March, 2006
-- The End, Thank you --
![Page 52: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/52.jpg)
METIS Security Seminar Series, March, 2006
![Page 53: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/53.jpg)
METIS Security Seminar Series, March, 2006
ToPSS - Toronto Publish/Subscribe System
G-/S-ToPSS(semantic)
X-ToPSS(semi-structured data; XML)
A-ToPSS(approximate)
M-ToPSS(mobile)
Ad hoc-ToPSS(ad hoc networking)
Federated-ToPSS(federation of ToPSS brokers)
persistent-ToPSS(Subject Spaces)
Rb-ToPSS(rule-based)
ToPSS(matching algorithms)
L-ToPSS(location-based & correlation)
p2p-ToPSS(peer-to-peer)ToPSS
Information consumers subscribe to information of interest.Information producers publish information. ToPSS-broker(s) match and route relevant information to interested subscribers.
VLDB’02, ICDE’04VLDB’04
DEBS’02ICDE’01/Tutorial
VLDB’03, VLDB/SEM’03WWW’05
VLDB/TES’03, VLDB’04,MDM’05
CASCON’02’03
IEEE MDM’04, DEBS’05,MobiCom’05
2001 - presentVLDB/DBISP2P’03
MobiQuitous’05
ICFI’05
M.A.Sc. Thesis 3/04
M.A.Sc. Thesis 1/04
![Page 54: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/54.jpg)
METIS Security Seminar Series, March, 2006
Broker Protocol Stack
Transport
Overlay
Publish/Subscribe
Representation
Business Process
Java RMI
ORT
PRT & SRT
XML
BPEL
![Page 55: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/55.jpg)
METIS Security Seminar Series, March, 2006
Rule-based Matching• Based on JESS (Java Expert System Shell)• Enables a powerful subscription language
– Variables, join conditions, composite subscriptions
• S= [class,eq,trigger],[appl,eq,payroll],[gid,eq,g001]
• Publications become facts
{ Rule S
(trigger (appl ?x:(eq ?x “payroll”) (gid ?y:(eq ?y “g001”))
⇒ ( send to forwarding targets )
}
![Page 56: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/56.jpg)
METIS Security Seminar Series, March, 2006
Rule-based Matching Performance
0.001
0.01
0.1
1
10
100
1000
0 50000 100000 150000 200000
Number of Subscriptions
Mat
chin
g Ti
me
(ms)
(log
scal
Naive Matching Algorithm
Predicate Counting
JESS
![Page 57: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/57.jpg)
METIS Security Seminar Series, March, 2006
Routing TablesMessage Type Handled By Modifies
Advertisement ORT SRT
Subscription SRT PRT
Publication PRT None
● The SRT and PRT are represented by a Rete, respectively● The Rete is formed by rules with subscriptions on the
LHS and forwarding targets on the RHS● The actions are a list of next-hop addresses to send a
matching message to
![Page 58: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/58.jpg)
METIS Security Seminar Series, March, 2006
Matching Algorithms• Counting algorithm
–Counts satisfied predicates per subscription–Subscription is matched if all its predicates are matched
• Rete-algorithm (Forgy, 1979)–Compiled network of nodes representing production rule
left hand sides
• Gryphon algorithm (Arguriella et al., 1999)–Subscriptions are represented as a tree
• Predicate Clustering (Pereira, Jacobsen et al.,2001)–Search space is pruned through access predicates and
subscription clusters–A cluster is disregarded, if its access predicate(s) are false
![Page 59: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/59.jpg)
METIS Security Seminar Series, March, 2006
Historic Query Examples
![Page 60: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/60.jpg)
METIS Security Seminar Series, March, 2006
Historic Data Access
• Publications are stored in databases distributed throughout the broker network
• Historic subscriptions allow the clients to retrieve past publications in conjunction with future publications
• Publications can be temporally joinedusing composite subscriptions
![Page 61: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/61.jpg)
METIS Security Seminar Series, March, 2006
Historic Data Access
• Simple queries:– [class,eq,trigger][appl,eq,payroll]
[gid,=,$x][time,<,now+1hr][time,>,now-1hr]
• Complex Queries:– [class,eq,job_status]
[appl,eq,$y][gid,=,$x]AND[class,eq,trigger][appl,eq,$y][gid,=,$x][time,>,0000][time,<,0800]
![Page 62: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/62.jpg)
METIS Security Seminar Series, March, 2006
Workflow Evaluation
![Page 63: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/63.jpg)
METIS Security Seminar Series, March, 2006
A(Daily)
B (Daily)
C (Tuesday)
D (Daily)
E (Daily)
F(Daily)
H (Daily)
G(Workday)
A (Daily)
B (Daily) C (Monday)
D (Daily)A B
Evaluation
![Page 64: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/64.jpg)
METIS Security Seminar Series, March, 2006
Workflow Deployment Traffic
0
50100
150200
250
300350
400
Workflow A Workflow B
Net
wor
k Tr
affic
(KB
)
No Composite SubscriptionDecomposition at First Broker
Distributed Decomposition
![Page 65: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/65.jpg)
METIS Security Seminar Series, March, 2006
Workflow Execution Traffic
0
100
200
300
400
500
600
700
Workflow A Workflow B
Net
wor
k Tr
affic
(KB
)
No Composite SubscriptionDecomposition at First BrokerDistributed Decomposition
![Page 66: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/66.jpg)
METIS Security Seminar Series, March, 2006
Evaluations
• Environment– Intel Xeon 3GHz, 1GB RAM– JDK 1.4.2
• Workload description– Predicates based on 20 attributes with random
operators– Values are uniformly distributed in the value range– Two workflows with different number of jobs
• Metrics– Matching time– Routing delay per composite subscription– Network traffic
![Page 67: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/67.jpg)
METIS Security Seminar Series, March, 2006
Publication Matching Time
0.001
0.01
0.1
1
10
100
1000
0 50,000 100,000 150,000 200,000
Number of Subscriptions
Rou
ting
Tim
e (m
s)(lo
g sc
ale)
Naive Matching Algorithm
Predicate Counting
PADRES Broker
![Page 68: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/68.jpg)
METIS Security Seminar Series, March, 2006
Composite Event Detection
0
5
10
15
20
25
30
35
1 2 3 4 5 6
Number of Atomic Subscriptions per Composite Subscription
Com
posi
te E
vent
Det
ectio
n Ti
me
(ms)
100 publications5000 publications10000 publications
![Page 69: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/69.jpg)
METIS Security Seminar Series, March, 2006
Routing Delay
0
2
4
6
8
10
12
14
1 2 3 4 5 6
Number of Atomic Subscriptions per Composite Subscription
Rou
ting
Del
ay (m
s)
![Page 70: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/70.jpg)
METIS Security Seminar Series, March, 2006
Number of Notifications
0
1,000
2,000
3,000
4,000
5,000
6,000
7,000
8,000
0 10,000 20,000 30,000 40,000 50,000
Number of Publications
Num
ber o
f Not
ifica
tion
Without Composite Subscription
Composite Subscription
![Page 71: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/71.jpg)
METIS Security Seminar Series, March, 2006
Workflow Deployment
0
50100
150200
250
300350
400
Workflow A Workflow B
Net
wor
k Tr
affic
(KB
)
Without Composite Subscription
Composite Subscription
![Page 72: PADRES: A Middleware for the Decentralized Execution of ...METIS Security Seminar Series, March, 2006 PADRES: A Middleware for the Decentralized Execution of Business Processes Hans-Arno](https://reader034.vdocuments.us/reader034/viewer/2022051911/600131ae51c34615f15cf07f/html5/thumbnails/72.jpg)
METIS Security Seminar Series, March, 2006
Workflow Execution
0
100
200
300
400
500
600
700
Workflow A Workflow B
Net
wor
k Tr
affic
(KB
)
Without Composite Subscription
Composite Subscription