throbber
SFDC 1004
`SFDC 1004
`
`
`
`
`
`
`
`
`
`

`
`(12) United States Patent
`Gordon et al.
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US006243717Bl
`US 6,243, 717 Bl
`Jun.5,2001
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) SYSTEM AND METHOD FOR
`IMPLEMENTING REVISION MANAGEMENT
`OF LINKED DATA ENTITIES AND USER
`DEPENDENT TERMINOLOGY
`
`(75)
`
`Inventors: Brian Scott Gordon, San Jose; David
`Ralph Preston, Los Gatos; Lee Sean
`Henry, Campbell, all of CA (US)
`
`(73) Assignee: Camstar Systems, Inc., Campbell, CA
`(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/156,325
`
`(22) Filed:
`
`Sep. 18, 1998
`
`Related U.S. Application Data
`(60) Provisional application No. 60/098,784, filed on Sep. 1,
`1998.
`Int. Cl? ...................................................... G06F 12/00
`(51)
`(52) U.S. Cl. ............................................. 707/203; 707/511
`(58) Field of Search ..................................... 707/203, 202,
`707/201, 200, 204, 205, 1, 2, 511
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,499,365 * 3/1996 Anderson et a!.
`................... 395/600
`5,734,899 * 3/1998 Yoshizawa eta!. ................. 707/203
`5,806,078 * 9/1998 Hug eta!. ............................ 707/511
`5,819,295 * 10/1998 Nakagawa eta!. .................. 707/203
`5,878,428 * 3/1999 Copeland eta!. ................... 707/103
`5,890,176 * 3/1999 Kish et a!.
`........................... 707/511
`5,897,636 * 4/1999 Kaeser ................................. 707/100
`5,983,241 * 11/1999 Hoshino ............................... 707/203
`6,014,676 * 1!2000 McClain ............................... 707/204
`
`* cited by examiner
`
`Primary Examiner-Thomas Black
`Assistant Examiner-Mary D. Wang
`(74) Attorney, Agent, or Firm-Wagner, Murabito & Hao
`LLP
`
`(57)
`
`ABSTRACT
`
`A system and method for implementing revision manage(cid:173)
`ment of linked data entities and user dependent terminology.
`The present invention provides a novel method to implement
`revision management so that when a referenced data record
`is revised, no manual updating of any referencing data
`record is required to reflect the corresponding change. When
`defining a referencing data record, a user designates a choice
`of version of the referenced data record to be used with the
`referencing data record thereafter. Specifically, the user can
`either specify a particular version, in which case that par(cid:173)
`ticular version of the referenced data record will be used
`when the referencing data record is subsequently accessed,
`or the user can elect to use the "revision of record", in which
`case the version of the referenced data record currently
`identified as the "revision of record" will be used. The
`present invention also provides a method to implement user
`dependent terminology in a computer implemented system
`without requiring any user programming. Specifically, when
`a user logs in, the system determines the appropriate lan(cid:173)
`guage and values of customizable terms for the user by
`checking the associated language and terminology set pre(cid:173)
`viously defined for the user. Thereafter, the system displays
`the custom value of the customizable term if it is defined
`within the terminology set associated with this user;
`otherwise, if it is defined within the language set associated
`with this user the system displays the corresponding repre(cid:173)
`sentation of that customizable term in the user's chosen
`language; otherwise, the system displays the default value
`for the customizable term.
`
`21 Claims, 14 Drawing Sheets
`
`STORE A FillS! VERSION Of A REVISIONABIE MODEilliG ENTITY
`(RME)
`JlO
`
`STORE A GENERAL MODEilliG ENTITY (GMI) WHICH RIIERENCES
`THE RME AND SPECIIliS A CHOICE Of VERSION
`
`320
`
`OPTIONAllY STORE A NEWIR VERSION OF !HI RME
`
`WAIT lOR A REQUEST TO RIIRIIVE !HI GME
`
`DYNAMICAllY RETRIIVE THE GMI WITH !HI PROPER VERSION
`Of !HI RMI AS SPECIIlED IN STEP 320
`1lQ
`
`SFDC 1004
`
`

`
`__ 1_~-~--~----------------------------------------------------------------------------------------------------------------------------------- ------------,
`
`104
`
`PROCESSOR
`
`106
`
`VOLATILE
`MEMORY
`
`108
`
`NON-VOLATILE
`MEMORY
`
`' ' '
`'
`
`------------------------------------.. -----~--------------------_.
`
`Address/Data Bus 102
`
`d •
`\Jl
`•
`~
`~ ......
`~ = ......
`
`~
`
`Ul
`
`~ = ?
`N c c
`'"""'
`
`DATA STORAGE
`UNIT
`
`INPUT OUTPUT
`SIGNAL UNIT
`
`Optional
`ALPHANUMERIC
`INPUT DEVICE
`
`Optional
`CURSOR CONTROL
`DEVICE
`
`110
`
`112
`
`114
`
`116
`
`Optional
`DISPLAY
`DEVICE
`
`118
`
`I
`
`I
`
`' '
`------------------------------------------------------------------------------------------------·
`
`FIGURE 1
`
`'JJ. =-~
`~ .....
`'"""' 0 ......,
`'"""' ~
`
`e
`
`rJ'l
`0'1
`'N
`~
`~
`~
`1--"
`""-l
`~
`1--"
`
`

`
`U.S. Patent
`
`Jun.5,2001
`
`Sheet 2 of 14
`
`US 6,243, 717 Bl
`
`200
`
`WORKBENCH
`240
`-
`
`~
`
`r
`
`CLIENT APP
`260
`,,
`PUBLISHED INTERFACE 230
`
`l
`
`~~
`
`CLIENT APP
`250
`
`-
`
`CLIENT APP
`270
`-
`
`~
`
`lr
`
`-
`
`-
`
`APPLICATION SERVER
`210
`
`-
`
`DATA SERVER
`220
`
`-
`
`,
`
`DATABASE
`250
`-
`
`FIGURE 2
`
`

`
`U.S. Patent
`
`Jun.5,2001
`
`Sheet 3 of 14
`
`US 6,243, 717 Bl
`
`GMEI
`31
`
`GME3
`33
`
`GME2
`32
`
`RME
`30
`
`FIGURE 3
`
`

`
`BASE RECORD 40
`
`INSTANCE
`IDENTinCI TION
`
`NAME
`
`REVISION OF RECORD
`
`DESCRIPTION
`
`40a
`
`709
`t
`41
`
`MY_SPEC
`t
`42
`
`1632
`t
`43
`
`43a
`
`- - -
`
`44
`
`FIGURE 4A
`
`d •
`\Jl
`•
`~
`~ ......
`~ = ......
`
`~Ul
`
`~ = ?
`N c c
`'"""'
`
`'JJ. =(cid:173)~
`~ .....
`
`~
`0 ......,
`'"""' ~
`
`e
`
`rJ'l
`0'1
`'N
`~
`~
`1--"
`""-l
`~
`1--"
`
`

`
`REVISIONS
`
`45
`
`B!SE_ID
`
`INSTANCE ID
`
`REVISION
`
`DETAILS
`
`45a
`
`45b
`
`45c
`
`709
`
`709
`
`709
`
`46
`
`1632
`
`1631
`
`1630
`
`41
`
`A
`
`B
`
`c
`
`48
`
`- - -
`
`- - -
`
`- - -
`
`49
`
`FIGURE 48
`
`d •
`\Jl
`•
`~
`~ ......
`~ = ......
`
`~
`
`Ul
`
`~ = ?
`N c c
`'"""'
`
`'JJ. =(cid:173)~
`
`~
`Ul
`0 ......,
`'"""' ~
`
`e
`
`rJ'l
`0'1
`'N
`~
`~
`1--"
`""-l
`~
`1--"
`
`

`
`U.S. Patent
`
`Jun.5,2001
`
`Sheet 6 of 14
`
`US 6,243, 717 Bl
`
`300
`
`(
`
`START
`+
`STORE A FIRST VERSION OF A REVISIONABLE MODELING ENTITY
`(RME)
`310
`-
`
`+
`STORE A GENERAL MODELING ENTITY (GME) WHICH REFERENCES
`THE RME AND SPECIFIES A CHOICE OF VERSION
`
`320
`-
`+
`OPTIONALLY STORE A NEWER VERSION OF THE RME
`
`330
`-
`
`+
`WAIT FOR A REQUEST TO RETRIEVE THE GME
`
`340
`-
`
`+
`DYNAMICALLY RETRIEVE THE GME WITH THE PROPER VERSION
`OF THE RME AS SPECIFIED IN STEP 320
`350
`-
`
`+
`END
`
`FIGURE 5
`
`

`
`U.S. Patent
`
`Jun.5,2001
`
`Sheet 7 of 14
`
`US 6,243,717 Bl
`
`60
`
`REVISION ABLE
`RECORD ID
`
`VERSION
`NUMBER
`
`SELECT
`ROR?
`
`?
`
`YES/NO
`
`~I
`r2
`
`118
`
`FIGURE 6
`
`

`
`350
`
`EXAMINE THE CHOICE OF RME VERSION FOR THE GME
`BEING RETRIEVED
`410
`
`YES
`+
`SELECT THE VERSION OF THE RME THAT IS SPECIFIED
`.AS THE REVISION OF RECORD FOR THE GME
`430
`
`NO
`+
`SELECT THE PARTICULAR VERSION OF THE RME .AS
`SPECIFIED IN THE CHOICE FOR THE GME
`440
`
`\
`
`END
`
`/~
`
`FIGURE 7
`
`d •
`\Jl
`•
`~
`~ ......
`~ = ......
`
`~Ul
`
`~ = ?
`N c c
`'"""'
`
`'JJ. =(cid:173)~
`~ .....
`00
`0 ......,
`'"""' ~
`
`e
`
`rJ'l
`0'1
`'N
`~
`~
`1--"
`""-l
`~
`1--"
`
`

`
`U.S. Patent
`
`Jun. 5, 2001
`
`Sheet 9 of 14
`
`US 6,243, 717 Bl
`
`80
`
`( 82
`
`USER ID
`
`( 83
`LANGUAGE
`
`Bla '
`Bib '
`Blc
`""""'
`
`Bid
`""""'
`
`Ble
`""""'
`
`5
`
`7
`
`10
`
`15
`
`20
`
`* * *
`
`DEFAULT
`
`FRENCH
`
`FRENCH
`
`GERMAN
`
`DEFAULT
`
`* * *
`
`FIGURE 8A
`
`

`
`U.S. Patent
`
`Jun. s, 2001
`
`Sheet 10 of 14
`
`US 6,243, 717 Bl
`
`85
`
`{ 86
`
`{ 88
`TERMINOLOGY SET
`
`USER ID
`
`87a '
`87b """\
`
`81c '
`87d """\
`
`87e '
`
`5
`
`7
`
`10
`
`15
`
`20
`
`DEFINED SET A
`
`DEFINED SET B
`
`DEFAULT SET
`
`DEFINED SET 1l
`
`DEFINED SET C
`
`* * *
`
`* * *
`
`FIGURE 88
`
`

`
`90 I t::J LABELS [CSIField)
`Select a label category
`to work with:
`CSI!dminSys
`CSIField
`CSIStatusBar
`CSIWhatThis
`CSIHelpURL
`CSIInformation
`CSI!cknowledgement
`CSI!uthorization
`CSI!ction
`CSIReject
`CSI!pplication
`CSISevere
`CSIFatal
`Other Field
`OtherStatusBar
`OtherWhatThis
`OtherHelpURL
`Otherlnformation
`Other Acknowledgement
`Other Authorization
`
`• -
`
`1--
`
`-
`
`~
`
`Enter the text to create a new label in the selected category:
`
`Text
`LabeUD
`~ 0010-0005 Bonus Reasons:
`0100-0006 Defect Reasons:
`0010-0002 Description:
`0010-0015 Disallowed Transaction(s)
`0010-000B In-Transit Point
`0010-000C Inventory Point
`0010-0007 Local Rework Reasons:
`0010-0008 Loss Reasons:
`0010-0001 Name:
`0010-0004 Notes:
`0010-000D Outside Service
`0010-0009 Rework Reasons:
`0010-000! Ship Codes:
`0010-000E Summary Throughput
`0010-000F Throughput Reporting Level:
`0010-0016 Use Queue
`l
`
`....
`
`I
`
`Name
`BonusReasons
`DefectReasons
`Description
`DisallowedTxns
`InTransitPoint
`Inventory Point
`LocaiReworkReasons
`LossReasons
`Name
`Note
`OutsideService
`ReworkReasons
`ShipCodes
`SummaryThroughput
`ThuReportingLevel
`UseQueue
`
`1-lolx I
`
`I~
`•
`
`,
`
`\
`
`\
`
`~
`
`I~
`
`92
`
`94
`FIGURE 9
`
`96
`
`d •
`\Jl
`•
`~
`~ ......
`~ = ......
`
`~Ul
`
`~ = ?
`N c c
`""""
`
`'JJ. =(cid:173)~
`~ .....
`""""
`"""" 0 ......,
`"""" ~
`
`e
`
`rJ'l
`0'1
`'N
`~
`~
`1--"
`""-l
`~
`1--"
`
`

`
`U.S. Patent
`
`Jun.5,2001
`
`Sheet 12 of 14
`
`US 6,243, 717 Bl
`
`500
`
`START
`
`ASSOCIATE USER ID'S WITH RESPECTIVE LANGUAGES
`510
`
`ASSOCIATE USER ID'S WITH RESPECTIVE TERMINOLOGY SETS
`520
`
`RECEIVE .A USER LOGIN WHICH INCLUDES .A USER ID
`530
`
`DETERMINE THE LANGUAGE ASSOCIATED WITH THE LOGIN USER
`ID BASED ON THE ASSOCIATIONS EST. IN STEP 510
`540
`
`DETERMINE THE TERMINOLOGY SET ASSOCIATED WITH THE LOGIN
`USER ID BASED ON THE ASSOCIATIONS EST. IN STEP 520
`550
`
`REPEAT FOR EACH
`CUSTOMIZABLE TERM
`
`REPEAT FOR EACH
`CUSTOMIZABLE TERM
`
`DEFINED IN TERM.
`SET IDEN. IN STEP 550?
`560
`
`YES
`
`NO
`
`DISPLAY THE CUSTOMIZABLE TERM
`AS DEFINED IN THE TERMINOLOGY
`SET IDENTIFIED IN STEP 550
`570
`
`NO
`
`DEFINED IN
`LANGUAGE IDEN. IN STEP 540?
`565
`
`DISPLAY THE CUSTOMIZABLE TERM
`AS DEFINED IN THE DEFAULT
`LANGUAGE
`590
`
`DISPLAY THE CUSTOMIZABLE TERM
`AS DEFINED IN THE LANGUAGE
`IDENTIFIED IN STEP 540
`580
`
`FIGURE 10
`
`

`
`U.S. Patent
`
`Jun. 5, 2001
`
`Sheet 13 of 14
`
`US 6,243, 717 Bl
`
`605
`
`[J START
`CONTAINER START
`User:
`NickA
`
`Container:
`I Container I
`
`Product:
`I YlOOlOOO
`
`Resource:
`I MOlPOl
`Factory:
`
`Unit Count:
`640 ~
`
`, ............................. ,
`i GO
`i
`
`L---==--------'
`
`CLOSE
`
`645
`
`650
`
`FIGURE 11A
`
`

`
`U.S. Patent
`
`Jun. 5, 2001
`
`Sheet 14 of 14
`
`US 6,243, 717 Bl
`
`655
`~I
`
`10 Commencer
`6 so, COMMENCER
`r- - Persone:
`66 5,.. --1 StephanH
`651
`f- Contenus:
`
`r I Container)
`
`67
`r- f- Produit:
`I YlOOIOOO
`5
`67
`,--- r- Resource:
`I MOIPOI
`0
`68
`
`r f- Usine:
`
`68
`I SPI
`,--- f- Compte:
`0 [I]
`69
`
`I
`
`1-IDIXI
`
`I
`
`I
`
`I
`
`I
`
`I
`
`, ------------,
`! OK
`~
`~----~------1
`
`I \
`\
`
`695
`
`Fermer
`-
`
`\
`\.I
`700
`
`FIGURE 118
`
`

`
`US 6,243,717 Bl
`
`1
`SYSTEM AND METHOD FOR
`IMPLEMENTING REVISION MANAGEMENT
`OF LINKED DATA ENTITIES AND USER
`DEPENDENT TERMINOLOGY
`
`The present application claims priority to the provisional
`application entitled "INSITE COMPUTER IMPLE(cid:173)
`MENTED SYSTEM" by Gordon, et al. (serial No. 60/098,
`784, attorney docket number CAMS-OOl.PRO) filed on Sep.
`1, 1998 pursuant to 35 U.S.C. §119(e), 37 C.P.R. §1.78.
`
`BACKGROUND OF THE INVENTION
`
`5
`
`2
`In addition, while modern computer implemented systems
`often support some user customizations, the level of support
`is usually limited and inflexible. For example, some prior art
`computer implemented systems provide an arbitrary selec-
`tion of settings or configurations from which a user can
`choose to activate. However, the choices thus provided are
`generally limited and, more often than not, do not meet the
`distinct preferences and needs of a user. Often, the customi(cid:173)
`zations are implemented using technical procedures that are
`10 not known to the end user, thereby requiring an expert to
`implement.
`Other prior art off-the-shelf computer implemented sys(cid:173)
`tems allow users to override certain default configurations of
`the systems as shipped, but the users must programmatically
`15 develop the desired configurations to replace the default
`system configurations. Such additional development efforts
`not only incur extra costs to the user but also increase the
`time required to fully deploy the system.
`Moreover, such program modules for user customizations
`20 are typically not supported by the system vendors because
`the modules are not considered standard components of the
`off-the-shelf systems. This translates into further additional
`costs and resources for supporting and maintaining the
`ongoing use of the customized systems.
`Furthermore, a user with a customized system may not be
`able to take advantage of a later upgrade of the underlying
`off-the-shelf system released by the system vendor. This is
`because the customizing modules developed based on the
`older version of the off-the-shelf system may not be com(cid:173)
`patible with the newer version of the system. Under such
`circumstances, the user must either consume yet more
`resources to retrofit the customizing modules in order to
`upgrade to the new version of the underlying system and
`35 utilize any new features provided therein, or elect not to
`upgrade and thus be stuck with less desirable, antiquated
`technology.
`Thus, there exists a need for a computer implemented
`system and method for data storage and retrieval wherein a
`referencing data record does not need to be manually
`updated when the corresponding referenced data record is
`revised. Further, there exists a need for a computer imple(cid:173)
`mented system and method for data storage and retrieval
`wherein data integrity and system reliability are not com-
`45 promised by outdated references arising from revisions of
`individual data records. In addition, there exists a need for
`a computer implemented system and method for data storage
`and retrieval which allows user customizations and does not
`restrict the customization to a few arbitrary choices. There
`also exists a need for a computer implemented system and
`method for data storage and retrieval that supports user
`customizations but does not impose costly development and
`maintenance expenditures upon the user and does not
`adversely affect the user's ability to migrate to improved
`55 versions of the system when they become available.
`
`25
`
`1. Field of the Invention
`The present invention relates to the field of computer
`implemented systems. More specifically, the present inven(cid:173)
`tion relates to techniques for managing revisionable data
`records and user dependent terminology within a computer
`implemented system.
`2. Related Art
`Modern computer implemented systems generally include
`functionalities by which data is stored, updated and
`accessed. In these computer implemented systems, data
`records are stored in a retrievable storage (e.g., a database
`residing in magnetic and/or optical media), and cross refer(cid:173)
`ences or links among related data records are common.
`Typically, such cross references are stored in the retrievable
`media together with the associated data records. In the prior
`art, a user typically has to manually update all data records
`that reference a data record whenever the referenced data 30
`record is revised to ensure that any changes in the referenced
`data record are reflected accordingly in the referencing data
`record(s). Alternatively, the user has to specifically write a
`program or script to perform the same updating task. Numer(cid:173)
`ous drawbacks exist for these prior art schemes. First,
`manual updating or additional programming as required in
`the prior art is error prone. For instance, if any referencing
`data record is not updated due to an omission or undetected
`programming error, the user is not alerted about the missing
`update and the integrity of the data is compromised. 40
`Furthermore, when an outdated referencing data record is
`itself referenced subsequently, it may even propagate the
`incorrect information with respect to the first referenced data
`record, thereby further degrading data integrity.
`Furthermore, these prior art methods are time consuming
`and inefficient. For example, every time a change is made to
`a data record, the user must first determine whether any
`other data records are affected via cross referencing. If so,
`the user must then either manually perform the necessary
`updates to the affected data records or develop a dedicated 50
`program or script to perform the task. Such extensive
`manual steps involved in the actual updating of affected data
`records or developing a program to perform the same take up
`user time which can otherwise be devoted to more produc(cid:173)
`tive endeavors.
`Yet another disadvantage of the prior art methods is that
`there exists an inevitable delay before a cross reference is
`actually updated. More specifically, when a data record is
`revised, those data records that reference it need to be
`updated accordingly. However, even if the user begins 60
`updating the referencing data records immediately after the
`referenced data record has been modified, there is still a
`possibility that the referencing record(s) are accessed prior
`to the corresponding update. Under such circumstances, an
`outdated reference results and data integrity is again com- 65
`promised. As such, the overall reliability of the computer
`implemented system is adversely affected.
`
`SUMMARY OF THE INVENTION
`
`Accordingly, the present invention offers a system and
`method for data storage and retrieval wherein revision
`management of linked data entities are automated while
`ensuring system reliability and data integrity, and wherein
`flexible user dependent terminology is implemented without
`requiring programming. The present invention provides a
`novel method for implementing revision management so
`that when a referenced data record is revised, no manual
`updating of any referencing data record is required to reflect
`the corresponding change. When defining a referencing data
`
`

`
`US 6,243,717 Bl
`
`10
`
`4
`the RME referenced in a GME in accordance with one
`embodiment of the present invention.
`FIG. 7 is a flow diagram illustrating steps of a computer
`system implemented process for dynamically determining
`the proper version of a RME to use when a referencing GME
`is being retrieved in accordance with the present invention.
`FIGS. SA and 8B are exemplary tables illustrating the data
`structures used to implement user dependent terminology in
`accordance with one embodiment of the present invention.
`FIG. 9 is an exemplary logical illustration showing a
`graphical user interface for defining labels within a termi(cid:173)
`nology set and the default terminology set in accordance
`with the present invention.
`FIG. 10 is a flow diagram illustrating steps of a computer
`system implemented process for implementing user depen(cid:173)
`dent terminology in accordance with the present invention.
`FIGS. llA and llB are exemplary graphical user inter(cid:173)
`faces with labels in different languages as a result of
`20 different login user IDs in accordance with the present
`invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`3
`record, a user designates a choice of version of the refer(cid:173)
`enced data record to be used with the referencing data record
`thereafter. Specifically, in one embodiment, the user can
`either specify a particular version number, in which case that
`particular version number of the referenced data record will 5
`be used when the referencing data record is subsequently
`accessed, or the user can elect to use the "revision of
`record", in which case a predefined version (e.g., the most
`current version) of the referenced data record will be used.
`Moreover, the present invention also provides a method
`for implementing user dependent terminology in a computer
`implemented system without requiring any user program(cid:173)
`ming. Specifically, in one embodiment, when a user logs in
`to the computer system, the computer system determines the
`appropriate language and values of customizable terms for 15
`the user by checking the associated language and terminol(cid:173)
`ogy set previously defined for the user. The selection is
`therefore based on the user identification and is very trans(cid:173)
`parent to the user. Thereafter, the computer system displays
`the custom value of the customizable term if it is defined
`within the terminology set associated with this user;
`otherwise, the system displays the corresponding represen(cid:173)
`tation of that customizable term in the user's chosen lan(cid:173)
`guage. Lastly, if none of the above are defined, a default
`language set is used.
`Thus, by providing a user-driven yet fully automated
`method for revision management of linked data records, the
`present invention eliminates the need of the prior art for
`manual updates of referencing data records when the cor(cid:173)
`responding referenced data record is revised. Further, data
`integrity and system reliability are dramatically enhanced by
`preventing errors arising from manual updates and by
`enabling instantaneous, automatic update of referenced data
`records by virtue of the "revision of record" designation. In
`addition, the user transparent and flexible customization
`capabilities afforded by the present invention while impos(cid:173)
`ing no programming overhead greatly improves the usability
`and versatility of customizable systems. These and other
`advantages of the present invention not specifically
`described above will become clear within discussions of the 40
`present invention herein.
`
`25
`
`In the following detailed description of the present
`invention, a system and method for implementing revision
`management of linked data entities and user dependent
`terminology, numerous specific details are set forth in order
`to provide a thorough understanding of the present inven-
`30 tion. However, it will be recognized by one skilled in the art
`that the present invention may be practiced without these
`specific details or with equivalents thereof. In other
`instances, well known methods, procedures, components,
`and circuits have not been described in detail as not to
`35 unnecessarily obscure aspects of the present invention.
`
`NOTATION AND NOMENCLATURE
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Some portions of the detailed descriptions which follow
`are presented in terms of procedures, steps, logic blocks,
`processing, and other symbolic representations of operations
`on data bits within a computer memory. These descriptions
`and representations are the means used by those skilled in
`the data processing arts to most effectively convey the
`45 substance of their work to others skilled in the art. A
`The accompanying drawings, which are incorporated in
`procedure, computer executed step, logic block, process,
`and form a part of this specification, illustrate embodiments
`etc., is here, and generally, conceived to be a self-consistent
`of the present invention and, together with the description,
`sequence of steps or instructions leading to a desired result.
`serve to explain the principles of the invention.
`The steps are those requiring physical manipulations of
`FIG. 1 is a general purpose computer system which
`provides an operational platform for embodiments of the 50 physical quantities. Usually, though not necessarily, these
`quantities take the form of electrical or magnetic signals
`present invention.
`capable of being stored, transferred, combined, compared,
`FIG. 2 is a high level block diagram of an exemplary
`and otherwise manipulated in a computer system. It has
`configuration of the computer implemented system in accor(cid:173)
`proven convenient at times, principally for reasons of com-
`dance with the present invention.
`55 mon usage, to refer to these signals as bits, values, elements,
`FIG. 3 is a high level diagram illustrating the relationship
`symbols, characters, terms, numbers, or the like.
`between an RME and several referencing GMEs in accor(cid:173)
`It should be borne in mind, however, that all of these and
`dance with the present invention.
`similar terms are to be associated with the appropriate
`FIGS. 4A and 4B are logical diagrams illustrating the data
`physical quantities and are merely convenient labels applied
`structures used to represent an exemplary RME in accor(cid:173)
`60 to these quantities. Unless specifically stated otherwise as
`dance with the present invention.
`apparent from the following discussions, it is appreciated
`FIG. 5 is a flow diagram illustrating steps of a computer
`that throughout the present invention, discussions utilizing
`system implemented process for realizing the novel method
`terms such as "storing", "appointing", "generating",
`of revision management in accordance with the present
`"receiving", "linking" or the like, refer to the action and
`invention.
`65 processes of a computer system (e.g., FIG. 1), or similar
`FIG. 6 is a diagram illustrating an exemplary graphical
`electronic computing device, that manipulates and trans(cid:173)
`user interface for user designation of a choice of version of
`forms data represented as physical (electronic) quantities
`
`

`
`US 6,243,717 Bl
`
`5
`within the computer system's registers and memories into
`other data similarly represented as physical quantities within
`the computer system memories or registers or other such
`information storage, transmission or display devices.
`Aspects of the present invention, described below, are 5
`discussed in terms of steps executed on a computer system.
`These steps (e.g., processes 300, 350 and 500) are imple(cid:173)
`mented as program code stored in computer readable
`memory units of a computer system and are executed by the
`processor of the computer system. Although a variety of 10
`different computer systems can be used with the present
`invention, an exemplary general purpose computer system
`100 is shown in FIG. 1.
`COMPUTER SYSTEM ENVIRONMENT
`In general, computer system 100 includes an address/data
`bus 102 for communicating information, a central processor
`104 coupled with the bus for processing information and
`instructions, a volatile memory 106 (e.g., random access
`memory RAM) coupled with the bus 102 for storing infor(cid:173)
`mation and instructions for the central processor 104 and a
`non-volatile memory 108 (e.g., read only memory ROM)
`coupled with the bus 102 for storing static information and
`instructions for the processor 104. Computer system 100
`also includes a data storage device 110 ("disk subsystem")
`such as a magnetic or optical disk and disk drive coupled
`with the bus 102 for storing information and instructions.
`Data storage device 110 can include one or more removable
`magnetic or optical storage media (e.g., diskettes, tapes)
`which are computer readable memories. Memory units of
`system 100 include 106, 108 and 110. Computer system 100
`can also include a signal input output communication device
`112 (e.g., modem, network interface card NIC) coupled to
`the bus 102 for interfacing with other computer systems.
`Also included in computer system 100 of FIG. 1 is an
`optional alphanumeric input device 114 including alphanu(cid:173)
`meric and function keys coupled to the bus 102 for com(cid:173)
`municating information and command selections to the
`central processor 104. Computer system 100 also includes
`an optional cursor control or directing device 116 coupled to
`the bus 102 for communicating user input information and
`command selections to the central processor 104. An
`optional display device 118 can also be coupled to the bus
`102 for displaying information to the computer user. Display
`device 118 may be a liquid crystal device, other fiat panel
`display, cathode ray tube, or other display device suitable for
`creating graphic images and alphanumeric characters rec(cid:173)
`ognizable to the user. Cursor control device 116 allows the
`computer user to dynamically signal the two dimensional
`movement of a visible symbol (cursor) on a display screen 50
`of display device 118. Many implementations of cursor
`control device 116 are known in the art including a trackball,
`mouse, touch pad, joystick or special keys on alphanumeric
`input device 114 capable of signaling movement of a given
`direction or manner of displacement. Alternatively, it will be 55
`appreciated that a cursor can be directed and/or activated via
`input from alphanumeric input device 114 using special keys
`and key sequence commands. The present invention is also
`well suited to directing a cursor by other means such as, for
`example, voice commands.
`It is appreciated that computer system 100 described
`herein illustrates an exemplary configuration of an opera(cid:173)
`tional platform upon which embodiments of the present
`invention can be implemented. Nevertheless, other com(cid:173)
`puter systems with differing configurations can also be used 65
`in place of computer system 100 within the scope of the
`present invention.
`
`6
`FIG. 2 is a high level block diagram of an exemplary
`configuration of the computer implemented system in accor(cid:173)
`dance with the present invention. One embodiment of the
`computer implemented system of the present invention is a
`Manufacturing Execution System (MES) for integrating and
`managing information from the factory floor and for pro-
`viding production management capabilities and factory
`automation solutions. Specifically, in one embodiment, sys(cid:173)
`tem 200 includes application server 210, which encapsulates
`business rules and application logic as data objects and
`access methods, thus enabling flexible and powerful mod(cid:173)
`eling of manufacturing data and processes. In a preferred
`embodiment, the novel method of revision management of
`the present invention is implemented within data server 220
`15 and exposed through application server 210. In one
`embodiment, multiple application servers can be maintained
`within system 200 to provide for additional scalability of the
`system.
`System 200 also includes data server 220 and database
`20 250. Data server 220 is responsible for managing the trans(cid:173)
`lation of data from objects (e.g., modeling entities such as
`configurable data objects (CDOs)) in application server 210
`to the proper database format for storage in database 250,
`and vice versa. Thus, data is retrieved from and stored to
`25 database 250, with the appropriate translation, via data
`server 220. In one embodiment, database 250 is a relational
`database management system (RDBMS), thereby allowing
`the use of industry standard tools for data access. Examples
`of commercially available RDBMS's include SQL Server
`30 V6.5+ for Windows NT by Microsoft Corporation and
`Oracle 7.3+ for Windows NT or UNIX by Oracle Corpora(cid:173)
`tion. In one embodiment, communications between data
`server 220 and database 250 are supported via open database
`connectivity (ODBC), thus enabling full database indepen-
`35 deuce.
`With reference still to FIG. 2, in one embodiment, system
`200 further includes workbench 240 and client applications
`250, 260 and 270. Workbench 240 provides a collection of
`user applications to facilitate object and model definitions,
`40 user and security management, and also database configu(cid:173)
`rations. Client applications 250, 260 and 270 are application
`extensions that enhance and/or customize the functionalities
`of system 200 and may include third party off-the-shelf
`applications, user developed custom applications, additional
`45 user interfaces, and the like. It is appreciated that client
`applications 250, 260 and 270 are entirely optional to system
`200. Users of system 200 can implement more or fewer
`client applications based on their own needs within the
`scope of the present invention.
`Still referring to FIG. 2, in one embodiment, application
`server 210 communicates with data server 220 via named
`pipes. In particular, using named pipes provides for scal(cid:173)
`ability of system 200 by delivering data from multiple
`applications running on one or more application servers. On
`the other hand, application server 210 communicates with
`workbench 240 and client applications 250, 260 and 270
`through published interface 230. Published interface 230 is
`a consistent, public interface which serves as a bridge
`between application server 210 and client applications 250,
`60 260 and 270 and also workbench 240. In one embodiment,
`published interface 230 is built upon Microsoft's COM/
`DCOM and Active X technologies. As such, users of system
`200 can easily customize and/or extend the functionalities of
`the system by adding application extensions, such as client
`applications 250, 260 and 270, which are compliant with
`these industry sta

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