throbber
United States Patent (19)
`Cason et al.
`
`US0060353OOA
`Patent Number:
`11
`(45) Date of Patent:
`
`6,035,300
`Mar. 7, 2000
`
`54 METHOD AND APPARATUS FOR
`GENERATING A USER INTERFACE FROM
`
`5,659,723 8/1997 Dimitrios et al. ...................... 395/614
`5,713,014
`1/1998 Durflinger et al. ..................... 395/604
`
`THE ENTITYIATTRIBUTE/RELATIONSHIP
`
`MODEL OF A DATABASE
`75 Inventors: Stanley Phillip Cason, Johnson City,
`N.Y.; Mark Anthony Musa, Williston,
`Vt.
`
`73 Assignee: International Business Machines
`Corporation, Armonk, N.Y.
`
`21 Appl. No.: 08/572,988
`
`Dec. 15, 1995
`22 Filed:
`7
`51) Int. Cl.' ...................................................... G06F 17/00
`52 U.S. Cl. ..................
`7/102; 707/104; 345/333
`58 Field of Search .................................... 707/1, 2, 103,
`707/104,102,100; 345/333-335
`
`56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5. 3.E. E. - - - - - - - - - - - - - - - - - - - - - - - - - - - S.
`2Y- - - 2
`Ollilla el al. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5,832,498 11/1998 Exertier ................................... 707/103
`FOREIGN PATENT DOCUMENTS
`
`04127370 4/1992 Japan.
`WO9324896 12/1993 WIPO.
`OTHER PUBLICATIONS
`IBM Technical Disclosure Bulletin, vol. 27, No. 4A, Sep.
`1984, "Automated Engineering Schedule Algorithm, pp.
`2028-2030.
`IBM Technical Disclosure Bulletin, vol. 33, No. 9, Feb.
`1991, “Interactive Schema Diagram to Visually Represent
`Tables of Related Data and Meaningful Joins Between
`Tables' pp. 243-246
`Research Disclosure: 31720, Sep. 1990, No. 317, Method to
`Maintain Discarded Information in a Graphical Interface.
`Logic Works Erwin Methods Guide, Copyright Logic
`Works, 1989–95, pp. 13–29, 53 & 55.
`Mighty Morphin Programming Packages Flatten the Back
`log Curve, Sep. 12, 1995, J. Brooks, S. Cason.
`
`G. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 33. Business Area Analysis. Using ADW, Copyright by Data
`alarajan .....
`- - - -
`
`5: 3.
`2Y-a-
`
`... 395/600
`5,193,183 3/1993 Bachman .....
`... 3S4/401
`5,233,513 8/1993 Doyle ...............
`5,235,673 8/1993 Austvold et al. ......................... 395/76
`5,249,300 9/1993 Bachman et al.
`... 395/800
`5,261,044 11/1993 Dev et al. ........
`... 395/159
`5,291,587 3/1994 Kodosky et al. ...
`... 395/500
`5,303,146 4/1994 Ammirato et al. ..
`... 364/401
`5,315,709 5/1994 Alston, Jr. et al. ..
`... 395/600
`5,335,323 8/1994 Kolnick ............
`... 395/164
`5,448,686 9/1995 Borrel et al......
`... 395/120
`5,550,971
`8/1996 Brunner et al...
`... 395/161
`5,555,365 9/1996 Selby et al. ......
`... 395/159
`5,594,899
`1/1997 Knudsen et al. .
`... 395/600
`5,627,979 5/1997 Chang et al. ........................... 395/335
`
`Base Management, Inc. DBMI, Data Management Inc.
`Primary Examiner Paul V. Kulik
`Attorney, Agent, Or Firm-Ratner & Prestia; Arthur J.
`Samodovitz
`
`ABSTRACT
`57
`A computer system modeling tool generates a working user
`interface from the entities, attributes and relationships of a
`data model while assuring referential data integrity and and
`enforcing cardinalit
`9.
`y.
`
`8 Claims, 27 Drawing Sheets
`
`---------------------------
`
`O4
`1.
`112 NDEPARTMENT (OBJECT)
`114 - DEPT NUM
`DEP NAME
`116- DEPT MGR EMPLNUM
`DEP MGR NAME
`(ATRIBUTES)
`
`
`
`
`
`
`
`
`
`p1
`
`124
`- 136 SPECIFC PANEL
`OPEN DEPARTMENT
`ACTION BAR ACTIONS
`
`140
`
`DEPT NUM -
`DEP NAME D- 142
`DEPT MGREMPL NUM
`DEPT MGR NAME
`
`
`
`k
`ser-r-
`
`--w-le
`
`reror-rr
`
`AS MANY
`
`'m
`
`1 O2
`SPECIFC DATA MODEL
`?
`(RELATIONSHIPS)
`EMPLOYEET (OBJECT) - 106
`is a
`EMPL NUM
`(KEY) - 108
`20
`Bios i-DEF-NUM mSv
`m
`PHONE NUM
`OFFICE NUM
`TITLE
`(ATRIBUTES)
`
`- 10
`
`122
`SPECIFIC PANEL 1 T4-126
`e OPEN EMPLOYEE
`ACTION BARACTIONS
`DEPARTMENT PANELS
`
`
`
`128
`
`EMPL NUM
`DEPT NUM
`PHONE NUM
`OFFICE NUM
`TITLE
`
`132
`
`Salesforce Ex. 1006 – Page 1
`
`

`

`US. Patent
`
`Mar. 7, 2000
`
`Sheet 1 0f 27
`
`6,035,300
`
`No2\«agzwzozsmgSr\«d8:(:559%
`
`
`
`
`1E823%:22EB£22Ema
`
`9:1zazdzoEEDZJQEQQEIEEm:
`
`ABSmEEVE553:3
`
`
`
`EDZJQEOm2<znx§lamo
`
`mm—
`
`
`
`\dz:0:5QO
`
`
`
`._m_z<n_QEGMEmmm.—
`
`E
`\
`
`
`
`
`
`weEv:2255CEEv;2321532‘:
`
`
`
`>232m<I
`
`
`
`
`
`2::889$553w:9838EEK/EaN:
`
`EDZIJQEm
`
`NEE.
`
`I1UEDZJQEQRH3sz3mo:Ema
`NH232M201;N:HmszszmoH2:25%NHzaanmo
`
`m
`
`§<zimozlEma
`
`Salesforce Ex. 1006 — Page 2
`
`Salesforce Ex. 1006 – Page 2
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 2 of 27
`
`6,035,300
`
`- 4.252
`EMPLOYEE
`
`-
`
`/265
`5267 i?
`
`260
`
`268
`266
`
`wro
`
`262
`
`254
`COURSE
`
`256
`SALARY
`SCALE
`
`M P L o
`
`2 7 4.
`
`D E P A R T ME :
`
`
`
`Salesforce Ex. 1006 – Page 3
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 3 of 27
`
`6,035,300
`
`
`
`MANAGER
`MEMBER
`
`
`
`
`
`
`
`
`
`
`
`- - - - - - - - - - - - - - -
`
`168
`I - 164
`178
`EMPLOYEE NAME
`LEVEL
`i
`
`i
`
`u1
`156
`
`-
`
`182 - 184
`DEPT |
`DEPT
`i
`NAME
`P LAW
`P LAW
`
`
`
`
`
`
`
`186
`188
`190
`192
`EMPLOYEE EMPLOYEE EMPLOYEE EMPL
`#
`NAME
`TYPE
`LEVEL
`123456
`MANAGER
`147 141
`MARY | MEMBER
`
`Salesforce Ex. 1006 – Page 4
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 4 of 27
`
`6,035,300
`
`MANUFACTURES
`MANFACTURED AT
`
`10000}}d
`
`}}{\fTWS
`
`ETVOS
`
`SHOW]d
`
`
`
`Salesforce Ex. 1006 – Page 5
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 5 of 27
`
`6,035,300
`
`USER TERMINAL
`
`
`
`DATABASE REGION
`
`216
`
`218
`
`201
`
`Salesforce Ex. 1006 – Page 6
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 7, 2000
`
`Sheet 6 0f 27
`
`6,035,300
`6,035,300
`
`momxx
`
`\\ZOEZEMQENE
`
`AEvmz/‘zlwzamflmfi
`
`
`
`EUEZJEEzed;
`
`
`
`
`
`
`
`Lmom\
`
`x
`
`\
`
`zoEzEmEHES
`
`Emxz:
`
`mom\\\
`59:.x2:
`
`QEz<zum2E£m§E
`
`EVE/202E053
`
`Qbmzédgfinxz:
`
`E
`
`m2<2lm§_mmlo._m_n_ddr_o.—
`
`Qbmézdzamgz:
`
`EUEZJEEISE
`
`3m:x2:
`
`Salesforce Ex. 1006 — Page 7
`
`Salesforce Ex. 1006 – Page 7
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 7 of 27
`
`6,035,300
`
`224
`
`DELETE OLD
`RECORD
`
`220
`
`RECORD EDT
`INTERFACE
`
`236
`NVOKE A
`RELATIONSHIP
`CONTROL
`
`
`
`1N-(240
`DESCRIPTION- YES
`p
`
`242
`
`NO
`
`
`
`
`
`
`
`
`
`
`
`204
`
`ONLINE
`HELP
`
`ADD NEW
`RECORD
`
`i.S.S
`
`SEN &
`BTMAPS \
`
`NITIALIZATIONS
`& DEFAULTS
`
`222
`
`2O2
`
`217
`
`
`
`USER
`CUSTOM
`TABLE
`
`--
`208
`PPLICATION
`ENTY
`LIST
`
`F.G.
`F.G.
`1 OA 1 OB
`
`FG.10
`
`sis or
`216
`
`DESTINY
`META-DATA
`
`218
`
`USER'S O
`
`DATABASE
`
`FIG.10A
`
`Salesforce Ex. 1006 – Page 8
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 8 of 27
`
`6,035,300
`
`
`
`
`
`
`
`
`
`CHANGE
`RECORD KEY
`
`226
`
`230
`
`228
`
`SAVE CURRENT
`RECORD
`
`GET NEXT
`RECORD
`
`
`
`GET PREV
`RECORD
`
`
`
`234
`
`SELECT A
`RECORD
`
`--
`
`
`
`
`
`
`
`238
`
`
`
`PAGE
`INPUT EDITOR
`
`
`
`
`
`244
`
`ONE TO
`
`
`
`
`
`p
`
`246
`
`SELECT FROM
`MANY LIST
`
`FIG.10B
`
`Salesforce Ex. 1006 – Page 9
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 9 of 27
`
`6,035,300
`
`LINK-TABLE
`- 302
`'E'S.R."NYS
`TABLE PRIME NAME(FK
`TO.TABLE PRIMENAME(FK)
`LINK ORD BY NUM
`LINK PRIMENAME(FK)
`LINK SHORT DESC
`WINDOW. TYPE NAME(FK)
`LINK TYPE NAME(FK)
`CONTROL NAME(FK)
`LNK CONTROL TXT
`LINK TYPE FG
`LINK ID
`
`
`
`
`
`
`
`358---'
`
`350 LINKS FROM
`
`LNKS TO
`
`CONTAINS
`ESAN ALTERNATE KEY TO
`-522
`LINK-ID
`APPLSYS PRIME NAME(FK)
`LINK PRIME NAME
`
`HAS THIS
`
`LINK TYPE
`
`
`
`-18
`
`FIG.11
`
`Salesforce Ex. 1006 – Page 10
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 10 of 27
`
`6,035,300
`
`TABLE DEFINITION /
`APPLSYS. PRIME NAME(FK)
`TABLE PRIME NAME
`
`TABLE HQUAL NAME
`TABLE SHORT NAME
`TABLE SHORT DESC
`TABLED
`TABLEVERSION NUM
`
`348-) P
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIELD DEFINITION - 0
`APPLSYS PRIME NAME(FK)
`TABLE PRIME NAME(FK)
`FIELD PRIME NAME(FK)
`FIELD SHORT NAME
`FIELD SHORT DESC
`FIELD HEADER DESC
`FIELD DEFAULT CD(FK)
`FIELD DOMAIN_NAME(FK)
`CONTROL-NAME(FK)
`FIELD CONTROL TEXT
`FIELD REQUIRED FG
`FIELD, KEYFG
`FIELD LENGTH MS
`FIELD SEQ NUM
`FIELD ORDBY NUM
`FIELD LOOKUP NAME
`
`CONANS
`
`
`
`-526
`APPLSYS PRIME NAME(FK)
`LINK PRIMENAME
`
`HAS THIS
`
`(-364
`
`
`
`544
`---O
`LINK-FIELD
`(FK)
`APPLSYS PRIME NAME
`LINK PRIMENAME(FK)
`FIELD PRIMENAME(FK)
`TOFIELD.FIELD PRIMENAME(FK)
`LINK FIELD D
`
`
`
`
`
`-524
`
`-328
`
`EAR MODEL
`FIG.11B
`
`Salesforce Ex. 1006 – Page 11
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`6,035,300
`
`Sheet 11 of 27
`-402
`
`LINKS FROM
`
`43O
`
`LNKS TO
`4.32
`
`TABLE 3
`LINK-TABLE DEFS
`APPLSYS PRIME NAME:CHAR(8)
`TABLE PRIME NAME:CHAR(8)
`T TABLE PRIME NAME:CHAR(8)
`LINK ORDBY NUM:SMALLINT
`LINK PRIME NAME:CHAR(8)
`LINKSHORT DESC:VARCHAR(72)
`WINDOW. TYPE NAME:CHAR(8)
`Sir SES
`CONTROLNAME:CHAR(8
`LINK CONTROLTXT:CHAR(32)
`LINK TYPE FG:CHAR(1)
`LINK D:SMALLINT
`
`
`
`
`
`
`
`IS ANALTERNATEKEY TO
`
`- unu as a mm - - - - - - - - - - - - - - - army
`
`
`
`CONTAINS
`422
`
`HAS THIS
`
`-418
`TABLE 5,6
`TYPEDEF_LINKS
`LINK TYPE NAME:CHAR(8)
`LINK TYPE ID:SMALLINT
`LINK TYPE DESC:VARCHAR(72)
`
`
`
`
`
`PHYSICAL MODEL
`FIG.12A
`
`Salesforce Ex. 1006 – Page 12
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 12 0f 27
`
`6,035,300
`
`
`
`
`
`
`
`
`
`-404
`TABLE 1
`TABLE DEFINITIONS
`APPLYSYS PRIME NAME:CHAR(8)
`TABLE PRIME NAME:CHAR(8)
`TABLE HQUALNAME:CHART(8)
`TABLE SHORT NAME:CHAR(16)
`( TABLE SHORT DESC:VARCHAR(72)
`
`TABLE ID:SMALLINT
`TABLE VERSION NUM:DECIMAL(5,2)
`
`CONTAINS
`
`
`
`APPLSYS PRIMENAME:CHAR(8)
`FIELD PRIME NAME:CHAR(8)
`
`APPLSYS PRIME NAME:CHAR(8)
`LINK PRIME NAME:CHAR(8)
`FIELD PRIME NAME:CHAR(8)
`T FIELD PRIMENAME:CHAR(8)
`LINK FIELD ID:SMALLINT
`
`FIG.12B
`
`Salesforce Ex. 1006 – Page 13
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 13 of 27
`
`6,035,300
`
`-406
`FIELD DEFINITIONS
`TABLE 2
`APPLSYS PRIMENAME:CHAR(8)
`TABLE PRIMENAME:CHAR(8)
`FIELD PRIMENAME:CHAR(8)
`FIELD SHORT NAME:VARCHAR(72)
`FIELD SHORT DESC:VARCHAR(72)
`FIELD HEADER DESC:VARCHAR(72)
`FIELD DEFAULT CD:VARCHAR(72)
`FIELD TYPE NAME:CHAR(8)
`CONTROL NAME:CHAR(8)
`FIELD CONTROLTEXT:CHAR(32)
`FIELD REQUIRED FG:CHAR(1)
`FIELD, KEYFG:CHAR(1)
`FIELD LENGTH MS:SMALLINT
`FIELD SEQ NUM:SMALLINT
`FIELD ORDBY NUM:SMALLINT
`FIELD LOOKUP NAME:CHAR(8)
`
`440 N
`
`HAS THIS
`8-464
`
`-428
`TABLE 9,10
`TYPEDEFFIELDS
`FIELD TYPE NAME:CHAR(8)
`FIELD TYPE ID:SMALLINT
`FIELD_TYPE DESC:VARCHAR(72)
`
`
`
`FIG.12C
`
`FIG.
`F.G.
`FIG.
`12A 12B 12C
`
`FIG.12
`
`Salesforce Ex. 1006 – Page 14
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 14 Of 27
`
`6,035,300
`
`-310
`CONTROL NAME TABLE 7
`
`USES ----------------------1y--------------
`d
`Y352
`LINK-TABLE
`APPLSYS PRIME NAME(FK)
`TABLE PRIME NAME(FK)
`TO.TABLE PRIMENAME(FK)
`LINK ORDBY NUM
`LINK PRIMENAME(FK)
`LINKSHORT DESC
`WINDOW. TYPE NAME(FK)
`LINK TYPE NAME(FK)
`CONTROLNAME(FK)
`LINK CONTROL TXT
`LINK TYPE FG
`LINKID
`
`-302
`
`350 LINKS FROM
`
`
`
`LINKS TO
`
`358---
`
`FIG.13A
`
`ISAN ALTERNATE KEYIO
`
`i
`
`CONTAINS
`
`Salesforce Ex. 1006 – Page 15
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 15 of 27
`
`6,035,300
`
`FIG.13B
`
`DEFAULT VALUE
`DEFAULTNAME
`DEFAULT ID
`DEFAULT DESC
`
`-312
`
`...ISIDENTIFIED BY
`Y354
`
`
`
`DEFAULT DOMAIN 1
`FELD-DEFAULCD
`1 DEFAULT_NAME(FK)
`
`- - - - - - - - - - - - - - - - - - - - - - - - - m a USES------------------------- DEFAULTSTO
`
`1 --
`
`356
`b
`-506
`FIELD DEFINITION
`APPLSYS PRIMENAME(FK)
`TABLE PRIME NAME(FK
`FIELD PRIMENAME(FK)
`FIELD SHORT NAME
`FIELD SHORT DESC
`FIELD HEADER DESC
`P| FIELD DEFAULT CD(FK)
`FIELD DOMAIN_NAME(FK)
`CONTROLNAME(FK)
`FIELD CONTROL TEXT
`FIELD REQUIRED FG
`FIELD, KEYFG
`FIELD LENGTHMS
`FIELD, SEQ NUM
`FIELD ORDBY NUM
`FIELD LOOKUPNAME
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`304
`1.
`TABLE DEFINITION
`APPLSYS PRIMENAME(FK)
`TABLE PRIMENAME
`TABLE HQUAL NAME
`TABLE SHORT NAME
`TABLE SHORT DESC
`TABLE ID
`TABLE VERSION NUM
`
`
`
`
`
`
`
`
`
`
`
`CONTAINS
`334
`
`HAS
`APPLICATION SYSTEM
`APPLSYS PRIMENAME
`
`316
`
`336
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`P
`DESCRIBES
`P -340
`
`Salesforce Ex. 1006 – Page 16
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 16 of 27
`
`6,035,300
`
`LOOKS LIKE
`
`LINK-D
`APPLSYS PRIME NAME(FK)
`LINK PRIMENAME
`
`
`
`322
`
`342
`
`
`
`-120
`WINDOW TYPE
`WINDOW. TYPE NAME
`WINDOW. TYPE ID
`WINDOW. TYPE DESC
`
`FIG.13C
`
`Salesforce Ex. 1006 – Page 17
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 17 of 27
`
`6,035,300
`
`-526
`A TRIBUTE
`APPLSYS PRIMENAME(FK)
`LINK PRIMENAME
`
`HAS
`
`344-
`
`
`
`LINKS TO
`LINKS FROM
`
`1. J24
`
`
`
`LNK-FIELD
`APPLSYS PRIMENAME(FK)
`LINK PRIME NAME(FK)
`FIELD PRIMENAME(FK)
`TOFIELD.FIELD PRIMENAME(FK)
`LINK FIELD ID
`
`EAR MODEL
`FIG.13D
`
`Salesforce Ex. 1006 – Page 18
`
`

`

`US. Patent
`
`6,035,300
`
`
`
`
`
`
`
`..............fisméoéxsaimgETX
`.............1:I-zII----1--:-::-::--:----:Hmm:
`
`mum:__0EWEE835E200aEEK/Somme52EEgzméJoEzoo
`
`
`
`
`
`
`
`
`Amvm<xoum2<zJoEzoo
`
`\
`
`minimeibomafi
`
`
`
`_
`
`
`LA\I:_3.3m:2858baa:Ni:Mimi
`80%3EZHSEQ
`
`
`n.Egonoflmtgz:MaafizfixjoEzoouxz:
`
`
`
`
`
`
`
`Amvm<Iom§<zu§EQ0m>mfia<F
`
`Iw;53:59v2:
`\«Emalzgzozna,‘
`
` <¢fie:
`
`
`
`mboflmfiaxz:o avaEEZJEOI59:29:Q2:mAmvmfiamfzdgfiflmfiA8@Emgfi‘bmzzmmmwmwmfifim,ABEIBEZQEE35%SEEEEZJEEJSEm\x_5m:mzoEzEQIEmE\«@méomézAzanfimymifim:3mgmwas
`
`
`
`
`
`
`
`SANme<Iom<>HQmmmLEOImlmgmflrANNVM<IQK<>HUWMQleOIWIXZE8..I@«EBEZJOEZSu9.9289232zoafiififiazéomizdmtgz:m.HzflémemsfiElmxz:vam/‘Iomfzjatlzgzé
`
`
`
`
`
`
`A©FVK<IOME<Z.EOImlmngF|Amvm<loum2<zlm§mmlx23
`
`
`
`Salesforce Ex. 1006 — Page 19
`
`Salesforce Ex. 1006 – Page 19
`
`
`
`
`
`
`

`

`U.S. Patent
`
`6,035,300
`
`o] ] sinnyJºãTTTTTTTTTTTTTTTTTTTTTTTTT
`
`(9 1)\!\'HO:EWWNTITQW J?0 ||
`
`(ZZ), HORVAGOTI?ABO-JEB TAG GEHINGGI SI
`
`
`
`
`
`
`
`
`
`
`
`Salesforce Ex. 1006 – Page 20
`
`

`

`US. Patent
`
`6,035,300
`
`
`
`
`
`
`
`._
`
`11111111111I|11|o.11:111_MQ:Qa24328EEEzfiz,‘z<2____
`av,,,,,,,,n21%:m__
`AngEEZQEEis$3953
`
`mboddcgz:ml|l|l|1ll|._m20E1mxz:alaamm,8192:_7_u_M-_1
`t?\s.V59:
`
`
`mEméomézdzmldd:M@méomézdzgdda:Amvm<xonmz<z1uain.Ejéméddzgz:Ambm<zom<>uomwodmfimgooz;pzaémedatkogzé
`
`
`
`
`
`
`
`
`382:;mEméomzédémmgz:\\3.?ESmaogz§1bomat%Amvm<$m§m2<zdgfimain:0%M
`
`_
`
`01.0:
`
`
`
`Salesforce Ex. 1006 — Page 21
`
`Salesforce Ex. 1006 – Page 21
`
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 21 of 27
`
`6,035,300
`
`
`
`
`
`
`
`THGOW TWOIS), Hod
`
`Salesforce Ex. 1006 – Page 22
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 22 of 27
`
`6,035,300
`
`
`
`
`
`
`
`
`
`
`
`
`
`! | | | | } } | | | |
`
`Salesforce Ex. 1006 – Page 23
`
`

`

`US. Patent
`
`Mar. 7, 2000
`
`Sheet 23 0f 27
`
`6,035,300
`
`Em.
`AA“- 1.\‘__-V_____.___________.__..____.
`
`_2T:2:Nvm
`,358%3:Emma.—mzizoo9E52%?z<m.0%J“!
`
`
`o?_
`
`..........anan1$3$59
`\‘BEE:Xx9&2:
`
`AEEEEJEEIWEQQ<v:wizdgEdadflz
`
`.534figBEMEZJEEx2:
`
`m§<zlmmfilxzj
`
`ommolonEIxz:
`
`Elmmtlxz:
`
`MECx2:
`
`_
`
`.1
`
`___fi.a
`
`mmm.\‘ZEEOQQEEngllxzj
`
`o~m\\E:2,825,\g
`
`ommoleEOQIodE
`QEEZJEEISEEEB
`
`
`
`::Qbmézdzamddze2228SEQuiz/\zdzmnfixz:
`
`
`
`m2<zlz§ooddzEmizfiémlyflmg,‘
`
`QIodEIxz:
`
`
`
`MEZEEEOQE;
`
`
`
`ommoQQCIBQQZE,
`
`QIEEI‘soozE
`
`Salesforce Ex. 1006 — Page 24
`
`Salesforce Ex. 1006 – Page 24
`
`
`
`
`
`
`

`

`US. Patent
`
`Mar. 7, 2000
`
`Sheet 24 0f 27
`
`6,035,300
`
`
`
`
`
`.1IS:Emsmgimgbag:359:29:28baa:
`
`m;\\
`acfizfiézflsimoMo;\\EKEEEZJOEZS
`
`
`
`Ambm<zom<>uommoli2me
`
`
`
`Gem/$99jibe
`
`1AmsméofiéfljoEzoo
`
`Hz_.:<§md_1r6mkzoo
`
`
`mm:0J“Em:
`--:§-/l,..............om?“
`
`
`
`
`
`020‘Imo¢\\m59:$399:x2:
`
`
`
`
`
`FHim/EmZQbeglflmE
`
`35185242?£39:
`
`swvfiromzédzgflmé
`
`vaméoméz.mzilmaafi
`
`
`
`$E<Iom§<zdzgJams;
`
`
`
`$51332@251”.sz
`
`Efiémgzgmomogzz
`
`
`
`
`
`
`
`$528aKEBEZJEQIQSE20Emv23.avgzomézdgggz:
`
`2‘2atm<5m<>o$glaozmuflmé@fizomfizflmfilggz;
`
`
`
`«§fizomézdmOImlflmEAEK<IE<>NQBQE0132:
`$332392:zlzgmmglmzmfifwvaomEzJoEzoo
`
`232275?a“Eomzédmtgz:
`a.:E‘Iouoflltgz:
`
`Quméogéjogzoogz:
`
`
`
`Ejémélxz:
`
`___
`
`£57k:
`
`Salesforce Ex. 1006 — Page 25
`
`Salesforce Ex. 1006 – Page 25
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Mar. 7, 2000
`
`Sheet 25 0f 27
`
`6,035,300
`
`
`
`Agm<xom<>dolba<bolad:
`
`ASEEEXEJOEZSnew:
`
`AEEOEIEmsSmdd:
`EZEQNEIEIEE
`
`@mEomEszmfidd:
`
`Amvm<IQHmE<zJoEzoo
`
`Eméoumézdsxog13m:
`
`Ejémfiszflmgmolem:
`
`Hz_j<2mum211525IQdE
`
`anémsgzlamlod:
`
`4V:\22285353
`
`OHm:Ema
`O0g:m.
`
`NEmEmzoEzEmoIodE
`
`
`
`$E§9§<zdzg:93;
`
`Qm/‘Iomfzunglfims
`Qméomizdzgddc
`
`Amnvx<xom<>mz<zIEOImIQd:
`
`Amtw<10m<>uommelmmo<mzladi
`Qm<$m§uommolaormlemc
`
`
`Salesforce Ex. 1006 — Page 26
`
`Salesforce Ex. 1006 – Page 26
`
`
`
`
`

`

`US. Patent
`
`Mar. 7, 2000
`
`Sheet 26 0f 27
`
`6,035,300
`
`\‘ed:\\9x2:lllllllllllllJ_a?_N?“53553n_II|LrIIIIIIIIIIIIIIIIIIIIJ._“mmmaomoam?2:
`
`
`
`0£328Eumxgzzfis/fizfim:9:4,“,_72STWmm
`
`@fizomfizdgg192%:
`
`
`
`
`QEEEEZJEEIEE
`
`EoElmxz:n_aaElmxz:
`
`$3
`
`o$\\
`
`A
`
`mm
`
`E<Iom<>dmmelomfilx23
`
`Hz_._._<zmuo_lmmfilv_z:
`
`
`
`ed39:szxbanE
`
`Eméomizdmtgz:
`
`
`§\\¢”:9:mbougdcnxz:
`1.239:mgoDZEEBQE\m:
`
`
`
`
`
`35:32;uzglflmdg‘
`
`Egomfizdzzlgzz
`
`@mégmézdzmaddc
`
`BEEBEZJEE:32:
`
`
`
`523.2299odllxz:
`
`avmiomizgtggzg
`
`
`
`abm<zom§nomo021382;)
`
`ESEQQDQEIEQZE
`
`Salesforce Ex. 1006 — Page 27
`
`Salesforce Ex. 1006 – Page 27
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 27 Of 27
`
`6,035,300
`
`SHI?SWH
`
`
`
`
`
`
`
`01'6 ET8WI SOTB|BT3303d,\!
`
`(9)MWHO:BWVNTEdAITOTE?A
`
`Salesforce Ex. 1006 – Page 28
`
`

`

`6,035,300
`
`1
`METHOD AND APPARATUS FOR
`GENERATING A USER INTERFACE FROM
`THE ENTITY/ATTRIBUTE/RELATIONSHIP
`MODEL OF A DATABASE
`
`2
`This invention further comprises a method and System
`which generates from an entity, attribute, relationship (EAR)
`data model a working user interface. It is a further aspect of
`this invention that missing entities, attributes, or relation
`ships in the underlying data model are identified by use of
`the generated user interface, thus assuring completeness of
`the data model while maintaining the referential integrity
`and cardinality of the user interface.
`Other features and advantages of this invention will
`become apparent from the following detailed description of
`the presently preferred embodiment of the invention, taken
`in conjunction with the accompanying drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a graphical illustration of relationships in a
`Specific data model and a representative corresponding
`graphical user interface.
`FIG. 2 is a block diagram illustrating the Syntax used in
`the ADW database model.
`FIG. 3 is a block diagram illustrating yet another possible
`Syntax for modeling a database.
`FIG. 4 is a block diagram illustrating the ERwin database
`model Syntax.
`FIGS. 5 and 6 are graphical representations of relation
`ships in a specific data model illustrating the concepts of
`normalization and data integrity. FIG. 5 illustrates a nor
`malized data model, and FIG. 6 illustrates a denormalized
`data model.
`FIG. 7 is a block diagram illustrating a typical database
`model according to the ADW syntax.
`FIG. 8 is a block diagram illustration of a typical system
`for implementing the model of the invention.
`FIG. 9 is a graphical representation of the entity, attribute,
`relationship (EAR) model of the database model of an
`embodiment of the invention.
`FIG. 10 is a block diagram illustration of the method of
`the invention for generating a graphical user interface from
`an entity, attribute, relationship data model.
`FIG. 11 is a graphical representation of the entity,
`attribute, relationship (EAR) model of the database model of
`an expanded embodiment of the invention.
`FIG. 12 is a graphical representation of the physical
`model corresponding to the EAR database model of FIG. 11.
`FIG. 13 is a graphical representation of the entity,
`attribute, relationship (EAR) model of the user interface
`model of a preferred embodiment the invention.
`FIG. 14 is a graphical representation of the physical
`model corresponding to the EAR user interface model of
`FIG. 13.
`FIG. 15 is a graphical representation of the combined data
`base and user interface EAR models of FIGS. 11 and 13.
`FIG. 16 is a graphical representation of the combined data
`base and user interface physical models of FIGS. 12 and 14.
`
`BEST MODE FOR CARRYING OUT THE
`INVENTION
`AS previously noted, there is a need in the art for a facility
`which enables a user to avoid having to learn many com
`plicated Syntaxes, by allowing the user to design a database
`System at a user friendly interface, Such as a graphical user
`interface. Such a user need not understand, nor be required
`to access, the underlying data model to add, for example, an
`employee to a database including tables of employees and
`
`BACKGROUND OF THE INVENTION
`1. Technical Field of the Invention
`This invention relates to a computer application System
`for generating a working user interface, and more
`particularly, to a design tool that generates Such from the
`entities, attributes and relationships of a data model.
`2. Background Art
`There are currently many programs that help data mod
`elers create valid models of business areas. See, for example,
`15
`Logic Works ERwin Methods Guide, a publication of Logic
`Works, Inc., 1060 Route 206, Princeton, N.J. 08.540 (Logic
`Works ERwin is part of power builder series where ER
`means entity relationship and win means windows), and
`Application Development Workbench (ADW) of Knowl
`edgeware. See ADW Planning Workstation Basics User
`Guide, a publication of Knowledgeware, 3340 Peachtree
`Road, N.E. Atlanta, Ga. 30326 (currently doing business as
`Sterling Software).
`There are also many tools available to assist user interface
`designers generate user interfaces. See, for example, the
`graphical user interface (GUI) facilities as provided in
`Systems Applications and Products (SAP) in Data
`Processing, a product of SAP America Inc, Philadelphia, Pa.,
`IBM VisualAge for SmallTalk, IBM VisualAge C++ for
`OS/2, Hockware's Vispro RexX, and Borland's Object
`Vision 2.0. However, if the data modeller and the user
`interface designer are not working closely together, the
`resulting application will be lacking in either usability or
`data integrity.
`Thus, there is a need in the art for a facility which enables
`a user to avoid having to learn many complicated Syntaxes,
`by allowing the user to design a database System at a user
`friendly interface, Such as a graphical user interface. Such a
`user need not be required to read and understand the
`underlying data model.
`Products currently available for automatically generating
`a user interface do So only for entities and attributes, and
`relationships are not automatically created and checked. A
`further problem with current products and practices is that
`45
`usually a data model is written first, then the user interface
`is defined without, often, updating the data model. There is,
`therefore, a need to assure that as the user interface is
`developed, the underlying data model is updated-and fix
`ing one automatically fixes the other.
`Consequently, it is an object of the invention to provide an
`interface design tool that takes the entities, attributes, and
`relationships, with cardinality and optionality on data
`models, and generates therefrom a working user interface
`characterized by usability and assured data integrity. It is a
`further object of the invention to provide an interface design
`tool that directly accesses the entity, attribute, relationship
`(EAR) data model and generates an appropriate user inter
`face.
`
`25
`
`35
`
`40
`
`50
`
`55
`
`SUMMARY OF THE INVENTION
`This invention provides a method and data structure
`describing a database model with relationships in the user
`interface as first class, or dynamic, objects within the model
`itself-thus making relationships a part of the user interface
`along with entities and attributes, with referential integrity
`and cardinality resulting therefrom.
`
`60
`
`65
`
`Salesforce Ex. 1006 – Page 29
`
`

`

`6,035,300
`
`15
`
`25
`
`3
`Salaries. Typically, an employee must have a Salary. If the
`user enters a Salary that is not on the grid, the System of the
`invention would not permit the addition of the employee
`until the required salary is defined. If it were possible to add
`an employee without a Salary, there would be Something
`wrong with the data model. The modeling tool of the
`invention will facilitate and assure validation of entries to
`tables of this type. Alternatively, entries to other types of
`tables are permitted. For example, it is permitted, in a typical
`case, to add Salary Schedules to a Salary table even if an
`employee is not being added to the data base.
`Referring now to FIG. 1, by way of introduction to the
`modeling System of the invention, a description will be
`given of a typical entity, attribute, relationship (EAR) data
`model and a resulting user interface. A specific data model,
`which illustrates the concept of relationships, includes
`employee object 102 and department object 104. Employee
`table 102 includes object name 106, object key 108 and
`object attributes 110. Department table 104 includes object
`name 112, object key 114 and object attributes 116. Double
`arrow 118 indicates that department table 104 “has many”
`employee objects 102, and single arrow 120 indicates that
`employee object 102 “belongs to” department object 104.
`Thus, the relationship between objects 102 and 104 is
`defined by from and two fields within the two tables, in this
`instance, the Dept Num attribute and Dept Num key
`fields, respectively. (In this description, “table”, “entity” and
`“object may be used interchangeably.)
`Referring further to FIG. 1, the specific panel displays 122
`and 124 provide examples of graphical user interface (GUI)
`representations of the data model entities 102 and 104,
`respectively. GUI panel 122 includes title bar 126, action bar
`actions 128, pull down menus 130 and 134, and attribute
`fields 132. GUI panel 124 includes title bar 136, action bar
`138, pull down menues 140 and 144, and attribute fields 142.
`The user may, by entering attribute Dept Num in attribute
`field 132 and then activating department panel 134 bring up
`in window panel 124 the corresponding department panel, as
`is show by arrow 148, which corresponds to relationship 120
`of the data model. Similarly, by entering a particular Dept
`Mgr Name into attribute field 142 and activitaling employee
`panel 144, employee panel 122 is brought into the display
`window.
`Referring to FIGS. 2-4, various database modeling syn
`taxes are presented. First, In FIG. 2, the ADW syntax is
`illustrated, showing the cardinality relationships between
`employee table 252, course table 254, salary scale table 256,
`and other table 258. This is the syntax used hereafter in
`connection with FIG. 7. In accordance with the ADW
`syntax, relationships are illustrated by lines 260, 262, 264,
`50
`with min/max and max/min designations 0, 1 and > repre
`Senting the minimum and maximum cardinality values, Zero,
`one, and many (one or more), respectively. Thus, as is
`represented by line 260, min 266/max 268 represent the
`view which employee table 252 has of course table 254; that
`is, each employee 252 may have enrolled in Zero, one or
`many courses 254. Similarly, relationship 260 shows the
`view which course table 254 has of employee table 252, with
`min/max values 267/265 establishing that for each course
`254 there may be Zero, one or many employees enrolled.
`Similarly, the relationship 262 between employee table 252
`and salary scale table 256 illustrates that an employee 252
`may have one and only one (minimum=1 and maximum=1)
`Salary Scale, but each Salary Scale 256 may apply to Zero, one
`or many employees 252. To complete the Syntax
`representation, relationship 264 illustrates that an employee
`252 may relate to one or many entries in other table 258, and
`
`4
`an entry in other table 258 may have Zero or one related
`entries in employee table 252, as is illustrated by relation
`ship 264.
`Referring to FIG. 3, the relationship syntax used hereafter
`in the database model of FIG. 5 is shown. In this syntax, the
`single and double arrows on relationship 274 between
`employee table 270 and department table 272 represent,
`respectively, that an employee 270 may be a member of
`exactly one department 272, and department 272 may have
`many employees 270.
`Referring now to FIG. 4, the ERwin syntax is illustrated
`for displaying cardinality with respect to database tables
`280, 286, 288, 290, 292 and 294. This syntax will be used
`hereafter in connection with FIGS. 11-16, which set forth
`the modeling System of the invention.
`An ERwin diagram may be viewed as a graphical lan
`guage for expressing Statements about a model wherein
`entities are the nouns, attributes are the adjectives or modi
`fiers and relationships are the verbs. Herein, an entity is any
`perSon, place, thing, event, or concept about which infor
`mation is kept. It is a set or collection of indiviudal objects
`called instances. Each instance must have an identity distinct
`from all other instances. With respect to a relational
`database, an entity corresponds to a table whose rows consist
`of possible instances of the entity and each column Stores
`information about a certain property. These properties are
`the attributes of the entity.
`In an ERwin diagram, the entity is represented by drawing
`a box 280 with the name of the entity on top and all of the
`attributes of the entity inside the box. The horizontal line 281
`in the entity box divides the attributes into two sets: keys and
`non-keys (or, data). The area above the line is the key area
`282, and the area below the line is the data area 284. The key
`is the set of attributes that identifies an entity. A key attribute
`is an attribute which, either by itself, or in combination with
`other key attributes, forms a unique identifier for an entity.
`Primary keys are placed above the line in the key area. A
`non-key attribute is an attribute which has not been chosen
`as a key, and is placed in the data area. Entity instances in
`an ERwin model are always identified by key attributes. Key
`attributes are chosen from a set of candidate key attributes,
`which are attributes, or groups of attributes, which can be
`Selected as primary keys, and as a candidate key must
`uniquely identify each instance of the entity, and may have
`no part null, i.e., empty or missing. In choosing a primary
`key from the Set of candidate key attributes, the data modeler
`trys to find an attribute which will not change its value over
`the life of each instance of the entity, is reasonably Small,
`and is not an intelligent key. An intelligent key is a key
`where the structure of the digits in the identifer indicates
`groupings, locations, classifications, dates or the like. Can
`didate keys not Selected as primary keys are designated as
`alternate keys, and the Symbol AKn, where n is a number, is
`placed after those attributes which form the alternate key.
`Alternate keys are used to Show different indexes the busi
`neSS will use to access the data.
`Relationships represent connections, links or associations
`between entities. They are the verbs of a diagram showing
`how entities relate to each other. The relationship 1-to-many
`means that one (and only one instance) of the first entity is
`related or connected to many instances of the Second entity.
`The entity on the 1-end is called the parent entity, and the
`entity on the many end, represented by a dotted end, is the
`child entity. The “many in one-to-many as used herein
`means that there are Zero, one or more instances of the child
`paired to the parent. When there is a one-to-many relation
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`Salesforce Ex. 1006 – Page 30
`
`

`

`S
`ship both between parent and child and between child and
`parent, then a many-to-many relationship exists, and is
`represented by dots at both ends of the relationship line on
`a ERwin diagram. It is desireable in ERwin diagrams to
`eliminate many-to-many relationships in favor of one-to
`many relationships.
`The cardinality of a relationship expresses the number of
`instances of the child entity that participate in the relation
`ship. Various Symbols are used in an ERwin diagram to
`Specify the number of instances, which may be one or more,
`Zero or more, Zero or one, or exactly N.
`In accordance with the basic diagram Syntax for relation
`ships in an ERwin diagram, relationships are displayed as a
`line connecting two entities, with a dot on one end, and a
`verb phrase written along the line. In general, a relationship
`is read from the parent to the child using an active verb
`phrase, but this is not the case with asSociative entities
`(however, in this implementation, associative entities are not
`used). Verb phrases can also be read from the perspective of
`a child entity, as passive verb phrases. A generalization
`entity, also referred to as a generic parent, may be formed to
`represent information which is common acroSS a plurality of
`entities. Cardinality is a property of relationships which
`defines how many of each participating entity of a relation
`ship may, or must, participate. Cardinality Statements des
`ignate how many instances of the parent child entity are
`connected to how many instances of the child. Thus, in the
`ERwin Syntax, a relationship Symbol near the dot on a
`relationship line displayS cardinality in graphic form,
`according to the following notation:
`
`e
`
`Zo
`No
`{X
`
`One to zero or more 287
`One to one or more 289
`One to zero or one 291
`One to exactly N 293
`Zero or one to many 295
`
`In key-based and fully-attributed models, all relationships
`are (Zero or) on

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