throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2003/0050886 A1
`(43) Pub. Date: Mar. 13, 2003
`
`Cohen et al.
`
`US 20030050886A1
`
`(54) METHOD AND APPARATUS FOR
`MANAGING THE VERSIONING OF
`BUSINESS OBJECTS USING A STATE
`MACHINE
`
`(75)
`
`Inventors: Mitchell Adam Cohen, Yorktown
`Heights, NY (US); John Scott
`Houston, Hopewell Junction, NY (US);
`Jianren Li, Valhalla, NY (US); John
`Joseph Rofrano, Mahopac, NY (US);
`Josef Schiefer, White Plains, NY (US)
`
`Correspondence Address:
`Ryan, Mason & Lewis, LLP
`1300 Post Road, Suite 205
`Fairfield, CT 06430 (US)
`
`(73) Assignee:
`
`International Business Machines Cor-
`poration, Armonk, NY
`
`(21) Appl. No.:
`
`09/951,027
`
`(22) Filed:
`
`Sep. 11, 2001
`
`Publication Classification
`
`(51)
`
`Int. Cl.7 ..................................................... G06F 17/60
`
`(52) us. Cl.
`
`................................................................ 705/37
`
`(57)
`
`ABSTRACT
`
`A method and apparatus are disclosed for managing the
`versioning of business objects, such as contracts, advertise-
`ments, auction listings and RFQs. A state machine is used to
`represent a business process and manages the versioning of
`business objects associated with the business process. The
`present invention manages the original business object, the
`new version of the object, and any business objects that
`depend on the modified business object, if necessary. The
`business object remains in an active state during the modi-
`fication process, until the new version of the business object
`is available. The ner version of the business object remains
`in an inactive state during the modification process. The new
`version of the business object is transferred to an active state
`and the original business object is transferred to an inactive
`state when the modification is complete (e.g., when the
`modified business object is approved). If there are parent-
`child dependencies, the version management technique of
`the present invention updates a child object that is dependent
`on the modified business object, as appropriate.
`
`£0°>t
`
`02.17
`
`
`ventzdeactwateApprLIst
`
`
`
`
`
`‘9,"
`3 VJ—
`/\/. 0’
`vemi9nAppr‘We'L'St
`[Version Guarldjl
`VersmnApprLlstCmd
`
`am
`
`_ am?
`Event:ereateApproverListVersion
`
`
`. 0"
`C90
`3 (9'
`6‘
`
`@fi
`r' 9388‘?)0‘96
`
`we)“ ‘0“
`ppmVeZ Guard] / 22f
`
`RejeetApprList md
`6W9 {695
`
`Q
`0‘9 x
`
`
`
`
`deactivateApprLIs
`
`[Deactivate Guard] /
`DeactuxazerpmstCmd
`
`
`
`
`
`approveApproverList1 [Approvet Guard]/
`fkpuz‘overprLestCmcii
`
`000001
`000001
`
`BSP SOFTWARE LLC 1006
`BSP SOFTWARE LLC 1006
`
`

`

`Patent Application Publication Mar. 13, 2003 Sheet 1 of 5
`
`US 2003/0050886 A1
`
`
`
`action—150
`
`event—130
`
`Guard—140
`
`100
`
`000002
`000002
`
`PRIORART
`
`FIG.1
`
`

`

`Patent Application Publication Mar. 13, 2003 Sheet 2 0f 5
`
`US 2003/0050886 A1
`
`029-;
`
`Q00
`E
`
`ventzdeacfivateAppmst
`
`$0
`
`
`, aw
`EventzcreateApproverListersion
`
`
`
`
`
`
`‘o
`213’
`6“"
`
`
`#6290“
`@8959
`
`
`
`reieCtApprList I‘ oprove2 Guard]/ 22f
`versionApproverList
`o‘e"\i16‘\
`
`QNQ‘ (Qé‘
`ReiectApprUst md
`[Version Guard]/
`
`Q
`(flagst
`VersionApprListCmd
`6301
`
`
`
`
`
`
`deactivateApprList
`[Deactivate Guard] /
`Deactwaze/XopniésiCmd
`
`
`
`
`
`appmveApproverLisfl [Approve1 Guard]!
`llgsz'oveAgprLestCmc1
`
`FIG. 2
`
`000003
`000003
`
`

`

`Patent Application Publication Mar. 13, 2003 Sheet 3 0f 5
`
`US 2003/0050886 A1
`
`300
`1a
`
`387
`
`EventdeactivateRFQ
`
`EventzupdateRFQRefermce
`
`
`
`
`
`‘%
`
`
`39‘!
`fist/r
`versionRFQ [Version Guard] /
`VersionRFQCnfi
`
`
`
`
`
`
`
`
`
`rejectRFQ [App ve1Guardll
`RejectRFQCmd
`
`
`
`
`
`approveRFQ1 [Approve1 Guard]!
`AggroveRFQCn'sdi
`
`
`deacfivateRFQ [Deactivate Guard
`DescfiveteRFQde
`
`FIG. 3
`
`000004
`000004
`
`

`

`Patent Application Publication Mar. 13, 2003 Sheet 4 0f 5
`
`US 2003/0050886 A1
`
`RFQ RESPONSE TABLE — 400
`
`
`RFQ
`IDENTIFIER
`
`RFQ RESPONSE
`PARAMETERS
`
`
`
`RFQ RESPONSE
`iDENTIFIER
`440
`
`FIG. 4
`
`000005
`000005
`
`

`

`Patent Application Publication Mar. 13, 2003 Sheet 5 0f 5
`
`US 2003/0050886 A1
`
`m.Umm
`
`mmwb
`
`A<EEME
`
`@28un
`
`MMOBBMZ
`
`clawHzgzogyzm
`
`S
`
`mm>mmmmm?
`
`qu
`
`m0mmmmoomm
`
`almw
`
`
`
`Hum—“mommmZHme
`
`ZOHmMmE/
`
`mmO<Z<2
`
`qmlm
`
`000006
`000006
`
`
`
`
`
`
`

`

`US 2003/0050886 A1
`
`Mar. 13, 2003
`
`METHOD AND APPARATUS FOR MANAGING
`THE VERSIONING OF BUSINESS OBJECTS
`USING A STATE MACHINE
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`[0001] The present invention is related to United States
`Patent Application entitled “Method and Apparatus for
`Automatic Transitioning Between States in a State Machine
`That Manages a Business Process,” (Attorney Docket Num-
`ber SOM920010005USl), United States Patent Application
`entitled “Method and Apparatus for Creating and Managing
`Complex Business Processes,” (Attorney Docket Number
`SOM920010007USl), United States Patent Application
`entitled “Method and Apparatus for Monitoring Execution
`of a Business Process Managed Using a State Machine,”
`(Attorney Docket Number SOM920010008US1), United
`States Patent Application entitled “Method and Apparatus
`for Managing and Displaying User Authorizations for a
`Business Process Managed Using a State Machine,” (Attor-
`ney Docket Number SOM920010009USl) and United
`States Patent Application entitled “Method and Apparatus
`for Managing a User Group List For a Business Process
`Managed Using a State Machine,” (Attorney Docket Num-
`ber SOM9200100010US1), filed contemporaneously here-
`with, assigned to the assignee of the present invention and
`incorporated by reference herein.
`
`FIELD OF THE INVENTION
`
`[0002] The present invention relates generally to tech-
`niques
`for
`representing business processes
`as
`state
`machines, and more particularly, to a method and apparatus
`for managing the versioning of business objects.
`
`BACKGROUND OF THE INVENTION
`
`[0003] Business processes, such as those used to manage
`auctions, contracts, and requests for quotes (RFQs), often
`require the posting of business objects, such as contracts,
`advertisements, auction listings and RFQs, for review by
`many people. Of course, it is often necessary to revise or
`alter such business objects after they have been posted. In
`many cases, it would be preferable if these changes could be
`made without making the object inaccessible or unusable.
`Currently, however, a user must cancel the original business
`object and create a new object with the modified parameters.
`There is also no convenient mechanism for automatically
`notifying anyone that may be impacted by the contemplated
`changes.
`
`[0004] When the modifications to the object must be
`approved, or
`involve other potentially time-consuming
`actions, the need for constant accessibility becomes even
`more critical. After all, while a new version of the object is
`being developed, the current version of the object remains
`active and valid. While it is important to create and approve
`the modifications in a speedy and efficient manner,
`the
`primary concern is to have the transition be both smooth and
`complete.
`
`[0005] Automatic version control is fairly commonplace
`for the management of objects, such as documents. Version
`control is similarly needed for business objects, such as
`RFQs and contracts. However, versioning such business
`objects may be more complex, especially when these busi-
`
`ness objects may have parent-child relationships with other
`business objects. A need therefore exists for a method and
`apparatus for managing the versioning of business objects,
`such as RFQs and contracts, that maintain constant acces-
`sibility of the business object throughout the modification
`process. Yet another need exists for a method and apparatus
`for managing the versioning of business objects that updates
`any child objects in an appropriate manner.
`
`SUMMARY OF THE INVENTION
`
`[0006] Generally, a method and apparatus are disclosed
`for managing the versioning of business objects, such as
`contracts, advertisements, auction listings and RFQs. The
`present invention uses a state machine to represent a busi-
`ness process and manages the versioning of business objects
`associated with the business process. The present invention
`manages both the original business object and the new
`version of the object, and also updates any business objects
`that depend on the modified business object, if necessary.
`
`the
`[0007] According to one aspect of the invention,
`business object remains in an active state during the modi-
`fication process, until the revised business object is avail-
`able. The new version of the business object can be created
`using one or more attributes of the original business object,
`one or more modified attributes and, optionally, a reference
`to the original business object. The new version of the
`business object remains in an inactive state during the
`modification process. The new version of the business object
`is transferred to an active state and the original business
`object is transferred to an inactive state when the modifica-
`tion is complete (e.g., when the modified business object is
`approved).
`
`In addition, if there are parent-child dependencies,
`[0008]
`the version management technique of the present invention
`updates a child object that is dependent on the modified
`business object. The dependent business object is updated in
`accordance with a business process associated with the
`dependent object. For example, dependent business objects,
`such as responses to the business object, can be updated to
`refer to the new version of the business object. In addition,
`a notification about the modification can be automatically
`sent to a submitter of a response to the modified business
`object.
`
`[0009] A more complete understanding of the present
`invention, as well as further features and advantages of the
`present
`invention, will be obtained by reference to the
`following detailed description and drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0010] FIG. 1 illustrates an exemplary conventional state
`machine having two states for managing a business process;
`
`[0011] FIG. 2 illustrates a state machine for managing the
`versioning of an exemplary approval list in accordance with
`the present invention;
`
`[0012] FIG. 3 illustrates a state machine for managing the
`versioning of an exemplary RFQ in accordance with the
`present invention;
`
`[0013] FIG. 4 is a sample table from an exemplary RFQ
`response table incorporating features of the present inven-
`tion; and
`
`000007
`000007
`
`

`

`US 2003/0050886 A1
`
`Mar. 13, 2003
`
`[0014] FIG. 5 illustrates an exemplary network environ-
`ment in which the present invention can operate.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`[0015] The present invention focuses on a state machine-
`based business process that manages the versioning of
`business objects. The present invention provides a powerful
`approach for managing the versioning of business objects. It
`manages both the original object and the new version of the
`object in a controlled and structured way. This invention also
`provides a means for keeping child objects up-to-date. Thus,
`the present invention applies to the immediate object being
`versioned, and also deals with objects connected to the
`original object in a parent-child relationship.
`
`State Machine Terminology
`
`[0016] Business processes can be represented using a state
`machine. State machines provide a way to control the set of
`events and actions that may be performed throughout the life
`cycle of a business object. The Unified Modeling Language
`(UML) provides a standardized syntax for describing state
`machines. FIG. 1 is an example illustrating a state machine
`100 having two states 110, 120 with a single transition 115
`leading from the Start state 110 to the Active state 120. The
`transition 115 is composed of three parts. First, there is an
`event 130 that defines what may cause this transition 115 to
`be attempted. Second, one or more guards 140 determine
`whether or not the transition 115 may be taken based upon
`some predefined criteria, such as the authority of the user or
`certain values associated with the business object. Finally,
`the action 150 provides a means for identifying logic that
`may act upon, or on behalf of, the object being managed by
`the state machine 100. Thus, if the transition 115 is allowed
`according to the guards 140, then the action 150 is per-
`formed and the object moves into the Active state 120. The
`various components of a transition 115 can be expressed
`using the notation “event [guard] action.”
`
`[0017] For a more detailed discussion of techniques for
`managing business processes using a state machine, see, for
`example, US patent application Ser. No. 09/818,719, filed
`Mar. 27, 2001, entitled “E-Market Architecture for Support-
`ing Multiple Roles and Reconfigurable Business Processes,”
`August—Wilhelm Scheer, ArisiBusiness Process Modeling,
`Springer Verlag, 1999 or Peter Muth et al., Enterprise-Wide
`Workflow Management Based on State and Activity Charts,
`in A. Dogac, L. Kalinichenko, T. Ozsu, A. Sheth (Editors),
`Workflow Management Systems
`and
`Interoperability,
`Springer Verlag, 1998, each incorporated by reference
`aerein.
`
`:0018] FIG. 2 illustrates a state machine 200 for managing
`he versioning of an approval list in accordance with the
`3resent invention. FIG. 2 illustrates the management of an
`original object and a new version of the object. An approver
`list is a list of one or more individuals who are allowed to
`
`approve transactions, in a known manner. The approver list
`nay be referenced continuously by other business processes
`and business objects. Thus,
`it is critical that it be easily
`accessible and continuously available.
`
`
`
`:0019] The state machine 200 contains provisions for
`nanaging original objects and versions generated from the
`original objects, and includes the process for replacing the
`
`000008
`000008
`
`original object with a new version of the object (once
`approved). The state machine 200 uses traditional UML
`notation to describe the transitions: “event[guard]/action.”
`
`[0020] A reorganization within a business, for example,
`may require a change to the list of individuals on the
`approver list. As shown in FIG. 2, a person with the
`appropriate authority may invoke the versionApproverList
`event 245 for the approver list when the list is in an Active
`state 240. The transition 242 defined with the versionAp-
`proverList event 245 for the active state 240 is then selected.
`The guards of the transition 242 are assessed to determine
`whether or not the individual who generated the versionAp-
`proverList event 245 has the authority to invoke the transi-
`tion 242. If the individual is found to have the authority by
`the Version Guard, then a VersionApprListCmd command
`(the defined “action” associated with the transition 242) is
`executed and the command generates a createApproverList-
`Version event 247, as shown in FIG. 2. Once this createA-
`pproverListVersion event 247 is generated, the VersionAp-
`prListCmd
`command
`is
`complete,
`and
`the
`versionApproverList
`transition 242 completes with the
`original object (the original version) returning to the same
`Active state 240.
`
`the createApproverListVersion event
`[0021] Meanwhile,
`247 causes a new object to be created beginning at the Start
`state 210 of the same state machine 200 that generated the
`event. The transition 215 associated with the createApprov-
`erListVersion event 212 leaving the Start state 210 is
`selected, and its guards are assessed. If the guards are
`successfully passed, the CreateApprListVersionCmd copies
`attributes from the original version of the object, handles any
`editing of the object, and finally saves it along with a
`reference to the original object before entering a pending
`state 220 at the end of the transition (the App_pending2 state
`220). In this pending state 220, according to this exemplary
`state machine 200, the new version of the object waits for a
`person with Approve2 authority to either approve or reject
`the changes contained in the new object which is now in the
`App_pending2 state 220. If an approver rejects the new
`version of the object, then the object will be moved to the
`Rejected state 235.
`
`[0022] However, if an approver approves the new version
`of the object,
`the ApproveApprListVersionCde will be
`executed. The ApproveApprListVersionCde action must
`perform several operations to complete the versioning effort
`and this transition 225 must do more than just move the new
`version into the Active state 240. One important function to
`perform is to raise the deactivateApprList event 227 for the
`original object. This event will be handled by an event
`handler and will move the old version of the object into the
`Inactive state 250. The new version of the object will be
`moved into the Active state 240 to replace the old version.
`These actions may all be included within the same transac-
`tion scope to ensure that the overall action is atomic.
`
`If the object being managed is more complex, such
`[0023]
`as with a Request For Quote (RFQ) object, there may be
`additional concerns to address. The object that
`is being
`versioned may have multiple business objects (such as RFQ
`Responses) dependent upon it under a parent-child relation-
`ship. Because of the flexibility and power of the method of
`the present invention, only simple modifications are required
`to the state machine 200 from the previous Approver List
`example to address the dependency issues.
`
`

`

`US 2003/0050886 A1
`
`Mar. 13, 2003
`
`[0024] FIG. 3 illustrates a state machine 300 for managing
`the versioning of an RFQ in accordance with the present
`invention. This process will manage both the original and
`new versions of the RFQ, and also cause necessary changes
`to be made for any dependent objects using their own
`business process. The information contained in the depen-
`dent objects will be updated appropriately with the infor-
`mation from the new RFQ request object. If any state
`changes are needed for the dependent objects, the next states
`to move these objects into will depend on the business
`processes to which those objects belong.
`
`[0025] The most significant change to the RFQ state
`machine 300 shown in FHG. 3 relative to the Approver List
`state machine 200 shown in FIG. 2 (other than the names of
`the events, guards and commands) is to the actions per-
`formed by the command on the transition from the App-
`_pending2 state 320 to the Active state 340. In addition to
`managing the current object and generating an event to
`handle the old version, this command must also deal with
`any objects that were dependent upon the old version of the
`object. For example, RFQ responses to the old version of the
`RFQ object are dependent on the parent RFQ object.
`
`[0026] To move the original object to Inactivc state 350,
`the current object is moved to the Active state 340, an
`identifier is obtained for the original object, e.g., from a
`FlowInstance table, and a synchronous deactivateRFQ event
`is raised to move the original object to the inactive state 350.
`In addition, if there are dependent objects that must be
`updated, an exemplary RFQ response table 400, discussed
`below in conjunction with FIG. 4, using the RFQ flow
`identifier to obtain the list of related RFQ responses. For
`each RFQ response, an updateRFQReference event is raised.
`
`[0027] Although the actual effects upon these child objects
`may vary depending on the specific business situation, two
`exemplary actions that may be performed on the child RFQ
`responses are discussed herein. These actions may include
`updating references in the RFQ responses to refer to the new
`version of the RFQ object and sending notifications to these
`object owners that their original RFQ has changed. If the
`actions from ApproveRFQCmd2 (associated with transition
`325) cause a change in the state of the child objects, then
`these changes must be handled by their own managing
`processes. These changes will be triggered by the Approv-
`eRFQCmd2 generating the appropriate event for each child
`object to cause the appropriate action to be taken in each
`case. For example, the RFQ responses may be moved into
`canceled states that are defined in the business processes of
`each of the response. Each canceled state may have its own
`conditions and actions depending on the individual RFQ
`response.
`
`[0028] FIG. 4 is a sample table from an exemplary RFQ
`response table 400 incorporating features of the present
`invention. As shown in FIG. 4, the RFQ response table 400
`includes a plurality of records, such as records 401-406,
`each associated with a different response to an RFQ. For
`each RFQ response identified in field 440, the RFQ response
`table 400 indicates the corresponding RFQ in field 450 and
`any parameters defined in the response in field 460. In this
`manner, the RFQ identifier in field 450 is used to determine
`the dependency information. Thus,
`if a given RFQ is
`updated in accordance with the present invention, the RFQ
`response table 400 can be searched for all RFQ responses
`
`that are directed to the affected RFQ. If desired, a notifica-
`tion of the revised RFQ can be sent to the submitter of each
`corresponding RFQ response.
`
`[0029] FIG. 5 illustrates an exemplary network environ-
`ment 510 in which the present invention can operate. As
`shown in FIG. 5, a web server 520 communicates over a
`network 510 with a user terminal 560. For example, the user
`560 may submit a response to an RFQ to the web server 520.
`The RFQ handling process that coordinates the flow of the
`RFQ by the web server 520 may be managed in accordance
`with a business object version manager 550 incorporating
`features of the present invention, as discussed above in
`conjunction with FIG. 3. The network 510 can be any wired
`or wireless network for transferring information, such as a
`data network or a telephone network.
`
`[0030] Memory 540 will configure the processor 530 to
`implement
`the methods, steps, and functions disclosed
`herein. The memory 540 could be distributed or local and the
`processor 530 could be distributed or singular. The memory
`540 could be implemented as an electrical, magnetic or
`optical memory, or any combination of these or other types
`of storage devices. The term “memory” should be construed
`broadly enough to encompass any information able to be
`read from or written to an address in the addressable space
`accessed by processor 530. With this definition, information
`on a network 510 is still within memory 540 of the web
`server 520 because the processor 530 can retrieve the
`information from the network 510.
`
`[0031] As is known in the art, the methods and apparatus
`discussed herein may be distributed as an article of manu-
`facture that itself comprises a computer readable medium
`having computer readable code means embodied thereon.
`The computer readable program code means is operable, in
`conjunction with a computer system, to carry out all or some
`of the steps to perform the methods or create the apparatuses
`discussed herein. The computer readable medium may be a
`recordable medium (e.g., floppy disks, hard drives, compact
`disks, or memory cards) or may be a transmission medium
`(e.g., a network comprising fiber-optics,
`the world-wide
`web, cables, or a wireless channel using time-division
`multiple access, code—division multiple access, or other
`radio-frequency channel). Any medium known or developed
`that can store information suitable for use with a computer
`system may be used. The computer-readable code means is
`any mechanism for allowing a computer to read instructions
`and data, such as magnetic variations on a magnetic media
`or height variations on the surface of a compact disk.
`
`It is to be understood that the embodiments and
`[0032]
`variations shown and described herein are merely illustrative
`of the principles of this invention and that various modifi-
`cations may be implemented by those skilled in the art
`without departing from the scope and spirit of the invention.
`What is claimed is:
`
`1. A method for modifying a business object managed by
`a state machine, said method comprising the steps of:
`
`maintaining said business object in an active state during
`said modification;
`
`creating a new version of said business object, said new
`business object version having one or more attributes of
`said original business object and one or more modifi-
`cations to said original attributes;
`
`000009
`000009
`
`

`

`US 2003/0050886 A1
`
`Mar. 13, 2003
`
`maintaining said new business object version in an inac-
`tive state during said modification; and
`
`maintain said business object in an active state during
`said modification;
`
`transferring said new business object version to an active
`state and said original business object to an inactive
`state when said modification is complete.
`2. The method of claim 1, wherein said business object is
`a contract.
`
`3. The method of claim 1, wherein said business object is
`an offer for sale.
`4. The method of claim 1, wherein said business object is
`a request for quotes.
`5. The method of claim 1, wherein said business object is
`associated with a trading mechanism.
`6. The method of claim 1, further comprising the step of
`evaluating an authority of an initiator of said modification.
`7. The method of claim 1, further comprising the step of
`including a reference to said original business object in said
`new business object.
`8. The method of claim 1, wherein said transferring step
`is conditioned upon appropriate approvals for said modifi-
`cation.
`9. The method of claim 1, further comprising the step of
`updating a child object that is dependent on said business
`object.
`10. The method of claim 9, wherein said step updating
`said dependent object is performed in accordance with a
`business process associated with said dependent object.
`11. The method of claim 9, wherein said step of updating
`said dependent object further comprises the step of updating
`references in responses to said business object to refer to
`said new business object version.
`12. The method of claim 9, wherein said step of updating
`said dependent object further comprises the step of sending
`a notification of said modification to a submitter of a
`
`response to said business object.
`13. Amcthod for modifying a business object managcd by
`a state machine, said method comprising the steps of:
`
`maintaining said business object in an active state during
`said modification;
`
`modifying said business object to create a new version of
`said business object; and
`
`activating said new business object version when said
`modification is complete.
`14. The method of claim 13, further comprising the step
`of evaluating an authority of an initiator of said modifica-
`tion.
`
`15. The method of claim 13, further comprising the step
`of including a reference to said original business object in
`said new business object.
`16. The method of claim 13, wherein said activating step
`is conditioned upon appropriate approvals for said modifi-
`cation.
`
`17. The method of claim 13, further comprising the step
`of updating a child object that is dependent on said business
`object.
`18. A system for modifying a business object managed by
`a state machine, comprising:
`
`a memory that stores computer-readable code; and
`
`a processor operatively coupled to said memory, said
`processor configured to implement said computer-read-
`able code, said computer-readable code configured to:
`
`create a new version of said business object, said new
`business object version having one or more attributes
`of said original business object and one or more
`modifications to said original attributes;
`
`maintain said new business object version in an inac-
`tive state during said modification; and
`
`transfer said new business object version to an active
`state and said original business object to an inactive
`state when said modification is complete.
`19. A system for modifying a business object managed by
`a state machine, comprising:
`
`a memory that stores computer-readable code; and
`
`a processor operatively coupled to said memory, said
`processor configured to implement said computer-read-
`able code, said computer—readable code configured to:
`
`maintain said business object in an active state during
`said modification;
`
`modify said business object to create a new version of
`said business object; and
`
`activate said new business object version when said
`modification is complete.
`20. An article of manufacture for modifying a business
`object managed by a state machine, comprising:
`
`a computer readable medium having computer readable
`code means embodied thereon, said computer readable
`program code means comprising:
`
`a step to maintain said business object in an active state
`during said modification;
`
`a step to create a new version of said business object,
`said new business object version having one or more
`attributes of said original business object and one or
`more modifications to said original attributes;
`
`a step to maintain said new business object version in
`an inactive state during said modification; and
`
`a step to transfer said new business object version to an
`active state and said original business object to an
`inactive state when said modification is complete.
`21. An article of manufacture for modifying a business
`object managed by a state machine, comprising:
`
`a computer readable medium having computer readable
`code means embodied thereon, said computer readable
`program code means comprising:
`
`a step to maintain said business object in an active state
`during said modification;
`
`a step to modify said business object to create a new
`version of said business object; and
`
`a step to activate said new business object version when
`said modification is complete.
`
`00001 0
`000010
`
`

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