Download as pdf or txt
Download as pdf or txt
You are on page 1of 47

PATROLL Winning Submission

U.S. Patent No. 7,885,981

Claims 1-5 of the patent-at-issue, U.S. Patent No. 7,885,981 (“MPK”), which was filed
on Oct. 26, 2007 and claims an Oct. 31, 2000 priority date, are directed to a method and system
for providing a complete and fully functional user interface for any arbitrarily complex or large
database schema, without any custom software programming. After a back-end schema is created
within the relational database, the system can automatically “interrogate” this schema, and
“absorb” its structure into an internal cache. The invention further provides a comprehensive
application through which the back-end can be operated and through which all conventional
database activities such as searching, listing, adding, editing can be supported across all base-
tables comprising the schema.

U.S. Patent No. 5,832,498 (“Bull”), which was filed on Sep. 13, 1995 and claims a Sep.
13, 1994, was cited by the IBM patent cited below. Bull relates to a device and process for
generating object-oriented interfaces that allows access to existing relational data bases. The
device and process comprise means for creating, in accordance with a process for generating
object-oriented interfaces from a schema of the relational data bases, an object schema which
constitutes an object-oriented view of the relational data bases, wherein the view, which
constitutes the object-oriented interface, is composed of a set of classes which represent entities
stored in the relational data base and of links between objects which represent relational links
between said data bases, said links between objects being represented by methods, said device
further including means for receiving input to the device in the form of a data base description in
a standard language used for defining and manipulating data.

U.S. Patent No. 6,035,300 (“IBM”), which was filed on Dec. 15, 1995 without any claim
to an earlier priority date, relates to a method for generating a dynamic user interface from a data
model of a database, comprising the steps of: defining the database entities, attributes, and
relationships describing a data model describing a relational data base of an application, wherein
the relationships represent connections, links, and associations between entities (e.g., tables) in
the data model; directly accessing the data model described by the entities, attributes, and
relationships; and generating the dynamic user interface directly from the data model, wherein
the dynamic user interface adapted to directly access said relational data base.

U.S. Patent No. 7,096,465 (“Schneider”), which was filed on Nov. 23, 1999 and claims a
May 17, 1999 priority date, discloses an apparatus and method that comprises a configurator for
use in configuring control processes. The configurator includes a framework, a database, a
project manager and a set of editors. The framework provides common resources, such as menus,
toolbars, dialogs, and security services, used by the editors to manipulate, display and report
configuration data stored in the database.”

A sample claim chart comparing MPK to IBM is provided below.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
A1. Mapping of Claims 1-3 of US7885981
US7885981 A. US5832498
(claims 1-3) B. US7096465

1.pre. A method for operating a server comprising A. US5832498


“FIG. 1 to set forth the general principles of the instant
a processor for automatically generating an end-user device for generating object-oriented interfaces GEN
interface designed to authorize access by new applications OOA
developed in object-oriented environments to existing
for working with the data within a relational relational data bases RDB managed by one or more
database defined within a relational DBMS relational data base management systems RDBMS.” Id. at
col. 7:21-26.
whose data is stored in machine-readable
media and which is accessible to said “To conclude, the instant device for generating object-
server, oriented interfaces which is claimed herein furnishes
object-oriented access to any existing relational data base,
making it possible to create, delete, read and update the
data. A set of classes is generated from the relational
schema in order to create an interface, thus facilitating
access to the data.” Id. at col. 13:13-18.

“Since the generation process is automatic, the interface


generation device according to the invention can be
integrated into any CASE (Computer Aided Software
Engineering) environment.” Id. at col. 13:45-48.
-------------------------
B. US7096465
“Described below is a system, alternately referred to as the
IDA Control Algorithm Configurator, the Configurator,
IDA, and the like, according to one embodiment of the
invention for use modeling and configuring control
processes. Referring to FIG. 3, the Configurator includes a
Framework, a Database, a project manager and a set of
editors. The Framework provides common resources, such
as menus, toolbars, dialogs, and security services, used
by the editors to manipulate, display and report
configuration data stored in the IDA database. In one
preferred practice of the invention, the IDA Control
Algorithm Configurator and Framework are packaged as a
single application.” col. 10:17-28.

“The database forms part of an object oriented database


management system (OODBMS), which may be any type
commercially available in the marketplace. The database
can be deployed in a client/server configuration with a

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
single centralized database per plant servicing multiple
clients, or otherwise.” Id. at col. 10:40-45.
1.a. wherein said relational database comprises A. US5832498
“Generally, in order to simplify the representation of data,
a plurality of tables, constraints and and to enable higher productivity on the part of developers
relationships stored in said DBMS and users, the relational data model is currently used
because it allows the tabular representation of objects as
in accordance with a data model well as of the associations between objects. In this case, a
comprising said tables and their column- relational data base is like a set of relations, hence the
complements and datatypes, said name of the model; these relations are also called tables.
constraints, and the relationships across A conceptual schema associated with a data base
said tables, and describes its structure and the type of data it contains and
possibly, as in the case of the present invention, the
-------------------- constraints or rules which must always be verified” Id. at
COMMENT: As used in MPK, the term “column-complements” col. 1:12-23.
most likely refers to columns comprising entries that are not
found in other columns. Table columns, of course, contain entries
“The data base itself is managed by a data base
not found in other columns, e.g., a database comprising tables of
management system. Each relation also has a schema
cities in the US in which the columns correspond to “Population,”
“Capital,” “Number of Schoools,” etc. which describes its structure and an extension which
corresponds to the state of this relation at a given instant.
But MPK also appears to use the term “complement” in the The schema of a table is composed of a set of attributes
ordinary sense of the word, such as when it describes a “full
complement” of mechanisms (which in this case seems to be used (or columns), a sub-assembly of which constitutes the key
synonymously with “full array”). which enables identification of the other attributes of the
relation or an element (n-triple) of the relation.” Id. at col.
1:23-30.

1.b. wherein said relational database may be of any A. US5832498


arbitrary size or complexity, said method comprising “To conclude, the instant device for generating object-
oriented interfaces which is claimed herein furnishes
object-oriented access to any existing relational data
base, making it possible to create, delete, read and update
the data. A set of classes is generated from the relational
schema in order to create an interface, thus facilitating
access to the data. These classes can be used locally by
any application or in a distributed environment as a server
which a remote client can access through a network,
particularly a CORBA client through the ORB.” Id. at col.
13:13-22.

-------------------------
B. US7096465
“The database forms part of an object oriented database
management system (OODBMS), which may be any type
commercially available in the marketplace.” Id. at col.
10:40-42.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
“A further object of the invention is to provide such
methods and apparatus as facilitate configuring large or
complex control systems.” col. 2:65-67.
1.c. (a) providing an output stream from said A. US5832498
server, for user display and input devices, “To conclude, the instant device for generating object-
defining a user interface paradigm comprising a oriented interfaces which is claimed herein furnishes
set of modes for interacting with a given object-oriented access to any existing relational data
database table, base, making it possible to create, delete, read and update
the data. A set of classes is generated from the relational
said modes comprising create, retrieve, schema in order to create an interface, thus facilitating
update and delete, and a corresponding access to the data. These classes can be used locally by
display format for each mode; any application or in a distributed environment as a server
which a remote client can access through a network,
particularly a CORBA client through the ORB.” Id. at col.
13:13-22.

“The interface OOI thus offers a set of functions for


manipulating and accessing data, such as the
manipulation of a collection of objects, the creation,
deletion or updating of an object, simple access to a
datum, and access to a datum or navigation by means of a
relational link.” Id. at col. 7:36-40.
-------------------------
B. US7096465

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
(cont.)
1.c. (a) providing an output stream from said
server, for user display and input devices,
defining a user interface paradigm comprising a
set of modes for interacting with a given
database table,

said modes comprising create, retrieve,


update and delete, and a corresponding
display format for each mode;

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
(cont.)
1.c. (a) providing an output stream from said
server, for user display and input devices,
defining a user interface paradigm comprising a
set of modes for interacting with a given
database table,

said modes comprising create, retrieve,


update and delete, and a corresponding
display format for each mode;

1.c. wherein said relational database may be of any A. US5832498


arbitrary size or complexity, “To conclude, the instant device for generating object-
oriented interfaces which is claimed herein furnishes
object-oriented access to any existing relational data
base, making it possible to create, delete, read and update
the data. A set of classes is generated from the relational
schema in order to create an interface, thus facilitating
access to the data. These classes can be used locally by
any application or in a distributed environment as a server
which a remote client can access through a network,
particularly a CORBA client through the ORB.” Id. at col.
13:13-22.

-------------------------
B. US7096465

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
“The database forms part of an object oriented database
management system (OODBMS), which may be any type
commercially available in the marketplace.” Id. at col.
10:40-42.

“A further object of the invention is to provide such


methods and apparatus as facilitate configuring large or
complex control systems.” col. 2:65-67.

1.d. (b) causing said server A. US5832498


“A conceptual schema associated with a data base
to scan said database and apply a body of describes its structure and the type of data it contains and
rules possibly, as in the case of the present invention, the
constraints or rules which must always be verified.” Id. at
to determine the table structures, col. 1:19-23.
constraints and relationships of
said data model, “Generally, different types of relational links can be
represented in a relational schema; they can have different
and store representations thereof cardinalities (1-1, 1-n, n,m) or associated properties, which
in machine-readable media cardinality depends on the uniqueness constraints declared
accessible to said server; and in the foreign keys (the foreign key attribute being able to
be defined as "unique", to be a primary key, etc.).” Id. at
------------------------ col. 7:57-63.
US7885981
“ Similarly—but more generally—violations of any arbitrary “Furthermore, the instant device for generating object-
“check” constraints (such as imposed value-ranges, or required
satisfaction of algebraic expressions) are intercepted and reported oriented interfaces creates a generic class called a collection
only upon violation within the back-end RDMBS.” class for managing objects in memory and handling sets of
objects, which makes it possible to scan a set of instances of
a class or the instances which correspond to certain
selection criteria; this collection class, in order to allow
rapid access to the data, encapsulates mechanisms of the
relational data base management system, such as the
cursors, in such a way that the data which relate to the
objects in memory are managed by the data base
management system itself.” Id. at col. 3:35-44.

“A description of the data base RDB in a standard language


for defining and manipulating data, for example the
language SQL, is applied to the input of the interface
generation device GEN, the definitions of the tables of
the data base being scanned with the aid of this language.”
Id. at col. 7:43-48.

“To this end, the instant device for generating object-


oriented interfaces creates, in accordance with a process for

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
generating object-oriented interfaces from the schema of the
relational data base, an object schema which constitutes an
object-oriented view of the existing relational data base, this
view, which constitutes the object-oriented interface, being
composed of a set of classes which represents the entities
stored in the data base, the input applied to the interface
generating device being a data base description in a standard
language for defining and manipulating data.” Id. at col.
2:53-62.

1.e. (c) causing said server A. US5832498


to use said representations “The present invention relates to a device for generating
object-oriented interfaces for enabling new applications
to construct a corresponding developed in object-oriented environments to access
client application existing relational data bases.” Id. at col. 1:8-11.

for access through said user “Thus, the solution provided by the invention involves
display and input devices, offering the programmer an object-oriented view of the
data base to be accessed, and the classes furnished are
representative of the entities in the data base which are
specific to the application, for example "people" instead of
"tables" or "n-triples" unlike the above-mentioned second
solution, which consists of furnishing generic classes.” Id. at
col. 3:9-16.

1.f. wherein said client application A. US5832498


“FIG. 1 to set forth the general principles of the instant
provides a connection to said device for generating object-oriented interfaces GEN
database, designed to authorize access by new applications OOA
developed in object-oriented environments to existing
provides displays of the table relational data bases RDB managed by one or more
contents of said database relational data base management systems RDBMS.“ Id. at
col. 7:21-26.
for each of said modes in
accordance with the display formats “This means that the programmer is offered an interface
of said paradigm, for access to the data base management system, an
interface which is specific to the application and therefore
-------------------- to the data base to be accessed, such an interface being
US7885981 constructed for each data base.” Id. at col. 3:16-20.
“Developing such a database system consists both in defining the
organizational structure to be used by the back-end for storing
data (that is, the complement of tables which store data, and the “Thus, the solution provided by the invention involves
relational links between these tables)—known as a “schema” or offering the programmer an object-oriented view of the

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
“data model”—and in building a front-end program (or data base to be accessed, and the classes furnished are
“application”) via which end-users can manipulate this data representative of the entities in the data base which are
(and which communicates with the back-end on the users'
behalf).” specific to the application, for example "people" instead of
"tables" or "n-triples" unlike the above-mentioned second
solution, which consists of furnishing generic classes.” Id. at
col. 3:9-16.

“To conclude, the instant device for generating object-


oriented interfaces which is claimed herein furnishes
object-oriented access to any existing relational data base,
making it possible to create, delete, read and update the
data. A set of classes is generated from the relational
schema in order to create an interface, thus facilitating
access to the data.” Id. at col. 13:13-18.
(cont.)
1.f. wherein said client application “For this purpose, a generation device, also called a
generator, must be used to produce the interfaces for the
provides a connection to said relational data base, which generation device receives a
database, data base description as input. In other words, the
generation device makes it possible to generate, from the
provides displays of the table relational schema or from a description of the highest level,
contents of said database an object-oriented interface for access to the data of this
schema, the view which constitutes the interface being
for each of said modes in composed of a set of classes which represents the logical
accordance with the display formats entities of the schema of data and which implements the
of said paradigm, access to this data.” Id. at col. 3:20-30.

-------------------------
B. US7096465

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
(cont.)
1.f. wherein said client application

provides a connection to said


database,

provides displays of the table


contents of said database

for each of said modes in


accordance with the display formats
of said paradigm,

1.g. integrates into each said mode display processes A. US5832498


“Characteristically, the interface generation device GEN
for representing, navigating, and creates, in accordance with a process for generating object-
managing said relationships across tables, oriented interfaces from the schema of the relational data
base RDB, an object schema which constitutes an object-
for selecting among said modes, oriented view of the existing relational data base RDB,

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
this view, which constitutes the object-oriented interface
and for navigating across said tables OOI, is made up of a set of classes which represent the
entities stored in the data base.” Id. at col. 7:26-33.
and interacting in accordance the selected
mode with the data in the tables that are reached “This set of classes actually constitutes the interface for
by said navigation, access to the management system RDBMS used by the
application OOA. The interface OOI thus offers a set of
while observing and enforcing relational functions for manipulating and accessing data, such as
interdependencies among data across the manipulation of a collection of objects, the creation,
said tables. deletion or updating of an object, simple access to a
datum, and access to a datum or navigation by means of
---------------------- a relational link.” Id. at col. 7:34-40.
From US7885981
The generated UI comprises all mode displays (e.g., browse,
search, edit, and add) for all tables, and a full complement of
mechanisms, integrated into the mode displays for
representing, navigating, and managing relationships across
tables.

2. The method of claim 1, further comprising A. US5832498


incorporating within said client application “For a clearer understanding by means of an analogy,
components for revealing and enforcing non- knowing that an object view is comparable to a relational
relational constraints defined within said database view and without assuming that the latter is being utilized, it
for each individual table-column. is appropriate to remember that the concept of a view,
which is known in the relational domain, was introduced in
order to allow a user to manipulate the data other than
through the tables defined in the base. A view, then, is a
particular perception of the data in one or more tables, and it
is stored in the form of a selection request in the data
dictionary. Actually, a view is a virtual table, that is a
collection which does not physically exist; it is an object
whose definition is derived from the definitions of tables
and/or other views and which can be considered to be the
evaluation of a request from the base.” Id. at col. 2:63-67
through Id. at col. 3:1-9.

“For the generation of interfaces according to the invention,


the class methods are represented, particularly in
(cont.) C++language, by static functions such as for example the
2. The method of claim 1, further comprising creation methods or the search or query methods which
incorporating within said client application make it possible to obtain an object if its key is known, or to
components for revealing and enforcing non- obtain a set of objects using several simple selection
relational constraints defined within said database criteria.” Id. at col. 9:20-25.
for each individual table-column.
“Furthermore, the instant device for generating object-
oriented interfaces creates a generic class called a collection

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
class for managing objects in memory and handling sets of
objects, which makes it possible to scan a set of instances of
a class or the instances which correspond to certain
selection criteria; this collection class, in order to allow
rapid access to the data, encapsulates mechanisms of the
relational data base management system, such as the
cursors, in such a way that the data which relate to the
objects in memory are managed by the data base
management system itself.” Id. at col. 3:35-44.

“In accordance with the process according to the invention,


the object schema is created from the relational schema
by systematically applying the following translation
rules. Each relational table is translated into a class and
each relational link between the tables expressed by means
of foreign keys is translated into a link between objects
represented by methods, particularly methods for link
creation, link destruction, and link navigation.” Id. at col.
7:51-55.

“A curser is associated with a request in the same program,


and there can be as many cursors as there are requests, but
all these cursors must have distinct names.” Id. at col.
3:55-57.

“The objects which are already present in memory must be


known in order to avoid duplicating them with each
access, making it possible to preserve the consistency in the
memory, and also in the relational data base. In order to
manage this consistency effectively, the invention creates,
for each class which represents a relational table, a table
which contains the identifiers (keys of the corresponding n-
uplets) of the objects present in memory on one hand, and
the addresses of these objects on the other hand, these tables
being updated by the methods used to create or delete an
object.” Id. at col. 5:41-51.

3. The method of claim 1, wherein said relational A. US5832498


interdependencies are embodied in referential- “The model also makes it possible to provide
integrity constraints within the underlying supplementary semantic information on the attributes of

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
database. the relations by imposing referential integrity
----------------------- constraints.” Id. at col. 1:49-52.
From SQL Server update, Oct. 1998,
http://www.craigsmullins.com/sql_ref.htm “Moreover, the introduction of referential integrity
“Referential integrity (RI)is a method for ensuring the constraints in an SQL-type language offers a standard
“correctness” of data within a DBMS. People tend to means for representing the associations in a relational
oversimplify RI, stating that it is merely the identification of schema. Finally, the SQL-type language for defining and
relationships between relational tables. It is actually much more manipulating data with referential integrity constraints such
than this. RI embodies the integrity and usability of a as foreign keys is a standard input description for a
relationship by establishing rules that govern that
relationship.
relational data base.” Id. at col. 14:29-35.

By defining referential constraints, you can set up the


database to control the semantic accuracy of the data it
contains. To define a referential constraint, you must create a
primary key in the parent table and a foreign key in the
dependent table. You must also define what actions are allowed
when data is added or modified. This is accomplished with a set
of rules applied to each relationship. The combination of the
primary and foreign key columns and the rules that dictate the
data that can be housed in those key columns can be defined to
ensure correct and useful relational databases.”

From Fundamentals of Database Systems, 6th ed., Chapter 3,


The Relational Data Model and Relational Database
Constraints
http://cis.csuohio.edu/~sschung/cis430/Elmasri_6e_Ch03.pdf

“Relational Model Constraints Constraints:


Restrictions on the actual values in a database state”

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
A2. Mapping of Claim 4 of US7885981
US7885981 A. US5832498
(claim 4) B. US7096465
4.pre. A computer-implemented system for A. US5832498
automatically generating an end-user interface “FIG. 1 to set forth the general principles of the instant device
for generating object-oriented interfaces GEN designed to
for working with the data within a authorize access by new applications OOA developed in object-
relational database defined within a oriented environments to existing relational data bases RDB
relational DBMS managed by one or more relational data base management
systems RDBMS.“ Id. at col. 7:21-26.
whose data is stored in machine-
readable media and which is accessible “To conclude, the instant device for generating object-oriented
to said system, interfaces which is claimed herein furnishes object-oriented
access to any existing relational data base, making it possible
to create, delete, read and update the data. A set of classes is
generated from the relational schema in order to create an
interface, thus facilitating access to the data.” Id. at col. 13:13-
18.

“Since the generation process is automatic, the interface


generation device according to the invention can be integrated
into any CASE (Computer Aided Software Engineering)
environment.” Id. at col. 13:45-48.

-------------------------
B. US7096465
“Described below is a system, alternately referred to as the IDA
Control Algorithm Configurator, the Configurator, IDA, and the
like, according to one embodiment of the invention for use
modeling and configuring control processes. Referring to FIG. 3,
the Configurator includes a Framework, a Database, a project
manager and a set of editors. The Framework provides common
resources, such as menus, toolbars, dialogs, and security
services, used by the editors to manipulate, display and
report configuration data stored in the IDA database. In one
preferred practice of the invention, the IDA Control Algorithm
Configurator and Framework are packaged as a single
application.” col. 10:17-28.

“The database forms part of an object oriented database


management system (OODBMS), which may be any type
commercially available in the marketplace. The database can be
deployed in a client/server configuration with a single centralized
database per plant servicing multiple clients, or otherwise.” Id. at
col. 10:40-45.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
4.a. wherein said relational database comprises A. US5832498
“Generally, in order to simplify the representation of data, and to
a plurality of tables, constraints and enable higher productivity on the part of developers and users,
relationships the relational data model is currently used because it allows the
tabular representation of objects as well as of the associations
in accordance with a data model between objects. In this case, a relational data base is like a set
comprising said tables and their of relations, hence the name of the model; these relations are
column-complements and datatypes, also called tables. A conceptual schema associated with a data
said constraints, and the relationships base describes its structure and the type of data it contains and
across said tables, possibly, as in the case of the present invention, the constraints
or rules which must always be verified” Id. at col. 1:13-23.

“The data base itself is managed by a data base management


system. Each relation also has a schema which describes its
structure and an extension which corresponds to the state of this
relation at a given instant. The schema of a table is composed
of a set of attributes (or columns), a sub-assembly of which
constitutes the key which enables identification of the other
attributes of the relation or an element (n-triple) of the relation.”
Id. at col. 1:22-29.

4.b. and wherein said relational database may be A. US5832498


of any arbitrary size or complexity, “To conclude, the instant device for generating object-
oriented interfaces which is claimed herein furnishes object-
oriented access to any existing relational data base, making it
possible to create, delete, read and update the data. A set of
classes is generated from the relational schema in order to
create an interface, thus facilitating access to the data. These
classes can be used locally by any application or in a
distributed environment as a server which a remote client can
access through a network, particularly a CORBA client through
the ORB.” Id. at col. 13:13-22.

-------------------------
B. US7096465
“The database forms part of an object oriented database
management system (OODBMS), which may be any type
commercially available in the marketplace.” Id. at col. 10:40-
42.

“A further object of the invention is to provide such methods and


apparatus as facilitate configuring large or complex control
systems.” col. 2:65-67.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
4.c. said system comprising a server comprising a A. US5832498
processor, said server further comprising: “Thus, the solution provided by the invention involves offering
the programmer an object-oriented view of the data base to be
(a) machine-readable routines to provide accessed, and the classes furnished are representative of the
an output stream for user display and entities in the data base which are specific to the application, for
input devices, example "people" instead of "tables" or "n-triples" unlike the
above-mentioned second solution, which consists of furnishing
defining a user interface paradigm generic classes.” Id. at col. 3:9-16.
comprising a set of modes for interacting
with a given database table, “To conclude, the instant device for generating object-oriented
interfaces which is claimed herein furnishes object-oriented
said modes comprising create, retrieve, access to any existing relational data base, making it possible
update and delete, and a corresponding to create, delete, read and update the data. A set of classes is
display format for each mode; generated from the relational schema in order to create an
interface, thus facilitating access to the data.” Id. at col. 13:13-
18

-------------------------
B. US7096465

B. US7096465

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
(cont.)
4.c. said system comprising a server comprising a
processor, said server further comprising:

(a) machine-readable routines to provide


an output stream for user display and
input devices,

defining a user interface paradigm


comprising a set of modes for interacting
with a given database table,

said modes comprising create, retrieve,


update and delete, and a corresponding
display format for each mode;

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
(cont.)
4.c. said system comprising a server comprising a
processor, said server further comprising:

(a) machine-readable routines to provide


an output stream for user display and
input devices,

defining a user interface paradigm


comprising a set of modes for interacting
with a given database table,

said modes comprising create, retrieve,


update and delete, and a corresponding
display format for each mode;
4.d. (b) machine-readable routines for scanning A. US5832498
said database “A conceptual schema associated with a data base describes
its structure and the type of data it contains and possibly, as in
and applying a body of rules the case of the present invention, the constraints or rules which
must always be verified.” Id. at col. 1:19-23.
to determine the table structures, constraints
and relationships of said data model, “Generally, different types of relational links can be represented
in a relational schema; they can have different cardinalities (1-1,
and for storing representations thereof; and 1-n, n,m) or associated properties, which cardinality depends on
the uniqueness constraints declared in the foreign keys (the
foreign key attribute being able to be defined as "unique", to be a
primary key, etc.).” Id. at col. 7:57-63.

“Furthermore, the instant device for generating object-oriented


interfaces creates a generic class called a collection class for
managing objects in memory and handling sets of objects, which
makes it possible to scan a set of instances of a class or the
instances which correspond to certain selection criteria; this
collection class, in order to allow rapid access to the data,
encapsulates mechanisms of the relational data base management
system, such as the cursors, in such a way that the data which
relate to the objects in memory are managed by the data base
management system itself.” Id. at col. 3:35-44.

“A description of the data base RDB in a standard language for


defining and manipulating data, for example the language
SQL, is applied to the input of the interface generation device
GEN, the definitions of the tables of the data base being
scanned with the aid of this language.” Id. at col. 7:43-48.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
“To this end, the instant device for generating object-oriented
interfaces creates, in accordance with a process for generating
object-oriented interfaces from the schema of the relational data
base, an object schema which constitutes an object-oriented view
of the existing relational data base, this view, which constitutes
the object-oriented interface, being composed of a set of classes
which represents the entities stored in the data base, the input
applied to the interface generating device being a data base
description in a standard language for defining and manipulating
data.” Id. at col. 2:53-62.

4.e. (c) machine-readable routines for using said A. US5832498


representations to construct a corresponding “The present invention relates to a device for generating object-
client application, oriented interfaces for enabling new applications developed in
object-oriented environments to access existing relational data
wherein said client application bases.” Id. at col. 1:8-11.

provides a connection to said database, “Thus, the solution provided by the invention involves offering
the programmer an object-oriented view of the data base to be
provides displays of the table contents of accessed, and the classes furnished are representative of the
said database for each of said modes in entities in the data base which are specific to the application, for
accordance with the display formats of said example "people" instead of "tables" or "n-triples" unlike the
paradigm, above-mentioned second solution, which consists of furnishing
generic classes.” Id. at col. 3:9-16.

“This means that the programmer is offered an interface for


access to the data base management system, an interface
which is specific to the application and therefore to the data base
to be accessed, such an interface being constructed for each
data base. For this purpose, a generation device, also called a
generator, must be used to produce the interfaces for the
relational data base, which generation device receives a data
base description as input. In other words, the generation device
makes it possible to generate, from the relational schema or
from a description of the highest level, an object-oriented
interface for access to the data of this schema, the view which
constitutes the interface being composed of a set of classes
which represents the logical entities of the schema of data and
which implements the access to this data.” Id. at col. 3:16-31.

4.f. integrates into each said mode display A. US5832498


processes “Characteristically, the interface generation device GEN
creates, in accordance with a process for generating object-

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
for representing, navigating, and oriented interfaces from the schema of the relational data
managing said relationships across base RDB, an object schema which constitutes an object-
tables, oriented view of the existing relational data base RDB, this
view, which constitutes the object-oriented interface OOI, is
for selecting among said modes, and made up of a set of classes which represent the entities stored
in the data base.” Id. at col. 7:26-33.
for navigating across said tables and
interacting in accordance the selected “This set of classes actually constitutes the interface for access
mode with the data in the tables that to the management system RDBMS used by the application
are reached by said navigation, OOA. The interface OOI thus offers a set of functions for
manipulating and accessing data, such as the manipulation of
while observing and enforcing a collection of objects, the creation, deletion or updating of an
relational interdependencies object, simple access to a datum, and access to a datum or
among data across said tables. navigation by means of a relational link.” Id. at col. 7:34-40.

A3. Mapping of Claim 5 of US7885981

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
US7885981 A. US5832498
(claim 5) B. US7096465
5.a. A computer-readable storage medium A. US5832498
containing a set of instructions for a general “ Furthermore, the instant device for generating object-
purpose computer, oriented interfaces creates a generic class called a collection
class for managing objects in memory and handling sets of
for automatically generating an end-user objects, which makes it possible to scan a set of instances of a
interface class or the instances which correspond to certain selection
criteria; this collection class, in order to allow rapid access to
for working with the data within a relational the data, encapsulates mechanisms of the relational data
database, base management system, such as the cursors, in such a way
that the data which relate to the objects in memory are
managed by the data base management system itself.” Id. at
col. 3:35-44.

“In accordance with the process according to the invention, the


object schema is created from the relational schema by
systematically applying the following translation rules. Each
relational table is translated into a class and each relational link
between the tables expressed by means of foreign keys is
translated into a link between objects represented by methods,
particularly methods for link creation, link destruction, and link
navigation.” Id. at col. 7:51-55.

“A description of the data base RDB in a standard language


for defining and manipulating data, for example the language
SQL, is applied to the input of the interface generation device
GEN, the definitions of the tables of the data base being scanned
with the aid of this language.” Id. at col. 7:42-48.

5.b. wherein said relational database comprises A. US5832498


“Generally, in order to simplify the representation of data, and to
a plurality of tables, constraints and enable higher productivity on the part of developers and users,
relationships the relational data model is currently used because it allows the
tabular representation of objects as well as of the associations
in accordance with a data model comprising between objects. In this case, a relational data base is like a
said tables and their column-complements and set of relations, hence the name of the model; these relations
datatypes, said constraints, and the are also called tables. A conceptual schema associated with a
relationships across said tables, data base describes its structure and the type of data it
contains and possibly, as in the case of the present invention, the
constraints or rules which must always be verified” Id. at col.
1:12-23.

“The data base itself is managed by a data base management


system. Each relation also has a schema which describes its

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
structure and an extension which corresponds to the state of this
relation at a given instant. The schema of a table is composed
of a set of attributes (or columns), a sub-assembly of which
constitutes the key which enables identification of the other
attributes of the relation or an element (n-triple) of the
relation.” Id. at col. 1:23-30.

and wherein said relational database may be of A. US5832498


any arbitrary size or complexity, “To conclude, the instant device for generating object-
oriented interfaces which is claimed herein furnishes object-
oriented access to any existing relational data base, making it
possible to create, delete, read and update the data. A set of
classes is generated from the relational schema in order to
create an interface, thus facilitating access to the data. These
classes can be used locally by any application or in a
distributed environment as a server which a remote client can
access through a network, particularly a CORBA client through
the ORB.” Id. at col. 13:13-22.

-------------------------
B. US7096465
“The database forms part of an object oriented database
management system (OODBMS), which may be any type
commercially available in the marketplace.” Id. at col. 10:40-
42.

“A further object of the invention is to provide such methods and


apparatus as facilitate configuring large or complex control
systems.” col. 2:65-67.

5.c. said set of instructions comprising: A. US5832498


“To conclude, the instant device for generating object-oriented
(a) a routine for providing a user interface interfaces which is claimed herein furnishes object-oriented
paradigm comprising a set of modes for access to any existing relational data base, making it possible
interacting with a given database table, to create, delete, read and update the data. A set of classes is
generated from the relational schema in order to create an
said modes comprising create, retrieve, update interface, thus facilitating access to the data.” Id. at col. 13:13-
and delete, and a corresponding display 18.
format for each mode;

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
5.d. (b) a routine for scanning said database A. US5832498
and “Furthermore, the instant device for generating object-oriented
interfaces creates a generic class called a collection class for
applying a body of rules to determine the table managing objects in memory and handling sets of objects, which
structures, constraints and relationships of makes it possible to scan a set of instances of a class or the
said data model, instances which correspond to certain selection criteria; this
collection class, in order to allow rapid access to the data,
and for storing representations thereof; and encapsulates mechanisms of the relational data base
management system, such as the cursors, in such a way that the
data which relate to the objects in memory are managed by the
data base management system itself.” Id. at col. 3:35-44.

“A description of the data base RDB in a standard language for


defining and manipulating data, for example the language
SQL, is applied to the input of the interface generation device
GEN, the definitions of the tables of the data base being
scanned with the aid of this language.” Id. at col. 7:43-48.

“In accordance with the process according to the invention, the


object schema is created from the relational schema by
systematically applying the following translation rules. Each
relational table is translated into a class and each relational
link between the tables expressed by means of foreign keys is
translated into a link between objects represented by methods,
particularly methods for link creation, link destruction, and link
navigation.” Id. at col. 7:51-55.

“To this end, the instant device for generating object-oriented


interfaces creates, in accordance with a process for generating
object-oriented interfaces from the schema of the relational
data base, an object schema which constitutes an object-
oriented view of the existing relational data base, this view,
which constitutes the object-oriented interface, being
composed of a set of classes which represents the entities
stored in the data base, the input applied to the interface
generating device being a data base description in a standard
language for defining and manipulating data.” Id. at col. 2:53-62.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
5.e. (c) a routine for using said representations A. US5832498
to construct a corresponding client “The present invention relates to a device for generating object-
application, wherein said client application oriented interfaces for enabling new applications developed in
object-oriented environments to access existing relational data
provides a connection to said database, bases.” Id. at col. 1:8-11.

provides displays of the table contents of “Thus, the solution provided by the invention involves offering
said database for each of said modes in the programmer an object-oriented view of the data base to be
accordance with the display formats of said accessed, and the classes furnished are representative of the
paradigm, entities in the data base which are specific to the application,
for example "people" instead of "tables" or "n-triples" unlike the
above-mentioned second solution, which consists of furnishing
generic classes.” Id. at col. 3:9-16.

-------------------------
B. US7096465

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
(cont.)
5.e. (c) a routine for using said representations
to construct a corresponding client
application, wherein said client application

provides a connection to said database,

provides displays of the table contents of


said database for each of said modes in
accordance with the display formats of said
paradigm,

5.f. integrates into each said mode display A. US5832498


processes “Characteristically, the interface generation device GEN
creates, in accordance with a process for generating object-
for representing, navigating, and oriented interfaces from the schema of the relational data
managing said relationships across base RDB, an object schema which constitutes an object-
tables, oriented view of the existing relational data base RDB, this
view, which constitutes the object-oriented interface OOI, is
for selecting among said made up of a set of classes which represent the entities stored
modes, and in the data base.” Id. at col. 7:26-33.

for navigating across said “This set of classes actually constitutes the interface for access
tables and interacting in to the management system RDBMS used by the application
accordance the selected OOA. The interface OOI thus offers a set of functions for
mode with the data in the manipulating and accessing data, such as the manipulation
tables that are reached by said navigation, of a collection of objects, the creation, deletion or updating of
an object, simple access to a datum, and access to a datum or
while observing and enforcing navigation by means of a relational link.” Id. at col. 7:34-40.
relational interdependencies
among data across said tables.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
B1. Mapping of Claims 1-3 of US7885981
US7885981
C. US6035300 (“IBM”)
(claims 1-3)
1.pre. A method for operating a server C. US6035300 (“IBM”)
comprising “Products currently available for automatically
generating a user interface do so only for entities and
a processor for automatically generating an end- attributes, and relationships are not automatically created
user interface and checked. A further problem with current products and
practices is that usually a data model is written first, then the
for working with the data within a user interface is defined without, often, updating the data
relational database defined within a model. There is, therefore, a need to assure that as the
relational DBMS user interface is developed, the underlying data model is
updated--and fixing one automatically fixes the other.”
whose data is stored in machine-readable IBM at Id. at col. 1:42-50.
media and which is accessible to said
server, “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 interface.” Id. at Id. at col. 1:51-59.

“1. A method for generating a dynamic user interface from


a data model of a database, comprising the steps of:
defining the database entities, attributes, and relationships
describing a data model describing a relational data base
of an application, said relationships representing
connections, links, and associations between entities in the
data model;
directly accessing said data model described by said entities,
attributes, and relationships; and generating the dynamic user
interface directly from the data model, said dynamic user
interface adapted to directly access said relational data
base.”

“3. The method of claim 1, wherein said dynamic user


interface is adapted to directly update said relational data
base, and wherein said data model is adapted to directly
update said dynamic user interface.”

“FIGS. 15 and 16 combine the database and user interface

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
(cont.) models. The EAR model contains the database model
1.pre. A method for operating a server which describes the invention. A physical model describes
comprising an actual implementation of an EAR model of the
invention for a given database, and includes table names,
a processor for automatically generating an end- field names within tables, and their type and size.”
user interface
“In accordance with the invention, an application generator is
for working with the data within a created using an SQL interface written in C that works on
relational database defined within a OS/2 using Presentation Manager, over a LAN connection.
relational DBMS For example, the application code in FIG. 10 is Presentation
Manager code written in C that is closely related to OS/2
whose data is stored in machine-readable code 217 at terminal 200. It reads SQL tables in file 217 (or
media and which is accessible to said 216?) that describe the data model (providing pointers to
server, database 218 and application code in FIG. 10), and then
accesses the real physical tables 218 that contain
application data.”

“In those instances where records are stored in user's


database 218 in alphabetical, or some other such order, get
next record key 230 and get previous record key 232 are
provided for accessing the next and previous records,
respectively.”

1.a. wherein said relational database comprises C. US6035300 (“IBM”)


“The database includes tables 152, 154 and 156. Table 152
a plurality of tables, constraints and includes columns for department number 172, employee
relationships stored in said DBMS number 174 and employee type 176.” IBM at Id. at col. 6:57
through Id. at col. 7:1-2.
in accordance with a data model
comprising said tables and their column- “TABLE-- DEFINITIONS entity 404 is a physical model
complements and datatypes, said representation of Table Definition entity 304, with
constraints, and the relationships across relationships links 430, 432, 434 and 448 corresponding to
said tables, and links 330, 332, 334 and 348, respectively, and with columns,
indexes, primary keys and foreign keys, including type,
length, attributes and order as further set forth in Table 1.” Id.
at Id. at col. 15:49-54.

“In operation, for setting up a new model, first the table


prime names are identified within the Table Definition entity
304. Next, the field prime names are identified within Field
Definition entity 306 for each table. Next, every relationship
between the tables in Table Definition entity 304 are
defined in Link Table entity 302.” Id. at Id. at col. 13:1-6.

“Default Value independent entity 312 has primary key

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
DEFAULT-- NAME and non-key attributes DEFAULT-- ID
and DEFAULT-- DESC. It has non-identifying relationship
link 354 with Default Domain entity 314, such that each
record in Default Value entity is identified by one to exactly
one record in Default Domain entity 314.” Id. at Id. at col.
15:16-21.

1.b. wherein said relational database may be of C. US6035300 (“IBM”)


any arbitrary size or complexity, said method “The structure and method of the preferred embodiment of
comprising this invention enable a user to avoid having to learn many
complicated syntaxes, by allowing the user to design a
(a) providing an output stream from said database system at a user friendly interface, such as a
server, for user display and input graphical user interface or dumb terminal. Such a user need
devices, defining a user interface not understand, nor be required to access, the underlying
paradigm comprising a set of modes for data model.” IBM at Id. at col. 17:64-67 through Id. at col.
interacting with a given database table, 18:1-3.

said modes comprising create, retrieve, update “Keys 222-234 represent various functions which a user
and delete, and a corresponding display format can do within an entity. To add a new record within an
for each mode; entity, the user must select add by key 222, which requires
that the user provide a new primary key value. Similarly
---------------------- delete old record key 224 allows the user to delete a record
From US7885981 identified by a specific primary key entered at terminal 219.
“It is an object of the invention to provide a complete and Save current record key 228 commits the change entered in
fully functional user interface (UI) for any arbitrarily
complex or large database schema, without any custom
response to processing add new record key 222 or delete old
software programming.” record key 224 to user's data base 218.” IBM at Id. at col.
10:43-51.
The generated UI comprises all mode displays (e.g., browse,
search, edit, and add) for all tables, and a full complement
of mechanisms, integrated into the mode displays for
representing, navigating, and managing relationships
“Record edit interface 220 is further responsive to add new
across tables. record key 222, delete old record key 224, change record key
226, save current record key 228, get next record key 230,
get previous record key 232, and select a record key 234,
and may pass control to invoke a relationship control 236.”
Id. at Id. at col. 10:17-21.

(b) causing said server C. US6035300 (“IBM”)


“In accordance with the invention, an application generator
to scan said database and apply a body of is created using an SQL interface written in C that works on
rules OS/2 using Presentation Manager, over a LAN connection.
For example, the application code in FIG. 10 is Presentation
to determine the table structures, Manager code written in C that is closely related to OS/2
constraints and relationships of code 217 at terminal 200. It reads SQL tables in file 217 (or

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
said data model, 216?) that describe the data model (providing pointers to
database 218 and application code in FIG. 10), and then
and store representations thereof accesses the real physical tables 218 that contain
in machine-readable media application data. In one embodiment of the invention,
accessible to said server; and entities are represented by OS/2 windows at display 219, and
attributes are fields on that display.” IBM at Id. at col. 8:25-
37.

“In operation, for setting up a new model we first identify


the table prime names within the entity table definition.
Next, we need to identify the field prime names within
each table. The field prime names are in the field definition
entity. Next, we need to identify every relationship between
the tables in the table definition entity. These are entered in
the link table entity, in the table prime name and to table
prime name fields. Finally, for each link established we
need to identify the related fields for each table and to
table. These fields are field prime name and to field prime
name for each table/to table combination entered in the link
field entity. At this point, the meta data file 216 is established
for a particular application, insofar as required to establish
relationships as prime objects. Meta data file 216 describes
the user data in user data base file 218.” Id. at Id. at col. 9:7-
21.

“Entities of the preferred embodiment of the invention


include Table Definition independent entity 304, Field
Definition dependent entity 306, Link Table dependent
entity 302, and Link Field dependent entity 324.” Id. at Id.
at col. 8:41-45.

(c) causing said server C. US6035300 (“IBM”)


to use said representations “In accordance with the invention, an application generator
is created using an SQL interface written in C that works on
to construct a corresponding client OS/2 using Presentation Manager, over a LAN connection.
application For example, the application code in FIG. 10 is Presentation
Manager code written in C that is closely related to OS/2
for access through said user display and code 217 at terminal 200. It reads SQL tables in file 217 (or
input devices, 216?) that describe the data model (providing pointers to
database 218 and application code in FIG. 10), and then
wherein said client application provides a accesses the real physical tables 218 that contain
connection to said database, application data. In one embodiment of the invention,
entities are represented by OS/2 windows at display 219,
provides displays of the table contents of said and attributes are fields on that display.” IBM at Id. at col.
database 8:25-37.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
for each of said modes in accordance with
the display formats of said paradigm,

integrates into each said mode display processes C. US6035300 (“IBM”)


“TABLE-- DEFINITIONS entity 404 is a physical model
for representing, navigating, and representation of Table Definition entity 304, with
managing said relationships across relationships links 430, 432, 434 and 448 corresponding to
tables, links 330, 332, 334 and 348, respectively, and with columns,
indexes, primary keys and foreign keys, including type,
for selecting among said modes, length, attributes and order as further set forth in Table 1.”
IBM at Id. at col. 15:49-54.
and for navigating across said tables
“By way of further explanation of the preferred embodiment
and interacting in accordance the of the invention, Link-Field entity 324 records are
selected mode with the data in the tables relationship descriptions, describing how to link two
that are reached by said navigation, entities (tables) together, and include data describing the
to field and from field. Relationship link 362 represents an
while observing and enforcing relational alternate key to Link-Id entity 322 based on prime name
interdependencies among data across LINK-- PRIME-- NAME and provides a verb describing the
said tables. relationship. There is Link-Id entity 322 record (relationship
link 362) to every Link-Table entity 302 record.” Id. at Id. at
---------------------- col. 17:9-17.
From US7885981
The generated UI comprises all mode displays (e.g., browse, “Record edit interface 220 is further responsive to add new
search, edit, and add) for all tables, and a full complement
of mechanisms, integrated into the mode displays for record key 222, delete old record key 224, change record key
representing, navigating, and managing relationships 226, save current record key 228, get next record key 230,
across tables. get previous record key 232, and select a record key 234,
and may pass control to invoke a relationship control 236.”
Id. at Id. at col. 10:17-21.

“In operation, for setting up a new model, first the table


prime names are identified within the Table Definition entity
304. Next, the field prime names are identified within Field
Definition entity 306 for each table. Next, every relationship
between the tables in Table Definition entity 304 are
defined in Link Table entity 302.” Id. at Id. at col. 13:1-6.
“Relationships may be considered to be push buttons (for
example, keys on keyboard, icons on display--there are
many other ways to implement such relationships at the user
interface).” Id. at Id. at col. 8:37-40.

“Record edit interface 220 is further responsive to add


new record key 222, delete old record key 224, change
record key 226, save current record key 228, get next

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
record key 230, get previous record key 232, and select a
record key 234, and may pass control to invoke a
relationship control 236. Invoke a relationship control 236
passes control to description test 240, which in turn
accesses page input editor 238 on the yes branch and one to
one test 242 on the no branch. The yes output of one to one
test 242 passes control back to record edit interface 220, and
the no output passes control to one to many test 244.” Id. at
Id. at col. 10:17-27.

2. The method of claim 1, further comprising C. US6035300 (“IBM”)


incorporating within said client application “The key is the set of attributes that identifies an entity. A
components for revealing and enforcing non- key attribute is an attribute which, either by itself, or in
relational constraints defined within said combination with other key attributes, forms a unique
database for each individual table-column. 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.”
IBM at Id. at col. 34-46.

“ An ERwin diagram may be viewed as a graphical language


for expressing statements about a model wherein entities are
the nouns, attributes are the adjectives or modifiers and
relationships are the verbs.”

“By way of further explanation of the preferred embodiment


of the invention, Link-Field entity 324 records are
relationship descriptions, describing how to link two
entities (tables) together, and include data describing the to
field and from field. Relationship link 362 represents an
alternate key to Link-Id entity 322 based on prime name
LINK-- PRIME-- NAME and provides a verb describing
the relationship. There is Link-Id entity 322 record
(relationship link 362) to every Link-Table entity 302 record.
This simplifies the complexity otherwise required in Link-
Field entity 324, but is otherwise essential. Link-Field entity
324 also provides a field prime name FIELD-- PRIME--
NAME (FK) that is unique to the system and that does not
depend on an entity, for the table name appears in the link.”

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
“Field Definition dependent entity 306 has primary keys
APPLSYS-- PRIME-- NAME (FK), TABLE-- PRIME--
NAME (FK) and FIELD-- PRIME-- NAME (FK); non-key
attributes 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-- KEY-- FG, FIELD--
LENGTH-- MS, FIELD-- SEQ-- NUM, FIELD-- ORDBY--
NUM, and FIELD-- LOOKUP-- NAME; identifying
relationship link 334 with Table Definition entity 304, and
340 with Attribute entity 326; and non-identifying
relationship links 364 with Field Domain entity 328, 352
with Control name entity 310, and 356 wit Default Domain
314.” Id. at Id. at col. 13:49-62.

3. The method of claim 1, wherein said relational C. US6035300 (“IBM”)


interdependencies are embodied in referential- “The EAR model of the preferred embodiment of the
integrity constraints within the underlying invention assures data integrity, and maintains the
database. referential integrity and cardinality of the user interface,
assures that the data model is updated when changes are
----------------------- made to the user interface, and automatically develops the
From SQL Server update, Oct. 1998, concept of traversing screen to screen. That is, within a data
http://www.craigsmullins.com/sql_ref.htm model, invoking a relationship can be visualized as moving
“Referential integrity (RI)is a method for ensuring the
from one screen entity to another, thereby transversing the
“correctness” of data within a DBMS. People tend to data model.” IBM at Id. at col. 15:30-37.
oversimplify RI, stating that it is merely the identification of
relationships between relational tables. It is actually much “Every entity defined by Table Definition entity 304 needs
more than this. RI embodies the integrity and usability of to have relationships defined to other entities: so two
a relationship by establishing rules that govern that
relationship.
relationship links 330 and 332 are required with respect to
Link-Table entity 302 to define a relationship. The primary
By defining referential constraints, you can set up the keys for defining a relationship include application name
database to control the semantic accuracy of the data it APPLSYS-- PRIME-- NAME (FK), table from TABLE--
contains. To define a referential constraint, you must PRIME-- NAME (FK), table to TO.TABLE-- PRIME--
create a primary key in the parent table and a foreign
key in the dependent table. You must also define what
NAME (FK), and a unique link number LINK-- ORDBY--
actions are allowed when data is added or modified. This is NUM (because it is possible to have more than one link
accomplished with a set of rules applied to each relationship. between two entities.) Other attributes of a relationship are
The combination of the primary and foreign key columns below the line in Link-Table entity 302. Link type entity 318
and the rules that dictate the data that can be housed in those identifies relationship type and the processing that must
key columns can be defined to ensure correct and useful
relational databases.”
occur in response to activation of change key 226 (FIG.
10) in order to assure referential integrity and cardinality
at the user interface. Examples of link types are description,
cascaded delete, restricted delete--as set forth in Tables 5 and
From Fundamentals of Database Systems, 6th ed., 6.” Id. at Id. at col. 16:59-67 through Id. at col. 17:1-8.
Chapter 3, The Relational Data Model and Relational
Database Constraints

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
http://cis.csuohio.edu/~sschung/cis430/Elmasri_6e_Ch03.pdf “Relationships may be identifying and non-identifying. In an
identifying relationship, foreign keys migrate to the key area
“Relational Model Constraints
Constraints: Restrictions on the actual values in a
(above the line) and the keys of the parent form part of the
database state” identity of the child: the child is dependent on the parent for
its identity. Identifying relationships are indicated by a solid
line connecting the entities, with a dot on the child end. Non-
identifying relationships are represented by dashed lines, and
also connect a parent entity to a child entity. A non-empty
subset of the foreign keys migrated by non-identifying
relationships are placed in the data area (below the line).
Since some or all of the migrated keys in a non-identifying
relationship are not part of the primary key of the child, the
child is not identified by the parent. This difference is relied
upon in assuring referential integrity, by which the
integrity of the relationship between parent and child is
maintained during insertion, deletion and update
operations.” Id. at Id. at col. 5:62-67 through Id. at col. 6:1-
11.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
B2. Mapping of Claim 4 of US7885981
US7885981 C. US6035300 (“IBM”)
(claim 4)
4.pre. A computer-implemented system for C. US6035300 (“IBM”)
automatically generating an end-user interface “Products currently available for automatically
generating a user interface do so only for entities and
for working with the data within a attributes, and relationships are not automatically created
relational database defined within a and checked. A further problem with current products and
relational DBMS practices is that usually a data model is written first, then the
user interface is defined without, often, updating the data
whose data is stored in machine- model. There is, therefore, a need to assure that as the
readable media and which is accessible to user interface is developed, the underlying data model is
said system, updated--and fixing one automatically fixes the other.”
IBM at Id. at col. 1:42-50.

“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
interface.” Id. at Id. at col. 1:51-59.
4.a. wherein said relational database comprises C. US6035300 (“IBM”)
“The database includes tables 152, 154 and 156. Table 152
a plurality of tables, constraints and includes columns for department number 172, employee
relationships number 174 and employee type 176.” IBM at Id. at col. 6:57
through Id. at col. 7:1-2.
in accordance with a data model
comprising said tables and their “TABLE-- DEFINITIONS entity 404 is a physical model
column-complements and datatypes, representation of Table Definition entity 304, with
said constraints, and the relationships across relationships links 430, 432, 434 and 448 corresponding to
said tables, links 330, 332, 334 and 348, respectively, and with columns,
indexes, primary keys and foreign keys, including type,
length, attributes and order as further set forth in Table 1.” Id.
at Id. at col. 1:51-59.

“In operation, for setting up a new model, first the table prime
names are identified within the Table Definition entity 304.
Next, the field prime names are identified within Field
Definition entity 306 for each table. Next, every relationship
between the tables in Table Definition entity 304 are
defined in Link Table entity 302.” Id. at Id. at col. 13:1-6.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
“Default Value independent entity 312 has primary key
DEFAULT-- NAME and non-key attributes DEFAULT-- ID
and DEFAULT-- DESC. It has non-identifying relationship
link 354 with Default Domain entity 314, such that each
record in Default Value entity is identified by one to exactly
one record in Default Domain entity 314.” Id. at Id. at col.
15:16-21.

and wherein said relational database may be of any C. US6035300 (“IBM”)


arbitrary size or complexity, “The structure and method of the preferred embodiment of
this invention enable 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 or dumb terminal. Such a user need
not understand, nor be required to access, the underlying
data model.” IBM at Id. at col. 17:64-67 through Id. at col.
18:1-3.

said system comprising a server comprising a C. US6035300 (“IBM”)


processor, said server further comprising: “Keys 222-234 represent various functions which a user
can do within an entity. To add a new record within an
(a) machine-readable routines to provide an entity, the user must select add by key 222, which requires
output stream for user display and input that the user provide a new primary key value. Similarly
devices, delete old record key 224 allows the user to delete a record
identified by a specific primary key entered at terminal 219.
defining a user interface paradigm comprising a Save current record key 228 commits the change entered in
set of modes for interacting with a given database response to processing add new record key 222 or delete old
table, record key 224 to user's data base 218.” IBM at Id. at col.
10:43-51.
said modes comprising create, retrieve, update
and delete, and a corresponding display format
for each mode;

“Record edit interface 220 is further responsive to add new


record key 222, delete old record key 224, change record key
226, save current record key 228, get next record key 230, get
previous record key 232, and select a record key 234, and
may pass control to invoke a relationship control 236.” Id. at

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
Id. at col. 10:17-21.

(b) machine-readable routines C. US6035300 (“IBM”)


“In accordance with the invention, an application generator
for scanning said database and is created using an SQL interface written in C that works on
applying a body of rules to determine OS/2 using Presentation Manager, over a LAN connection.
the table structures, constraints and For example, the application code in FIG. 10 is Presentation
relationships of said data model, Manager code written in C that is closely related to OS/2 code
217 at terminal 200. It reads SQL tables in file 217 (or 216?)
and for storing representations thereof; that describe the data model (providing pointers to database
and 218 and application code in FIG. 10), and then accesses the
real physical tables 218 that contain application data. In
one embodiment of the invention, entities are represented by
OS/2 windows at display 219, and attributes are fields on that
display.” IBM at Id. at col. 8:25-37.

“In operation, for setting up a new model we first identify


the table prime names within the entity table definition.
Next, we need to identify the field prime names within each
table. The field prime names are in the field definition entity.
Next, we need to identify every relationship between the
tables in the table definition entity. These are entered in the
link table entity, in the table prime name and to table prime
name fields. Finally, for each link established we need to
identify the related fields for each table and to table. These
fields are field prime name and to field prime name for each
table/to table combination entered in the link field entity. At
this point, the meta data file 216 is established for a particular
application, insofar as required to establish relationships as
prime objects. Meta data file 216 describes the user data in
user data base file 218.” Id. at Id. at col. 9:7-21.

“Referring to FIG. 9, the essential entities of the preferred


embodiment of the invention include Table Definition
independent entity 304, Field Definition dependent entity
306, Link Table dependent entity 302, and Link Field
dependent entity 324.” Id. at Id. at col. 8:41-45.

“Referring to FIGS. 11, 13 and 15, the database model for


the preferred embodiment of the invention will be described.
This describes the entities, fields, links and relationships of
the preferred embodiment of the invention for use (as
described in connection with FIGS. 8-9) in developing and
using a database model (as described, for example, in

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
connection with FIG. 7). Thus, the physical representation
(FIGS. 12, 14 and 16) of this model (FIGS. 11, 13 and 15)
resides in file 216 (FIG. 8), and is accessed by a user at
terminal 219.” Id. at Id. at col. 13:17-26.

(c) machine-readable routines for using said C. US6035300 (“IBM”)


representations to construct a corresponding “In accordance with the invention, an application generator
client application, is created using an SQL interface written in C that works on
OS/2 using Presentation Manager, over a LAN connection.
wherein said client application For example, the application code in FIG. 10 is Presentation
Manager code written in C that is closely related to OS/2
provides a connection to said database, code 217 at terminal 200. It reads SQL tables in file 217 (or
216?) that describe the data model (providing pointers to
provides displays of the table contents of said database 218 and application code in FIG. 10), and then
database for each of said modes in accordance accesses the real physical tables 218 that contain
with the display formats of said paradigm, application data. In one embodiment of the invention,
entities are represented by OS/2 windows at display 219,
and attributes are fields on that display.” IBM at Id. at col.
8:25-37.

integrates into each said mode C. US6035300 (“IBM”)


display processes “TABLE-- DEFINITIONS entity 404 is a physical model
representation of Table Definition entity 304, with
for representing, relationships links 430, 432, 434 and 448 corresponding to
navigating, and managing said links 330, 332, 334 and 348, respectively, and with columns,
relationships across tables, indexes, primary keys and foreign keys, including type,
length, attributes and order as further set forth in Table 1.”
IBM at Id. at col. 15:49-54.

“By way of further explanation of the the preferred


embodiment of the invention, Link-Field entity 324 records
are relationship descriptions, describing how to link two
entities (tables) together, and include data describing the
to field and from field. Relationship link 362 represents an
alternate key to Link-Id entity 322 based on prime name
LINK-- PRIME-- NAME and provides a verb describing the
relationship. There is Link-Id entity 322 record (relationship
link 362) to every Link-Table entity 302 record.” Id. at Id. at
col. 17:9-17.
for selecting among said modes, and

“Record edit interface 220 is further responsive to add


new record key 222, delete old record key 224, change
record key 226, save current record key 228, get next
record key 230, get previous record key 232, and select a

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
record key 234, and may pass control to invoke a
relationship control 236. Invoke a relationship control 236
passes control to description test 240, which in turn
accesses page input editor 238 on the yes branch and one to
one test 242 on the no branch. The yes output of one to one
test 242 passes control back to record edit interface 220, and
the no output passes control to one to many test 244.” Id. at
Id. at col. 10:17-27.

“Relationships may be considered to be push buttons (for


example, keys on keyboard, icons on display--there are
many other ways to implement such relationships at the user
interface).” Id. at Id. at col. 8:37-40.

“In response to the identification of the entity selected, meta


data file 216 is accessed to determine which relationships
exist for it. There will be one control established at terminal
219 for each relationship defined in meta data file 216 for
the selected entity. Just as each entity has one or more
primary keys, relationships have keys that link entities. A
control may be, for example, a push button, popup menu,
icon, function key, number/enter key--whatever it takes to
start an action.” Id. at Id. at col. 11:1-9.

“Referring further to FIG. 1, the specific panel displays 122


for navigating across said tables and and 124 provide examples of graphical user interface (GUI)
interacting in accordance the selected representations of the data model entities 102 and 104,
mode with the data in the tables that are respectively. GUI panel 122 includes title bar 126, action
reached by said navigation, 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.” Id. at Id. at col. 3:29-35.
From US7885981
Certain key screen elements for navigation control/support “Change record key 226 processes a request by the user to
are shared across all of these displays (see FIGS. 7-8): edit and change a primary key value.” Id. at Id. at col. 10:52-
• A TITLE BAR 712, 814 which indicates current
mode, current table, context-constraint (if any), and
53.
filter indicator (if search-filter is in effect)
• A TABLE- “Record edit interface 220 responds to an input from
NAVIGATION HEADER 702, 802 which initializations & defaults 202 or start from selection list 210
provides direct “random access” to any system table, selecting an entity for display accessed by select a record 234
in either Browse or Search mode, via either a full which presents at display 219 a request for the user to enter a
(dropdown-) list of all (available) system tables or a
short list of (clickable) “quick links” to key tables. primary key 282 (FIG. 4.).” Id. at Id. at col. 10:31-35.
Use of this header will also reset (and abandon) any

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
nested stack-contexts in effect “Save current record key 228 commits the change entered
… in response to processing add new record key 222 or delete
• Additional MODE-NAVIGATION 706 to allow
“edit mode” for a single table record
old record key 224 to user's data base 218.” Id. at Id. at col.
… 10:48-51.
• CROSS-REFERENCE FIELD 810 to generate
dropdown lists of available foreign-key values
(with automatic correlation to display-name labels)
• FIELD 811 for free-form text entry, to provide
automatic client-side data validation according to
back-end datatype (for edit/add mode only)
• SUBMIT BUTTON 816 commits changes, and
executes appropriate mode-switch (and stack-
context return, if appropriate)

while observing and enforcing C. US6035300 (“IBM”)


relational interdependencies By way of further explanation of the preferred embodiment of
among data across said tables. the invention, Link-Field entity 324 records are
relationship descriptions, describing how to link two
entities (tables) to include data describing the to field and
from field.” IBM at Id. at col. 17:9-13.

“Every entity defined by Table Definition entity 304 needs to


have relationships defined to other entities: so two
relationship links 330 and 332 are required with respect to
Link-Table entity 302 to define a relationship. The primary
keys for defining a relationship include application name
APPLSYS-- PRIME-- NAME (FK), table from TABLE--
PRIME-- NAME (FK), table to TO.TABLE-- PRIME--
NAME (FK), and a unique link number LINK-- ORDBY--
NUM (because it is possible to have more than one link
between two entities.) Other attributes of a relationship are
below the line in Link-Table entity 302. Link type entity 318
identifies relationship type and the processing that must
occur in response to activation of change key 226 (FIG. 10)
in order to assure referential integrity and cardinality at
the user interface. Examples of link types are description,
cascaded delete, restricted delete--as set forth in Tables 5 and
6.” IBM at Id. at col. 16:59-67 through Id. at col. 17:1-8.

“Relationships may be identifying and non-identifying. In an


identifying relationship, foreign keys migrate to the key area
(above the line) and the keys of the parent form part of the
identity of the child: the child is dependent on the parent
for its identity. Identifying relationships are indicated by a
solid line connecting the entities, with a dot on the child end.
Non-identifying relationships are represented by dashed lines,
and also connect a parent entity to a child entity. A non-empty

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
subset of the foreign keys migrated by non-identifying
relationships are placed in the data area (below the line).
Since some or all of the migrated keys in a non-identifying
relationship are not part of the primary key of the child, the
child is not identified by the parent. This difference is relied
upon in assuring referential integrity, by which the
integrity of the relationship between parent and child is
maintained during insertion, deletion and update
operations.” Id. at Id. at col. 5:62-67 through Id. at col. 6:1-
11.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
B3. Mapping of Claim 5 of US7885981
US7885981 C. US6035300 (“IBM”)
(claim 5)
5. A computer-readable storage medium C. US6035300 (“IBM”)
containing a set of instructions for a general “Consequently, it is an object of the invention to provide an
purpose computer, for automatically interface design tool that takes the entities, attributes, and
generating an end-user interface for working relationships, with cardinality and optionality on data
with the data within a relational database, 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
interface.” IBM at Id. at col. 1:51-59.

“Referring now to FIG. 8 in connection with FIG. 10 (and


hereafter with respect to FIGS. 11 through 16), the modeling
system of the invention will be described. User work station
200 includes a terminal display and keyboard 219 and file 217.
This is connected, such as by a local area network (LAN) to a
central processor or server 201, which includes application
code file 216 and data base files 218. In accordance with the
invention, an application generator is created using an SQL
interface written in C that works on OS/2 using Presentation
Manager, over a LAN connection. For example, the
application code in FIG. 10 is Presentation Manager code
written in C that is closely related to OS/2 code 217 at terminal
200. It reads SQL tables in file 217 (or 216?) that describe
the data model (providing pointers to database 218 and
application code in FIG. 10), and then accesses the real
physical tables 218 that contain application data.” Id. at Id.
at col. 8:19-35.

“Application code in FIG. 10 provides definitions of entities,


and these are selected by the user at terminal 219 as is
represented by start from selection list 210.” Id. at Id. at col.
9:36-39.

“Each user has a unique application region 201 containing his


meta data 216 and database 218. When the code of FIG. 10
starts, initializations and defaults code 202 reads help file
204, gets the pointer to database 218, and reads the
appropriate Screen layouts and bitmaps 206. Control file
208 is the users personal pointer table which resides on his
workstation 219 in file 217. Initializations & defaults routine
202 sets a working directory to user custom table 217,

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
including database name, directory and default entities.
These point to screen layout & bitmaps 206 and start up data
base 218. User custom table 217 includes a default pointer
defining for a given user where within meta-data file 216 to
start processing, which would typically default to application
system 316.” Id. at Id. at col. 9:42-55.

wherein said relational database comprises a C. US6035300 (“IBM”)


plurality of tables, constraints and “The database includes tables 152, 154 and 156. Table 152
relationships in accordance with a data model includes columns for department number 172, employee
comprising said tables and their column- number 174 and employee type 176.” IBM at Id. at col. 6:57
complements and datatypes, said constraints, through Id. at col. 7:1-2.
and the relationships across said tables,
“TABLE-- DEFINITIONS entity 404 is a physical model
representation of Table Definition entity 304, with
relationships links 430, 432, 434 and 448 corresponding to
links 330, 332, 334 and 348, respectively, and with columns,
indexes, primary keys and foreign keys, including type,
length, attributes and order as further set forth in Table 1.” Id. at
Id. at col. 15:49-54.

“In operation, for setting up a new model, first the table prime
names are identified within the Table Definition entity 304.
Next, the field prime names are identified within Field
Definition entity 306 for each table. Next, every relationship
between the tables in Table Definition entity 304 are defined
in Link Table entity 302.” Id. at Id. at col. 13:1-6.

“Default Value independent entity 312 has primary key


DEFAULT-- NAME and non-key attributes DEFAULT-- ID and
DEFAULT-- DESC. It has non-identifying relationship link 354
with Default Domain entity 314, such that each record in
Default Value entity is identified by one to exactly one record
in Default Domain entity 314.” Id. at Id. at col. 15:16-21.

and wherein said relational database may be of C. US6035300 (“IBM”)


any arbitrary size or complexity, “The structure and method of the preferred embodiment of this
invention enable 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 or dumb terminal. Such a user need not
understand, nor be required to access, the underlying data
model.” IBM at Id. at col. 17:64-67 through Id. at col. 18:1-3.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
said set of instructions comprising: -------------------------
C. US6035300 (“IBM”)
(a) a routine for providing a user interface
paradigm comprising a set of modes for
interacting with a given database table,
“Keys 222-234 represent various functions which a user can
said modes comprising create, retrieve, update do within an entity. To add a new record within an entity, the
and delete, and a corresponding display user must select add by key 222, which requires that the user
format for each mode; provide a new primary key value. Similarly delete old record
key 224 allows the user to delete a record identified by a
specific primary key entered at terminal 219. Save current
record key 228 commits the change entered in response to
processing add new record key 222 or delete old record key 224
to user's data base 218.” IBM at Id. at col. 10:43-51.

“Record edit interface 220 is further responsive to add new


record key 222, delete old record key 224, change record key
226, save current record key 228, get next record key 230, get
previous record key 232, and select a record key 234, and may
pass control to invoke a relationship control 236.” Id. at Id. at
col. 10:17-21.

(b) a routine for scanning said database and C. US6035300 (“IBM”)


applying a body of rules to determine the table “In accordance with the invention, an application generator is
structures, constraints and relationships of created using an SQL interface written in C that works on OS/2
said data model, using Presentation Manager, over a LAN connection. For
example, the application code in FIG. 10 is Presentation
Manager code written in C that is closely related to OS/2 code
217 at terminal 200. It reads SQL tables in file 217 (or 216?)
that describe the data model (providing pointers to database
218 and application code in FIG. 10), and then accesses the
real physical tables 218 that contain application data. In one
embodiment of the invention, entities are represented by OS/2
windows at display 219, and attributes are fields on that
display.” IBM at Id. at col. 8:25-37.

“In operation, for setting up a new model we first identify the


table prime names within the entity table definition. Next,
we need to identify the field prime names within each table.
The field prime names are in the field definition entity. Next,
we need to identify every relationship between the tables in
the table definition entity. These are entered in the link table
entity, in the table prime name and to table prime name fields.
Finally, for each link established we need to identify the
related fields for each table and to table. These fields are

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
field prime name and to field prime name for each table/to table
combination entered in the link field entity. At this point, the
meta data file 216 is established for a particular application,
insofar as required to establish relationships as prime objects.
Meta data file 216 describes the user data in user data base file
218.” Id. at Id. at col. 9:7-21.

“Referring to FIG. 9, the essential entities of the preferred


embodiment of the invention include Table Definition
independent entity 304, Field Definition dependent entity
306, Link Table dependent entity 302, and Link Field
dependent entity 324.” Id. at Id. at col. 8:41-45.

and for storing representations thereof; and “Referring to FIGS. 11, 13 and 15, the database model for the
preferred embodiment of the invention will be described. This
describes the entities, fields, links and relationships of the
preferred embodiment of the invention for use (as described in
connection with FIGS. 8-9) in developing and using a
database model (as described, for example, in connection with
FIG. 7). Thus, the physical representation (FIGS. 12, 14 and
16) of this model (FIGS. 11, 13 and 15) resides in file 216
(FIG. 8), and is accessed by a user at terminal 219.” Id. at Id.
at col. 13:17-26.

(c) a routine for using said representations to C. US6035300 (“IBM”)


construct a corresponding client application, “In accordance with the invention, an application generator is
created using an SQL interface written in C that works on OS/2
wherein said client application using Presentation Manager, over a LAN connection. For
example, the application code in FIG. 10 is Presentation
provides a connection to said database, Manager code written in C that is closely related to OS/2 code
217 at terminal 200. It reads SQL tables in file 217 (or 216?)
that describe the data model (providing pointers to database
provides displays of the table contents of 218 and application code in FIG. 10), and then accesses the
said database for each of said modes in real physical tables 218 that contain application data. In one
accordance with the display formats of said embodiment of the invention, entities are represented by OS/2
paradigm, windows at display 219, and attributes are fields on that
display.” IBM at Id. at col. 8:25-37.

“TABLE-- DEFINITIONS entity 404 is a physical model


representation of Table Definition entity 304, with
relationships links 430, 432, 434 and 448 corresponding to
links 330, 332, 334 and 348, respectively, and with columns,
indexes, primary keys and foreign keys, including type,
integrates into each said mode display length, attributes and order as further set forth in Table 1.”
processes IBM at Id. at col. 15:49-54.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
for representing, navigating, and “By way of further explanation of the preferred embodiment of
managing said relationships across the invention, Link-Field entity 324 records are relationship
tables, descriptions, describing how to link two entities (tables)
together, and include data describing the to field and from
field. Relationship link 362 represents an alternate key to Link-
Id entity 322 based on prime name LINK-- PRIME-- NAME and
provides a verb describing the relationship. There is Link-Id
entity 322 record (relationship link 362) to every Link-Table
for selecting among said entity 302 record.” Id. at Id. at col. 17:9-17.
modes, and
“Record edit interface 220 is further responsive to add new
record key 222, delete old record key 224, change record
key 226, save current record key 228, get next record key
230, get previous record key 232, and select a record key 234,
and may pass control to invoke a relationship control 236.
Invoke a relationship control 236 passes control to
description test 240, which in turn accesses page input
editor 238 on the yes branch and one to one test 242 on the no
branch. The yes output of one to one test 242 passes control
back to record edit interface 220, and the no output passes
control to one to many test 244.” Id. at Id. at col. 10:17-27.

“Relationships may be considered to be push buttons (for


example, keys on keyboard, icons on display--there are many
other ways to implement such relationships at the user
interface).” Id. at Id. at col. 8:37-40.

“In response to the identification of the entity selected, meta


data file 216 is accessed to determine which relationships exist
for it. There will be one control established at terminal 219 for
each relationship defined in meta data file 216 for the selected
entity. Just as each entity has one or more primary keys,
relationships have keys that link entities. A control may be, for
for navigating across said tables and example, a push button, popup menu, icon, function key,
number/enter key--whatever it takes to start an action.” Id.
interacting in accordance the selected at Id. at col. 11:1-9.
mode with the data in the tables that
are reached by said navigation, “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,
From US7885981: respectively. GUI panel 122 includes title bar 126, action bar
Certain key screen elements for navigation actions 128, pull down menus 130 and 134, and attribute
control/support are shared across all of these displays fields 132. GUI panel 124 includes title bar 136, action bar 138,

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
(see FIGS. 7-8): pull down menues 140 and 144, and attribute fields 142.” Id. at
• A TITLE BAR 712, 814 which indicates current Id. at col. 3:29-35.
mode, current table, context-constraint (if any),
and filter indicator (if search-filter is in effect)
• A TABLE- “Change record key 226 processes a request by the user to
NAVIGATION HEADER 702, 802 which edit and change a primary key value.” Id. at Id. at col. 10:52-
provides direct “random access” to any system 53.
table, in either Browse or Search mode, via either
a full (dropdown-) list of all (available) system “Record edit interface 220 responds to an input from
tables or a short list of (clickable) “quick links” to
key tables. Use of this header will also reset (and initializations & defaults 202 or start from selection list 210
abandon) any nested stack-contexts in effect selecting an entity for display accessed by select a record 234
… which presents at display 219 a request for the user to enter a
• Additional MODE-NAVIGATION 706 to allow primary key 282 (FIG. 4.).” Id. at Id. at col. 10:31-35.
“edit mode” for a single table record

• CROSS-REFERENCE FIELD 810 to generate
“Save current record key 228 commits the change entered in
dropdown lists of available foreign-key values response to processing add new record key 222 or delete old
(with automatic correlation to display-name record key 224 to user's data base 218.” Id. at Id. at col.
labels) 10:48-51.
• FIELD 811 for free-form text entry, to provide
automatic client-side data validation according to
back-end datatype (for edit/add mode only)
• SUBMIT BUTTON 816 commits changes, and
executes appropriate mode-switch (and stack-
context return, if appropriate)

while observing and enforcing C. US6035300 (“IBM”)


relational interdependencies “By way of further explanation of the preferred embodiment of
among data across said tables. the invention, Link-Field entity 324 records are relationship
descriptions, describing how to link two entities (tables)
together, and include data describing the to field and from
field.” IBM at Id. at col. 17:9-13.

“Every entity defined by Table Definition entity 304 needs to


have relationships defined to other entities: so two
relationship links 330 and 332 are required with respect to
Link-Table entity 302 to define a relationship. The primary
keys for defining a relationship include application name
APPLSYS-- PRIME-- NAME (FK), table from TABLE--
PRIME-- NAME (FK), table to TO.TABLE-- PRIME--
NAME (FK), and a unique link number LINK-- ORDBY--
NUM (because it is possible to have more than one link
between two entities.) Other attributes of a relationship are
below the line in Link-Table entity 302. Link type entity 318
identifies relationship type and the processing that must
occur in response to activation of change key 226 (FIG. 10)
in order to assure referential integrity and cardinality at the
user interface. Examples of link types are description,

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com
cascaded delete, restricted delete--as set forth in Tables 5 and
6.” IBM at Id. at col. 16:59-67 through Id. at col. 17:1-8.

“Relationships may be identifying and non-identifying. In an


identifying relationship, foreign keys migrate to the key area
(above the line) and the keys of the parent form part of the
identity of the child: the child is dependent on the parent for
its identity. Identifying relationships are indicated by a solid
line connecting the entities, with a dot on the child end. Non-
identifying relationships are represented by dashed lines, and
also connect a parent entity to a child entity. A non-empty
subset of the foreign keys migrated by non-identifying
relationships are placed in the data area (below the line). Since
some or all of the migrated keys in a non-identifying
relationship are not part of the primary key of the child, the
child is not identified by the parent. This difference is relied
upon in assuring referential integrity, by which the integrity
of the relationship between parent and child is maintained
during insertion, deletion and update operations.” Id. at Id.
at col. 5:62-67 through Id. at col. 6:1-11.

PATROLL – Prior Art Crowdsourcing


http://patroll.unifiedpatents.com

You might also like