throbber
(12) United States Patent
`Gong et al.
`
`USOO6915306B1
`(10) Patent No.:
`US 6,915,306 B1
`(45) Date of Patent:
`Jul. 5, 2005
`
`(54) AUTOMATIC GENERATION OF DATA
`MODELS AND ACCOMPANYING USER
`INTERFACES
`
`(75) Inventors: Wen G. Gong, Cupertino, CA (US);
`Adam Scott Grancell, Mountain View,
`CA (US)
`(73) Assignee: Siebel Systems, Inc., San Mateo, CA
`(US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 418 days.
`
`(21) Appl. No.: 10/177,517
`(22) Filed
`Jun. 21, 2002
`CC
`un. Zl,
`O
`O
`Related U.S. Application Data
`(63) Continuation of application No. 09/896.924, filed on Jun.
`29, 2001, now abandoned.
`2
`(51) Int. Cl." .................................................. GO6F 7/00
`(52) U.S. Cl. ..................... 707/102; 707/101; 707/104.1
`(58) Field of Search ................................... 707/1-104.1
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`6,356,897 B1
`3/2002 Gusack .......................... 707/4
`
`4/2004 Chau et al. .................... 707/3
`6,721,727 B2
`6,832,069 B2 - 12/2004 Stout et al. ................ 434/353
`6,839.720 B1 * 1/2005 Thibodeau .....
`... 707/104.1
`2002/0059003 A1
`5/2002 Ruth et al. .................... 700/19
`2002/0072891 A1 * 6/2002 Shimizu ....
`... 703/22
`2002/0095561 A1
`7/2002 Butler ........................... 712/1
`* cited by examiner
`Primary Examiner-Luke S Wassum
`ASSistant Examiner-Linh Black
`(74) Attorney, Agent, or Firm-James W. Soong; Perkins
`Coie LLP
`(57)
`
`ABSTRACT
`
`Techniques to generate data models for an item master
`having a number of items. Each item is associated with a
`number of attributes and each attribute is associated with a
`Set of values. In one method, the items in the item master are
`initially classified into a number of pagesets, with each
`pageset being defined by a unique combination of values for
`a first set of (classification) attributes. For each pageset,
`Second set of (Selectable) attributes is determined to
`uniquely identify the items in the pageset. The Selectable
`attributes may be selected from a list of candidate attributes,
`which may include mandatory attributes designated to be
`used as Selectable attributes and optional attributes that may
`be selected for use. Data models are generated for each
`pageset based in part on the Selectable attributes, and include
`a set of tables descriptive of the items in the pageset.
`
`21 Claims, 10 Drawing Sheets
`
`"Size" Feature able
`310
`Code desc default
`
`"Color"Feature ae
`310
`Code esc default
`
`"Style"Feature Table
`30a
`Code Desc Default
`O dress
`casual default
`twi
`
`: jean
`
`"Items"Feature Table 320
`tem
`Code Desc D Price Number image default
`125
`26
`127 127.gif default
`128
`
`Main Configuration able 330
`
`"Attribute Check" Configuration Sub-table 340
`
`Sub-tale
`Attribute Check
`
`Rule
`
`
`
`
`
`Style
`O
`
`1
`1
`
`Size
`O
`1
`1
`2
`
`Color ites Rule
`O
`1.
`O
`2
`
`Data
`Row Set
`
`Exception
`Row Set
`
`SAP Exhibit 1008
`SAP v. Express Mobile, Inc.
`IPR2021-01145
`Page 00001
`
`

`

`U.S. Patent
`
`Jul. 5, 2005
`
`Sheet 1 of 10
`
`US 6,915,306 B1
`
`Candidate Attribute
`Columns 130
`
`Data Attribute
`Columns 140
`
`Classification
`110 Columns 120
`---- f
`y
`-
`tem
`ID Gender Type Style Size Color Desc Price Number image
`1 woman pants dress
`2
`blue blue d. 69.95
`125 125.gif
`2 woman pants dress
`4
`black blk d. 69.95
`126 126.gif
`3 woman pants casual
`4
`blue blue c. 59.95
`127 127.gif
`4 Woman pants casual
`6
`grey grey c. 59.95
`128 128.gif
`
`100
`1
`
`Pageset
`1
`
`Pageset
`2
`
`56 woman dress
`57 woman dress
`58 WOrnan dress
`59 woman dress
`
`long
`long
`Short
`short
`
`4
`8
`2
`6
`
`blue blue ... 74.95
`white white . 74.95
`red
`red s. 39.95
`white white S. 39.95
`
`181.gif
`181
`182 182.gif
`187 187gif
`188 188.gif
`
`87 Woman blouse short
`87 woman blouse short
`87 Woman blouse long
`
`8
`10
`6
`
`white white s. 39.95
`black black s. 39.95
`blue blue 1. 49.95
`
`236 236.gif
`237 237.gif Paget
`238 238.gif
`
`32 khaki khakid. 55.95
`130 man pants dress
`131 man pants dress 34
`blue blue d. 55.95
`132 man pants casual 40
`grey grey c. 39.95
`132 man pants casual 42
`blue blue c. 39.95
`
`271 271.gif
`272 (272.gif
`273 273.gif
`274 274.gif
`
`Pageset
`4
`
`shirt
`245 man
`246 man shirt
`
`long
`long
`
`34
`34
`
`white white ... 34.95
`blue blue ... 34.95
`
`311.gif
`311
`312 312.gif Paget
`
`FIG. 1
`
`IPR2021-01145 Page 00002
`
`

`

`U.S. Patent
`
`Jul. 5, 2005
`
`Sheet 2 of 10
`
`US 6,915,306 B1
`
`002
`
`|
`
`
`
`082 ;0??
`
`|ºpOW
`
`Jºpling
`
`?InpOW
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IPR2021-01145 Page 00003
`
`

`

`U.S. Patent
`
`Jul. 5, 2005
`
`Sheet 3 of 10
`
`US 6,915,306 B1
`
`"Style" Feature Table
`30a
`Code DeSC Default
`
`"Size" Feature Table
`31 Ob
`Code DeSC Default
`
`"Color" Feature Table
`31 Oc
`Code DeSC Default
`
`"tems" Feature Table 320
`tem
`Code Desc D Price Number image Default
`
`127.gif default
`
`Main Configuration Table 330
`
`"Attribute Check" Configuration Sub-table 340
`
`Sub-table
`Attribute Check
`
`Rule
`
`Style
`
`
`
`Size
`
`Color items Rule
`
`Data
`ROW Set
`
`Exception
`ROW Set
`
`FIG. 3
`
`IPR2021-01145 Page 00004
`
`

`

`U.S. Patent
`
`Jul. 5, 2005
`
`Sheet 4 of 10
`
`US 6,915,306 B1
`
`400
`
`416
`
`Generate error
`messages in log file
`
`
`
`
`
`
`
`Validate item master
`
`Validate configuration data
`
`go 414
`
`NO
`
`Group items in item
`master into pagesets
`
`
`
`Determine list of attributes
`used to uniquely identify
`items in each pageset
`
`418
`
`420
`
`Generate intermediate data files 422
`
`FIG.4A
`
`IPR2021-01145 Page 00005
`
`

`

`U.S. Patent
`
`Jul. 5, 2005
`
`Sheet 5 of 10
`
`US 6,915,306 B1
`
`Start
`
`420
`
`Determine number of unique
`items in the pageset (A)
`
`Place optional attributes in first list
`
`Place mandatory
`attributes in second list
`
`442
`
`444
`
`446
`
`Determine number of unique sets of
`values for attributes in second list (B)
`
`448
`
`454
`Generate error
`message
`
`
`
`
`
`Determine number of unique sets of
`values for attribute in second list (B)
`
`Remove latest attribute from second list
`
`Return Second list of attributes
`as the selectable attributes for
`identifying uniqueness
`
`End
`
`FIG.4B
`
`IPR2021-01145 Page 00006
`
`

`

`U.S. Patent
`
`Jul. 5, 2005
`
`Sheet 6 of 10
`
`US 6,915,306 B1
`
`identify items for a pageset
`
`472
`
`470
`
`
`
`NO
`
`Mandatory
`attribute list empty?
`
`474
`
`YES
`
`
`
`
`
`
`
`Move all elements of
`mandatory attribute list to
`Selectable attribute list
`
`
`
`Move 1st element of
`optional attribute list to
`selectable attribute list
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Mark the items in the pageset
`that can be uniquely identified by 480
`the sets of values for attributes
`in the Selectable attribute list
`
`Any
`item in the pageset
`unmarked?
`
`482
`
`NO
`
`484
`Return selectable
`attribute list
`
`Optional attribute
`list empty?
`
`NO
`
`488
`Generate error
`message
`
`Discard 1st element
`from optional
`attribute list
`
`St
`490
`element
`in optional attribute list
`helps to uniquely identify
`unmarked
`items?
`
`Move 1st element from
`optional attribute list to
`Selectable attribute list
`
`494
`
`FIG.4C
`
`End
`
`IPR2021-01145 Page 00007
`
`

`

`U.S. Patent
`
`Jul. 5, 2005
`
`Sheet 7 of 10
`
`US 6,915,306 B1
`
`1.
`
`Process data for each pageset
`and provide tables and
`sub-table for data models
`
`-
`
`
`
`Process data for each
`pageset and determine valid
`configurations and exceptions
`
`5
`
`10
`
`512
`
`Represent data models in XML 514
`and add pageset-Specific data
`
`Stream XML through
`optional callout process
`
`Walidate XML from
`Callout process
`
`Provide XML documents
`for the pagesets
`
`Provide data node is
`to repository (optional)
`
`516
`
`518
`
`520
`
`522
`
`Provide HTML files (optional)
`
`524
`
`End
`
`FIG.5A
`
`IPR2021-01145 Page 00008
`
`

`

`U.S. Patent
`
`Jul. 5, 2005
`
`Sheet 8 of 10
`
`US 6,915,306 B1
`
`512
`
`Examine pageset
`data to determine each
`Selectable attribute
`with single value
`
`542
`
`Examine pageset data to
`determine pairs of selectable
`attribute values that do not OCCur
`together in valid configurations
`
`544
`
`Examine pageset data
`to determine all other
`invalid configurations
`
`546
`
`FIG5B
`
`600
`
`
`
`Contents
`List Page
`
`input Page
`
`Output Page
`
`Style casual v
`Size
`Color grey
`
`v.
`
`Price
`tem. No 128
`
`620
`
`FIG. 6
`
`IPR2021-01145 Page 00009
`
`

`

`U.S. Patent
`
`Jul. 5, 2005
`
`Sheet 9 of 10
`
`US 6,915,306 B1
`
`slasefied
`
`(TWNLH)
`
`
`
`00/
`
`09/
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IPR2021-01145 Page 00010
`
`

`

`U.S. Patent
`US. Patent
`
`Jul. 5, 2005
`Jul. 5, 2005
`
`Sheet 10 of 10
`Sheet 10 0f 10
`
`US 6,915,306 B1
`US 6,915,306 B1
`
`
`
`83352:0
`
`oomtflE
`
`025059:
`
`momtsz
`
`59:0550
`
`39:50
`
`Emmom
`
`
`@830083mm
`5%.5:592.6098993.
`
`8%gmNew
`
`m.OE
`
`co:mo_c:EEoo
`
`x5382
`
`x8352
`
`00$..ng
`
`392m650anixwfiEm:
`$0300xmfi
`
`59335
`
`3%mg
`
`098onEma
`
`IPR2021-01145 Page 00011
`
`IPR2021-01145 Page 00011
`
`

`

`US 6,915,306 B1
`
`1
`AUTOMATIC GENERATION OF DATA
`MODELS AND ACCOMPANYING USER
`INTERFACES
`
`BACKGROUND OF THE INVENTION
`The present invention relates generally to computer
`processing, and more particularly to techniques for gener
`ating data models and user interfaces for catalog-type appli
`cations.
`For Some business enterprises, a large number of products
`or items may need to be organized and categorized for
`presentation in a clear and logical manner, Such as with a
`catalog. For example, a retailer or a distributor may carry a
`large number of items in its inventory. These items may then
`be categorized into a number of groups (e.g., hundreds or
`thousands of groups) of related items. Each group may
`include one or more items and may be represented with a
`"pageset'.
`Catalog-type applications Such as the one described above
`are typically characterized by a large number of relatively
`Simple items. These items may be associated with various
`attributes used to identify and describe the items. If the items
`can be Sufficiently described and uniquely identified based
`solely on their attribute values, then the attributes may be
`used to classify the items into groupS and to further identify
`the items in each group.
`Each group of items may be represented with "data
`models” that describe the items in the group. These data
`models are typically of a particular defined format or Schema
`and include sufficient information such that they may be
`used to generate user interface (UI) elements, Such as frames
`or Screens for a catalog. Items in each group may then be
`clearly and logically present via these UI elements. For
`catalog-type applications, the data models tend to be similar
`from group to group (i.e., pageset to pageset).
`Catalog-type applications tend to be large, with many
`items, and the task of organizing and classifying the items
`becomes more challenging as the number of items increases.
`However, catalog-type applications also tend to be
`repetitive, which affords the use of similar data models for
`representing the groups of items. Techniques that can be
`used to automatically generate data models and user inter
`faces for catalog-type applications are thus highly desirable.
`
`SUMMARY OF THE INVENTION
`The invention provides techniques to automatically gen
`erate data models from an “item master” (e.g., a master
`table) that includes a number of items. A set of classification
`attributes is initially provided (e.g., by an administrator via
`a user interface Screen or automatically generated) and used
`to classify the items in the item master into pagesets. Data
`models may then be automatically generated for each pag
`eset based in part on a set of candidate attributes (which may
`also be provided by the administrator via the user interface
`Screen or in a configuration file). The data models are
`thereafter used to generate user interface (UI) elements,
`which can present the items in each pageset in a clear and
`logical manner. Various implementations of the invention
`are possible, some of which are described below.
`A Specific embodiment of the invention provides a
`method for generating data models for an item master
`having a number of items. Each item in the item master is
`asSociated with a number of attributes and each attribute is
`asSociated with a respective Set of possible values. In
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`accordance with the method, the items in the item master are
`initially classified into a number of pagesets. Each pageset
`is defined by a unique combination of values for a first Set
`of attributes (referred to as classification attributes). A Sec
`ond set of attributes (referred to as selectable attributes) is
`then determined for each pageset, with the Selectable
`attributes being used to uniquely identify the items in the
`pageset. Data models are then generated for each pageset
`based in part on the Selectable attributes. In one
`implementation, the data models include a set of tables
`descriptive of the items in the pageset.
`The classification attributes may be specified (e.g., by an
`administrator) via configuration variables. The Selectable
`attributes may be Selected from a list of candidate attributes,
`which may include mandatory and optional attributes. Man
`datory attributes are designated to be used as Selectable
`attributes. Optional attributes may be specified in an ordered
`list and may be selected for use as Selectable attributes based
`on their order in the list. Each pageset includes a Sufficient
`(e.g., minimum) number of attributes Such that the items in
`the pageset are uniquely identified by their Selectable
`attribute values.
`The data models for each pageset may include a number
`of features tables and configuration tables. One feature table
`is provided for each Selectable attribute and includes a
`mapping of codes to descriptions corresponding to all pos
`sible attribute values. The configuration tables identify valid
`and invalid configurations for the pageset. Invalid configu
`rations may be associated with a number of types of excep
`tion messages.
`Output files (e.g., UI elements) are generated for the
`pagesets based on the data models. These output files may
`include input files for Selectable attributes and results files
`for other attributes associated with items in the pageset. A
`contents list file is also provided and includes application
`Specific (as oppose to pageset-Specific) data used to provide
`a navigation mechanism for the generated pagesets. The
`output files may be provided as XML documents, HTML
`files, or in Some other format.
`Prior to generating the data models, the item master
`and/or configuration variables may be validated, and error
`messages may be generated (and provided in a log file) for
`errorS resulting from the validation process. The error mes
`Sages may be used to “clean up' the item master and/or
`configuration variables, and the validation process may be
`iterated any number of times until valid data is obtained.
`Another Specific embodiment of the invention provides a
`method for forming a list of attributes for identifying items
`in a pageset. In accordance with the method, an attribute not
`yet considered for identifying the items in the pageSet is
`initially Selected. A determination is then made whether the
`selected attribute is useful for identifying the items in the
`pageset. If the attribute is useful, then it is included in the
`list. One or more additional attributes are then evaluated in
`Similar manner, one attribute at a time, until a Sufficient
`number of attributes is included in the list Such that the items
`in the pageset are uniquely identified by their values for the
`attributes in the list. In one embodiment, only attributes that
`are common for all items in the pageset are considered for
`evaluation.
`The invention further provides other methods, computer
`program products, and Systems capable of implementing
`various aspects, embodiments, and features of the invention,
`as described in further detail below.
`The foregoing, together with other aspects of this
`invention, will become more apparent when referring to the
`following Specification, claims, and accompanying draw
`IngS.
`
`IPR2021-01145 Page 00012
`
`

`

`US 6,915,306 B1
`
`15
`
`35
`
`40
`
`25
`
`3
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 shows an example of an item master that lists the
`available items for an enterprise;
`FIG. 2 is a diagram of an embodiment of a System capable
`of automatically generating data models for an item master;
`FIG. 3 shows various tables that may be generated for
`configuration-type data models, in accordance with an
`embodiment of the invention;
`FIG. 4A is a flow diagram of an embodiment of a process
`performed by a data builder module to generate a set of
`intermediate data files from the item master;
`FIGS. 4B and 4C are flow diagrams of two embodiments
`of a process to determine a list of Selectable attributes that
`may be used to uniquely identify the items in each pageset;
`FIG. 5A is a flow diagram of an embodiment of a process
`performed by a model builder module to generate data
`models for each pageset,
`FIG. 5B is a flow diagram of an embodiment of a process
`to examine the data for each pageset to generate exception
`messages for invalid configurations,
`FIG. 6 shows an embodiment of a screen capable of
`presenting items in the item master using application files
`generated from the data models;
`FIG. 7 is a diagram of another embodiment of a system
`capable of automatically generating data models using items
`Stored in a repository; and
`FIG. 8 is a block diagram of a computer system.
`DESCRIPTION OF THE SPECIFIC
`EMBODIMENTS
`FIG. 1 shows an example of an item master 100 that
`includes a collection of items (e.g., products) for an enter
`prise. Item master 100 (which may be implemented as a
`table) includes a number of rows and columns, with the
`Specific number of rows and columns being dependent on
`the type and quantity of items being represented by the item
`master. The first row in the item master contains column
`headers, which identify the various attributes for the items in
`the table. Each Subsequent row of the item master represents
`one record for one item. Each record includes information
`for the associated item, or more specifically the values for
`the attributes identified by the column headings. Thus, each
`column may be used to represent one specific attribute of the
`items, and each row may be used to represent one item.
`In general, item master 100 may include information for
`any type of items that have attributes and which may be
`offered in a catalog context. For example, the items in the
`item master may represent products, Services, Solutions Sets,
`employee relationship management (ERM)-based entities
`Such as benefit documents, and other types of items. The
`item master may also be generated in various manners. In
`one embodiment, the item master may be generated manu
`ally (via key entry) and/or automatically (via a defined
`55
`process) and is provided in a single data file. In another
`embodiment, the item master is generated from Smaller
`tables in a relational database (i.e., a repository).
`In the specific example shown in FIG. 1, item master 100
`includes product data for a clothing enterprise. The first row
`in the item master contains column headers for the following
`attributes-ID, Gender, Type, Style, Size, Color, Price, and
`Item Number. Each subsequent row includes a record for
`one item and includes a Set of values for the attributes
`identified by the column headers. For clarity, various aspects
`and embodiments of the invention are described for the
`example item master 100 shown in FIG. 1.
`
`45
`
`50
`
`60
`
`65
`
`4
`The item master may include a large listing for many
`items (e.g., hundreds or thousands of items). Presentation of
`the item master in the form shown in FIG. 1 may be
`cumberSome and unintelligible to an end-user (i.e., a user of
`a catalog application). Forbetter presentation, the items may
`be classified into groups or “pagesets. Each pageset may be
`defined by a specific Set of attribute values and may be
`Viewed as corresponding to a particular product family. Each
`pageset may include one or more items having a first Set of
`attribute values that match those used to define the pageset.
`In fact, this first Set of attribute values is used to categorize
`the items in the item master into their proper pagesets. The
`items in each pageset are also associated with a Second Set
`of attribute values that may be used to uniquely identify the
`items in the pageset. Since all items in a given pageSet have
`the same set of values for the attributes in the first set,
`“uniqueness' for the items in the pageset is achieved if each
`item in the pageset has a unique Set of values for the Second
`set of attributes (i.e., the set of values for the attributes in the
`Second Set for each item in the pageset is different from the
`Sets of attribute values for all other items in the pageset).
`Uniqueness is described in further detail below.
`In an embodiment and as shown in FIG. 1, item master
`100 is defined to includes an identifier (ID) column 110, one
`or more Classification columns 120, one or more Candidate
`Attribute columns 130, and one or more Data Attribute
`columns 140. ID column 110 lists an item-specific identifier
`(e.g., an ID, SKU, or row ID) for each item in the item
`master. This identifier may not be unique for all items in the
`item master, but is unique for all items in any given pageset.
`The unique values for the identifier may be used to uniquely
`identify the items in each pageset. Classification columns
`120 correspond to attributes used to classify the items in the
`item master into pagesets. Each pageset is defined by a
`unique Set of classification column values and includes one
`or more items having the same Set of attribute values used
`to classify the pageset. Candidate Attribute columns 130
`correspond to attributes that may be Selected and used to
`uniquely identify items within each pageSet. The names of
`the Classification and Candidate Attribute columns gener
`ally conform to defined naming conventions for tables. Data
`Attribute columns 140 correspond to additional attributes of
`the items in the item master. These data attributes are
`generally used to provide additional descriptive information
`for the items and but are typically not used to identify the
`items in the pageset.
`In the example shown in FIG. 1, the Classification col
`umns includes the Gender and Type columns, the Candidate
`Attribute columns includes the Style, Size, and Color
`columns, and the Data Attribute columns include the
`Description (Desc), Price, Item Number, and Image col
`
`U.S.
`Various implementations may be used to classify items in
`an item master, generate data models, and further generate
`UI elements (i.e., run-time applications) based on the data
`models. In one family of implementations (referred to as
`“file-based’), preparation of the item master and specifica
`tion of the attributes are mandatory steps (requiring inter
`action with an administrator, who may be tasked with
`building the catalog application), and run-time applications
`(e.g., in HTML files) are generated based on the data models
`(e.g., using XLST). In another family of implementations
`(referred to as “repository-based’), preparation of the item
`master and Specification of the attributes are optional Steps
`and the data models are generated and Saved to a repository.
`A publisher module (described below) may then be used to
`process (and possibly modify) the data models to generate
`
`IPR2021-01145 Page 00013
`
`

`

`S
`the run-time application. A Specific design for each of these
`two families of implementations is described below in FIGS.
`2 and 7, respectively. Various other implementations can
`also be contemplated and are within the Scope of the
`invention.
`FIG. 2 is a diagram of a system 200 capable of automati
`cally generating data models for an item master, in accor
`dance with an embodiment of the invention. System 200 is
`an example of a file-based design, and is implemented as a
`Software program that takes an item master as input and can
`generate data-dependent components of a catalog-type
`application. In this embodiment, system 200 (which is also
`referred to as a “catalog builder”) includes a data builder
`module 210, a model builder module 220, and a file builder
`module 230.
`Data builder module 210 receives the item master and a
`first Set of configuration variables, validates the data in the
`item master, classifies items in the item master into pagesets,
`identifies which attributes are to used to identify the items in
`each pageset, and provides a Set of intermediate data files.
`Data builder module 210 further provides status information
`indicative of the results of the processing on the item master
`and log information indicative of “uncleanliness” (i.e.,
`errors) in the item master and/or errors in the configuration
`variables. The log information may be used to modify the
`configuration variables and/or the data in the item master
`(e.g., in an iterative manner) to provide valid data and
`variables.
`Model builder module 220 receives the intermediate data
`files and a Second Set of configuration variables and gener
`ates data models. The data models may be provided in
`various forms Such as, for example, XML documents,
`HTML files, formatted files or database tables that may be
`stored in a repository 250, and others. The XML documents
`contain pageSet-specific data including the representation of
`the data models. A callout proceSS may be inserted at a
`callout point in model builder module 220 and used to
`process and possibly modify (e.g., the XML version of) the
`data models before they are generated in final form, as
`described below.
`File builder module 230 receives the data models (which
`maybe provided in XML documents) and a third set of
`configuration variables and generates data-dependent appli
`cation files. These application files either include or may be
`used to generate UI elements Suitable for representing a
`catalog of the item master, as described below.
`Each module executes on one or more input files and
`provides a set of output files. In an embodiment, user
`preferences for the operation of each module, Such as
`directions for interpreting the item master, output format
`options, directories of the input and output files, and So on,
`are provided as configuration variables. The configuration
`variables for all three modules may be provided in various
`forms. In one implementation, the configuration variables
`are provided in a (global) configuration file. In another
`implementation, the configuration variables may be entered
`via a user interface Screen that may be provided (e.g., for
`each module) to assist an administrator in the generation of
`the data models and UI elements.
`These modules and their inputs and outputs are described
`in further details below.
`Model builder module 220 may be designed to generate
`data models of various Schemas. The Specific Schema to be
`used for the data models is dependent on various factors
`Such as the data architecture employed, the Specific design
`of a runtime engine that will process the data models to
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,915,306 B1
`
`6
`generate the required outputs, and So on. Various types if
`data models may also be generated Such as, for example,
`configuration type and list type. The particular data model
`type to be generated may be specified in the configuration
`variables. For clarity, a Specific Schema for configuration
`type data models is described below.
`FIG. 3 shows various tables that may be generated for
`configuration-type data models, in accordance with an
`embodiment of the invention. In this embodiment, the
`configuration-type data models for each pageset include one
`or more Selectable Attribute feature tables 310, an Items
`feature table 320, a main configuration table 330, and a
`configuration sub-table 340. Additional, fewer, and/or dif
`ferent tables may also be provided for the configuration-type
`data models and are within the scope of the invention. The
`following description for the tables and sub-table is for a
`Specific pageset (e.g., Woman's Pants).
`For each pageset, a set of Selectable Attribute feature
`tables 310 is provided for the set of all “selectable' attributes
`used to uniquely identify the items in the pageset, with one
`Selectable Attribute feature table being provided for each
`selectable attribute. In the example shown in FIG.3, all three
`candidate attributes are used as Selectable attributes for the
`pageset. In this case, Style feature table 310a, Size feature
`table 310b, and Color feature table 310c are generated for
`the Style, Size, and Color selectable attributes, respectively.
`In a typical implementation, each Selectable Attribute fea
`ture table is named after the Selectable attribute associated
`with and represented by the feature table.
`Each Selectable Attribute feature table 310 provides a
`mapping of codes and their corresponding descriptions. The
`codes are used to represent the possible values for the
`asSociated Selectable attribute, and the descriptions are texts
`that are more intelligible to the end-user. The codes are more
`efficient internal representations for the attribute values, and
`the description may be displayed in the UI elements for the
`end-user. Each Selectable Attribute feature table typically
`further provides an indication of which specific attribute
`value should be used as the default value for the associated
`Selectable attribute, if none is specified.
`In the embodiment shown in FIG. 3, each Selectable
`Attribute feature table 310 includes a Code column, a
`Description (Desc) column, and a Default column. In an
`embodiment, the values in the Code column are uniquely
`distinguishable text String. In an embodiment, the code
`values are numeric and Sequentially numbered (e.g., starting
`from 0). These code values correspond to all possible values
`for the associated Selectable attribute for the given pageset
`(and not for the entire item master). The Description column
`includes values drawn from the column of the item master
`corresponding to the Selectable attribute being represented
`by the feature table. As an example, for the Style feature
`table 310a, code values of 0,1,2, and 3 are used to represent
`the possible styles of Dress, Casual, Twill, and Jean,
`respectively, for the pageset for Woman's Pant. The Default
`column includes an indication of which value should be used
`as the default (e.g., Casual is the default for the Style
`Selectable attribute for this pageset).
`Items feature table 320 includes item-specific
`information, and may be used to provide additional infor
`mation not included in the Selectable Attribute feature
`tables. In an embodiment, the Items feature table includes a
`Code column, a Description (Desc) column, an ID column,
`a Price column, an Item Number column, an Image column,
`a Default column, and Zero or more additional columns. The
`Code column includes distinguishable values used to rep
`
`IPR2021-01145 Page 00014
`
`

`

`7
`resent a key referenced by an Items column of configuration
`sub-table 340. The Description, ID, Price, Item Number, and
`Image columns each includes the values drawn from the
`corresponding column in the item master, and these columns
`may also be specified in the configuration variables. The
`Default column includes an indication of which row value
`should be used as the default for the Description column.
`Additional columns may be added to Items feature table
`320, e.g., by Specifying these columns in the configuration
`variables. Each additional column (if any) is typically
`named after the corresponding Specified column in the item
`master, and includes data drawn from that specified column.
`In the example shown in FIG. 3, the Price, Item Number, and
`Image columns are added to the Items feature table and these
`columns include the values drawn from the Price, Item
`Number, and Image columns in the item master.
`Items feature table 320 includes one row for each item in
`the pageset. For each item, the values for the columns in the
`Items feature table are drawn from the corresponding col
`umns in the item master.
`Main configuration table 330 identifies valid and invalid
`configurations for the Selectable attributes in the pageset.
`Each pageSet is associated with a set of Selectable attributes,
`and each Selectable attribute is further associated with a Set
`of possible values. The permutation of all possible combi
`nations of values for these selectable attributes wou

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