`
`1111111111111111111111111111111111111111111111111111111111111
`US007062749B2
`
`c12) United States Patent
`Cyr et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,062,749 B2
`Jun.13,2006
`
`(54) MEASURING, MONITORING AND
`TRACKING ENTERPRISE
`COMMUNICATIONS AND PROCESSES
`
`(75)
`
`Inventors: Vincent R. Cyr, Glen Mills, PA (US);
`Kenneth Fritz, Glen Mills, PA (US)
`
`(73) Assignee: Promenix, Inc., Chadds Ford, PA (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1109 days.
`
`(21) Appl. No.: 09/737,494
`
`(22) Filed:
`
`Dec. 15, 2000
`
`(65)
`
`Prior Publication Data
`
`US 2003/0225923 Al
`
`Dec. 4, 2003
`
`(51)
`
`Int. Cl.
`G06F 9144
`(2006.01)
`(52) U.S. Cl. ........................... 717/103; 705/9; 709/231
`(58) Field of Classification Search ................ 717/103;
`705/9; 709/231; 719/314,315,316
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,404,501 A *
`5,887,167 A *
`5,949,998 A *
`5,960,200 A *
`6,018,627 A *
`6,092,102 A
`6,208,345 B1 *
`6,397,191 B1 *
`6,453,356 B1 *
`6,460,175 B1 *
`6,501,950 B1 *
`6,510,429 B1 *
`
`4/1995 Carr eta!. .................. 719/314
`3/1999 Sutton ........................ 719/314
`9/1999 Fowlow eta!. ............. 717/105
`9/1999 Eager eta!. ................ 717/147
`112000 Iyengar eta!. .............. 717/103
`7/2000 Wagner
`3/2001 Sheard et al ................ 345/853
`5/2002 Notani et a!. .................. 705/9
`9/2002 Sheard et al ................ 709/231
`10/2002 Ferri eta!. .................. 717/103
`12/2002 Smith et a!. ................ 455/423
`112003 Todd ........................ 705/36 R
`
`6,529,932 B1 *
`6,543,047 B1 *
`6,553,438 B1 *
`6,601,233 B1 *
`6,662,355 B1 *
`6,681,245 B1 *
`6,725,445 B1
`6,728,947 B1 *
`6,757,710 B1 *
`6,789,252 B1 *
`6,901,430 B1 *
`6,943,681 B1 *
`
`3/2003 Dadiomov et al .......... 718/101
`4/2003 Vrhel et a!. ................. 717/121
`4/2003 Coffman eta!. .............. 710/52
`7/2003 Underwood ................ 717/102
`12/2003 Caswell eta!. ............. 717/103
`112004 Sasagawa ................... 709/206
`4/2004 Leymann et al.
`4/2004 Bengston .................... 717/103
`6/2004 Reed .......................... 709/203
`9/2004 Burke eta!. ................ 717/100
`5/2005 Smith ......................... 709/206
`9/2005 Rezvani et a!. ............. 340/506
`
`OTHER PUBLICATIONS
`
`"From EDI to Electronic Commerce A Business Initiative",
`Phyllis K. Sokol, published Nov. 23, 1994. *
`Workflow Template Developing A WFT Workflow System,
`Template Software, Whole book, copyright 1998.*
`Workflow Template Using the WFT Development Environ(cid:173)
`ment, Template Software, Whole book, copyright 1998.*
`Workflow Template Training Course, version 8.0, Section A,
`1997, pp. 1-19.*
`Web Component Using the Web Component, Template
`Software version 8.0, Chapters 1-3, 1997.*
`
`(Continued)
`
`Primary Examiner-Todd Ingberg
`
`(57)
`
`ABSTRACT
`
`The present invention comprises apparatus and systems for
`measuring, monitoring, tracking and simulating enterprise
`communications and processes. A central message reposi(cid:173)
`tory or database is constructed, comprised of monitoring
`messages sent from process messaging systems. The data(cid:173)
`base may then be accessed or queried as desired. A simu(cid:173)
`lation tool assists in reviewing present and proposed pro(cid:173)
`cesses and sub-processes before modifying existent systems
`or creating new systems.
`
`58 Claims, 8 Drawing Sheets
`
`HmMsagaoa
`!>O!hA.
`lh&nCreare
`MoiiiOJing
`M"""'!J"A
`
`HP_1001_0001
`
`
`
`US 7,062,749 B2
`Page 2
`
`OTHER PUBLICATIONS
`
`The XML Handbook, Charles F. Goldfarb eta!, 1998, pp.
`101-118. *
`SNAP Using the SNAP Connnunication Component, Chap(cid:173)
`ters 1-3, 1998. *
`"Implementing SAP R/3 How to introduce a Large System
`into a Large Organization", pp. 1-73, Nancy H. Bancroft et
`a!, 1997.*
`"SAP An Executive Comprehensive Guide", Grant Norris et
`a!, pp. 1-13, 1998.*
`Windows NT Server Operating System, Microsoft Message
`Queuing Services, Microsoft, 1997, pp. 1-38.*
`
`Messaging & Queuing Using the MQI, Burnie Blakey eta!,
`Jun. 26, 1995, Whole Book.*
`Building Distributed Applications with Message Queing
`Middleware, Peter Houston, Microsoft Corporation, Mar.
`1998, 7 pages.*
`Special Issue on TP Monitors and Distributed Transaction
`Management, Ron Obermarck et a!, Data Engineering, Mar.
`1994, vol. 17, No. 1, IEEE Computer Society, 32 pages.*
`"Remote Queues:Exposing Message Queues for Optimiza(cid:173)
`tion and Atomicity", Eric A. Brewer et a!, ACM, 1995, pp.
`42-53. *
`
`* cited by examiner
`
`HP_1001_0002
`
`
`
`U.S. Patent
`
`Jun. 13,2006
`
`Sheet 1 of 8
`
`US 7,062,749 B2
`
`....
`
`II
`1 J
`•J
`T I
`'jJ
`T r
`Ill-u 11_
`.:;
`~ "l_
`T
`J J~ +-u-
`
`~
`
`·~ I C
`
`J
`
`I
`f
`
`~
`
`u
`
`ID-
`
`CD-
`
`1
`
`c
`
`l_
`
`I
`
`JUI
`1
`JJj
`I,
`~~~
`
`HP_1001_0003
`
`
`
`U.S. Patent
`
`Jun. 13,2006
`
`Sheet 2 of 8
`
`US 7,062,749 B2
`
`....
`
`Ill
`
`0
`
`v
`
`IJ
`
`.....------c
`
`Pl
`.~
`LC
`
`<!I
`
`J.
`
`Cl
`
`""
`
`I
`
`itUi
`I
`f I !i~
`
`:t::;
`
`1
`
`1
`
`)
`
`~-
`
`,.
`
`' - - · -r
`
`•
`
`•
`
`"
`
`<
`
`HP_1001_0004
`
`
`
`U.S. Patent
`
`Jun.13,2006
`
`Sheet 3 of 8
`
`US 7,062,749 B2
`
`Summary Of Orders
`
`c...... .....
`INWIC!
`MNIJFACT\JRE
`ORDER
`
`Figure3
`
`HP_1001_0005
`
`
`
`U.S. Patent
`
`Jun.l3,2006
`
`Sheet 4 of 8
`
`US 7,062,749 B2
`
`... ,.. ........ ,llillllllll ......... -
`
`.......
`~·
`
`....... -...... ~._..._. .....
`.... .,._
`..... _
`...... __
`..
`~- ,.. =- =- ....
`.. _ -......... ~ .....
`__ ,.._
`a ...
`,_ .. __ ...
`
`D
`
`I
`
`. .
`
`o=nu
`
`,_
`
`-
`
`_.,
`?.a
`.......
`
`ca-.
`
`~
`
`. . . , . -
`
`UQ,
`
`-
`
`JdGQ- lilill
`IMd
`
`_ . , .
`
`Figure 4
`
`HP_1001_0006
`
`
`
`U.S. Patent
`
`Jun.13,2006
`
`Sheet 5 of 8
`
`US 7,062,749 B2
`
`l!JtlltJ.I",... ~ l'enr,..•
`
`'••m••,;,lol
`
`l'r.-•m~ne;, lr~r ,'111.11
`
`l!!!!l~ll::J
`
`lr>qulrv
`CLApj CufiiU!! N.-.a
`NOI.mtV _eur
`sr....,
`
`·-
`
`$.•·~
`
`SIOO
`
`Aareemsnt
`
`Sollsdule
`
`lotronufaatura
`
`lnvoiC>O
`
`lrp..ilQ~.a.~at'llema
`QUOTI_OlJT
`
`I~CUSJII,..sre
`O~DIII_OUT
`
`Quote
`ShiD
`Ordsr
`r,Fd CUSJD N11m11
`l.,...ll:h.,I!!Ua N.arra
`l'"fiL.d QuaJa N'arrm
`ln~Qui!!IUI!IN!Irfla
`lrpj:C~o~IIUI~
`AOIIti!WINT _an
`NAH.JJJ.cruti_OLn Cl41~ _c:tn
`I:O<!!Illi.I_OUT
`INC>.MV_IX!f
`o ... ...,Q .... Nomo OU1ll"Q"""" Nomo OUlllUQuouoN.no O"III"Quo<.eN..,. OIJlllUQuouoNai!W OIJI)IAQ"""oNai!W ~Q-.Nomo
`loOAN..FACT\R..OUl SHP_OUl
`A.GR£ENENT_ClJT
`ORDER_ OUT
`• SCIEXI.E_OUT
`a ••• c.~oy
`l
`
`STOPPED • QIJOTE_ClJT
`li
`~ 1
`CW!e,..Vftial:iOtl
`I C...or.tV•ioliorl
`-·
`0
`lno/Doc. v.,;,_..,
`ln;ICic~ Vo!iotign
`.... ,_ I !
`I ncr,_
`I I lracre!c•
`I I lncrNsa
`I ncr ... I !
`I i lrere~
`I J
`I 5
`I s
`I s
`s
`s
`-ri Ot;tMM -rl Dto ... -rt 0•~·-- Ta Dtcrt ... -Yl. Otereatl
`Ta Ct~MI:I -r'l o ... -
`s ...... • Slotut • St!IIUI • Stai.il • Sl.atut • Statu a • Statu a •
`··-
`··-
`··-
`......
`......
`
`B~D:~~:Dd.a!l
`
`'
`
`0
`lno/Doc. Vooiolion
`
`&
`
`B=cCdoy
`1
`C1.1101'1V10iotioo'l
`0
`lno/Doc..\loo*ion
`
`I i .........
`
`I
`
`9
`
`B-ox Delay
`1
`
`Su=ll;looj
`
`Elaac: Cclaay
`ol8
`
`a~~= Ocl.;y
`!18
`
`C.te~VetiCOft
`
`Cl..tt61"11Veri!ll~
`0
`ln~oo. Vo1ioli;;- I~Oc~ VarialiM
`
`CwNI'IIVWtier'l
`
`OJ!MI'\IVerioetic~
`0
`lnc:IOc;, VcrbOGn
`
`tflaliiiCIIIiillll Cr:ui
`0
`
`"'-'o;oC...-.1
`0
`
`hta:aap::si:~:U~t
`0
`
`MCIII~CII:CIW'Il
`Q
`
`~GIIo2g11Cmri
`Q
`
`MC1119t::alri
`Q
`
`MCIII":giiCcwi
`0
`
`PAI.OZD
`
`P.......eD
`
`I
`
`p,t,U:SE!)
`
`Fl'•~a
`
`I
`
`PAUSE!)
`
`I
`
`P,o~JS!'D
`
`Fl'.aY811
`
`I
`
`PAUSal
`
`I
`
`PAUSal
`
`I
`
`I
`
`Figure 5
`
`HP_1001_0007
`
`
`
`U.S. Patent
`
`Jun.13,2006
`
`Sheet 6 of 8
`
`US 7,062,749 B2
`
`Process
`
`I ::~;
`Process Name I Order_to_cash
`I ~:~:
`Sub-process I Agreement
`I "'•" 1
`I SAP
`._ __ RI_3 __ __._ LYAll
`
`Application
`
`Figure 6
`
`Queues
`
`Queue Mgr.
`
`QUEMGR1
`
`Input Queue
`
`Output Queue
`
`INPTQ
`
`OUPTQ
`
`Figure 7
`
`1 v ... :~ll
`&..•.AI
`1 w ... :'lJI
`tli..Y.QJ
`
`I ... ~~
`
`t,.Y..Qj
`
`HP_1001_0008
`
`
`
`U.S. Patent
`
`Jun.13,2006
`
`Sheet 7 of 8
`
`US 7,062,749 B2
`
`Applications
`
`Source
`
`Target1
`
`Target2
`
`Target3
`
`Target4
`
`Seibel
`
`SAP R/3
`
`Marketplace
`
`~""""'I
`...... -411
`r:r .... ,l
`..... ~I
`
`ITA'IIII
`lb. ... AI
`
`,. .... ,,
`h•.dll
`~"""''
`h•.dll
`
`0 Extemal
`0 Extemal
`0 Extemal
`0 Extemal
`0 Extemal
`
`Figure 8
`
`Date
`Time
`Cust. Number
`Cust. Name
`Item Num.
`Item Name
`Price
`Qty
`Quotation Num
`OrderNum
`Order Date
`
`Figure 9
`
`HP_1001_0009
`
`
`
`U.S. Patent
`
`Jun.13,2006
`
`Sheet 8 of 8
`
`US 7,062,749 B2
`
`Process
`
`I ~:~:
`Process Name I Order_to_cash
`Sub-process I Agreement
`f =:~:
`l_s_A_P_RI_3 ___ ~) ~:~:
`....
`
`Application
`
`Figure 10
`
`HP_1001_0010
`
`
`
`US 7,062,749 B2
`
`1
`MEASURING, MONITORING AND
`TRACKING ENTERPRISE
`COMMUNICATIONS AND PROCESSES
`
`The present invention relates to apparatus and systems for
`measuring, monitoring, tracking and simulating enterprise
`communications and processes. More particularly,
`the
`present invention relates to computer-based apparatus and
`systems for measuring, monitoring, tracking and simulating
`enterprise communications and processes in an asynchro(cid:173)
`nous messaging environment.
`
`BACKGROUND OF THE INVENTION
`
`The activities of a business or enterprise can be grouped
`into processes. Processes are business operations that are
`separated as desired and usually occur across business units.
`For example, the process of taking orders and turning those
`orders into revenue may be known as Order to Cash. The
`processes are comprised of sub-processes. For example,
`Order to Cash may be broken down into sub-processes such
`as Receive Order Inquiry, Provide Customer Quotation,
`Create Customer Outline Agreement, Create Sales Order,
`Schedule Production, Manufacture Product, Ship Product
`and Invoice Customer. Each sub-process may in turn be
`broken down into discrete activities such as providing
`customer number, entering that customer number, establish(cid:173)
`ing pricing, determining a shipping date, etc.
`The processes, sub-processes and activities operate, in
`part, by communicating information. For example, users
`may communicate through email. As another example,
`applications may communicate amongst themselves through
`electronic data interchange ("EDI") and other similar ser(cid:173)
`vices. Communication occurs horizontally, that is, among a
`process, sub-process and activities, as well as vertically, that
`is, between processes, sub-processes and activities.
`Whether communications occur horizontally or vertically,
`among applications or users, communications are increas(cid:173)
`ingly asynchronous or message based. That is, enterprise
`communications were formerly primarily synchronous, or
`connection oriented, in which a connection is established
`with prior coordination between communication end points
`with data then being transmitted over the connection. Enter(cid:173)
`prise communications are now increasingly asynchronous,
`or connectionless, transmitting data without prior coordina(cid:173)
`tion between communication end points, such as through
`"event based" communications which use messages to move
`data instead of large files.
`Asynchronous or message based communications permit
`loosely coupled connections among and between systems 50
`because the end points do not have to be prepared to receive
`the data when the message is transmitted. Loosely coupled
`connections permit more flexibility in assembling processes.
`Flexibility in assembling processes is desirable in order to
`permit quick reaction to changing business conditions: if a 55
`particular sub-process or activity becomes unusable, the
`process can be reassembled with a new sub-process or
`activity. For example, if a Manufacture Product sub-process
`in the Order to Cash process at Widget Co. enterprise has a
`specific factory identified to manufacture the product and 60
`that factory has a fire or other disaster, making it unusable,
`Widget Co. will need to substitute a new factory. The ripple
`effect of that substitution among all of Widget Co.'s pro(cid:173)
`cesses will change any number of parameters. A loosely
`coupled asynchronous connection among Widget Co.'s pro- 65
`cesses provides rapid substitution of the new factory for the
`old because the end points of communication to the new
`
`2
`factory do not have to be predetermined before communi(cid:173)
`cations begin with the new factory. Thus, the flexibility of
`the asynchronous message based communication has per(cid:173)
`mitted quick response to changing business conditions.
`Despite this flexibility, asynchronous or message based
`communications are problematic because of their loosely
`coupled nature. At any given time, precise information on
`the progress of the processes is difficult to obtain-messages
`may be in transit and not instantly locatable. For example, if
`10 a customer calls for the status of an order, an enterprise
`customer service representative may be able to determine
`nothing more than the fact that the order has been received
`and that the scheduled ship date is X. There is often no
`ability to drill down into the information levels and review
`15 the status in more granularity, such as the location of the
`good, the manufacturing status, etc., because the information
`required to review that status is in transit and unable to be
`reviewed.
`Of course, if the enterprise lacks the ability to access
`20 status information, business partners of the enterprise will
`similarly lack that ability. Thus, asynchronous communica(cid:173)
`tions may well increase inefficiency among business part(cid:173)
`ners as well.
`The difficulty in reporting caused by message based
`25 architecture also makes it difficult for the enterprise to
`measure the efficiency of its processes and their sub-process.
`Asynchronous messaging, with its indeterminate transmis(cid:173)
`sion of information, means a company may not be able to
`easily measure the interval between each sub-process, e.g.
`30 the time between Scheduling Production and the Manufac(cid:173)
`turing of a Product, and so easily measure the efficiency of
`their operations.
`Finally, asynchronous messaging may provide an enter(cid:173)
`prise with an ability to model and simulate processes. That
`35 is, since information flows can be readily estimated through
`enterprises with asynchronous messaging, and processes can
`be easily modeled from those flows, asynchronous messag(cid:173)
`ing modeling provides the potential to model and simulate
`processes. That potential is not realized with present tech-
`40 nology, however. Moreover, since as described above, enter(cid:173)
`prises lack information on the processes they have imple(cid:173)
`mented, the enterprises are handicapped in their ability to
`modifY those processes or plan new processes. A modeling
`and simulation tool, demonstrating processes, sub-processes
`45 and their activity or granular detail level would be extremely
`helpful, and would give the enterprise an opportunity to
`assemble, test, adjust, and simulate processes and their
`details.
`Accordingly, it is an object of the present invention to
`provide a tool for simulating message based architectures.
`It is a further object of the present invention to provide
`monitoring capabilities for enterprise processes.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 shows a view of a process.
`FIG. 2 shows a view of a process of a preferred embodi-
`ment.
`FIG. 3 shows a screen of a preferred embodiment.
`FIG. 4 shows a screen of a preferred embodiment.
`FIG. 5 shows a screen of a preferred embodiment.
`FIG. 6 shows a partial view of a preferred embodiment.
`FIG. 7 shows a partial view of a preferred embodiment.
`FIG. 8 shows a partial view of a preferred embodiment.
`FIG. 9 shows a partial view of a preferred embodiment.
`FIG. 10 shows a partial view of a preferred embodiment.
`
`HP_1001_0011
`
`
`
`3
`SUMMARY OF THE INVENTION
`
`US 7,062,749 B2
`
`The present invention comprises apparatus and systems
`for measuring, monitoring, tracking and simulating enter(cid:173)
`prise communications and processes in an asynchronous
`messaging environment. For each original message sent
`within a process, sub-process or activity, the preferred
`embodiments of the present invention send a separate moni(cid:173)
`toring message containing data from the central message
`repository or database. This data may include date, time,
`customer number, materials, quantity, amount, or other
`information, and be copied from the original message. Other
`embodiments may add data to the monitoring message aside
`from that contained in the original message.
`This central message repository or database is comprised
`of information passing through the enterprise. In effect, the
`database provides a collection point or an "end point" for the
`asynchronous communications, and so allows the flexibility
`of asynchronous communications to be combined with the
`precision of synchronous communications. The database can 20
`be reviewed in any number of ways. For example, the
`database can be queried to obtain specific information about
`that particular order or customer or could be examined
`across larger time spans such as days, weeks, or months, to
`gauge trends or performance. Of course, some preferred 25
`embodiments may wish to create mirror databases or other
`databases that can be used in various ways.
`An enterprise's information flow can also be readily
`modeled and simulated through creating new process, sub(cid:173)
`process and/or activities or altering existing process, sub- 30
`process or activities. The information flows from those
`creations or alterations can be collected m one or more
`databases and examined as desired.
`
`4
`The specific data contained in the monitoring messages
`(in this embodiment, generated from the original messages
`passing between the sub-processes) is organized into data
`fields. Those data fields are path specific in this embodiment.
`For example, assume a customer calls the enterprise (Widget
`Co.) whose process is shown in FIG. 1 and asks whether or
`not Widget Co. has a certain product (Type A Widgets.) That
`customer request will begin the Receive Order Inquiry
`sub-process which will end with the generation of a Receive
`10 Order Inquiry message traveling to the Provide Customer
`Quotation sub-process through the messaging broker com(cid:173)
`ponent. When the messaging broker receives the message on
`Path A, it will create a monitoring message, and send the
`monitoring message to the central database repository, as
`15 shown in FIG. 2. In this embodiment, the data contained in
`the monitoring message is generated from the message on
`Path A. Other preferred embodiments may alter or add data
`to the monitoring messages aside from that contained in the
`original message.
`The monitoring message contains, in this embodiment,
`specific data fields. (Of course, other embodiments may
`have different data fields.) Those data fields are:
`
`FIELDS
`
`IDENTIFIERS
`
`PROCESS IDENTIFIER
`SUB-PROCESS IDENTIFIER
`CUSTOMER NUMBER
`PART NUMBER
`QUANTITY
`DATE
`TIME
`
`Pro!D,
`SbProiD,
`Custno,
`Partno,
`Qty,
`Date,
`Time
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`FIG. 1 shows a sample process, Order to Cash, which is
`comprised of various sub-processes: Receive Order Inquiry,
`Provide Customer Quotation, Create Customer Outline
`Agreement, Create Sales Order, Schedule Production,
`Manufacture Product, Ship Product and Invoice Customer.
`The dashed line arrows connecting the sub-processes are the
`communication paths between the sub-processes. In the 45
`example shown in the figure, the sub-processes actually
`communicate through a messaging broker, such as an IBM
`MQSeries component, and the paths to and from the com(cid:173)
`ponent are identified identically. This messaging broker
`permits certain sophisticated messaging uses, such as mes- 50
`sage queuing, some data translation, etc.
`A messaging component is added to the messaging bro(cid:173)
`ker, through methods known in the art. This messaging
`component creates a "monitoring" message for each original
`message received by the broker. This monitoring message 55
`contains, in this embodiment, specific data generated from
`the original messages passing between the sub-processes.
`The monitoring message with its data is then sent from the
`messaging broker to a central database repository or data(cid:173)
`base (the terms "repository" or "database" are used inter- 60
`changeably throughout.)
`The messaging component may be, in some embodi(cid:173)
`ments, or may not be, in other embodiments, provided by the
`messaging broker. For example, IBM's MQSeries messag(cid:173)
`ing broker provides a component that can be configured to
`perform a copying function for the messages it receives, and
`so create monitoring messages for the messages it receives.
`
`35
`
`The first field, the PROCESS IDENTIFIER field, pro-
`vides the identifier for the process, for example, the value
`"Order to Cash" because the monitoring message is being
`created within the Order to Cash process. The second field,
`the SUB-PROCESS IDENTIFIER field, provides the iden-
`40 tifier for the sub-process, for example, the value "Inquiry"
`because the monitoring message is being created within the
`Inquiry sub-process. This embodiment prepopulates these
`PROCESS IDENTIFIER and SUB-PROCESS IDENTI-
`FIER fields, with the appropriate values.
`The CUSTOMER NUMBER field is assigned to the
`particular customer generating the inquiry. The PART NUM(cid:173)
`BER field is the identifier for the particular part and the
`QUANTITY for the particular quantity. DATE and TIME
`are the data and time the message is generated. Other
`message fields for other paths of this embodiment are shown
`in Table 1. Of course, some, all or none of these fields may
`be present in other embodiments, as well as other fields as
`desired. For example, one or more ACTIVITY IDENTI(cid:173)
`FIER fields may be present in monitoring messages in other
`embodiments.
`The monitoring message data populates one information
`flow or transaction record ("transaction record.") As moni(cid:173)
`toring messages progress through any given process and/or
`sub-process, the transaction record is updated. Once the
`monitoring messages complete the transaction record, all of
`the information needed to measure that transaction through
`the process is contained in one record in the central message
`database. (Of course, if the monitoring messages do not fully
`populate the transaction record, e.g., the transaction is
`65 aborted in mid process, then these abandoned records may
`be made available as well with an indication that they were
`abandoned.)
`
`HP_1001_0012
`
`
`
`US 7,062,749 B2
`
`5
`The central message database can be reviewed in any
`number of ways, in order to measure, monitor and track
`enterprise communications and processes, e.g., to provide
`information or generate reports. Using the central message
`database to provide information or generate reports "off
`loads" the information access or reporting processes from
`the applications that generate messages initially, e.g., sub(cid:173)
`processes such as those seen in FIG. 1. This off loading
`relieves some of the monitoring pressure from the source
`applications so that, for example, any queries that might 10
`have been made to the source applications and interfere with
`or slow down the operation of the source applications can
`now be made through the central message database.
`The information retrieved from the central message data(cid:173)
`base may include, but is not limited to, information about 15
`any particular order or customer, information about process
`efficiency, "snapshot" or time slice information, information
`across time spans such as days, weeks, or months, informa(cid:173)
`tion to gauge trends or performance, etc. Also, in some
`embodiments, a "real-time" tool may be used to track the 20
`progress of transaction records and/or processes and use
`distribution methods such as broadcasting, WAP, etc. to
`provide the information to users. For example, if a process
`such as pipeline capacity for oil and natural gas transmis(cid:173)
`sions is implemented and monitored through an embodiment 25
`of the present invention, the central message database will
`constantly broadcast unused pipeline capacity, which infor(cid:173)
`mation in turn can be used to sell, trade or barter that unused
`capacity. As another example, information about an enter(cid:173)
`prise's processes can be made available over an intranet, 30
`extranet, the Internet, etc. to business partners or other
`entities. One example would be providing information to
`stock analysts so that they could track any particular enter(cid:173)
`prise's productivity or other areas of interest. Another
`example would be providing information to actual or paten- 35
`tial business partners to check production capacity, shipping
`capacity, or other areas of interest. In some embodiments,
`with regard to external entities, communication channels
`between the external entities and the enterprise might well
`be established, so that central message databases exist on 40
`both ends of the communication channel.
`The central message database allows for broader analysis
`of trends that may include: time between sub-processes,
`variances by customer, variances by order amount, bottle(cid:173)
`necks in the process, etc. For example, it would be possible
`to determine how many orders stood between Order and
`Invoice. This may allow for the acceleration of some orders
`so they could be booked by quarter close. For example, a
`vendor bottleneck may be identified in the course of review
`of the processes, sub-processes and/or activities. For 50
`example, seasonal variations in processes, sub-processes
`and/or activities may be identified as well.
`Of course, some embodiments may create mirror data(cid:173)
`bases and/or generate other databases that can be used by
`various entities. For example, an enterprise may create a 55
`number of central message databases which could track
`processes, sub-processes and/or activities in whole or part.
`These databases could also be combined as desired.
`Monitoring message database(s) may be used, in some
`embodiments, in various ways, either in addition to or
`instead of central message database(s.) For example, a
`monitoring message database or a central message database
`may be used to generate messages and feedback to the
`processes, sub-processes, activities and/or applications, as
`well as to users and/or administrators (herein generally
`"users.") Various messages transmitted from sub-process
`applications such as error messages would generate special
`
`6
`monitoring messages which would be added to a message
`monitoring database. Other events, exceptions, triggers and
`thresholds, could be tracked as well in various embodiments
`and be used to signal conditions, problems, etc. by various
`methods such as "flagged" or specially designated messages
`or other indicators.
`Access to the database(s) is, in the preferred embodi(cid:173)
`ments, on a secured or authorized basis, with different users
`obtaining different levels of access to the data in the data(cid:173)
`base.
`FIG. 3 shows a screen shot of an example of a preferred
`embodiment where access was made available to a customer
`over a corporate extranet. The screen shot is of a report,
`generated through an XML link to the central message
`database, of that particular customer's orders. In the pre(cid:173)
`ferred embodiments, the customer has the option to "drill
`down" through this screen to other screens for further detail.
`So, for example, FIG. 4 shows a result of one such operation,
`where the customer had drilled down from the screen of
`FIG. 3. Of course, these records may vary depending on the
`status of the transaction, that is, whether the transaction is in
`the middle of the process, at the beginning of the process,
`etc. Furthermore, other reporting options may be seen
`depending on the embodiments. Additionally, in some
`embodiments the user may have the option to drill down
`further into or past these levels if desired.
`The preferred embodiments of the present invention also
`provide a simulation module for business processes. The
`simulation module makes possible simulation of new pro(cid:173)
`cesses, their sub-processes and the activities that make up
`the sub-processes. This provides the enterprise or other user
`with the opportunity to assemble, test, adjust, and simulate
`processes before they are integrated into the enterprise.
`The simulation module of the preferred embodiments
`provides the ability to assemble simulated processes in two
`primary ways. The first primary way is through provision of
`a toolkit or palette of predetermined sub-processes to the
`user. The user can then choose from that palette of sub(cid:173)
`processes to form a process for an organization, which is
`then used in the simulation as is explained in further detail
`below.
`The second primary method of assembling processes is to
`provide the user with activities, which are the most granular
`construct of a sub-process. Additionally, more sophisticated
`45 users will be given the opportunity to assemble their own
`activities. Either or both options of this second primary
`method can be offered in various embodiments. Addition(cid:173)
`ally, the first and second primary methods can be combined
`in certain embodiments as well.
`The preferred embodiments permit use of discrete activi(cid:173)
`ties among sub-processes, perhaps in an object oriented
`format, in order to save time and increase productivity.
`These activities can then be connected to form one or more
`sub-processes, which in tum can be connected to form one
`or more processes. The ability to create additional sub(cid:173)
`processes would allow for the company to add their unique
`sub-processes to the palette.
`It should be noted that in other embodiments, the simu(cid:173)
`lation module may be constructed in other ways. For
`60 example, preconfigured, industry-specific processes may be
`supplied that can be altered and/or provided with enterprise
`specifics.
`The simulation model is contained, in the preferred
`embodiments, on a corporate intranet or extranet. The under-
`65 lying assumption of the simulation model in the preferred
`embodiments is that the completion of each sub-process will
`generate a message. So, for example, if a process such as that
`
`HP_1001_0013
`
`
`
`US 7,062,749 B2
`
`8
`Other alternatives are possible for other embodiments of
`the simulation module. For example, the embodiments dis(cid:173)
`cussed above have some alternatives as predetermined,
`which makes the construction of sub-process modules more
`convenient. In other embodiments non-predetermined alter(cid:173)
`natives may be used. Moreover, any desired processes that
`are not defined in predetermined modules can be developed
`and made available to the user. For example, a tool such as
`that shown in FIG. 10 provides the ability to alter the
`10 process, the sub-process, and the application, by using the
`arrows to access a drop-down menu of predetermined alter(cid:173)
`natives, thus facilitating creation of new processes, sub(cid:173)
`processes and/or activities. Other embodiments may use an
`"open ended" format to allow the creation of new processes
`15 and sub-processes and/or activities.
`The simulation module is, in the preferred embodiments,
`either stand-alone or contained as part of a monitoring
`apparatus and/or system as had been described above. If the
`latter, then "real-time" data and processes, sub-processes
`20 and activities can be used in the simulation apparatus and/or
`process. The simulator module permits processes and sub(cid:173)
`processes to be defined, simulated, and refined before modi(cid:173)
`fYing existent systems or implementing new systems.
`The above description and the views and material
`25 depicted by the figures are for purposes of illustration only
`and are not intended to be, and should not be construed as,
`limitations on the invention.
`Moreover, certain modifications or alternatives may sug(cid:173)
`gest themselves to those skilled in the art upon reading of
`this specification, all of which are intended to be within the
`spirit and scope of the present invention as defined in the
`attached claims.
`
`7
`of FIG. 1 is simulated, the completion of the first sub(cid:173)
`process will generate a message to be sent to the next
`sub-process, the completion of the next sub-process will
`generate a message that will be sent to the next sub-process,
`and so on.
`FIG. 5 shows a process development environment screen
`for an example process called "Order" of the simulation
`module. Sub-processes Inquiry, Quote, Agreement, Ord