`
`1111111111111111111111111111111111111111111111111111111111111
`US007603674B2
`
`c12) United States Patent
`Cyr et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,603,674 B2
`*Oct. 13, 2009
`
`(54) APPARATUS AND SYSTEMS FOR
`MEASURING, MONITORING, TRACKING
`AND SIMULATING ENTERPRISE
`COMMUNICATIONS AND PROCESSES
`
`(75)
`
`Inventors: Vincent R. Cyr, Glen Mills, PA (US);
`Kenneth Fritz, Glen Mills, PA (US)
`
`(73) Assignee: YYZ, LLC
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 272 days.
`
`This patent is subject to a terminal dis(cid:173)
`claimer.
`
`(21) Appl. No.: 11/398,133
`
`(22) Filed:
`
`Apr. 5, 2006
`
`(65)
`
`Prior Publication Data
`
`US 2006/0200804 AI
`
`Sep. 7,2006
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 09/737,494, filed on
`Dec. 15, 2000, now Pat. No. 7,062,749.
`
`(51)
`
`Int. Cl.
`G06F 13100
`(2006.01)
`(52) U.S. Cl. ........................... 719/313; 709/217; 707/1;
`707/10
`Field of Classification Search ................. 717/103;
`705/9; 709/231,227,202,206, 217; 719/314,
`719/315, 316, 313; 707/3, 10, 1
`See application file for complete search history.
`
`(58)
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,404,501 A
`5,887,167 A
`5,949,998 A
`5,960,200 A
`
`4/1995 Carr eta!.
`3/1999 Sutton
`9/1999 Fowlow et al.
`9/1999 Eager eta!.
`
`1/2000 Iyengar et a!.
`6,018,627 A
`3/2000 Duet a!.
`6,041,306 A
`5/2000 Leymann et al.
`6,065,009 A
`7/2000 Wagner
`6,092,102 A
`9/2000 Leymann et al.
`6,122,633 A
`8/2001 Agrawal et a!.
`6,278,977 B1
`6,405,266 B1 *
`6/2002 Basset a!.
`.................. 719/328
`6,415,297 B1
`7/2002 Leymann et al.
`6,445,774 B1 *
`9/2002 Kidder eta!. .............. 379/9.03
`10/2002 Ferri eta!.
`6,460,175 B1
`10/2002 Stuart
`6,466,935 B1
`6,487,548 B1 * 1112002 Leymann et al . ............... 707/3
`12/2002 Smith eta!.
`6,501,950 B1
`6,510,429 B1
`112003 Todd
`6,529,932 B1
`3/2003 Dadiomov et al.
`6,543,047 B1
`4/2003 Vrhel eta!.
`
`(Continued)
`
`OTHER PUBLICATIONS
`
`"A Performance StudyofClient-Broker-Server Systems", Omotunde
`Adebayo et al, ACM, Nov. 1997, pp. 1-15.*
`
`(Continued)
`
`Primary Examiner-Andy Ho
`
`(57)
`
`ABSTRACT
`
`The present invention comprises apparatus and systems for
`measuring, monitoring, tracking and simulating enterprise
`communications and processes. A central message repository
`or database is constructed, comprised of monitoring mes(cid:173)
`sages sent from process messaging systems. The database
`may then be accessed or queried as desired. A simulation tool
`assists in reviewing present and proposed processes and sub(cid:173)
`processes before modifYing existent systems or creating new
`systems.
`
`173 Claims, 6 Drawing Sheets
`
`HP_1001_0001
`
`
`
`US 7,603,674 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`6,553,438 B1
`6,601,233 B1
`6,662,355 B1
`6,671,728 B1 *
`6,681,245 B1
`6,725,445 B1
`6,728,947 B1
`6,757,710 B2
`6,789,252 B1
`6,901,430 B1
`6,943,681 B2
`7,057,752 B1 *
`
`4/2003 Coffman eta!.
`7/2003 Underwood
`12/2003 Caswell eta!.
`12/2003 Mayberry ................... 709/227
`112004 Sasagawa
`4/2004 Leymann et a!.
`4/2004 Bengston
`6/2004 Reed
`9/2004 Burke et al.
`5/2005 Smith
`9/2005 Rezvani eta!.
`6/2006 Klotz, Jr .................... 358/1.15
`
`OTHER PUBLICATIONS
`
`"A Publish/Subscribe CORBA Persistent State Service Prototype",
`ACM, Apr. 2000, pp. 231-255.*
`Adaptive Plug-andPlay Components for Evolutionary Software
`Development, Mira Mezini eta!, ACM, 1998, pp. 97-116.*
`Wide Workflow Development Methodology, L. Baresi et al, ACM,
`Mar. 1999, pp. 19-28.*
`"Implementing SAP R/3 How to Introduce a Large System into a
`Large Organization," pp. 1-73, N.H. Bancroft eta!., 1997.
`"SAP An Executive Comprehensive Guide," Grant Norris et al., 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 Corp., Mar. 1998, 7 pages.
`"Special Issue on TP Monitors and Distributed Transaction Manage(cid:173)
`ment," Ron Obermarck eta!., Data Engineering, Mar. 1994, vol. 17,
`No. 1, IEEE Computer Society, 32 pages.
`"Remote Queues: Exposing Message Queues for Optimization and
`Atomicity," E.A. Brewer eta!., MCM, 1995, pp. 42-53.
`Cummings, Enterprise Integration with Workflow Management,
`Nov. 1, 1999.
`Ebbers, eta!, Image and Workflow Library, Apr. 1999.
`Van De Putte, et al, Business Integration Solutions with MQ Series
`Intergrator, Aug. 2000.
`Stegmaier, eta!, Image and Workflow Library, Feb. 1998.
`Eller, eta!, Image and Workflow Library, Oct. 1997.
`Van Den Enden, et al, A Case Study in Application Integration, Oct.
`16, 2000.
`Cummings, Enterprise Integration with Asynchronous Messaging
`Services, Oct. 6, 1999.
`IBM, Software Announcement MQSeries Workflow 3.2. Adds Sup(cid:173)
`port fore-business and New Platforms, Jun. 15, 1999.
`Leymann, eta!, Production Workflow, excerpts, 2000.
`Alonso, eta!, Exotica/FMQM, Aug. 1995.
`Alonso, eta!, Distributed Data Management, 1997.
`* cited by examiner
`
`HP_1001_0002
`
`
`
`~ = N
`0.., = w
`
`-....l
`0..,
`
`-....l
`rJl
`d
`
`Figure 1
`
`0\
`0 .....
`('D a ....
`rFJ =(cid:173)
`
`\0
`0
`0
`N
`
`~
`
`~ ....
`0
`
`(.H
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`~-------------------------G----~
`~-------------------------G
`
`A-----------------------------.
`A------------------~
`
`~----------------F
`
`Messaging Broker
`
`F
`
`r-;:::====:::_-E
`
`B
`
`B
`
`Customer
`Invoice
`
`Quotation
`Customer
`Provide
`
`Inquiry
`Order
`Receive
`
`---~
`
`oro~~~
`
`l
`
`HP_1001_0003
`
`
`
`~ = N
`0.., = w
`
`-....l
`0..,
`
`-....l
`rJl
`d
`
`0\
`0 .....
`N
`.....
`rFJ =(cid:173)
`
`('D
`('D
`
`\0
`0
`0
`N
`
`~
`
`:-+- ....
`0
`
`(')
`
`(.H
`
`Figure 2
`
`Message A
`Monitoring
`then Create
`
`path A,
`
`If message on
`
`I
`
`G
`
`~
`
`Messaging Broker
`
`'----
`
`G
`
`F
`
`I
`
`F
`
`E
`
`B
`
`E
`
`D
`
`c
`
`D
`
`c
`
`A I
`
`B
`
`A
`
`~ = ~
`
`~
`~
`~
`•
`00
`~
`
`Customer
`Invoice
`
`f--t
`
`-
`
`Product
`
`Ship
`
`~
`
`Product 1-
`
`Manufacture
`
`!-
`
`Production
`Schedule
`
`Order
`
`Create Sales
`
`,------.
`
`f----+
`
`f-
`f--.-
`
`Agreement
`
`OuUine
`Customer
`
`Create
`
`1---
`
`·~~-
`
`Quotation
`Customer
`Provide
`
`1-----t
`
`Inquiry
`Order
`Receive
`
`HP_1001_0004
`
`
`
`U.S. Patent
`
`Oct. 13, 2009
`
`Sheet 3 of 6
`
`US 7,603,674 B2
`
`Summary Of Orders
`
`Your Information
`Cusbner Number
`5000
`
`Company
`Dow Chemical
`
`Current Orders. Quotes. and lnquidas
`
`Location
`Midland, MJ
`
`Data
`312712000
`312912000
`3131/2000
`
`Transaction ID
`0003
`2102
`2204
`
`Order Number
`800000
`839400
`940302
`
`Current Status
`INVOJCE
`MANUFACTURE
`ORDER
`
`Figure 3
`
`HP_1001_0005
`
`
`
`U.S. Patent
`
`Oct. 13, 2009
`
`Sheet 4 of 6
`
`US 7,603,674 B2
`
`Order HSory and Tracking lnfonnation
`
`lnqWrCRQtd~$XGOa 1ll1&
`
`YCI1!~
`~ Catt:mr
`tb*r
`
`-
`
`Dow Cillcldul
`
`I::JJNVOtCE
`
`Otc!ct Od2ll
`
`Jlaafblltlllll llaadai!Omber Ulllt of l1eaiiA Quftlitr
`z
`sax
`Wid;at
`IIIOlJ3
`
`Priat ED
`1.00
`
`MANUFACTURE
`
`~oa nn. =-'
`
`11:34
`
`<41COOO
`
`312912000
`SHIP
`111M Sllippq UcdMNI TIICklllg lllll*f
`._ 0.
`1.I&:t58e09G
`XltllOlO 21."00 UPS
`
`Figure 4
`
`HP_1001_0006
`
`
`
`U.S. Patent
`
`Oct. 13, 2009
`
`Sheet 5 of 6
`
`US 7,603,674 B2
`
`FigureS
`
`HP_1001_0007
`
`
`
`U.S. Patent
`
`Oct. 13, 2009
`
`Sheet 6 of 6
`
`US 7,603,674 B2
`
`Figure 6
`
`Figure 7
`
`Time
`Cust. Number
`Cust. Name
`Item Num.
`Item Name
`
`Figure 8
`
`Figure 9
`
`Figure 10
`
`HP_1001_0008
`
`
`
`US 7,603,674 B2
`
`1
`APPARATUS AND SYSTEMS FOR
`MEASURING, MONITORING, TRACKING
`AND SIMULATING ENTERPRISE
`COMMUNICATIONS AND PROCESSES
`
`CROSS REFERENCE TO RELATED
`APPLICATION
`
`This application is a continuation of and claims the benefit
`of U.S. patent application Ser. No. 09/737,494 filed Dec. 15,
`2000, entitled Apparatus and Methods for Isolating and
`Reviewing Data from Multiple Sources, now issued U.S. Pat.
`No. 7,062,749.
`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 asynchronous
`messaging environment.
`
`BACKGROUND OF THE INVENTION
`
`The activities of a business or enterprise can be grouped
`into processes. Processes are business operations that are 25
`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 30
`as Receive Order Inquiry, Provide Customer Quotation, Cre-
`ate Customer Outline Agreement, Create Sales Order, Sched(cid:173)
`ule Production, Manufacture Product, Ship Product and
`Invoice Customer. Each sub-process may in turn be broken
`down into discrete activities such as providing customer num- 35
`ber, entering that customer number, establishing 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, applica- 40
`tions may communicate amongst themselves through elec(cid:173)
`tronic data interchange ("EDI") and other similar services.
`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 50
`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 coordination
`between communication end points, such as through "event 55
`based" communications which use messages to move data
`instead oflarge files.
`Asynchronous or message based communications permit
`loosely coupled connections among and between systems
`because the end points do not have to be prepared to receive 60
`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
`particular sub-process or activity becomes unusable, the pro- 65
`cess can be reassembled with a new sub-process or activity.
`For example, if a Manufacture Product sub-process in the
`
`2
`Order to Cash process at Widget Co. enterprise has a specific
`factory identified to manufacture the product and 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 processes will change
`any number of parameters. A loosely coupled asynchronous
`connection among Widget Co.'s processes provides rapid
`substitution of the new factory for the old because the end
`points of communication to the new factory do not have to be
`10 predetermined before communications begin with the new
`factory. Thus, the flexibility of the asynchronous message
`based communication has permitted quick response to chang(cid:173)
`ing business conditions.
`Despite this flexibility, asynchronous or message based
`15 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
`a customer calls for the status of an order, an enterprise
`20 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 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 status
`information, business partners of the enterprise will similarly
`lack that ability. Thus, asynchronous communications may
`well increase inefficiency among business partners as well.
`The difficulty in reporting caused by message based arc hi(cid:173)
`tecture also makes it difficult for the enterprise to measure the
`efficiency of its processes and their sub-process. Asynchro(cid:173)
`nous messaging, with its indeterminate transmission of infor(cid:173)
`mation, means a company may not be able to easily measure
`the interval between each sub-process, e.g. the time between
`Scheduling Production and the Manufacturing 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 is,
`since information flows can be readily estimated through
`enterprises with asynchronous messaging, and processes can
`be easily modeled from those flows, asynchronous messaging
`modeling provides the potential to model and simulate pro-
`45 cesses. That potential is not realized with present technology,
`however. Moreover, since as described above, enterprises
`lack information on the processes they have implemented, the
`enterprises are handicapped in their ability to modifY those
`processes or plan new processes. A modeling and simulation
`tool, demonstrating processes, sub-processes and their activ(cid:173)
`ity 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.
`
`HP_1001_0009
`
`
`
`US 7,603,674 B2
`
`3
`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.
`
`SUMMARY OF THE INVENTION
`
`4
`saging broker. For example, IBM's MQSeries messaging
`broker provides a component that can be configured to per(cid:173)
`form a copying function for the messages it receives, and so
`create monitoring messages for the messages it receives.
`The specific data contained in the monitoring messages (in
`this embodiment, this data is copied from the original mes(cid:173)
`sages passing between the sub-processes) is organized into
`data fields. Those data fields are path specific in this embodi(cid:173)
`ment. For example, assume a customer calls the enterprise
`10 (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 Order Inquiry message traveling to the Provide Cus-
`15 tamer Quotation sub-process through the messaging broker
`component. 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
`shown in FIG. 2. In this embodiment, the data contained in the
`20 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
`
`The present invention comprises apparatus and systems for
`measuring, monitoring, tracking and simulating enterprise
`communications and processes in an asynchronous messag(cid:173)
`ing environment. For each original message sent within a
`process, sub-process or activity, the preferred embodiments
`of the present invention send a separate monitoring message
`containing data from the central message repository or data(cid:173)
`base. 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 25
`be reviewed in any number of ways. For example, the data(cid:173)
`base 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 embodi- 30
`ments 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 mod(cid:173)
`eled and simulated through creating new process, sub-process
`and/or activities or altering existing process, sub-process or 35
`activities. The information flows from those creations or
`alterations can be collected in one or more databases and
`examined as desired.
`
`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, Manu(cid:173)
`facture Product, Ship Product and Invoice Customer. The
`dashed line arrows connecting the sub-processes are the com(cid:173)
`munication paths between the sub-processes. In the example
`shown in the figure, the sub-processes actually communicate
`through a messaging broker, such as an IBM MQSeries com(cid:173)
`ponent, and the paths to and from the component are identi(cid:173)
`fied identically. This messaging broker permits certain
`sophisticated messaging uses, such as message queuing,
`some data translation, etc.
`A messaging component is added to the messaging broker,
`through methods known in the art. This messaging compo(cid:173)
`nent creates a "monitoring" message for each original mes(cid:173)
`sage received by the broker. This monitoring message con(cid:173)
`tains, 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 mes(cid:173)
`saging broker to a central database repository or database (the
`terms "repository" or "database" are used interchangeably
`throughout.)
`The messaging component may be, in some embodiments,
`or may not be, in other embodiments, provided by the mes-
`
`The first field, the PROCESS IDENTIFIER field, provides
`40 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(cid:173)
`PROCESS IDENTIFIER field, provides the identifier for the
`sub-process, for example, the value "Inquiry" because the
`45 monitoring message is being created within the Inquiry sub(cid:173)
`process. This embodiment prepopulates these PROCESS
`IDENTIFIER and SUB-PROCESS IDENTIFIER fields, with
`the appropriate values.
`The CUSTOMER NUMBER field is assigned to the par-
`50 ticular 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
`55 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 IDENTIFIER fields may
`be present in monitoring messages in other embodiments.
`The monitoring message data populates one information
`60 flow or transaction record ("transaction record.") As monitor(cid:173)
`ing messages progress through any given process and/or sub(cid:173)
`process, the transaction record is updated. Once the monitor(cid:173)
`ing messages complete the transaction record, all of the
`information needed to measure that transaction through the
`65 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
`
`HP_1001_0010
`
`
`
`US 7,603,674 B2
`
`5
`aborted in mid process, then these abandoned records may be
`made available as well with an indication that they were
`abandoned.)
`The central message database can be reviewed in any num(cid:173)
`ber 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 infor(cid:173)
`mation access or reporting processes from the applications
`that generate messages initially, e.g., sub-processes such as 10
`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 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 15
`message database.
`The information retrieved from the central message data(cid:173)
`base may include, but is not limited to, information about any
`particular order or customer, information about process effi(cid:173)
`ciency, "snapshot" or time slice information, information 20
`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
`progress of transaction records and/or processes and use dis(cid:173)
`tribution methods such as broadcasting, WAP, etc. to provide 25
`the information to users. For example, if a process such as
`pipeline capacity for oil and natural gas transmissions is
`implemented and monitored through an embodiment of the
`present invention, the central message database will con(cid:173)
`stantly broadcast unused pipeline capacity, which informa- 30
`tion 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,
`extranet, the Internet, etc. to business partners or other enti(cid:173)
`ties. One example would be providing information to stock 35
`analysts so that they could track any particular enterprise's
`productivity or other areas of interest. Another example
`would be providing information to actual or potential busi(cid:173)
`ness partners to check production capacity, shipping capacity,
`or other areas of interest. In some embodiments, with regard 40
`to external entities, communication charmels between the
`external entities and the enterprise might well be established,
`so that central message databases exist on both ends of the
`communication charmel.
`The central message database allows for broader analysis 45
`of trends that may include: time between sub-processes, vari(cid:173)
`ances by customer, variances by order amount, bottlenecks in
`the process, etc. For example, it would be possible to deter(cid:173)
`mine how many orders stood between Order and Invoice. This
`may allow for the acceleration of some orders so they could be 50
`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 example, seasonal varia(cid:173)
`tions in processes, sub-processes and/or activities may be
`identified as well.
`Of course, some embodiments may create mirror databases
`and/or generate other databases that can be used by various
`entities. For example, an enterprise may create a number of
`central message databases which could track processes, sub(cid:173)
`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(cid:173)
`processes, activities and/or applications, as well as to users
`
`6
`and/or administrators (herein generally "users.") Various
`messages transmitted from sub-process applications such as
`error messages would generate special 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 indica(cid:173)
`tors.
`Access to the database( s) is, in the preferred embodiments,
`on a secured or authorized basis, with different users obtain(cid:173)
`ing different levels of access to the data in the database.
`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 data(cid:173)
`base, of that particular customer's orders. In the preferred
`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 pro(cid:173)
`cesses before they are integrated into the enterprise.
`The simulation module of the preferred embodiments pro(cid:173)
`vides the ability to assemble simulated processes in two pri(cid:173)
`mary 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-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
`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. Additionally,
`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 for(cid:173)
`mat, in order to save time and increase productivity. These
`activities can then be connected to form one or more sub-
`55 processes, which in turn can be connected to form one or more
`processes. The ability to create additional sub-processes
`would allow for the company to add their unique sub-pro(cid:173)
`cesses to the palette.
`It should be noted that in other embodiments, the simula-
`60 tion module may be constructed in other ways. For 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_0011
`
`
`
`US 7,603,674 B2
`
`8
`makes the construction of sub-process modules more conve(cid:173)
`nient. In other embodiments non-predetermined alternatives
`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 process, the
`sub-process, and the application, by using the arrows to
`access a drop-down menu of predetermined alternatives, thus
`facilitating creation of new processes, sub-processes and/or
`10 activities. Other embodiments may use an "open ended" for(cid:173)
`mat to allow the creation of new processes and sub-processes
`and/or activities.
`The simulation module is, in the preferred embodiments,
`either stand-alone or contained as part of a monitoring appa-
`15 ratus and/or system as had been described above. If the latter,
`then "real-time" data and processes, sub-processes and activi(cid:173)
`ties can be used in the simulation apparatus and/or process.
`The simulator module permits processes and sub-processes to
`be defined, simulated, and refined before modifying existent
`20 systems or implementing new systems.
`The above description and the views and material 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
`ofFIG.l is simulated, the completion of the first sub-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 mod(cid:173)
`ule. Sub-processes Inquiry, Quote, Agreement, Order, Sched(cid:173)
`ule, Manufacture, Ship and Invoice have been joined together
`to comprise this process. The sub-processes, in this example,
`are predetermined and their activities are predetermined. The
`input and output queue names are identified where appropri(cid:173)
`ate. For example, the output queue name in the Inquiry sub(cid:173)
`process is INQUIRY_ OUT. That output queue then feeds data
`into the input queue of the Quote sub-process. (These are
`analogous to Path A in FIG. 1.) The base delay provides the
`initial time of a sub-process. For example, the base delay for
`the Quote Sub-process is 1 or a time increment of 1. In
`contrast the Manufacture Sub-process base delay is 48, so that
`the time increment for the Manufacture Sub-process is 48.
`The Current Variation shows the Increase/Decrease Variation
`set by the slider, permitting an increase or decrease in