throbber
US008276115B2
`
`(12) United States Patent
`Bates et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,276,115 B2
`Sep. 25, 2012
`
`(54) AUTOMATED CONSTRUCTION AND
`DEPLOYMENT OF COMPLEX EVENT
`PROCESSINGAPPLICATIONS AND
`BUSINESS ACTIVITY MONITORING
`DASHBOARDS
`
`(75) Inventors: John Bates, Nashua, NH (US); Gareth
`Smith, Cambridge (GB); Richard M.
`tly i.S. thenault
`erst,
`Aston nan,
`Merrimack, NH (US); Kevin A.
`Palfreyman, Cambridge (GB); Robert
`Scott Mitchell, Cambridge (GB)
`
`(73) Assignee: Progress Software Corporation,
`Bedford, MA (US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1237 days.
`
`(21) Appl. No.: 12/025,586
`
`1-1.
`(22) Filed:
`
`Feb. 4, 2008
`
`(65)
`
`Prior Publication Data
`US 2008/0209,078 A1
`Aug. 28, 2008
`
`O
`O
`Related U.S. Application Data
`(60) Provisional application No. 60/888,500, filed on Feb.
`6, 2007
`isional application No. 60/896,266, filed
`s
`prov1s10nal application No.
`Zoo, Ille
`on Mar. 21, 2007.
`
`(51) Int. Cl.
`(2006.01)
`G06F 9/44
`(52) U.S. Cl. ........ 71710.71710s. 717/100.71713.
`71.5/779
`(58) Field of Classification Search ........................ None
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5.245,616 A
`9, 1993 Olson
`5,392,398 A
`2/1995 Meyer
`5,596,720 A
`1/1997 Hamada et al.
`5,758,354 A
`5/1998 Huang et al.
`5,765,033 A
`6/1998 Miloslavsky
`5,805,825 A
`8. 1998 El et al.
`5,822,526 A 10, 1998 Waskiewicz
`5,850,525 A 12/1998 Kalkunte et al.
`5,857,201 A
`1/1999 Wright, Jr. et al.
`5,870,605 A
`2/1999 Bracho et al.
`5,878,056 A
`3, 1999 Black et al.
`5,951,648 A
`9, 1999 Kailash
`6,016,515 A
`1/2000 Shaw et al.
`6,061,559 A
`5, 2000 Eriksson et al.
`6,112,323 A
`8, 2000 Meizlik et al.
`(Continued)
`
`OTHER PUBLICATIONS
`Title: Vision-Based Methods for Driver Monitoring, author:
`Wahlstrometal, dated: 2003, source: IEEE.*
`(Continued)
`Primary Examiner — Chameli Das
`(74) Attorney, Agent, or Firm — Wilmer Cutler Pickering
`Hale & Dorr LLP.
`
`ABSTRACT
`(57)
`A system and method for constructing and deploying a busi
`ness activity monitoring (BAM) dashboard associated with
`an event-based process are disclosed. A configuration module
`receives an event-based process identifier for an event-based
`process and data, such as inputs or outputs, for the event
`based process. A generation module then generates a dash
`board description that includes the identifier and an associ
`ated dashboard template having one or more dashboard
`components. This dashboard description is used by a dash
`board server to automatically generate a BAM dashboard for
`monitoring the event-based process by using the association
`bet
`the dashboard template and th
`t-based
`Deyenneslashboard emplate and neven based process
`to display data associated with the event-based process using
`one or more dashboard components.
`21 Claims, 10 Drawing Sheets
`
`Ewent-BASED Process
`
`A. A
`
`22
`
`EVENT-Ased Process
`
`732
`
`EVENT-BASPROCESS
`C
`
`
`
`ashboard Server 137
`First Dashboard Description
`TEMPAE
`370
`
`710A
`
`Second Dashboard Description
`B
`EMPLA
`743
`370
`
`Third dashboard description
`to c
`--
`EMPLATE
`- 740C
`370
`
`742
`
`CIENT DEVICE
`A
`30A
`
`CLIENT DEVICE
`B
`739B
`
`CLIENT DEVICE
`C
`3C
`
`SAP Exhibit 1013
`SAP v. Express Mobile, Inc.
`IPR2021-01145
`Page 00001
`
`

`

`US 8,276.115 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`Miloslavsky
`10, 2000
`6,128,646
`A
`11, 2000
`Kawabe et al.
`6,145,781
`A
`12, 2000
`Gaiet al.
`6,167.445
`A
`9, 2001
`Stein et al.
`6,289,212
`B1
`Knapman et al.
`10, 2001
`6,298.455
`B1
`1, 2002
`Banavar et al.
`6,336,119
`B1
`3, 2002
`6,359,635
`Perttunen
`B1
`5, 2002
`Chandrasekaran et al.
`6,397,352
`B1
`9, 2002
`Nakata
`6,452.934
`B1
`Garg et al.
`9, 2002
`6,453,346
`B1
`11, 2002
`Milovanovic et al.
`6,484, 198
`B1
`1, 2003
`Porterfield
`6,513,154
`B1
`Olshansky et al. ........... 709,229
`5/2003
`6,567,854
`B1
`11, 2003
`Todd et al.
`6,643,682
`B1
`Ryman et al.
`11, 2003
`6,647,544
`B1
`Astley et al.
`4, 2004
`6,728,715
`B1
`Abjanic
`5, 2004
`6,732, 175
`B1
`8, 2004
`Gebauer
`6,782,386
`B1
`9, 2004
`Oulu et al.
`6,792.460
`B2
`10, 2004
`Maes et al.
`6,801,604
`B2
`10, 2004
`Hartman et al.
`6,807,636
`B2
`Scarpelli et al.
`11, 2004
`6,816,898
`B1
`Massengale et al.
`2, 2005
`6,854,088
`B2
`5/2005
`Smocha et al.
`6,898,556
`B2
`5/2005
`Koo et al.
`6,901.447
`B2
`9, 2005
`Devine et al.
`6,944,662
`B2
`1, 2006
`Salas et al.
`6,983,479
`B1
`Gungabeesoon
`2, 2006
`7,007,278
`B2
`Agarwalla et al.
`4, 2006
`7,028,089
`B2
`Wesley
`5, 2006
`7,039,701
`B2
`Leighton et al.
`8, 2006
`7,096,263
`B2
`9, 2006
`7,103,054
`Novaes
`B2
`1/2007
`7,171,628
`Perttunen
`B1
`2, 2007
`Burbeck et al.
`7, 177,929
`B2
`Wesley
`7/2007
`7,251,689
`B2
`10, 2007
`Friend et al.
`7,287,097
`B1
`Lucovsky et al.
`11/2007
`7,302,634
`B2
`2, 2008
`Nishimura et al.
`7,334,022
`B2
`4, 2008
`Cohen et al.
`7,359,919
`B2
`5/2008
`Miller et al.
`7,379,971
`B2
`Liong et al.
`6, 2008
`7,386,630
`B2
`T/2008
`Szabo et al.
`7,395,349
`B1
`Napier et al.
`T/2008
`7.406,440
`B2
`T/2008
`Cullen
`7.406,537
`B2
`8, 2008
`Davis et al.
`7,418,501
`B2
`10, 2008
`Fredericket al.
`7,433,835
`B2
`12, 2008
`Dicket al.
`7.464,154
`B2
`12, 2008
`Di Luoffo et al.
`7.467,196
`B2
`2, 2009
`7.487,510
`Carr
`B1
`2, 2009
`Han et al.
`7,496,637
`B2
`3, 2009
`Cohen et al.
`7,512,957
`B2
`4, 2009
`Brouk et al.
`7,516, 191
`B2
`5/2009
`Traversat et al.
`7,533,172
`B2
`5/2009
`Fratkina et al.
`7,539,656
`B2
`6, 2009
`Rosenthal et al.
`7,543,280
`B2
`10, 2009
`Anderson et al.
`7,603,358
`B1
`12, 2009
`Clater ............................. TO6.50
`7,640,225
`B2
`4, 2010
`Sholtis et al.
`7,702,636
`B1
`Illowsky et al.
`6, 2010
`7,747,980
`B2
`T/2010
`Genkin et al.
`7,752,604
`B2
`Kornerup et al.
`T/2010
`7,761,847
`B2
`9, 2010
`7,801.946
`Bearman
`B2
`Hodges et al.
`9, 2010
`7,801,976
`B2
`Kornerup et al.
`9, 2010
`7,802,229
`B2
`2, 2011
`Seaman et al.
`7,881,992
`B1
`2, 2011
`Mernoe et al.
`7,887,511
`B2
`Angelo et al. ................ 707/752
`2, 2011
`7,890,517
`B2
`2, 2011
`Nielsen et al.
`7,895,262
`B2
`5, 2011
`Broda et al.
`7,941,542
`B2
`5, 2011
`Forstall et al. ................ 71.5/779
`7,954.064
`B2
`De Angelo
`8, 2011
`7.992,102
`B1
`Saulpaugh et al.
`8, 2011
`8,001.232
`B1
`11, 2011
`Mamou et al.
`8,060,553
`B2
`T/2001
`2001/OOO7993
`Wu
`A1
`1, 2002
`2002/0010781
`Tuatini
`A1
`2, 2002
`2002fOO26473
`Gourraud
`A1
`8, 2002
`2002/0107992
`Osbourne et al.
`A1
`Arteaga et al.
`10, 2002
`2002fO161826
`A1
`
`2002fO165745 A1 11/2002 Greene et al.
`2003,0005174 A1
`1/2003 Coffman et al.
`2003, OO14733 A1
`1/2003 Ringseth et al.
`2003/0041178 A1
`2/2003 Brouk et al.
`2003/0055920 A1
`3/2003 Kakadia et al.
`2003, OO61404 A1
`3/2003 Atwal et al.
`2003/0074579 A1
`4/2003 Della-Libera et al.
`2003/00935OO A1
`5/2003 Khodabakchian et al.
`2003/010121.0 A1
`5/2003 Goodman et al.
`2003/0106039 A1
`6/2003 ROSnow et al.
`2003/O120665 A1
`6/2003 Fox et al.
`2003. O145281 A1
`7/2003 Thames et al.
`2003/0172368 A1* 9/2003 Alumbaugh et al. ......... 717/106
`2003/0204644 A1 10, 2003 Vincent
`2004/0030947 A1
`2/2004 Aghili et al.
`2004/0054770 A1
`3/2004 Touboul ........................ 709,223
`2004/008814.0 A1
`5, 2004 OKonski et al.
`2004/O133633 A1
`7/2004 Fearnley et al.
`2004/O186817 A1
`9, 2004 Thames et al.
`2004/O193703 A1
`9/2004 Loewy et al.
`2004/0216127 A1 10, 2004 Datta et al.
`2004/0225,724 A1 11, 2004 Pavlik et al.
`2005/0O27853 A1
`2/2005 Martin et al.
`2005/OO38708 A1
`2, 2005 Wu
`2005/0097480 A1
`5, 2005 Care
`2005/0289508 A1 12/2005 Illowsky et al.
`2006/0031481 A1
`2/2006 Patricket al.
`2006,0041461 A1
`2/2006 Vucina et al.
`2006,0041859 A1
`2/2006 Vrancic et al.
`2006, OO69603 A1
`3/2006 Williams et al.
`2006, OO74732 A1
`4/2006 Shukla et al.
`2006/0095915 A1
`5/2006 Clater ........................... T18, 100
`2006/0173985 A1
`8, 2006 Moore
`2006, O195819 A1
`8/2006 Chory et al.
`2006/0206440 A1
`9/2006 Anderson et al.
`2006/0224702 A1 10, 2006 Schmidt et al.
`2006/0224750 A1 10, 2006 Davies et al.
`2006/0225.032 A1* 10, 2006 Klerk et al. ................... 717/105
`2006/0230432 A1 10, 2006 Lee et al.
`2006/0271563 A1* 1 1/2006 Angelo et al. ................ 7O7/1OO
`2006, O294499 A1 12/2006 Shim
`2007/0174393 A1
`7/2007 BOSSchaert et al.
`2007/0192678 A1
`8/2007 Tang et al.
`2007/0268300 A1 1 1/2007 (Janet) et al.
`2008, 0046861 A1
`2/2008 Grieser
`2008/0059220 A1
`3/2008 Roth et al.
`2008/O120574 A1
`5/2008 Heredia et al.
`2008/O120593 A1* 5/2008 Keren et al. ................... 717/105
`2008/O126932 A1
`5/2008 Eladet al.
`717/105
`2008/O127052 A1* 5, 2008 Rostoker ..
`2008/O141237 A1* 6/2008 Eladet al. ..................... 717/171
`2008. O148346 A1
`6/2008 Gill et al.
`2008/0163164 A1* 7/2008 Chowdhary et al. .......... 717/106
`2008/O172270 A1
`7/2008 Eckenroth
`2008/0307369 A1 12/2008 Liu et al.
`2009/0262131 A1 10/2009 Suntinger et al.
`2009,0276,771 A1* 11/2009 Nickolov et al. ............. 717/177
`2009/0319832 Al 12/2009 Zhang et al.
`2009/0326997 A1 12/2009 Becker et al.
`2010.0017853 A1
`1/2010 Readshaw
`2010.0030718 A1
`2/2010 Anderson et al.
`2010/0304992 A1 12/2010 An et al.
`
`
`
`OTHER PUBLICATIONS
`Progress Software, Apama Event Modeler v2.0 Professional
`Edition & Client Edition, Published Apr. 1, 2005. (selected pages),
`United Kingdom of Great Britian.
`PCT International Search Report and Written Opinion, PCT/US08/
`52928, Jul. 25, 2008, 8 pages.
`* cited by examiner
`
`IPR2021-01145 Page 00002
`
`

`

`U.S. Patent
`
`Sep. 25, 2012
`
`Sheet 1 of 10
`
`US 8,276,115 B2
`
`pueoquseO
`
`| || NOLLOV |-
`
`() ()
`
`| NOILOV |-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`LINEAE\_
`
`00||
`
`IPR2021-01145 Page 00003
`
`

`

`U.S. Patent
`
`Sep. 25, 2012
`
`Sheet 2 of 10
`
`US 8,276,115 B2
`
`130
`
`
`
`PROCESSOR
`210
`
`INPUT DEVICE
`220
`
`
`
`
`
`OUTPUT DEVICE
`230
`
`
`
`
`
`
`
`
`
`COMMUNICATION
`MODULE
`
`
`
`STORAGE MODULE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`GENERATION
`MODULE
`270
`
`DEPLOYMENT
`MODULE
`275
`
`x8wsw888.8xxxas-six
`
`IPR2021-01145 Page 00004
`
`

`

`U.S. Patent
`
`Sep. 25, 2012
`
`Sheet 3 of 10
`
`US 8,276,115 B2
`
`310
`
`TEMPLATE 370
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DASHEOARD
`COMPONENT
`STORE
`33
`
`8
`
`COMPONENT
`PROCESS
`ASSOCATION
`MODULE
`340
`
`
`
`
`
`SUPPLEMENTAL
`E DATA MODULE
`350
`
`
`
`
`
`
`
`DISPLAY FORMAT
`MODULE
`36O
`
`PROCESS
`DENTIFICATION
`MODULE
`320
`
`FIG 3
`
`IPR2021-01145 Page 00005
`
`

`

`U.S. Patent
`
`Sep. 25, 2012
`
`Sheet 4 of 10
`
`US 8,276,115 B2
`
`400 y
`
`
`
`DENTIFY EVENT-BASED
`PROCESS
`410
`
`ASSOCATE TEMPLATE
`WITH EVENT-BASED
`PROCESS
`
`GENERATE DASHBOARD
`DEPLOYMENT PACKAGE
`
`TRANSMIT DEPLOYMENT
`PACKAGE
`440
`
`GENERATE DASHBOARD
`450
`
`IPR2021-01145 Page 00006
`
`

`

`U.S. Patent
`
`Sep. 25, 2012
`
`Sheet 5 of 10
`
`US 8,276,115 B2
`
`DASHBOARD
`SERVER
`137
`
`CONFIGURATION
`MODULE
`130
`
`DENTIFY
`PROCESS
`
`ASSOCATE
`TEMPLATE
`520
`
`GENERATE
`DEPLOYMENT
`PACKAGE
`530
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ESTABLISH CONNECTION
`540
`
`
`
`TRANSMI DASHBOARD
`DEPLOYMENT PACKAGE
`550
`-m-la-m-e-
`
`GENERATE
`DASHBOARD
`560
`
`DISPLAY
`DASHBOARD
`570
`
`
`
`F.G. 5
`
`IPR2021-01145 Page 00007
`
`

`

`U.S. Patent
`
`Sep. 25, 2012
`
`Sheet 6 of 10
`
`US 8,276,115 B2
`
`
`
`Apama Dashboard Wizard
`Dashboard Wizard
`
`X.
`
`610
`
`Scenario Summary Page - Properties
`Text and button labels for the Summary page of the Dashboard
`Web Application. The Fields to appear on the Summary page are
`selected on the next Wizard page.
`Page Title
`Page Heading Text
`
`Create Button Label
`Details Button Label
`
`Cancel
`
`Page 2/10
`
`<Back
`
`Next
`
`Finish
`
`FIG. 6A
`
`IPR2021-01145 Page 00008
`
`

`

`U.S. Patent
`
`Sep. 25, 2012
`
`Sheet 7 of 10
`
`US 8,276,115 B2
`
`
`
`O Apama Dashboard Wizard
`
`Dashboard Wizard
`
`?
`
`620
`
`X
`
`630
`
`Scenario Summary Page - Field Selection
`
`Please select the Scenario variables to be displayed on each row of the
`Summary page of the Dashboard Web Application.
`LOWer Band
`instrument 1
`Current Spread
`Instrument 2
`Upper Band
`Std Dev Multiplier
`Total Quality in Market
`Current Position 1
`Order Status 1
`Current Position 2
`Order Status 2
`Trades Executed
`Quantity 1
`Profit/LOSS
`Quantity 2
`Status Message
`Order TimeOut Secs
`Max Quantity1
`Field Display Name
`Visible Lines
`Receive RealTime Updates?
`Field Width
`
`Pixels
`
`v
`
`640
`
`650
`J
`
`660
`
`EditGhoice Display Names.
`
`Page 3/10
`
`<Back Next
`
`Finish->
`
`F.G. 6B
`
`IPR2021-01145 Page 00009
`
`

`

`U.S. Patent
`
`Sep. 25, 2012
`
`Sheet 8 of 10
`
`US 8,276,115 B2
`
`
`
`
`
`952mmEmoncwmo
`
`
`
`<0:whdfiiiwh<m:
`
`owm<0»:
`
`
`
`cesacommoEmoncmmoEE
`
`
`
`wwwOOmmDmm<m-._.zm>m
`
`00:
`
`mo;
`
`
`
`
`
`8286meEmonsmmoccooow
`
`m._.<4n=>_w._.mn:
`
`Ohmmovh
`
`wdemEmH
`
`own
`
`OovnOn:
`
`
`
`8:95me9.8280PE:
`
`
`
` Dawn0mo_>woHzmfio
`
`
`
` moanmmagmaHZMZO
`
`
`
`th
`
`NE
`
`IPR2021-01145 Page 00010
`
`IPR2021-01145 Page 00010
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Sep. 25, 2012
`
`Sheet 9 of 10
`
`US 8,276,115 B2
`
`860 Y
`Statistical Arbitrage Details Page-Microsoft Internet Explorerprovided by Apama
`File Edit View Favorites Tools Help
`Links
`Apama
`
`
`
`-Ox
`
`Instance Details
`
`User:
`apama admin
`System
`Scenario UP Logout
`(Directory
`
`MSFT
`ORCL
`
`10000
`10000
`
`instance parameters
`Instrument 1
`Instrument2
`Quantity1
`Quantity2
`Multiplier
`Max Quantity1
`Max Quantity2
`Instance updates
`-360
`Current Position 1
`510
`Current Position2
`Submitting Orders
`StatusMessage
`36
`Trades Executed
`Order Manager Details
`OM1 Status Message Partial fill of 115G)27.17
`OM2 Status Message Partial fill of 93G10.17
`
`Applet Dashboard PushletApplet started
`
`Local intranet
`
`FIG. 8A
`
`IPR2021-01145 Page 00011
`
`

`

`U.S. Patent
`U.S. Patent
`
`Sep. 25, 2012
`eS
`1
`2D...
`
`Sheet 10 of 10
`01f001t
`hS
`
`US 8,276,115 B2
`1,672,
`
`5
`
`2
`
`SU
`
`w<23mmomo
`
`0FW~OJC_2ill.5,m33<>mmszzSE30”
`
`
`
`2N230
`
`
`
`
`
`
`
`
`
`u33<>_ImszzSaz.“
`
`@090M8m:mEm‘m
`
`
`
`5E0
`
`
`
`
`.rl.........xIL
`
`500:23_.:.i:z«3c_9.5:~5%:
`
`
`€950
`
`
`
`om<m:3me
`
`00>E<S=23m
`
`
`
`B.
`1mw0_n_
`
`IPR2021-01145 Page 00012
`
`IPR2021-01145 Page 00012
`
`
`

`

`US 8,276,115 B2
`
`1.
`AUTOMATED CONSTRUCTION AND
`DEPLOYMENT OF COMPLEX EVENT
`PROCESSINGAPPLICATIONS AND
`BUSINESS ACTIVITY MONITORING
`DASHBOARDS
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application claims priority under 35 U.S.C. S 119(e)
`from U.S. Provisional Patent Application No. 60/888,500,
`titled “A Set Of Techniques And A Process To Create And
`Deploy. Over The Internet, Complex Event Processing (CEP)
`Applications That Support Rich Interactive Dashboards To
`Enable Business Activity Monitoring (BAM), filed Feb. 6,
`2007, and U.S. Provisional Patent Application No. 60/896,
`266, entitled “A Process For The Graphical Modelling, Con
`struction And Deployment Of Complex Event Processing
`Business Activity Monitoring Processes.” filed Mar. 21,
`2007, which are incorporated by reference herein in their
`entirety.
`
`10
`
`15
`
`BACKGROUND
`
`2
`in monitoring of business activities. For example, event
`based computing using BAM techniques allow hedge funds
`to monitor trades, logistics operators to monitor locations and
`delays in a shipment, and Surveillance personnel to detect
`fraudulent behavior at different devices.
`However, there are no standard development tools and
`techniques for creating and deploying event-based BAM
`applications. Conventional development methods require use
`of a bespoke-based method, resulting in a long development
`cycle and a difficult to maintain system. As conventional
`development techniques rely on user entry of text data in a
`structured format, these techniques also cannot uniformly
`abstract multiple application or scenario types, distinguish
`between different input parameters and Support streaming
`output parameters. Existing event-based BAM application
`construction techniques require initial development of the
`underlying event-based process or scenario, using a text
`based event programming language having multiple syntax
`rules.
`
`SUMMARY
`
`A system for constructing and deploying a complex event
`processing application and a business activity monitoring
`(BAM) dashboard comprises a configuration module and a
`dashboard server adapted for communication with an event
`engine. The configuration module includes a generation mod
`ule, a deployment module and a template storage module. The
`configuration module receives an event-based process iden
`tifier that describes or identifies an event-based process and
`data related to the event-based process, such as an input to the
`event-based process and/or an output generated by the event
`based process. In an embodiment, the event-based process
`identifier also describes or identifies additional information,
`Such as data used internally by the event-based process or
`associated with the event-based process. The generation
`module automatically associates a template stored in the tem
`plate storage module with the event-based process. The tem
`plate includes one or more dashboard components for dis
`playing data associated with the event-based process. During
`execution of the event-based process, the dashboard compo
`nents from the template are used to display data associated
`with the event-based process in a manner specified by in the
`template. This allows the template to automatically generate
`a BAM dashboard for monitoring data associated with event
`based process without requiring user configuration of the
`BAM dashboard appearance or configuration of relationships
`between dashboard components and data associated with the
`event-based process.
`The template storage module stores templates having a
`dashboard component. The template storage module is
`adapted to communicate with an editing module that receives
`data identifying or describing an event-based process. The
`generation module associates the event-based process with a
`template. For example, the generation module associates an
`input to the event-based process with a first dashboard com
`ponent and associates an output from the event-based process
`with a second dashboard component characteristic for the
`template. This allows data from the event-based process to be
`displayed in a format or configuration specified by the tem
`plate. By automatically associating event-based process input
`data and/or output data with display characteristics, the gen
`eration module allows automatic generation of a BAM dash
`board for monitoring data associated with the event-based
`process. This simplifies BAM dashboard generation by
`removing the need for manual identification of what data
`
`1. Field of Art
`The present invention generally relates to the field of event
`based computer systems, and more specifically, to construct
`ing and deploying complex event processing (CEP) applica
`tions and business activity monitoring (BAM) dashboards.
`2. Description of the Related Art
`Recently, the availability and amount of real-time informa
`tion has significantly increased. This allows businesses to
`monitor events in real time and to automatically respond, with
`minimal latency, when certain events or conditions. Such as
`threats or business opportunities, arise. However, conven
`tional computer systems, such as database systems, are not
`designed for Such real-time event monitoring, analysis and
`response. Although conventional sequential programming
`languages, such as C++ or JavaMallow construction of cus
`tomized systems for event detection and response, construct
`ing Such an event-based system is time-intensive and the
`inherent sequential nature of such programming languages is
`not suitable for various types of real-time event monitoring,
`analysis and response.
`Event-based computing systems allow real-time monitor
`ing, analysis and response to various types of events. In event
`based systems, incoming events are monitored for pre-de
`fined patterns and defined actions are taken when a pattern is
`detected. Hence, these event-based systems Support applica
`tions requiring proactive responses to patterns in changing
`data, Such as real-time algorithmic trading, risk, compliance,
`telecommunications, digital battlefield applications, terrorist
`tracking, Supply chain monitoring and logistics.
`Additionally, business activity monitoring (BAM) tech
`niques allow visualization of event patterns detected by an
`event-based computing system, providing real-time insights
`into an event flow. Business activity monitoring is any auto
`matic monitoring of business-related events. Examples of
`BAM include: business activity management; the combina
`tion of business process management and historical analytics;
`automatically monitoring events associated with specific
`activities in an executing business process; monitoring busi
`ness processes and generating alerts about pending and actual
`problems; managing aggregations, alerts and profiles to
`monitor relevant business metrics; real-time access to critical
`business performance indicators to improve the speed and
`effectiveness of business operations; or any software that aids
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`IPR2021-01145 Page 00013
`
`

`

`US 8,276,115 B2
`
`3
`associated with the event-based process to display and how to
`display the data associated with the event-based process.
`A method for constructing and deploying a complex event
`processing application and a BAM dashboard comprises
`receiving an identifier for an event-based process; selecting a
`dashboard template including one or more dashboard com
`ponents; relating data associated with the event-based process
`and a dashboard component; creating a deployment package,
`and deploying the deployment package on a server, and then
`using the selected dashboard template and the relationship
`between data associated with the event-based process and the
`one or more dashboard components to visually display data
`associated with the event-based process.
`The features and advantages described in the specification
`are not all inclusive and, in particular, many additional fea
`tures and advantages will be apparent to one of ordinary skill
`in the art in view of the drawings, specification and claims.
`Moreover, it should be noted that the language used in the
`specification has been principally selected for readability and
`instructional purposes, and may not have been selected to
`delineate or circumscribe the inventive subject matter.
`
`10
`
`15
`
`4
`invention is described in the context of business application
`monitoring (BAM) dashboards, those skilled in the art will
`recognize that the present invention may also be used for
`configuring other types of dashboards.
`Reference in the specification to “one embodiment” or “an
`embodiment’ means that a particular feature, structure or
`characteristic described in connection with the embodiment
`is included in at least one embodiment of the invention. The
`appearances of the phrase “in one embodiment in various
`places in the specification are not necessarily all referring to
`the same embodiment.
`Some embodiments may be described using the expression
`“coupled and “connected along with their derivatives. It
`should be understood that these terms are not intended as
`synonyms for each other. For example, Some embodiments
`may be described using the term “connected to indicate that
`two or more elements are in direct physical or electrical
`contact with each other. In another example, some embodi
`ments may be described using the term “coupled to indicate
`that two or more elements are in direct physical or electrical
`contact. The term “coupled, however, may also mean that
`two or more elements are not in direct contact with each other,
`but yet still co-operate or interact with each other. The
`embodiments are not limited in this context.
`As used herein, the terms “comprises.” “comprising.”
`“includes.” “including.” “has.” “having or any other varia
`tion thereof, are intended to cover a non-exclusive inclusion.
`For example, a process, method, article, or apparatus that
`comprises a list of elements is not necessarily limited to only
`those elements but may include other elements not expressly
`listed or inherent to Such process, method, article or appara
`tus. Further, unless expressly stated to the contrary, "or”
`refers to an inclusive or and not to an exclusive or. For
`example, a condition A or B is satisfied by any one of the
`following: A is true (or present) and B is false (or not present),
`A is false (or not present) and B is true (or present), and both
`A and B are true (or present).
`In addition, use of the “a” or “an are employed to describe
`elements and components of the invention. This is done
`merely for convenience and to give a general sense of the
`invention. This description should be read to include one or at
`least one and the singular also includes the plural unless it is
`obvious that it is meant otherwise.
`The algorithms and displays presented hereinare not inher
`ently related to any particular computer or other apparatus.
`Various general-purpose systems may be used with programs
`in accordance with the teachings herein, or it may prove
`convenient to construct a more specialized apparatus to per
`form the required method steps. The required structure for a
`variety of these systems will be apparent from the description
`below. In addition, the present invention is not described with
`reference to any particular programming language. It will be
`appreciated that a variety of programming languages may be
`used to implement the teachings of the invention as described
`herein.
`System Architecture
`FIG. 1 is a block diagram of a distributed computing sys
`tem 100 for event processing according to an embodiment of
`the present invention. The distributed computing system 100
`comprises an event engine 120, a configuration module 130,
`an event integration layer 140, an event store 127, a relational
`database management system (RDBMS) 150 and an event
`monitoring module 160 coupled by a network (shown as
`various connecting lines between these components). The
`distributed computing system 100 also comprises a dash
`board server 137 coupled to a plurality of client devices
`having a browser 110 for presenting a deployed dashboard
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`25
`
`30
`
`35
`
`The disclosed embodiments have other advantages and
`features which will be more readily apparent from the follow
`ing detailed description and the appended claims, when taken
`in conjunction with the accompanying drawings, in which:
`FIG. 1 is a block diagram of a distributed computing sys
`tem for event processing according to one embodiment of the
`invention.
`FIG. 2 is a block diagram of a configuration module for
`generating an event-driven BAM dashboard according to one
`embodiment of the invention.
`FIG. 3 is a block diagram of a deployment packet for a
`BAM dashboard according to one embodiment of the inven
`tion.
`FIG. 4 is a flow chart of a method for generating and
`deploying a BAM dashboard according to one embodiment of
`the invention.
`40
`FIG. 5 is a trace diagram of the method for generating and
`deploying a BAM dashboard in a distributed computer sys
`tem according to one embodiment of the invention.
`FIGS. 6A and 6B are graphic representations of example
`user interfaces for automatically generating a BAM dash
`board according to one embodiment of the invention.
`FIG. 7 is a block diagram of the dashboard server generat
`ing a plurality of BAM dashboards for a plurality of clients
`according to one embodiment of the invention.
`FIG. 8A is a graphical representation of an example dash
`board generated for real time event visualization.
`FIG. 8B is a graphical representation of an example user
`interface for a BAM dashboard according to one embodiment
`of the invention.
`
`45
`
`50
`
`DETAILED DESCRIPTION
`
`A system and method for configuring dashboards associ
`ated with an event-based process, such as generating or modi
`fying a dashboard responsive to a received description of the
`event-based process, are described. For purposes of explana
`tion, numerous specific details are set forthin order to provide
`a thorough understanding of the invention. It will be apparent,
`however, to one skilled in the art that the invention can be
`practiced without these specific details. In other instances,
`structures and devices are shown in block diagram form in
`order to avoid obscuring the invention. While the present
`
`55
`
`60
`
`65
`
`IPR2021-01145 Page 00014
`
`

`

`5
`145. The event engine 120, the configuration module 130 and
`the dashboard server 137 are adapted for generating, modi
`fying and deploying a business application monitoring
`(BAM) dashboard. A BAM dashboard receives data associ
`ated with an application of an event-based process from the
`event engine 120 and then displays the received data using
`one or more dashboard components, allowing visualization of
`the event-based process. An example BAM dashboard is fur
`ther described below in conjunction with FIGS. 8A and 8B.
`The event engine 120 receives input events 105 from one or
`more sources, such as computing devices (not shown) which
`include computing capabilities and data communication
`capabilities, and generates output actions 115 using an event
`based process. Multiple computing devices are used to allow
`the distributed computing system 100 to process multiple
`input events 105 to generate multiple output actions 115. For
`example, different computing devices transmit different input
`events 105 and receive different output actions 115. The input
`events 105 received by the event engine 120 describe occur
`rences, such as an inventory level, a shipping delay or similar
`occurrence, or responses to detecting an event, such as invok
`ing a service, notifying a user, initiating a process or other
`similar action.
`In one embodiment, input events 105 are transmitted to the
`event engine 120 using a data packet including an event
`header and an event body. The event header comprises an
`event identifier, an event type, an event name, a time stamp
`and an event occurrence number. The event body comprises
`data describing the occurrence, for example a description of a
`product having sales below a threshold.
`The event engine 120 can be implemented in many ways.
`For example, it is a software process executable by a proces
`Sor (not shown) and/or a firmware application. The process
`and/or firmware can be configured to operate on a general
`purpose microprocessor or controller, a field programmable
`gate array (FPGA), an application specific integrated circuit
`(ASIC) or a combination thereof. Alternatively, the event
`engine 120 comprises a processor configured to process data
`describing events and may comprise various computing
`architectures including a complex instruction set computer
`(CISC) architecture, a reduced instruction set computer
`(RISC) architecture or an architecture implementing a com
`bination of instruction sets. The event engine 120 can com
`prise a single processor or multiple processors. Alternatively,
`the event engine 120 comprises multiple software or firmware
`processes running on a general purpose computer hardware
`device. For purposes of illustration, FIG. 1 shows the distrib
`uted computing system 100 as having a single event engine;
`however, in various embodiments, the distributed computing
`system 100 includes a plurality of event engines.
`The event engine 120 includes the rule store 125 having
`one or more event processing rules describing the event-based
`process. The rules are applied to the received input event 105
`to generate an output action 115. In one embodiment, the rule
`store 125 also includes one or more states corresponding to
`the application of event-processing rules to input events 105.
`Additionally, the event engine 120 receives input from the
`configuration module 130 and modifies the contents of the
`rule store 125, such as the event processing rules or states of
`the event-based process, accordingly. For example, respon
`sive to input from the configuration module 130, the event
`engine 120 adds additional states to the event-based process,
`modifies existing states of the event-based process, modifies
`event processing rules, adds additional event processing rules
`or performs similar actions.
`The event engine 120 also comprises a dashboard store 126
`including data used by one or more BAM dashboards. Data in
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 8,276,115 B2
`
`10
`
`15
`
`6
`the dashboard store 126 describes what information from an
`event-based process is output for presentation in the BAM
`dashboard and how data is communicated out of the event
`engine 120. For example, the dashboard store 126 identifies
`data from an event-based process for display to a user,

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket