SlideShare a Scribd company logo
Distributed Data Processing
      with ILOG JRules




                      Daniel Selman
                     dselman@ilog.fr
                               ILOG

                      Keith Lindsey
                               UBS
Agenda

  Business Problem
  Distributed Architecture
  Choosing an Execution Algorithm
  Sample Rules
  Sequential Mode
  Results




                      © ILOG, All rights reserved   2
Business Problem

   UBS Bank operates in over 50 countries
   Transform the General Ledger Financial Details
    Database into Regulatory and Internal Reports
      Required by 8AM for the banks in all geographies
      Reports go to corporate centre as well as local banking
       regulators
      Support different accounting standards
   Legacy application based on ETL was too hard to
    maintain and did not meet business or performance
    requirements




                             © ILOG, All rights reserved         3
Performance and Scalability
  Complexity and volume have grown
   beyond the original design
   capabilities
  Was not meeting the business
   requirements for timeliness
  Transformation rules were complex to
   maintain, run and configure

                                                     Branch Performance (Volumes and Runtime)
                          900                                                                                               7,000,000


                          800
                                                                                                                            6,000,000

                          700




                                                                                                                                        Balance Volumes Processed
                                                                                                                            5,000,000
                          600
        Runtimes (mins)




                                                                                                                            4,000,000
                          500


                          400
                                                                                                                            3,000,000


                          300
                                                                                                                            2,000,000

                          200

                                                Batch Run Times                                                             1,000,000
                          100
                                                Branch Volume


                            0                                                                                               0
                            11/04   02/05   05/05   08/05   11/05   02/06   05/06   08/06   11/06   02/07   05/07   08/07
                                                                            Date




                                                                                            © ILOG, All rights reserved                                             44
Distributed Architecture

   Should be able to scale horizontally and
    vertically – distribute the data across numerous
    fast and low cost boxes
      Distribution means less data to process on each box,
       hence faster processing
      Keep data close to code for faster processing – do
       not drop data unless required
      No time wasted storing data that you do not want
      By regulating the amount of data of each box it will
       be possible stabilise performance as volume grows

                         © ILOG, All rights reserved          5
Parallelism

   Applications are often classified according to
    how often their subtasks need to synchronize or
    communicate with each other.
      An application exhibits fine-grained parallelism if its
       subtasks must communicate many times per second;
      It exhibits coarse-grained parallelism if they do not
       communicate many times per second,
      And it is embarrassingly parallel if they rarely or
       never have to communicate.
                                                             Wikipedia




                           © ILOG, All rights reserved                   6
Rules in the Distribution Framework
JVM
                                          Rules Processing Node
                                                                                                                    Business logic is coded in rules
Posting
          Domain
                      Input Data
                                                                      Rulesets                                      When a sum/sort is needed,
           data
Posting
                                                                                                                     data is sent to central node
                                                    Ruleset Locator
                                                                       Netting


                                                                      Collateral
                     iLOG JRules
                        Engine
                                                                      Allocation
                                                                                                                     and the result is returned
                                                                        RWA

                     Output Data
                                                                                                                    The rules only interact with the
                                                                                                                     domain data objects, not the
                     Domain
                      data




                     Data                   Distribution Layer                      Data
                                                                                 Integrator
                                                                                                                     data transfer objects
                   converter

                                                                                                                    This keeps the rules abstracted
                                                                                    Network Optimized
                      Network Optimized




                                                   Network
                                                                                                                     from the distribution framework
                                              Central Node                                                           they run in
                   Input Data                                                 Return Data




                                                                                                        © ILOG, All rights reserved                 7
Implementation Summary

                 Partition dataset into segments
                 Process each segment in parallel
                  using a grid of worker servers
                 Each worker communicates with
                  a central server using a
                  lightweight protocol
                 Synchronization points with the
                  central server are kept to an
                  absolute minimum
                 Rules process data held in-
                  memory


                 © ILOG, All rights reserved         8
JRules Execution Modes

   Compliance and Validation
     Loosely interrelated rules that check a set of
      conditions to yield a go/no go or similar constrained
      result. Compliance business rule applications are
      often used in underwriting, fraud detection, data
      validation and form validation. The business rules in
      this kind of application would generally have a yes/no
      result and would provide some explanation on the
      decision.
   => Sequential or Fastpath


                        © ILOG, All rights reserved            9
JRules Execution Modes

   Computation
     Strongly interrelated rules that compute metrics for a
      complex object model. Computation business rule
      applications are often used for scoring and rating,
      contracts and allocation. The business rules in this
      kind of application would carry out different
      calculations on an object which would be responsible
      for providing a final value (or rating).
   => RetePlus



                        © ILOG, All rights reserved            10
JRules Execution Modes

   Correlation
     Strongly interrelated rules that correlate information
      from a set of objects, to compute some complex
      metrics. Correlation business rule applications are
      often used for billing. The business rules in this kind
      of application insert information.
   => RetePlus or Fastpath




                         © ILOG, All rights reserved            11
JRules Execution Modes

   Stateful Session
     Strongly interrelated rules that correlate events in a
      stateful engine session. Stateful applications are
      often used in alarm filtering and correlation, GUI
      customization, and Web page navigation.
   => RetePlus




                         © ILOG, All rights reserved           12
JRules Execution Modes




                                                  E.g.
                                                Decision
                                                 Tables




                  © ILOG, All rights reserved              13
UBS Rules

   Statistics
      If-then-else BRL rules: 749
      Decision tables: 55
      Decision trees: 5
      Ruleflows: 111




                           © ILOG, All rights reserved   14
Sample Rule 1

  definitions


       set 'the posting' to a Posting in the postings filtered by product types of 'the
       internal data' ;


       set 'the trade balance' to a Trade Balance from the Trade Balance of 'the
       posting' ;


       set 'the Reporting Date' to the Reporting Date ;


  if


       Number of days between 'the Reporting Date' and the Settlement Date (
       TB115 ) of 'the trade balance' is less than 0

                                     © ILOG, All rights reserved                          15
Sample Rule 2
  definitions


     set 'the posting' to a Posting in the list of input postings where this Posting is
     selected for PP50 processing ;


     set 'the GCR entity' to the gcr of 'the posting' ;


     set 'the counterparty' to the counterparty of 'the posting' ;


     set 'the parent' to the Parent Counterparty of 'the counterparty' ;


     set 'the country of ultimate risk' to the Country of Ultimate Risk ( PA060 ) of 'the
     parent' ;


     set 'the code of the country' to the Country Code of 'the country of ultimate risk' ;




                                        © ILOG, All rights reserved                          16
Sample Rule 3
  definitions


       set 'the posting' to a Posting in the list of postings;


       set 'the lookup result' to the lookup results for 'the posting' in 'PP72 Input Table Lookup' ;


       set 'the residual maturity' to the selected residual maturity of 'the lookup result' ;


       set 'the original maturity' to the selected original maturity of 'the lookup result' ;


       set 'the product type group' to the product type group of 'the lookup result' ;




  if


       all of the following conditions are true :


                 - 'the lookup result' is not empty is true


                 - (the Transaction Netting ID ( PO998 ) of 'the posting' is not "N" and
                                the Transaction Netting ID ( PO998 ) of 'the posting' is NOT EMPTY )


                 - ('the product type group' is "RV" and
                                                     © ILOG, All rights reserved                        17
Sequential Mode
                                                     Sequential
                                                      Ruleflow
                                                       Tasks
 BAL Rules
 Ruleflows                                                        Machine
                     IRL                  Byte code
 Decision Tables                                                   Code
 …


                    Ruleset
     Rule Project                                    JVM            OS
                    Archive




                       © ILOG, All rights reserved                          18
BAL Rule

  definitions


       set 'the posting' to a Posting in the postings filtered by product types of 'the
       internal data' ;


       set 'the trade balance' to a Trade Balance from the Trade Balance of 'the
       posting' ;


       set 'the Reporting Date' to the Reporting Date ;


  if


       Number of days between 'the Reporting Date' and the Settlement Date (
       TB115 ) of 'the trade balance' is less than 0

                                     © ILOG, All rights reserved                          19
IRL Rule
  rule ClassifyOpenAndFailedTradePosting {


     property status = "new";


     when {


       com.ubs.meridian.internaldata.PP30InternalData() from internalData;


       the_posting: com.ubs.meridian.data.interfaces.Posting() in
     internalData.postingsFilteredByProductType;


       the_trade_balance: com.ubs.meridian.data.interfaces.TradeBalance() from
     the_posting.tradeBalance;


       the_Reporting_Date: com.ubs.meridian.engine.types.CalendarDate() from
     com.ubs.meridian.inputdata.PP30InputData.vgetLBD();


       evaluate (the_Reporting_Date.numberOfDaysBetween(the_trade_balance.settlementDate) <
     0);


     } then {                             © ILOG, All rights reserved                         20
Pseudo (Byte) Code
  protected final void rule_ClassisfyPosting_ClassifyOpenAndFailedTradePosting()
   {
       com.ubs.meridian.internaldata.PP30InternalData __V0 = (com.ubs.meridian.internaldata.PP30InternalData)this.globalDriver.getGlobalObject(4,7);
       if (__V0 != null)
        {
            java.util.List __V1 = ((com.ubs.meridian.internaldata.PP30InternalData)this.globalDriver.getGlobalObject(4,7)).getPostingsFilteredByProductType();
            if (__V1 != null)
              if (__V2 != null)
                  if (__V2 instanceof com.ubs.meridian.data.interfaces.Posting)
                   {
                       com.ubs.meridian.data.interfaces.Posting the_posting = (com.ubs.meridian.data.interfaces.Posting)__V2;
                       {
                           com.ubs.meridian.data.interfaces.TradeBalance the_trade_balance = the_posting.getTradeBalance();
                           if (the_trade_balance != null)
                            {
                                com.ubs.meridian.engine.types.CalendarDate the_Reporting_Date = function_translation_com_ubs_meridian_inputdata_PP30InputData_vgetLBD();
                                if (the_Reporting_Date != null)
                                 if (the_Reporting_Date.numberOfDaysBetween(the_trade_balance.getSettlementDate()) < 0)
                                  {
  function_translation_com_ubs_meridian_internaldata_PP30InternalData_vAddToOpenTradePostingsList(the_posting); }
                                 else
                                  {
  function_translation_com_ubs_meridian_internaldata_PP30InternalData_vAddToFailedTradePostingsList(the_posting);
                                  }
                            }
                       }
              }
         }
   }




                                                                                   © ILOG, All rights reserved                                                             21
Sequential Mode

 Limitations
    not, exists, collect conditions without an
     enumerator (as no working memory)
    Lesser used features
       dynamic priorities (as no agenda)
       event-based condition
       Watchdogs
       TMS



                       © ILOG, All rights reserved   22
Parsing Time - Benchmark




                  © ILOG, All rights reserved   23
Execution Time - Benchmark




                  © ILOG, All rights reserved   24
Execution Time - Benchmark




                  © ILOG, All rights reserved   25
Results: UBS Performance




                  © ILOG, All rights reserved   26
Results: UBS Business Benefits

   While data volumes have been steadily increasing,
    dramatic runtime reductions have been achieved since
    the project went live
   Regulatory reporting data is now predictably delivered
    (very low runtime variance)
   Increased agility allows for faster time to market in
    terms of business change
   Common vocabulary now in place between the
    business and technical teams




                           © ILOG, All rights reserved       27
Discussion




                   QuickTime™ an d a
                      decompressor
             are need ed to see this p icture .




                       © ILOG, All rights reserved   28

More Related Content

Similar to October Rules Fest 2008 - Distributed Data Processing with ILOG JRules

Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
Cloudera, Inc.
 
Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar
Metron
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
Bob Rhubart
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBase
darach
 
Oracle BI Server By AORTA
Oracle BI Server By AORTAOracle BI Server By AORTA
Oracle BI Server By AORTA
Aorta business intelligence
 
Oracle BI Server by AORTA
Oracle BI Server by AORTAOracle BI Server by AORTA
Oracle BI Server by AORTA
guest066f569
 
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoServer Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
JUG Genova
 
Betting On Data Grids
Betting On Data GridsBetting On Data Grids
Betting On Data Grids
gojkoadzic
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
Bob Rhubart
 
GE Smallworld Overview September2010
GE Smallworld Overview September2010GE Smallworld Overview September2010
GE Smallworld Overview September2010cwilson5496
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the Cloud
Vitor Oliveira
 
Consolidated shared indexes in real time
Consolidated shared indexes in real timeConsolidated shared indexes in real time
Consolidated shared indexes in real timeJeff Mace
 
Move SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy StepsMove SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy StepsAppZero
 
Packet shaper datasheet 81
Packet shaper datasheet 81Packet shaper datasheet 81
Packet shaper datasheet 81Zalli13
 
Packet shaper datasheet 81
Packet shaper datasheet 81Packet shaper datasheet 81
Packet shaper datasheet 81Zalli13
 
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young KimIntroduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
tulipbiru64
 
Meandre 2.0 Alpha Preview
Meandre 2.0 Alpha PreviewMeandre 2.0 Alpha Preview
Meandre 2.0 Alpha Preview
Xavier Llorà
 
Aditi
AditiAditi
Aditi
AditiAditi

Similar to October Rules Fest 2008 - Distributed Data Processing with ILOG JRules (20)

Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
 
Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBase
 
Oracle BI Server By AORTA
Oracle BI Server By AORTAOracle BI Server By AORTA
Oracle BI Server By AORTA
 
Oracle BI Server by AORTA
Oracle BI Server by AORTAOracle BI Server by AORTA
Oracle BI Server by AORTA
 
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoServer Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
 
Betting On Data Grids
Betting On Data GridsBetting On Data Grids
Betting On Data Grids
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
GE Smallworld Overview September2010
GE Smallworld Overview September2010GE Smallworld Overview September2010
GE Smallworld Overview September2010
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the Cloud
 
Consolidated shared indexes in real time
Consolidated shared indexes in real timeConsolidated shared indexes in real time
Consolidated shared indexes in real time
 
Move SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy StepsMove SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy Steps
 
Packet shaper datasheet 81
Packet shaper datasheet 81Packet shaper datasheet 81
Packet shaper datasheet 81
 
Packet shaper datasheet 81
Packet shaper datasheet 81Packet shaper datasheet 81
Packet shaper datasheet 81
 
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young KimIntroduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
 
Meandre 2.0 Alpha Preview
Meandre 2.0 Alpha PreviewMeandre 2.0 Alpha Preview
Meandre 2.0 Alpha Preview
 
Cs753 2a
Cs753 2aCs753 2a
Cs753 2a
 
Aditi
AditiAditi
Aditi
 
Aditi
AditiAditi
Aditi
 

More from Dan Selman

Hyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep DiveHyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep Dive
Dan Selman
 
Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05
Dan Selman
 
Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGi
Dan Selman
 
Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013
Dan Selman
 
Paris Java User Group : Enabling Agile Business and IT Collaboration
Paris Java User Group : Enabling Agile Business  and IT CollaborationParis Java User Group : Enabling Agile Business  and IT Collaboration
Paris Java User Group : Enabling Agile Business and IT Collaboration
Dan Selman
 
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesIBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
Dan Selman
 
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
Dan Selman
 
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
Dan Selman
 
Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!
Dan Selman
 
European Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule StandardsEuropean Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule Standards
Dan Selman
 
European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...
Dan Selman
 

More from Dan Selman (11)

Hyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep DiveHyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep Dive
 
Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05
 
Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGi
 
Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013
 
Paris Java User Group : Enabling Agile Business and IT Collaboration
Paris Java User Group : Enabling Agile Business  and IT CollaborationParis Java User Group : Enabling Agile Business  and IT Collaboration
Paris Java User Group : Enabling Agile Business and IT Collaboration
 
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesIBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
 
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
 
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
 
Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!
 
European Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule StandardsEuropean Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule Standards
 
European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 

October Rules Fest 2008 - Distributed Data Processing with ILOG JRules

  • 1. Distributed Data Processing with ILOG JRules Daniel Selman dselman@ilog.fr ILOG Keith Lindsey UBS
  • 2. Agenda  Business Problem  Distributed Architecture  Choosing an Execution Algorithm  Sample Rules  Sequential Mode  Results © ILOG, All rights reserved 2
  • 3. Business Problem  UBS Bank operates in over 50 countries  Transform the General Ledger Financial Details Database into Regulatory and Internal Reports  Required by 8AM for the banks in all geographies  Reports go to corporate centre as well as local banking regulators  Support different accounting standards  Legacy application based on ETL was too hard to maintain and did not meet business or performance requirements © ILOG, All rights reserved 3
  • 4. Performance and Scalability  Complexity and volume have grown beyond the original design capabilities  Was not meeting the business requirements for timeliness  Transformation rules were complex to maintain, run and configure Branch Performance (Volumes and Runtime) 900 7,000,000 800 6,000,000 700 Balance Volumes Processed 5,000,000 600 Runtimes (mins) 4,000,000 500 400 3,000,000 300 2,000,000 200 Batch Run Times 1,000,000 100 Branch Volume 0 0 11/04 02/05 05/05 08/05 11/05 02/06 05/06 08/06 11/06 02/07 05/07 08/07 Date © ILOG, All rights reserved 44
  • 5. Distributed Architecture  Should be able to scale horizontally and vertically – distribute the data across numerous fast and low cost boxes  Distribution means less data to process on each box, hence faster processing  Keep data close to code for faster processing – do not drop data unless required  No time wasted storing data that you do not want  By regulating the amount of data of each box it will be possible stabilise performance as volume grows © ILOG, All rights reserved 5
  • 6. Parallelism  Applications are often classified according to how often their subtasks need to synchronize or communicate with each other.  An application exhibits fine-grained parallelism if its subtasks must communicate many times per second;  It exhibits coarse-grained parallelism if they do not communicate many times per second,  And it is embarrassingly parallel if they rarely or never have to communicate. Wikipedia © ILOG, All rights reserved 6
  • 7. Rules in the Distribution Framework JVM Rules Processing Node  Business logic is coded in rules Posting Domain Input Data Rulesets  When a sum/sort is needed, data Posting data is sent to central node Ruleset Locator Netting Collateral iLOG JRules Engine Allocation and the result is returned RWA Output Data  The rules only interact with the domain data objects, not the Domain data Data Distribution Layer Data Integrator data transfer objects converter  This keeps the rules abstracted Network Optimized Network Optimized Network from the distribution framework Central Node they run in Input Data Return Data © ILOG, All rights reserved 7
  • 8. Implementation Summary  Partition dataset into segments  Process each segment in parallel using a grid of worker servers  Each worker communicates with a central server using a lightweight protocol  Synchronization points with the central server are kept to an absolute minimum  Rules process data held in- memory © ILOG, All rights reserved 8
  • 9. JRules Execution Modes  Compliance and Validation  Loosely interrelated rules that check a set of conditions to yield a go/no go or similar constrained result. Compliance business rule applications are often used in underwriting, fraud detection, data validation and form validation. The business rules in this kind of application would generally have a yes/no result and would provide some explanation on the decision.  => Sequential or Fastpath © ILOG, All rights reserved 9
  • 10. JRules Execution Modes  Computation  Strongly interrelated rules that compute metrics for a complex object model. Computation business rule applications are often used for scoring and rating, contracts and allocation. The business rules in this kind of application would carry out different calculations on an object which would be responsible for providing a final value (or rating).  => RetePlus © ILOG, All rights reserved 10
  • 11. JRules Execution Modes  Correlation  Strongly interrelated rules that correlate information from a set of objects, to compute some complex metrics. Correlation business rule applications are often used for billing. The business rules in this kind of application insert information.  => RetePlus or Fastpath © ILOG, All rights reserved 11
  • 12. JRules Execution Modes  Stateful Session  Strongly interrelated rules that correlate events in a stateful engine session. Stateful applications are often used in alarm filtering and correlation, GUI customization, and Web page navigation.  => RetePlus © ILOG, All rights reserved 12
  • 13. JRules Execution Modes E.g. Decision Tables © ILOG, All rights reserved 13
  • 14. UBS Rules  Statistics  If-then-else BRL rules: 749  Decision tables: 55  Decision trees: 5  Ruleflows: 111 © ILOG, All rights reserved 14
  • 15. Sample Rule 1 definitions set 'the posting' to a Posting in the postings filtered by product types of 'the internal data' ; set 'the trade balance' to a Trade Balance from the Trade Balance of 'the posting' ; set 'the Reporting Date' to the Reporting Date ; if Number of days between 'the Reporting Date' and the Settlement Date ( TB115 ) of 'the trade balance' is less than 0 © ILOG, All rights reserved 15
  • 16. Sample Rule 2 definitions set 'the posting' to a Posting in the list of input postings where this Posting is selected for PP50 processing ; set 'the GCR entity' to the gcr of 'the posting' ; set 'the counterparty' to the counterparty of 'the posting' ; set 'the parent' to the Parent Counterparty of 'the counterparty' ; set 'the country of ultimate risk' to the Country of Ultimate Risk ( PA060 ) of 'the parent' ; set 'the code of the country' to the Country Code of 'the country of ultimate risk' ; © ILOG, All rights reserved 16
  • 17. Sample Rule 3 definitions set 'the posting' to a Posting in the list of postings; set 'the lookup result' to the lookup results for 'the posting' in 'PP72 Input Table Lookup' ; set 'the residual maturity' to the selected residual maturity of 'the lookup result' ; set 'the original maturity' to the selected original maturity of 'the lookup result' ; set 'the product type group' to the product type group of 'the lookup result' ; if all of the following conditions are true : - 'the lookup result' is not empty is true - (the Transaction Netting ID ( PO998 ) of 'the posting' is not "N" and the Transaction Netting ID ( PO998 ) of 'the posting' is NOT EMPTY ) - ('the product type group' is "RV" and © ILOG, All rights reserved 17
  • 18. Sequential Mode Sequential Ruleflow Tasks BAL Rules Ruleflows Machine IRL Byte code Decision Tables Code … Ruleset Rule Project JVM OS Archive © ILOG, All rights reserved 18
  • 19. BAL Rule definitions set 'the posting' to a Posting in the postings filtered by product types of 'the internal data' ; set 'the trade balance' to a Trade Balance from the Trade Balance of 'the posting' ; set 'the Reporting Date' to the Reporting Date ; if Number of days between 'the Reporting Date' and the Settlement Date ( TB115 ) of 'the trade balance' is less than 0 © ILOG, All rights reserved 19
  • 20. IRL Rule rule ClassifyOpenAndFailedTradePosting { property status = "new"; when { com.ubs.meridian.internaldata.PP30InternalData() from internalData; the_posting: com.ubs.meridian.data.interfaces.Posting() in internalData.postingsFilteredByProductType; the_trade_balance: com.ubs.meridian.data.interfaces.TradeBalance() from the_posting.tradeBalance; the_Reporting_Date: com.ubs.meridian.engine.types.CalendarDate() from com.ubs.meridian.inputdata.PP30InputData.vgetLBD(); evaluate (the_Reporting_Date.numberOfDaysBetween(the_trade_balance.settlementDate) < 0); } then { © ILOG, All rights reserved 20
  • 21. Pseudo (Byte) Code protected final void rule_ClassisfyPosting_ClassifyOpenAndFailedTradePosting() { com.ubs.meridian.internaldata.PP30InternalData __V0 = (com.ubs.meridian.internaldata.PP30InternalData)this.globalDriver.getGlobalObject(4,7); if (__V0 != null) { java.util.List __V1 = ((com.ubs.meridian.internaldata.PP30InternalData)this.globalDriver.getGlobalObject(4,7)).getPostingsFilteredByProductType(); if (__V1 != null) if (__V2 != null) if (__V2 instanceof com.ubs.meridian.data.interfaces.Posting) { com.ubs.meridian.data.interfaces.Posting the_posting = (com.ubs.meridian.data.interfaces.Posting)__V2; { com.ubs.meridian.data.interfaces.TradeBalance the_trade_balance = the_posting.getTradeBalance(); if (the_trade_balance != null) { com.ubs.meridian.engine.types.CalendarDate the_Reporting_Date = function_translation_com_ubs_meridian_inputdata_PP30InputData_vgetLBD(); if (the_Reporting_Date != null) if (the_Reporting_Date.numberOfDaysBetween(the_trade_balance.getSettlementDate()) < 0) { function_translation_com_ubs_meridian_internaldata_PP30InternalData_vAddToOpenTradePostingsList(the_posting); } else { function_translation_com_ubs_meridian_internaldata_PP30InternalData_vAddToFailedTradePostingsList(the_posting); } } } } } } © ILOG, All rights reserved 21
  • 22. Sequential Mode  Limitations  not, exists, collect conditions without an enumerator (as no working memory)  Lesser used features  dynamic priorities (as no agenda)  event-based condition  Watchdogs  TMS © ILOG, All rights reserved 22
  • 23. Parsing Time - Benchmark © ILOG, All rights reserved 23
  • 24. Execution Time - Benchmark © ILOG, All rights reserved 24
  • 25. Execution Time - Benchmark © ILOG, All rights reserved 25
  • 26. Results: UBS Performance © ILOG, All rights reserved 26
  • 27. Results: UBS Business Benefits  While data volumes have been steadily increasing, dramatic runtime reductions have been achieved since the project went live  Regulatory reporting data is now predictably delivered (very low runtime variance)  Increased agility allows for faster time to market in terms of business change  Common vocabulary now in place between the business and technical teams © ILOG, All rights reserved 27
  • 28. Discussion QuickTime™ an d a decompressor are need ed to see this p icture . © ILOG, All rights reserved 28