throbber
I IIIII
`
`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

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