`Approved for use through 07/31/2006. OMB 0651-0032
`U.S. Patent and Trademark Office. U.S. DEPARTMENT OF COMMERCE
`Under the Paoerwork Redudion Ad of 1995 no oersons are reauired to resoond to a collection of information unless it displavs a valid OMB control number.
`PROMCONT
`
`Attorney Docket No.
`
`"'
`
`I
`
`(
`
`UTILITY
`PATENT APPLICATION
`TRANSMITTAL
`(Only for new nonprovisional applications under 37 CFR 1. 53( b))
`
`First Inventor
`
`CYR, VINCENT
`
`Title
`Express Mail Label No. ET683435667US
`
`APPARATUS AND SYSTEM FOR MEASUR
`
`APPLICATION ELEMENTS
`See MPEP chapter 600 concerning utility patent application contents.
`
`ADDRESS TO:
`
`Commissioner for Patents
`P.O. Box 1450
`Alexandria VA 22313-1450
`
`2.0
`
`1.0 Fee Transmittal Form (e.g., PTO/SB/17)
`(Submit an original and a duplicate for fee processing)
`Applicant claims small entity status.
`See 37 CFR 1.27.
`23
`(Total Pages
`3.0 Specification
`Both the daims and abstract must start on a new page
`(For information on the preferred arrangement, see MPE.P 608.01(a}}
`(Total Sheets
`4.0 Orawlng(s) (35 U.S. C. 113)
`9
`
`5. Oath or Declaration
`
`[Total Sheets
`
`4
`
`b.
`
`t
`
`A copy from a prior application (37 CFR 1.63(d))
`
`a. 5j Newly executed (original or copy)
`Ofor continuation/divisional with Box 18 completed)
`
`i.
`
`DELETION OF INVENTOR{§}
`Signed statement attached deleting inventor(s)
`name in the prior application, see 37 CFR
`1.63(d)(2) and 1.33(b).
`
`6.
`
`Application Data Sheet See 37 CFR 1.76
`
`7.0 CD-ROM or CD-R in duplicate, large table or
`~puler Program {Appendix)
`Landscape Table on CD
`
`8. Nucleotide and/or Amino Acid Sequence Submission
`
`(if ap0able, items a. -c. are required)
`
`a.
`b.
`
`Computer Readable Form (CRF)
`Specification Sequence Listing on:
`
`D
`CD-ROM or CD-R (2 copies); or
`i.
`ii.O Paper
`
`I
`
`l
`I
`
`ACCOMPANYING APPLICATION PARTS
`
`9. D Assignment Papers (cover sheet & document(s))
`
`Name of Assignee
`
`10. D
`
`37 CFR 3.73(b) Statement
`(when there is an assignee)
`
`DPowerof
`Attorney
`
`11. D English Translation Document (if applicable)
`
`12. D
`
`lnfoEj'tlon Disclosure Statement (PTOISB/08 or PT0-1449)
`Copies of citations attached
`
`13. D Preliminary Amendment
`
`14. 0 Return Receipt Postcard (MPEP 503)
`(Should be specifically itemized)
`
`15. D Certified Copy of Priority Document(s)
`(if foreign priority is claimed)
`
`16. D Nonpubllcatlon Request under 35 U.S.C. 122(b)(2)(B)(i).
`Applicant must attach form PTO/SB/35 or equivalent.
`
`17. 0 Other: Credit Card Payment Form
`
`c. D
`Statements verifying identity of above copies
`18. If a CONTINUING APPLICATION, check appropriate box, and supply the requisite information below and in the first sentence of the
`specification following the title. or in an Application Data Sheet under 37 CFR 1. 76:
`0 Continuation
`Prior application information:
`
`Examiner Iggg l!lgb!i![g
`
`Art Unit: 212~
`
`D
`
`Divisional
`
`D Continuation-in-part (CIP)
`
`of prior application No.:0.9/7.37.494 ................
`
`D The address associated with Customer Number: I
`
`I OR 0 Correspondence address below
`
`19. CORRESPONDENCE ADDRESS
`
`Name
`
`Address
`
`City
`Country
`
`Signature
`Name
`. (Print/Tvoe)
`
`Joseph E. Chovanes
`
`Suite 329 • 5 Great Valley Parkway
`
`Malvern
`USA
`
`I State
`PA
`1 Telephone 610.648.3994
`
`Zip Code 19355
`jchovanes@chovanes.com
`
`............ --? /'\..
`Joseph E. C~nes
`
`""'
`
`1 Date 4/5/2006
`Registration No. 133 481
`•
`(Attomev/Aaentl
`
`This collection of information is required by 37 CFR 1.53(b). The information is required to obtain or retain a benefit by the public which is to file (and by the
`USPTO to process) an application. Confidentiality is govemed by 35 U.S.C. 122 and 37 CFR 1.11 and 1.14. This collection is estimated to take 12 minutes to
`complete, induding gathering, preparing, and submitting the completed application form to the USPTO. Time will vary depending upon the individual case. Any
`comments on the amount of time you require to complete this form and/or suggestions for reducing this burden, should be sent to the Chief Information Officer.
`U.S. Patent and Trademark Office, U.S. Department of Commerce, P.O. Box 1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED
`FORMS TO THIS ADDRESS. SEND TO: Commissioner for Patents, P.O. Box 1450, Alexandria, VA 22313-1450.
`If you need assistance in completing the form, ca/11-Boo-PT0-9199 and salect option 2.
`
`HP_1002_0001
`
`
`
`PTO/SB/17 (12-04v2)
`Approved for use through 07/31/2006. OMB 0651-0032
`~
`U.S. Patent and Trademark Office; U.S. DEPARTMENT OF COMMERCE
`...
`(I) Jnr!P.r th11 PAMrwnrk RP.rlur.tinn Ar.t nf 1 !l!lfi nn 1\f!l'l'I\M AM r~~nuiMrl tn rP..'Innnrl tn 11 miiAr.linn nf infnmvdinn ""'"'"'-" it rli"nl11vs 11 vAiirl OMR mntml numhP.r
`~
`Complete if Known
`Effective on 12f08/'2004.
`:::f::ees pursuant to the Consolidated Appropriations Act. 2005 (H.R. 4818).
`to be assigned
`AprilS 2006
`First Named Inventor CYR, VINCENT
`Examiner Name
`Art Unit
`Attorney Docket No.
`
`u- FEE TRANSMITTAL Filing Date
`For FY 2005
`I[ZJ Applicant claims small entity status. See 37 CFR 1.27
`\..TOTAL AMOUNT OF PAYMENT I ($)
`
`500.00
`
`Application Number
`
`to be assigned
`to be assiQned
`PROMCONT
`
`,J
`
`METHOD OF PAYMENT (check all that apply)
`
`D Check [{] Credit Card 0 Money Order D None D Other (please identifY):
`D Deposit Account Deposit Account Number:
`Deposit Account Name:
`For the above-identified deposit account, the Director is hereby authorized to: (check all that apply)
`[Z] Charge fee(s) indicated below
`0 Charge any additional fee(s) or underpayments of fee(s)
`
`D Charge fee(s) indicated below, except for the filing fee
`D Credit any overpayments
`
`under 37 CFR 1.16 and 1.17
`WARNING: Information on this form may become public. Credit card information should not be Included on this form. Provide credit card
`information and authorization on PT0-2038.
`FEE CALCULATION
`
`1. BASIC FILING, SEARCH, AND EXAMINATION FEES
`FILING FEES
`SEARCH FEES
`Small Entltv
`Small Enti!x
`f.!.!!..W
`.EH.Jtl
`150
`250
`100
`50
`100
`150
`150
`250
`
`Aeencation Tl£ee
`Utility
`Design
`Plant
`Reissue
`
`EXAMINATION FEES
`Small Enti!x
`.E!!..W. &!t1ll
`200
`100
`130
`65
`160
`80
`600
`300
`
`F§es Pgi~ (~)
`5QQ
`
`f.!.!!..W
`300
`200
`200
`300
`200
`
`f.!.!!..W
`500
`100
`300
`500
`0
`
`100
`
`0
`
`0
`
`0
`
`Provisional
`2. EXCESS CLAIM FEES
`Fee Descrietlon
`Each claim over 20 (including Reissues)
`Each independent claim over 3 (including Reissues)
`Multiple dependent claims
`Total Claim§
`Extra Claims
`15
`-20 orHP =
`X
`HP = highest number of total daims paid for, if greater than 20.
`lndee. Claims
`f.!.!!..W
`ExtmCiaims
`=
`-3 orHP =
`3
`X
`HP = highest number of independent daims paid for, if greater than 3.
`3. APPLICATION SIZE FEE
`If the specification and drawings exceed 100 sheets of paper (excluding electronically filed sequence or computer
`listings under 37 CFR 1.52(e)), the application size fee due is $250 ($125 for small entity) for each additional 50
`sheets or fraction thereof. See 35 U.S.C. 41~)(l)(G) and 37 CFR l.l6~s).
`Total Sheets
`Extra Sheets
`Num er ofeach additional 50 or raction thereof
`32
`150 =
`-100 =
`(round up to a whole number) X
`4. OTHER FEE(S)
`Non-English Specification, $130 fee (no small entity discount)
`Other (e.g., late fili~rcharge):
`
`f.!.!!..W
`
`Fee Paid (il
`Q
`
`=
`
`Fee Paid (~l
`Q
`
`Smgll Enti!x
`f.!.!!..W
`.E!!..W.
`25
`50
`100
`200
`180
`360
`Multiele Deeendent Claims
`f.!.!!..W
`Fee Paid(~)
`
`.E!!..W.
`
`=
`
`Fee Paid (~l
`
`E!el Paid (~l
`
`SUBMITTED BY
`Signature
`
`I
`/
`..vy
`~ -::;::r-.......
`'
`Name (PrinVType Jdeph E. Chovanes
`Th1s collection of Information IS requ1red by 37 CFR 1.136. The mformation is required to obtain or retain a benefrt by the public which is to file (and by the
`USPTO to process) an application. Confidentiality is governed by 35 U.S.C. 122 and 37 CFR 1.14. This collection is estimated to take 30 minutes to complete,
`induding gathering, preparing, and submitting the completed application form to the USPTO. Time will vary depending upon the individual case. Any comments
`on the amount of time you require to complete this form and/or suggestions for reducing this burden, should lie sent to the Chief Information Officer, U.S. Patent
`and Trademark Office, U.S. Department of Commerce, P.O. Box 1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED FORMS TO THIS
`ADDRESS. SEND TO: Commissioner for Patents, P.O. Box 1450, Alexandria, VA 22313-1450.
`If you need assistance in completing the form, ca/11-800-PT0-9199 and select option 2.
`
`1 Registration No.
`(Attorney/Agent)
`
`33 481
`•
`
`Telephone 610.648.3994
`
`Date 4/5/2006
`
`HP_1002_0002
`
`
`
`APPARATUS AND SYSTEMS FOR MEASURING, MONITORING, TRACKING
`AND SIMULATING ENTERPRISE COMMUNICATIONS AND PROCESSES
`
`This application is a CONTINUATION of U.S. Patent Application Serial No.
`
`091737,494 ofPromenix, Inc. filed December 15, 2000.
`
`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 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 tum be broken down into discrete activities such as providing
`
`customer number, 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,
`
`HP_1002_0003
`
`
`
`-,,
`
`0
`
`applications may communicate amongst themselves through electronic data interchange
`
`("ED I") 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(cid:173)
`
`processes and activities.
`
`Whether communications occur horizontally or vertically, among applications or
`
`users, communications are increasingly 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. Enterprise communications
`
`are now increasingly asynchronous, or connectionless, transmitting data without prior
`
`coordination between communication end points, such as through "event 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 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 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 that factory has a fire or other d~saster, 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
`
`2
`
`HP_1002_0004
`
`
`
`,,
`
`rl
`
`coupled asynchronous <;:onnection 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 predetermined before communications begin with the new
`
`factory. Thus, the flexibility of the asynchronous message based communication has
`
`permitted 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 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 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 architecture also makes it
`
`difficult for the enterprise to measure the efficiency of its processes and their sub-process.
`
`Asynchronous messaging, with its indeterminate transmission of information, 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.
`
`3
`
`HP_1002_0005
`
`
`
`rl
`
`Finally, asynchronous messaging may provide an enterprise 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
`
`processes. 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 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
`
`Figure 1 shows a view of a process.
`
`Figure 2 shows a view of a process of a preferred embodiment.
`
`Figure 3 shows a screen of a preferred embodiment.
`
`Figure 4 shows a screen of a preferred embodiment.
`
`Figure 5 shows a screen of a preferred embodiment.
`
`Figure 6 shows a partial view of a preferred embodiment.
`
`Figure 7 shows a partial view of a preferred embodiment.
`
`Figure 8 shows a partial view of a preferred embodiment.
`
`4
`
`HP_1002_0006
`
`
`
`,,
`
`Figure 9 shows a partial view of a preferred embodiment.
`
`Figure 1 0 shows a partial view of a preferred embodiment.
`
`5
`
`HP_1002_0007
`
`
`
`,.
`
`SUMMARY OF THE INVENTION
`
`The present invention comprises apparatus and systems for measuring,
`
`monitoring, tracking and simulating enterprise 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 monitoring 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 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 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-process and/or activities or altering existing process,
`
`6
`
`HP_1002_0008
`
`
`
`sub-process or 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
`
`Figure 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 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 component are identified 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 component creates a "monitoring" message for each
`
`original message received by the broker. This monitoring message contains, in this
`
`embodiment, specific data generated from the original messages passing between the sub(cid:173)
`
`processes. The monitoring message with its data is then sent from the messaging 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 messaging broker. For example, IBM's MQSeries
`
`messaging broker provides a component that can be configured to perform a copying
`
`7
`
`HP_1002_0009
`
`
`
`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 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
`
`Figure 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
`
`Customer 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 Figure 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
`
`ProiD,
`SbProiD,
`Custno,
`Partno,
`Qty,
`Date,
`Time
`
`The first field, the PROCESS IDENTIFIER field, provides the identifier for the
`
`process, for example, the value "Order to Cash" because the monitoring message is being
`
`8
`
`HP_1002_0010
`
`
`
`ol
`
`created within the Order to Cash process. The second field, the SUB-PROCESS IDENTIFIER
`
`field, provides the identifier 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 IDENTIFIER
`
`fields, with the appropriate values.
`
`The CUSTOMER NUMBER field is assigned to the particular customer generating
`
`the inquiry. The PART NUMBER 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 IDENTIFIER fields
`
`may be present in monitoring messages in other embodiments.
`
`The monitoring message data populates one information flow or transaction
`
`record ("transaction record.") As monitoring 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 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 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
`
`9
`
`HP_1002_0011
`
`
`
`..
`
`information or generate reports "off loads" the information access or reporting processes
`
`from the applications that generate messages initially, e.g., sub-processes such as those
`
`seen in Figure 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 message database.
`
`The information retrieved from the central message database may include, but is
`
`not limited to, information about any particular order or customer, information about
`
`process efficiency, "snapshot" or time slice information, information across time spans
`
`such as days, weeks, or months, information 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 distribution methods such as broadcasting, W AP, etc. to
`
`provide 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 constantly broadcast unused
`
`pipeline capacity, which information in turn can be used to sell, trade or barter that
`
`unused capacity. As another example, information about an enterprise's processes can be
`
`made available over an intranet, 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 enterprise's productivity or other areas of interest. Another
`
`example would be providing information to actual or potential 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
`
`10
`
`HP_1002_0012
`
`
`
`and the enterprise might well be established, so that central message databases exist on
`
`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,
`
`bottlenecks 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
`
`example, seasonal variations 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-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
`
`monitoring messages which would be added to a message monitoring database. Other
`
`events, exceptions, triggers and thresholds, could be tracked as well in various
`
`11
`
`HP_1002_0013
`
`
`
`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 embodiments, on a secured or
`
`authorized basis, with different users obtaining different levels of access to the data in the
`
`database.
`
`Figure 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 preferred embodiments, the customer has the option
`
`to "drill down" through this screen to other screens for further detail. So, for example,
`
`Figure 4 shows a result of one such operation, where the customer had drilled down from
`
`the screen of Figure 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
`
`processes, 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
`
`12
`
`HP_1002_0014
`
`
`
`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 activities 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 simulation 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 underlying 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 of Figure 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
`
`13
`
`HP_1002_0015
`
`
`
`next sub-process will generate a message that will be sent to the next sub-process, and so
`
`on.
`
`Figure 5 shows a process development environment screen for an example
`
`process called "Order" of the simulation module. Sub-processes Inquiry, Quote,
`
`Agreement, Order, Schedule, 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
`
`appropriate. For example, the output queue name in the Inquiry sub-process is
`
`INQUIRY_OUT. That output queue then feeds data into the input queue of the Quote sub(cid:173)
`
`process. (These are analogous to Path A in Figure 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 the
`
`latency per process and thus permits the user to see the downstream effect of altering
`
`each sub-process time. (Other embodiments may use different apparatus and methods as
`
`known in the art to vary the latency of the sub-process.) In this example, the total time of
`
`the process is obtained by adding each base delay of each sub-process, however, each
`
`sub-process may not affect the other in a geometric or logarithmic progression. For
`
`example, varying the base delay by one time increment of the Quote sub-process may not
`
`lead to an exact one time increment variation in the Scheduling sub-process.
`
`Figures 6 through 9 are examples of tools that are used in this embodiment to
`
`construct sub-process modules such as those used in Figure 5. For example, Figure 6
`
`14
`
`HP_1002_0016
`
`
`
`shows the properties of the Agreement sub-process module, which are the process,