throbber
111111
`
`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

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