Sybase, Inc. v. Vertica Systems, Inc., No. 6:08-cv-24 (E.D. Texas filed May 13, 2010)
Transcript of Sybase, Inc. v. Vertica Systems, Inc., No. 6:08-cv-24 (E.D. Texas filed May 13, 2010)
IN THE UNITED STATES DISTRICT COURTFOR THE EASTERN DISTRICT OF TEXAS
TYLER DIVISION
SYBASE, INC.
Plaintiff
vs.
VERTICA SYSTEMS, INC.
Defendant
§§§§§ CASE NO. 6:08 CV 24§§§§
MEMORANDUM OPINION AND ORDER
The Court issued an order on the Court’s preliminary determination of disputed terms of the
’229 Patent on November 9, 2009 (Docket No. 139). This Memorandum Opinion and Order
construes the disputed terms in U.S. Patent No. 5,794,229 (the “’229 Patent”). Furthermore, after
considering the parties’ written submissions and oral argument, the Court DENIES Defendant
Vertica Systems, Inc.’s Motion for Summary Judgment on Indefiniteness (Docket No. 116) as to
claim 1 and GRANTS the motion as to claim 16. Because claims 17–24 depend on claim 16, which
is invalid for indefiniteness, claims 17–24 are likewise invalid. Thus, there is no need to construe
disputed terms from claims 17–24.
BACKGROUND
Plaintiff Sybase, Inc. (“Sybase”) alleges that Defendant Vertica Systems, Inc. (“Vertica”) has
infringed the ’229 Patent. The ’229 Patent, entitled “Database System with Methodology for Storing
a Database Table by Vertically Partitioning all Columns of the Table,” concerns data storage format
and arrangement within a database to facilitate retrieval of data on an “analytical” basis (i.e., vertical
1
storage) rather than a “record” basis (i.e., horizontal storage). In “record” based data storage, data
is stored by row, where each row has multiple data fields. Each row of data is a “record.” The data
records (i.e., rows) are then placed end-to-end, as a continuous string of rows, into a data page. The
data pages are connected or linked together using page pointers to form a page chain. In contrast,
in “analytical” based data storage, the individual data fields (i.e., columns) of the data records are
stored as cells on a data page. The arrangement of data by column rather than by row facilitates data
retrieval for purposes of making analytical assessments of the data as to particular attributes of the
data records. The column entries of each record are placed end-to-end, as a continuous string of
cells, into a data page. The data pages are connected or linked together to form a page chain.
Storing data on an analytical basis provides improved data compression and facilitates large block
transfers.
APPLICABLE LAW
“It is a ‘bedrock principle’ of patent law that ‘the claims of a patent define the invention to
which the patentee is entitled the right to exclude.’” Phillips v. AWH Corp., 415 F.3d 1303, 1312
(Fed. Cir. 2005) (en banc) (quoting Innova/Pure Water Inc. v. Safari Water Filtration Sys., Inc., 381
F.3d 1111, 1115 (Fed. Cir. 2004)). In claim construction, courts examine the patent’s intrinsic
evidence to define the patented invention’s scope. See id.; C.R. Bard, Inc. v. U.S. Surgical Corp.,
388 F.3d 858, 861 (Fed. Cir. 2004); Bell Atl. Network Servs., Inc. v. Covad Commc’ns Group, Inc.,
262 F.3d 1258, 1267 (Fed. Cir. 2001). This intrinsic evidence includes the claims themselves, the
specification, and the prosecution history. See Phillips, 415 F.3d at 1314; C.R. Bard, Inc., 388 F.3d
at 861. Courts give claim terms their ordinary and accustomed meaning as understood by one of
ordinary skill in the art at the time of the invention in the context of the entire patent. Phillips, 415
2
F.3d at 1312–13; Alloc, Inc. v. Int’l Trade Comm’n, 342 F.3d 1361, 1368 (Fed. Cir. 2003).
The claims themselves provide substantial guidance in determining the meaning of particular
claim terms. Phillips, 415 F.3d at 1314. First, a term’s context in the asserted claim can be very
instructive. Id. Other asserted or unasserted claims can also aid in determining the claim’s meaning
because claim terms are typically used consistently throughout the patent. Id. Differences among
the claim terms can also assist in understanding a term’s meaning. Id. Courts presume a difference
in meaning and scope when a patentee uses different phrases in separate claims. Id. at 1314–15. For
example, when a dependent claim adds a limitation to an independent claim, it is presumed that the
independent claim does not include the limitation. Id. However, the doctrine of claim differentiation
is not a “hard and fast rule,” and courts cannot use the doctrine to broaden claims beyond their
correct scope, determined in light of the intrinsic record and relevant extrinsic evidence. Seachange
Int’l, Inc. v. C-COR, Inc., 413 F.3d 1361, 1369 (Fed. Cir. 2005); see also Phillips, 415 F.3d at
1312–15.
“[C]laims ‘must be read in view of the specification, of which they are a part.’” Id. (quoting
Markman v. Westview Instruments, Inc., 52 F.3d 967, 979 (Fed. Cir. 1995) (en banc)). “[T]he
specification ‘is always highly relevant to the claim construction analysis. Usually, it is dispositive;
it is the single best guide to the meaning of a disputed term.’” Id. (quoting Vitronics Corp. v.
Conceptronic, Inc., 90 F.3d 1576, 1582 (Fed. Cir. 1996)); Teleflex, Inc. v. Ficosa N. Am. Corp., 299
F.3d 1313, 1325 (Fed. Cir. 2002). This is true because a patentee may define his own terms, give
a claim term a different meaning than the term would otherwise possess, or disclaim or disavow the
claim scope. Phillips, 415 F.3d at 1316. In these situations, the inventor’s lexicography governs.
Id. Also, the specification may resolve ambiguous claim terms “where the ordinary and accustomed
3
meaning of the words used in the claims lack sufficient clarity to permit the scope of the claim to be
ascertained from the words alone.” Teleflex, Inc., 299 F.3d at 1325. But, “‘[a]lthough the
specification may aid the court in interpreting the meaning of disputed claim language, particular
embodiments and examples appearing in the specification will not generally be read into the
claims.’” Comark Commc’ns, Inc. v. Harris Corp., 156 F.3d 1182, 1187 (Fed. Cir. 1998) (quoting
Constant v. Advanced Micro-Devices, Inc., 848 F.2d 1560, 1571 (Fed. Cir. 1988)); see also Phillips,
415 F.3d at 1323.
The prosecution history is another tool to supply the proper context for claim construction
because a patent applicant may also define a term in prosecuting the patent. Home Diagnostics, Inc.,
v. Lifescan, Inc., 381 F.3d 1352, 1356 (Fed. Cir. 2004) (“As in the case of the specification, a patent
applicant may define a term in prosecuting a patent.”). The doctrine of prosecution history
disclaimer “limits the interpretation of claims so as to exclude any interpretation that may have been
disclaimed or disavowed during prosecution in order to obtain claim allowance.” Omeg Eng’g Inc.
v. Raytek Corp., 334 F.3d 1314, 1323 (Fed. Cir. 2003). For the doctrine to apply, the disclaimer of
claim scope must be clear and unmistakable. Computer Docking Station Corp. v. Dell, Inc., 519
F.3d 1366, 1374 (Fed. Cir. 2008). Prosecution disclaimer does not apply where the prosecution
history is ambiguous. See id. at 1375.
Although extrinsic evidence can be useful, it is “‘less significant than the intrinsic record in
determining the legally operative meaning of claim language.’” Phillips, 415 F.3d at 1317 (quoting
C.R. Bard, Inc., 388 F.3d at 862). Technical dictionaries and treatises may help a court understand
the underlying technology and the manner in which one skilled in the art might use claim terms, but
technical dictionaries and treatises may provide definitions that are too broad or may not be
4
indicative of how the term is used in the patent. Id. at 1318. Similarly, expert testimony may aid
a court in understanding the underlying technology and determining the particular meaning of a term
in the pertinent field, but an expert’s conclusory, unsupported assertions as to a term’s definition is
entirely unhelpful to a court. Id. Generally, extrinsic evidence is “less reliable than the patent and
its prosecution history in determining how to read claim terms.” Id.
The patents in suit also contain means-plus-function limitations that require construction.
Where a claim limitation is expressed in “means plus function” language and does not recite definite
structure in support of its function, the limitation is subject to 35 U.S.C. § 112, ¶ 6. Braun Med., Inc.
v. Abbott Labs., 124 F.3d 1419, 1424 (Fed. Cir. 1997). In relevant part, 35 U.S.C. § 112, ¶ 6
mandates that “such a claim limitation ‘be construed to cover the corresponding structure . . .
described in the specification and equivalents thereof.’” Id. (citing 35 U.S.C. § 112, ¶ 6).
Accordingly, when faced with means-plus-function limitations, courts “must turn to the written
description of the patent to find the structure that corresponds to the means recited in the
[limitations].” Id.
Construing a means-plus-function limitation involves multiple inquiries. “The first step in
construing [a means-plus-function] limitation is a determination of the function of the means-plus-
function limitation.” Medtronic, Inc. v. Advanced Cardiovascular Sys., Inc., 248 F.3d 1303, 1311
(Fed. Cir. 2001). Once a court has determined the limitation’s function, “the next step is to
determine the corresponding structure disclosed in the specification and equivalents thereof.” Id.
A “structure disclosed in the specification is ‘corresponding’ structure only if the specification or
prosecution history clearly links or associates that structure to the function recited in the claim.” Id.
Moreover, the focus of the “corresponding structure” inquiry is not merely whether a structure is
5
capable of performing the recited function, but rather whether the corresponding structure is “clearly
linked or associated with the [recited] function.” Id.
CLAIM TERMS
“in a computer system/a database system”
Claims 1 and 16 of the ’229 Patent contain the terms “in a computer system/a database
system.” Sybase contends the terms mean “in a relational database management system.” Vertica
contends the terms require no construction, but argues in the alternative that the terms mean “a
system including a computer/a system including a database.”
Sybase argues that the plain language of claims 1 and 16 necessarily requires that the system
be a “relational database management system” because “any DBMS [data base management system]
that uses a database table is an RDBMS [relationship database management system].” Sybase’s
Opening Brief, Docket No. 107, at 11. Sybase further argues that the specification confirms that
the system is relational because it generally describes the invention as involving an RDBMS and
includes numerous references to SQL servers, commands, and statements, and SQL is a standard
database language for an RDBMS system. Vertica counters that “computer system” and “relational
database management system” are not coextensive and adopting Sybase’s proposed construction
would only create confusion. Vertica’s Responsive Brief, Docket No. 115, at 35. Vertica asserts
that the terms “computer system” and “database system” are more clear than Sybase’s proposed
construction and thus, there is no need to construe the terms.
Sybase’s proposed construction alters the plain meaning of the terms even when read in view
of the specification because the terms “computer system/database system” and “relational database
management system” are not coextensive. Generally, a “relational” database management system
6
refers to a database management system where the data and the relationship among the data is stored
in the form of database tables. Sybase’s Opening Brief, Docket No. 107, at 11. Sybase is correct
that the claims themselves require that the “computer system/database system” have a “database
storing a database table.” ’229 Patent, col. 47:37–38. However, Sybase’s proposed construction,
“relational database management system,” is unnecessary in view of the cited claim language in the
preamble referencing the use of tables. See ’229 Patent, col. 47:37–44.
The claim language is clear and understandable to the fact finder and any substitute for the
claim language is likely to cause confusion rather than aid. Thus, the terms do not require
construction.
“without regard to storage devices available to the system/irrespective of storage devicesavailable to the system”
Claims 1 and 16 of the ’229 Patent contain the terms “without regard to storage devices
available to the system/irrespective of storage devices available to the system.” Sybase contends the
terms mean “without regard to whether any particular column is stored on any particular storage
device.” Vertica contends the terms mean “storing each column without taking into account the
configuration of the storage devices.”
During prosecution of the ’229 Patent, the United States Patent and Trademark Office
(“PTO”) rejected all claims as obvious in view of Naecker, which taught vertical partitioning where
the individual column data in a database table may be stored separately on disks, and the Snellen
prior art reference, which taught linking of a plurality of pages. The disputed claim language was
added by Sybase during prosecution to distinguish the Naecker prior art reference. Specifically,
Sybase’s amendment first distinguished Naecker’s approach by clarifying that the ’229 Patent
7
invention breaks up the data vertically without regard to the storage devices (i.e., “without placing
a particular column on a particular disk”). Response to Office Action of July 23, 1997, received
January 16, 1998, at 8 (Docket No. 107-8). In contrast, the Naecker approach used vertical
partitioning “to place different columns on different disks to get better performance.” Id. at 9. In
addition, Sybase argued in its amendment that “the present invention is to break-up the data []
vertically regardless of the disk configuration.” Id. at 8.
Sybase argues the terms should be construed in accordance with the applicant’s
distinguishing argument (i.e., “without regard to whether any particular column is stored on any
particular storage device”). Vertica counters that Sybase’s proposed construction is improper
because it ignores the second argument it made during prosecution to distinguish Naecker. Instead,
Vertica argues that the terms should be construed in accordance with the applicant’s argument
regarding disk configuration (i.e., “storing each column without taking into account the configuration
of the storage devices”). Sybase counters that the applicants used the word “configuration” only to
show “the invention was agnostic as to whether a particular column was placed on a particular disk.”
Sybase’s Opening Brief, Docket No. 107, at 15. Sybase further contends that Vertica’s use of
“configuration” is Vertica’s attempt to read additional limitations into “disk configuration,” such as
size, speed, and other aspects of the disks—limitations that had nothing to do with the applicants’
amendment—and will only confuse the fact finder.
Sybase’s arguments to the examiner constitute a disclaimer of Naecker’s approach of separate
columns on separate disks, but the claim amendment’s limitation is not so narrowly restricted to
avoiding Naecker’s approach that the construction must be made coextensive with Naecker. Rather,
the limitation addresses vertical partitioning “regardless of the disk configuration.” Response to
8
Office Action of July 23, 1997, received January 16, 1998, at 8 (Docket No. 107-8). Vertica’s
proposed construction, particularly when read in view of the disclaimer Sybase made as to Naecker,
serves to exclude Naecker’s approach to vertical partitioning that places a particular column on a
particular disk. Naecker’s approach takes into account the “configuration” of the storage devices
because separate storage devices can be used to store separate columns. However, Sybase’s concern
that “configuration” is too broad of a term has merit. The term “configuration” is clearly being used
in the prosecution history to refer to the “arrangement” of the disk storage devices. Accordingly, the
Court construes the terms “without regard to storage devices available to the system/irrespective of
storage devices available to the system” to mean “storing each column without taking into account
the arrangement of the storage devices.”
“data page/data pages”
Claims 1 and 16 of the ’229 Patent contain the terms “data page/data pages.” Sybase
contends the terms mean “a logical structure for containing one or more cells (i.e., column value for
a record).” Vertica contends the terms have an ordinary meaning of “a fixed unit of physical
storage.” The parties’ dispute centers around three issues: (1) whether a “data page” is a logical or
physical structure, (2) whether there is a requirement that the “data page” contain “cells,” and (3)
whether the size of a “data page” is fixed.
Sybase argues that it is clear from the plain claim language that a data page is a structure
containing data values and specifically, “[i]t is a ‘logical’ structure because the patent teaches that
the concept of a ‘table’ is purely a logical one, as opposed to a physical entity.” Sybase’s Opening
Brief, Docket No. 107, at 16. Vertica counters that a “data page” is where actual data physically
resides on the storage device. Vertica contends that the patent specifically distinguishes a “data
9
page” from a logical structure, such as a table representation, and points to Figure 3B of the patent,
produced below, to illustrate the distinction.
Figure 3B of the ’229 Patent
The top half of Figure 3B contains a table representation labeled “Customers Table (Logical
View),” while the bottom half shows the column-based data storage in “data pages” that form a
“page chain.” Vertica contends the table is the “logical view” because the table representation is not
actually how the data is stored. Rather, the “data pages” represent how the data is physically stored
on disk. Sybase agrees that the data values comprising a “data page” may be physically stored, but
contends that “the notion of a ‘data page’ is simply a logical construct for referring to that data.”
Sybase’s Reply Brief, Docket No. 124, at 5. The written specification describes a “data page” in
terms of a physical area on a storage disk and Figures 3A and 3B illustrate the same. Further, the
Date Textbook, which was cited and relied upon by the applicants and incorporated by reference into
10
the ’229 Patent, confirms the physical nature of a “data page.” See ’229 Patent, col. 1:51–55; C.J.
DATE, AN INTRODUCTION TO DATABASE SYSTEMS, 57–59 (5th ed., vol. 1 1990); see also Telemac
Cellular Corp. v. Topp Telecom, Inc., 247 F.3d 1316, 1329 (Fed. Cir. 2001) (“When a document is
‘incorporated by reference’ into a host document, such as a patent, the referenced document becomes
effectively part of the host document as if it were explicitly contained therein.”).
Vertica also opposes Sybase’s inclusion of a requirement for “cells” in its proposed
construction. Vertica contends that “cell” is used inconsistently in the patent to mean both (1) a
piece of column data in the logical record table and (2) an area in a physical data page that holds a
piece of column data, and thus, using “cell” in the claim construction of “data page” would be
improper. Vertica further contends that the independent claims in the patent do not require a “data
page” to store data values in “cells,” whereas other claims explicitly require “cells.” See ’229 Patent,
col. 50:1–2 (“data pages . . . store data values in fixed-length cells”). Sybase argues that Figures 3B
and 3C support Sybase’s proposed construction because the figures show a database table with rows
and column fields, each column containing a series of “column values” or “data values” which are
stored as separate “cells” in the data page. Neither the specification nor the claim language supports
the inclusion of a requirement for “cells” in the claim limitation as Sybase proposes.
Vertica further contends that a “data page” is a fixed unit of storage. More specifically,
Vertica argues that “data pages” organized in a particular storage device are of a fixed size, but the
sizes of the “data pages” may vary from storage device to storage device. Sybase argues that such
a construction is impermissible given the specification’s disclosure of an embodiment where “page
sizes are multiples of the physical block size” and “the system can create buffers of different page
sizes.” ’229 Patent, col. 17:54–60. Sybase further argues that the patent expressly teaches that the
11
size of a data page changes when compressed before storage and that limiting “data page” to a fixed
unit reads the concept of compression out of the patent. See ’229 Patent, col. 23:36–37 (“the 64K
buffer . . . compresses down to one 4K block”). Limiting “data page” to a fixed unit does not read
the compression concept out of the patent. In the ’229 Patent, compression of the data values takes
place independent of the size of the physical storage space allocated to a “data page” on the disk.
See ’229 Patent, col. 16:8–16. The Buffer Manager compresses the data that is sent out to the disk
so that the data page, which is of a fixed size, can effectively hold more data. However, there are
nevertheless the same number of bits in a page of compressed data and a page of uncompressed data.
The size of the page in terms of what number of bit locations are present stays the same.
“Data page” is a technical term with an ordinary meaning as proposed by Vertica. Vertica’s
proposed construction is consistent with the specification, and Sybase’s proposed construction is
improper in all respects. Accordingly, the Court adopts Vertica’s construction and construes the
terms “data page/data pages” to mean “fixed unit(s) of physical storage.”
“creating for each column . . . at least one associated data page for storing data values for thecolumn”
Claim 1 of the ’229 Patent contains the term “creating for each column . . . at least one
associated data page for storing data values for the column.” Although the term was initially
disputed, the parties now agree that the term requires no construction. The Court agrees. The claim
language is clear and understandable to the fact finder and thus does not require construction.
“data values for each particular column . . . are all stored together/stores together all of thedata values for a particular column”
Claims 1 and 16 of the ’229 Patent contain the terms “data values for each particular column
. . . are all stored together/stores together all of the data values for a particular column.” Sybase
12
contends the terms mean “each column comprises a plurality of cells (i.e., column value for a
record), which are arranged on at least one data page in a contiguous fashion.” Vertica contends the
terms require no construction, but argues in the alternative that the terms mean “creating a group of
one or more data pages per column for storing the data values for each column.”
Sybase argues that its proposed construction is supported by the plain claim language, which
requires that “data values for each particular column of a database table are all stored together.” ’229
Patent, col. 47:50–55. In addition, Sybase argues that the specification teaches that “[e]ach column
comprises a plurality of ‘cells’ (i.e., column value for a record), which are arranged on a data page
in a contiguous fashion.” ’229 Patent, Abstract, col. 4:8–10; see also ’229 Patent, col. 15:10–11, col.
13:12–39, Figs. 3B–3C. Sybase’s proposed construction includes a limitation from the specification
to “contiguous” placement, but this characterization is unnecessary and not supported by the claim
language. Further, Sybase’s requirement that “data values” are necessarily “cells” rewrites the claim
to include a limitation that is not expressed in the claim language. Accordingly, the Court rejects
Sybase’s proposed construction as overly limiting.
The claim language is clear and understandable to the fact finder and any substitute for the
claim language is likely to cause confusion rather than aid. Thus, the term does not require
construction.
“linking together” and “page chain”
Claim 1 of the ’229 Patent contains the term “linking together,” and claims 1 and 16 contain
the term “page chain.” The relevant claim language is “linking together . . . at least one data page
associated with the column to form a page chain for the column.” ’229 Patent, col. 47:56–58. The
two terms are sufficiently related to merit a single discussion of the process of “linking together”
data pages to form a “page chain.”
13
Sybase contends “linking together” means “connecting or associating,” while Vertica
contends the term means “connecting a series of pages one after another.” Sybase argues that it is
clear from the claim language that data pages are both “linked together” and “associated” with a
column. Vertica counters that “linking” cannot mean both “connecting” and “associating” because
“associating” is broader than “connecting.” Sybase’s proposed inclusion of “associating” appears
to be directly related to Sybase’s argument that B-Trees and system catalogs, in addition to page
pointers, are covered by claim 1. Indeed, B-Tree indexes and system catalogs generally “connect”
data pages by “associating” them. However, the claim uses the term “linking together,” not
“associating.” Even the ordinary meaning of “linking,” apart from the ’229 Patent specification,
does not have such a broad meaning as “connecting or associating.”
Vertica contends that “linking together” is illustrated in Figures 3A–3C of the patent and the
figures’ accompanying text. Vertica argues that the data pages are “linked together” by “connecting
(via the page references) each page to each neighboring page in a series, one after another.”
Vertica’s Responsive Brief, Docket No. 115, at 24; see also ’229 Patent, col. 13:4–6 (referring to
“linked” data pages as “neighbors”). Sybase counters that Vertica’s proposal limits the claim to a
preferred embodiment and violates the doctrine of claim differentiation. Sybase further argues that
claim 6, which depends from claim 1, is specifically directed to using “a pointer for referencing
another data page,” and thus, a presumption arises that the scope of “linking together” in claim 1 is
not limited to just “pointers.” ’229 Patent, col. 48:15–16.
Sybase contends that Vertica is attempting to limit the claim to “page pointers” that connect
the pages and order them sequentially as described in the specification and illustrated in the figures.
Sybase contends that “page pointers” are only one disclosed way of linking data pages to form a page
chain because the patent also discloses the use of a system catalog, B-Tree, or block map to link data
14
pages. For example, the specification states that “[a]ctual connection between the pages is typically
achieved using conventional page pointers, such as the forward-referencing page pointers.” ’229
Patent, col. 13:7–9 (emphasis added). Vertica counters that the word typically is referring to the
forward-referencing page pointers and that there are other types of page pointers and references that
could achieve the connection between data pages. Vertica further argues that the system catalog, B-
Tree, or block map “‘alternatives’ work both with systems using page chains and those that [do
not].” Vertica’s Responsive Brief, Docket No. 115, at 33. Indeed, while these techniques may
“associate” data pages, they do not “link together” the data pages to form “page chains.” In addition,
because the specification refers to “stor[ing] rows of records arranged in a list of data pages (i.e.,
page ‘chain’),” ’229 Patent, col. 8:53–55, Sybase argues that a list can also be used to link or chain
data pages. Vertica counters that a “list,” as used in the patent, is a technical term used in the sense
of a “linked list,” which utilizes pointers that point to the next record in the list.
The patent consistently describes “linking together” as connecting a series of data pages one
after another using references in the data pages. Further, Figure 3B shows the data pages side by side
and illustrates the reference (i.e., page pointer labeled “PG PTR”) in the right bottom corner of each
data page. Vertica’s proposed construction uses the term “reference” and is not limited specifically
to page pointers. Thus, Vertica’s proposal does not limit the claim to a preferred embodiment and
the doctrine of claim differentiation is not applicable. Vertica’s proposed construction is consistent
with the ordinary meaning of “linking” and its use in the specification, as well as the figures
depicting data pages arranged in sequence. Thus, the Court adopts Vertica’s proposed construction
and construes the term “linking together” to mean “connecting a series of pages one after another.”
Sybase contends “page chain” means “a collection of one or more associated data pages,”
while Vertica contends the term means “a sequence of pages connected by a reference in each
15
preceding page to each successive page.” Like its “linking together” proposal, Sybase’s proposed
construction incorporates broad words such as “collection” and “associated.” Vertica contends that
the word “chain” connotes more than a mere collection or association of data pages. Sybase’s
proposed construction, which expands the claim scope to merely associating data pages in any
possible way, encompasses a broader scope than sought by the patentee and allowed by the PTO.
Sybase again argues that Vertica’s proposed construction of “page chain” attempts to limit the claim
to a preferred embodiment of “page pointers” and violates the doctrine of claim differentiation.
These arguments fail for the same reasons explained above.
Vertica’s proposed construction of “page chain” is consistent with the term’s use in the
specification. Accordingly, the Court adopts Vertica’s construction and construes the term “page
chain” to mean “a sequence of pages connected by a reference in each preceding page to each
successive page.”
“linking together all of said at least one data page”
Claim 1 of the ’229 Patent contains the term “linking together all of said at least one data
page.” Vertica contends the term is indefinite. After a review of the arguments and relevant
evidence, the Court concludes that the term “linking together all of said at least one data page” meets
the definiteness requirement of 35 U.S.C. § 112, ¶2 .
A claim is invalid as indefinite under 35 U.S.C. § 112, ¶ 2 if the claim fails to particularly
point out and distinctly claim the subject matter the applicants regard as the invention. The primary
purpose of the definiteness requirement is to ensure public notice of the scope of the patentee’s legal
protection, such that interested members of the public can determine whether or not they infringe.
Halliburton Energy Servs., Inc. v. M-I, LLC, 514 F.3d 1244, 1249 (Fed. Cir. 2008). Thus, the
definiteness inquiry focuses on how a skilled artisan understands the claims, and a claim is indefinite
16
if the “accused infringer shows by clear and convincing evidence that a skilled artisan could not
discern the boundaries of the claim based on the claim language, the specification, and the
prosecution history, as well as her knowledge of the relevant art area.” Id. at 1249–50. “If the
meaning of the claim is discernible, even though the task may be formidable and the conclusion may
be one over which reasonable persons will disagree, . . . the claim [is] sufficiently clear to avoid
invalidity on indefiniteness grounds.” Exxon Res. & Eng'g Co. v. United States, 265 F.3d 1371,
1375 (Fed. Cir. 2001). Thus, a claim is indefinite only if its meaning and scope are “insolubly
ambiguous.” Id.
Vertica argues that the literal language of the claim is defective because it requires the
“linking together” of a single data page, which is impossible, and the specification only discloses the
linking of two or more pages while the plain claim language only requires “at least one data page.”
Because one data page cannot be “linked together,” Vertica contends that this technical defect makes
the claim insolubly ambiguous and indefinite. Sybase counters that one of ordinary skill in the art
would understand that “where a data structure is required to ‘link together’ a collection of objects,
the linking structure is created whether there is one object or multiple objects in the collection.”
Sybase’s Indefiniteness Response, Docket No. 126, at 4. “At least one,” as a matter of law, means
a claim may be satisfied by “one” or “more than one.” z4 Tech., Inc. v. Microsoft Corp., 507 F.3d
1340, 1349 (Fed. Cir. 2007). The specification teaches that data pages “may be connected or linked
to other data pages to form a page chain.” See ’229 Patent, 13:12–25, 13:25–35. Sybase contends
that, when read in view of the specification, the claim language clearly indicates that storage may
be in a single data page or may overflow into a linked data page. The Court agrees.
One of ordinary skill in the art would understand the scope of the claim and be able to
determine what constitutes infringement. Because Defendants have not shown by clear and
17
convincing evidence that the term “linking together all of said at least one data page” is indefinite,
the Court DENIES in part Defendant Vertica Systems, Inc.’s Motion for Summary Judgment on
Indefiniteness (Docket No. 116) for this term in claim 1. In addition, the claim language is clear and
understandable to the fact finder and any substitute for the claim language is likely to cause
confusion rather than aid. Thus, the term does not require construction.
“large block input/output transfer”
Claims 3 and 4 of the ’229 Patent contain the term “large block input/output transfer.”
Sybase contends the term means: “A large block is a 64k or larger block. Large block input/output
transfers are transfer of 64k or larger blocks to and from a storage device.” Vertica contends the
term requires no construction, but argues in the alternative that the term means “substantially larger
than 4 kilobytes.”
Claim 3 is directed to “receiving a query which requires the database to retrieve from storage
all of the data pages for a particular column; and retrieving the data pages for the particular column
using large block input/output transfer for the computer system.” ’229 Patent, col. 47:65–67 and
col. 48:1–3 (emphasis added). In their proposed constructions, the parties disagree as to the
minimum size of a “large block.” Sybase asserts that the ’229 Patent gives an example of a “large
block” as a block of 64k, and a “small block” as a block of 4k. In addition, Sybase argues that the
specification teaches that “block size” means the “minimum size of a physical I/O [input/output]
operation.” Sybase’s Opening Brief, Docket No. 107, at 28 (emphasis added). Thus, Sybase
contends that 64k should be the minimum size of a “large block” because it is the only example of
a large block input/output transfer size in the patent. Vertica argues that the ’229 Patent does not
state at which point a block becomes a “large block” and the Court should not attempt to add a
18
degree of precision that the patent does not provide. Vertica’s Responsive Brief, Docket No. 115,
at 37. Although Vertica contends that the term requires no construction, it proposes in the alternative
that a “large block” is “substantially larger than 4k.” Sybase counters that Vertica’s alternative
proposed construction is vague and will be unhelpful to the fact finder because it offers no
explanation as to what it means by “substantially larger.”
The specification describes a “large block input/output transfer” as a transfer of data pages
having data values from many data records at one time rather than making multiple transfers of data
pages having data values from only a few data records. See ’229 Patent, col. 9:46–67 and col.
10:1–24. The contrast is actually between retrieval from storage of column-based data pages (i.e.,
“large blocks”) and retrieval from storage of row-based data pages (i.e., “small blocks”). See id.
Vertica is correct that the specification does not describe 64k as being the minimum block size for
a “large block” transfer. Both the claims and the specification refer to “transfer” and “transferring.”
Indeed, when the term is read in view of the specification by one skilled in the art, the real focus in
not on the actual size of the “large block” in kilobytes, but rather on the process of transferring the
“large block.” Accordingly, the Court construes the term “large block input/output transfer” to mean
“transferring at one time data pages having data values from many rows of data records.”
“includes a selective one of [list of items]”
Claim 11 of the ’229 Patent contains the term “includes a selective one of [list of items].”
Sybase contends the term means “is one of . . . ,” while Vertica contends the term requires no
construction. Vertica’s proposed construction is not materially different than the claim language
itself and there is no real dispute regarding the meaning of the term. The claim language is clear and
understandable to the fact finder and thus does not require construction.
19
“page header”
Claim 14 of the ’229 Patent contains the term “page header.” Sybase contends the term
means “metadata that is associated with a data page.” Vertica contends the term means
“supplemental data at the beginning of a data page.” The parties dispute whether a “page header”
is limited to a particular location on a data page.
Sybase contends that the claim language does not require that the header be located at any
particular place on the data page and the specification supports its proposed construction. Vertica
counters that Sybase’s construction does not even require the metadata to be part of the data page
or located on the data page and this is not consistent with the specification. Vertica contends that
the conventional use of the term “header” indicates that it is located at the beginning of the data page
and the specification is consistent with this construction. See, e.g., ’229 Patent, col. 4:8–13 (“the
offset of any particular cell on a page can be quickly computed as a modulus of that cell (adjusted
for any header information to the page)”). Sybase counters that Vertica is attempting to limit “page
header” to a single visual depiction in Figures 3B and 3C and Figure 5, which show a “page header”
in the upper left corner of the data page.
The specification provides that a “page header” is used to store “housekeeping information,”
and a status flag stored in the page header indicates “whether the data page is a candidate for
compression and (optionally) what type of compression is best suited for the data on that page.”
’229 Patent, col. 4:19–22. Vertica’s proposed construction is consistent with the specification and
the ordinary meaning of header. Accordingly, the Court adopts Vertica’s construction and construes
the term “page header” to mean “supplemental data at the beginning of a data page.”
20
“means for creating a vertical partition for each and every column of the database table, eachvertical partition having data values for only a single column of the database table”
Claim 16 of the ’229 Patent contains the term “means for creating a vertical partition for each
and every column of the database table, each vertical partition having data values for only a single
column of the database table.” The parties agree that the term is a means-plus-function limitation
that should be construed pursuant to 35 U.S.C. § 112, ¶ 6. However, the parties disagree as to
function performed by the limitation and its corresponding structure.
Sybase contends the function of the “means for creating . . .” limitation is “creating a vertical
partition for each and every column of the database table,” while Vertica contends the function
further includes the dependent clause “each vertical partition having data values for only a single
column of the database table.” Both parties’ proposed constructions are derived from the claim
language. Sybase argues that because the limitation is “means for creating a vertical partition . . .,”
the additional dependent clause merely describes the “vertical partition,” not the function of
“creating a vertical partition.” Sybase’s Indefiniteness Response, Docket No. 126, at 19–20. Vertica
contends that cropping the recited function as Sybase proposes would “read critical functional
language out of the claim.” Vertica’s Indefiniteness Motion, Docket No. 116, at 18. Vertica’s
identification of the function is correct. The content of the vertical partition is the direct
consequence of its creation and therefore, part of the functional recitation of the function.
Accordingly, the specified function for the “means for creating . . .” limitation is “creating a vertical
partition for each and every column of the database table, each vertical partition having data values
for only a single column of the database table.”
Sybase contends that the corresponding structure for the “means for creating . . .” limitation
is:
21
[A] computer (e.g., server 230) with software including: (1) software (e.g., a table-level object) that breaks data down by column, handing off each column value to aparticular column object; (2) a column object (e.g., object instance of hs_dp class)that stores the data in cells; and (3) a method (e.g., Insert method) invoked by thecolumn object for placing the column values into cells, and all equivalents thereof.
Vertica contends that the corresponding structure is not disclosed in the specification and thus the
“means for creating . . .” limitation is indefinite.
A means-plus-function limitation is indefinite if the specification does not disclose sufficient
structure such that one skilled in the art would understand the structure as adequate to perform the
recited function. Intellectual Prop. Dev., Inc. v. UA-Columbia Cablevision of Westchester, Inc., 336
F.3d 1308, 1319 (Fed. Cir. 2003). To qualify as sufficient structure, the disclosed structure must
correspond to the recited function. Default Proof Credit Card Sys., Inc. v. Home Depot U.S.A., Inc.,
412 F.3d 1291, 1298 (Fed. Cir. 2005). A structure disclosed in the specification qualifies as
“corresponding” structure only if the specification or prosecution history clearly link or associate that
structure to the recited function. Id. The corresponding structure does not need to include all
necessary elements to enable the claimed invention, but the structure must include all structure that
actually performs the recited function. Id. Courts consider the entire specification to determine the
structure that is capable to perform the recited function. Id.
“In a means-plus-function claim in which the disclosed structure is a computer, or
microprocessor, programmed to carry out an algorithm, the disclosed structure is not the general
purpose computer, but rather the special purpose computer programmed to perform the disclosed
algorithm.” WMS Gaming, Inc. v. Int’l Game Tech., 184 F.3d 1339, 1349 (Fed. Cir. 1999).
Disclosure of a general purpose computer without a corresponding algorithm renders the means-plus-
22
function claim indefinite. Aristocrat Techs. Austl. Pty Ltd. v. Int’l Game Tech., 521 F.3d 1328,
1337–38 (Fed. Cir. 2008).
So long as the disclosure defines structure to render the bounds of the claim understandable
to one of ordinary skill in the art, the specification need not disclose a specific formula or
mathematical equation, and text or a flowchart may sufficiently disclose an algorithm. AllVoice
Computing PLC v. Nuance Comm’cns, Inc., 504 F.3d 1236, 1245 (Fed. Cir. 2007); see also WMS
Gaming, 184 F.3d at 1347–49; In re Freeman, 573 F.2d 1237, 1245–46 (C.C.P.A. 1978) (discussing
“algorithm” in the context of 35 U.S.C. § 101). However, if the specification merely states a
computer or microprocessor performs the claimed function, the specification does not disclose
adequate structure, and the claim is indefinite. Aristocrat Techs., 521 F.3d at 1337–38 (holding
claim indefinite, as the specification did not disclose sufficient structure where disclosure stated one
of ordinary skill in the art could program a computer with “appropriate programming” to perform
a “control means” function); Fisinar Corp. v. The DirecTV Group, Inc., 416 F. Supp. 2d 512, 518
(E.D. Tex. 2006) (Clark, J.) (holding claim that included “database editing means . . . for generating
. . . and embedding . . .” limitation was indefinite where the specification merely restated that
software performed the recited function); Gobelli Research Ltd. v. Apple Computer, Inc., 384 F.
Supp. 2d 1016, 1022–23 (E.D. Tex. 2005) (Ward, J.) (holding claim indefinite where patentee’s
proposed structure of “a microprocessor running a procedure call that sets aside resources, such as
a memory area” did not set forth an algorithm for performing the claimed “reallocating processing
resources as a function of task priority” function); see also Biomedino LLC v. Waters Techs., Inc.,
490 F.3d 946, 953 (Fed. Cir. 2007) (holding that claim that included “control means for
automatically operating said valving” limitation was indefinite, as the specification merely disclosed
23
a diagram with a box labeled “control” and a stated the invention “may be controlled automatically
by known differential pressure, valving[,] and control equipment”). Similarly, the specification does
not disclose sufficient structure if it simply describes the outcome of the claimed function and does
not disclose a computer programmed to execute a particular algorithm. Aristocrat Techs., 521 F.3d
at 1334–35.
Furthermore, the adequacy of the disclosed corresponding structure is inherently tied to the
scope of the limitation’s function. For example, if the function is broad and generally recited, the
description of the corresponding structure need not be very specific for one of ordinary skill in the
art to ascertain what the claim means. See, e.g., IP Innovation, LLC v. Red Hat, Inc, No. 2:07cv447,
2009 WL 2460982, at *10 (E.D. Tex. Aug. 10, 2009). In IP Innovation, the specification provided
that a “display system object” created display objects and that it may include “one or more data
structure and a number of procedures, and a data structure and procedure such as an editor or other
application could be called on by more than one display system object.” Id. In that case, this Court
found the disclosure of a “display system object” sufficient structure for the claimed functionality
of “generating display objects” because the language of the specification did more than just restate
the generating function. Id. Rather, it identified particular structure inclusive of data structures and
procedures, which was sufficiently detailed given the generalized function of “generating display
objects.” Id.
On the other hand, if the function is more narrowly recited, the description of the
corresponding structure must inherently be more specific to meet the requirement of 35 U.S.C. §
112, ¶ 6. Here, the function is “creating a vertical partition for each and every column of the
database table, each vertical partition having data values for only a single column of the database
24
table.” Because this function is narrow and specified in greater detail, the corresponding structure
must be set forth with more particularity. See Biomedino, 490 F.3d at 950 (“While the specification
must contain structure linked to claimed means, this is not a high bar: all one needs to do in order
to obtain the benefit of [§ 112, ¶ 6] is to recite some structure corresponding to the means in the
specification, as the statute states, so that one can readily ascertain what the claim means and comply
with the particularity requirement of [§ 112,] ¶ 2.”) (internal quotation marks omitted).
Because the parties do not dispute that the structure involves a computer with specialized
software, the question is whether there is sufficient disclosure of the various software elements
executed by the computer. Sybase identifies the basic algorithm for creating a vertical partition as:
“(1) taking each column value for a particular column and handing it to a structure for storing the
column values; (2) inserting the values into cells; and (3) repeating the same procedure to create a
vertical partition for each column in the database table.” Sybase’s Indefiniteness Response, Docket
No. 126, at 7. Sybase contends that Figures 3B-C (and accompanying text) illustrate the basic
algorithm, see ’229 Patent, col. 12:51–13:39, and the specification further explains the steps depicted
in Figures 3B-C:
To insert a record into a table, therefore, a table-level object breaks the data down bycolumn and then hands off each column value (user data) to a particular columnobject (i.e., object instance of hs_dp class). Each column object, in turn, invokes itsInsert method for placing the user data into cells.
’229 Patent, col. 44:36–41. Thus, Sybase argues that the specification discloses three corresponding
software structures that together perform the identified algorithm: (1) a table-level object; (2) a
column object (i.e., an object instance of the hs_dp class); and (3) an Insert method invoked by the
column object. Sybase’s Indefiniteness Response, Docket No. 126, at 8.
25
The crux of Vertica’s argument is that the specification fails to sufficiently disclose the
structure of the “table-level object.” The parties agree that the phrase “creating a vertical partition
for each and every column of the database table” means “separating all data in each column in the
database table from any data from any other column in the database table, such that all data in each
column can be read from storage without reading any data from any other column.” The “table-level
object” ensures that each vertical partition contains data from only a single column by “break[ing]
the data down by column and then hand[ing] off each column value (user data) to a particular
column object.” See ’229 Patent, col. 44:36–40. Thus, the “table-level object” is involved in the
separating function and is at least part of the structure for performing the claimed function.
Vertica contends that although the ’229 Patent mentions the existence of the “table-level
object,” the specification fails to describe the algorithms implementing the relevant methods of the
object and the data structures on which the methods operate. Sybase argues that the “table-level
object” is sufficiently disclosed in the specification because “[a]ccessing values from a record is a
function that any traditional row-oriented RDBMS must perform. . . . [and] further details of the
structure of a table-level object for performing such a function would be well known to [one of
ordinary skill in the art].” Sybase’s Indefiniteness Response, Docket No. 126, at 24. Vertica
responds that “[t]he issue is not whether there is enough description for someone to build the
invention (i.e., enablement); the issue is whether the patent clearly describes the claimed invention
(i.e., definiteness).
Whether a computer or another structure implements the function of a means-plus-function
limitation, the definiteness inquiry focuses on what one of ordinary skill in the art would understand
the patent discloses. AllVoice, 504 F.3d at 1240. Regardless of the level of skill of an ordinarily
26
skilled artisan, “[t]he inquiry is whether one of skill in the art would understand the specification
itself to disclose a structure, not simply whether that person would be capable of implementing that
structure.” Aristocrat Techs., 521 F.3d at 1337 (quoting Biomedino, 490 F.3d at 953). Further, “[a]
patentee cannot avoid providing specificity as to structure simply because someone of ordinary skill
in the art would be able to devise a means to perform the claimed function.” Blackboard, Inc. v.
Desire2Learn, Inc., 574 F.3d 1371, 1385 (Fed. Cir. 2009). In Blackboard, the plaintiff argued that
an algorithmic means-plus-function claim was not indefinite because “a person skilled in the art
could readily fashion a computer based means for performing the claimed function.” Id. The
Blackboard court instructed that
[t]he correct inquiry is to look at the disclosure of the patent and determine if one ofskill in the art would have understood that disclosure to encompass software for [theclaimed function] and been able to implement such a program, not simply whetherone of skill in the art would have been able to write such a software program. . . It isnot proper to look to the knowledge of one skilled in the art apart from andunconnected to the disclosure of the patent.
Id. (quoting Med. Instrumentation & Diagnostics Corp. v. Elekta AB, 344 F.3d 1205, 1212 (Fed. Cir.
2003)). Thus, the relevant inquiry is whether there is enough of a disclosure in the specification to
allow one skilled in the art to understand the disclosure encompassed a structure for a “table-level
object.”
When read by one skilled in the art, the specification provides that a “table-level object,” an
“object” being a tool for data manipulation, breaks the data down by column and then hands off each
column value (user data) to a particular column object (i.e., object instance of hs_dp class). An
“object” in object oriented programming includes data structures and methods that act on those
structures. Given the narrowly recited function of “creating a vertical partition for each and every
column of the database table, each vertical partition having data values for only a single column of
27
the database table,” the broad disclosure of a “table-level object” and the function it performs is not
sufficient algorithmic structure. See Finisar, 523 F.3d at 1340–41; Aristocrat Techs., 521 F.3d at
1334–35. The disclosure of a “table-level object” fails to identify the data structures and methods
that act on those structures. The specification merely provides a non-specific reference to a software
tool and fails to disclose the algorithm being executed to break down the data. Sybase contends that
using “prose descriptions and descriptive method names to describe [the] structure of the computer
system . . . describe[s] the structure sufficiently for [one of ordinary skill in the art] to later
implement it for a specific language and operating system.” Sybase’s Indefiniteness Response,
Docket No. 126, at 6. However, by failing to describe the means by which the “table-level object”
will break down the data, Sybase has in effect attempted to capture any possible means for achieving
that end. See Blackboard, 574 F.3d at 1385. This is the exact “pure functional claiming” that 35
U.S.C. § 112, ¶ 6 is intended to prevent. Id. (citing Aristocrat Techs., 521 F.3d at 1333).
The quid-pro-quo for invoking the claiming format of 35 U.S.C. § 112, ¶ 6 is that the
patentee must disclose adequate structure. See Biomedino, 490 F.3d at 950; In re Donaldson Co.,
16 F.3d 1189, 1195 (Fed. Cir. 1994) (en banc). Sybase has failed to show that it has done so. One
of ordinary skill in the art could not determine what constitutes infringement based on the disclosure
of “table-level object.” Accordingly, Vertica has shown by clear and convincing evidence that the
“means for creating . . .” term is indefinite, and the Court GRANTS in part Defendant Vertica
Systems, Inc.’s Motion for Summary Judgment on Indefiniteness (Docket No. 116) as to this term
in claim 16.
28
“means for transferring each vertical partition to and from the storage device, so that at leastsome data values for a particular column are stored together at a contiguous location on thestorage device”
Claim 16 of the ’229 Patent contains the term “means for transferring each vertical partition
to and from the storage device, so that at least some data values for a particular column are stored
together at a contiguous location on the storage device.” The parties agree that the term is a means-
plus-function limitation that should be construed pursuant to 35 U.S.C. § 112, ¶ 6. However, the
parties disagree as to function performed by the limitation and its corresponding structure.
Sybase contends the function of the “means for transferring . . .” limitation is “transferring
each vertical partition to and from the storage device,” while Vertica contends the function further
includes the dependent clause “so that at least some data values for a particular column are stored
together at a contiguous location on the storage device.” Both parties’ proposed constructions are
derived from the claim language. Sybase argues that Vertica’s proposed function merely describes
the vertical partition that is transferred and “improperly attempts to incorporate the result of the
function into the function itself.” Sybase’s Indefiniteness Response, Docket No. 126, at 25. Vertica
argues that the requirement that at least some data values be stored at a contiguous location is a
specific functional requirement that specifies how the transferred data is stored on the storage device.
Vertica’s identification of the function is correct. The specified function is expressed as transfers
involving storage in a specified manner, i.e., contiguously on the storage device. Accordingly, the
specified function for the “means for transferring . . .” limitation is “transferring each vertical
partition to and from the storage device, so that at least some data values for a particular column are
stored together at a contiguous location on the storage device.”
29
Sybase contends that the corresponding structure for the “means for transferring . . .”
limitation is “a computer with software for one or more buffer objects and (1) a Read method for
reading data pages from a storage device, and (2) a Write method for writing data pages to a storage
device, and all equivalents thereof.” Vertica contends that the corresponding structure is not
disclosed in the specification and thus, the “means for transferring . . .” limitation is indefinite. It
is clear that the specification names the Read and Write methods as structure for performing the
recited function, but the parties dispute whether the details of those methods are sufficiently
disclosed. Vertica argues that “Sybase’s mere naming of a software object that allegedly performs
a recited function is legally insufficient for a means-plus-function limitation.” Vertica’s
Indefiniteness Motion, Docket No. 116, at 25. Sybase argues that because the patent teaches
contiguous storage and the specification clearly links the Read and Write methods as corresponding
structure for transferring the data values to storage, one of ordinary skill in the art “would know that
when some data values for a particular column are stored contiguously on the vertical partition, they
are stored contiguously on the storage device when transferred.” Sybase’s Indefiniteness Response,
Docket No. 126, at 26.
The specification does not disclose the structure for “transferring each vertical partition to
and from the storage device, so that at least some data values for a particular column are stored
together at a contiguous location on the storage device.” Sybase’s identified corresponding structure
is merely a statement of the “Read method” and “Write method” transferring functions and one of
ordinary skill in the art could not determine what constitutes infringement based on the disclosure
of these methods. Accordingly, Vertica has shown by clear and convincing evidence that the “means
for transferring . . .” limitation is indefinite and the Court GRANTS in part Defendant Vertica
30
Systems, Inc.’s Motion for Summary Judgment on Indefiniteness (Docket No. 116) as to this term
in claim 16.
“wherein said means for creating a vertical partition for each column includes: forming avertical page chain for each column, said vertical page chain storing only those data value ofthe records which correspond to the column for the page chain”
Claim 16 of the ’229 Patent contains the term “wherein said means for creating a vertical
partition for each column includes: forming a vertical page chain for each column, said vertical page
chain storing only those data value of the records which correspond to the column for the page
chain.” The parties agree that the term is a means-plus-function limitation that should be construed
pursuant to 35 U.S.C. § 112, ¶ 6. However, the parties disagree as to function performed by the
limitation and its corresponding structure.
Sybase contends the function of the “means for . . . forming . . .” limitation is “forming a
vertical page chain for each column,” while Vertica contends the function further includes the
dependent clause “said vertical page chain storing only those data value of the records which
correspond to the column for the page chain.” Both parties’ proposed constructions are derived from
the claim language. Sybase argues that the description of the vertical page chain that is formed is
not part of the function. Sybase’s Indefiniteness Response, Docket No. 126, at 25. Similar to the
“means for creating . . .” limitation, where the content of a vertical partition was included in the
functional recitation of its creation, the content of a page chain is a direct consequence of its
formation and thus, part of the functional recitation of its formation. Accordingly, the specified
function for the “means for . . . forming . . .” limitation is “forming a vertical page chain for each
column, said vertical page chain storing only those data value of the records which correspond to the
column for the page chain.”
31
Sybase contends that the corresponding structure for the “means for . . . forming . . .”
limitation is “a computer with software including data structure for connecting or associating one
or more data pages for a particular column to form a vertical page chain for each column, including
via pointers, a system catalog, a B-tree, and/or a block array, and all equivalents thereof.” Vertica
contends that the corresponding structure is not disclosed in the specification and thus, the “means
for . . . forming . . .” limitation is indefinite.
Vertica contends that the system catalog, B-Tree and block array do not perform the
“chaining” function and are not “clearly linked to the function.” Vertica’s Indefiniteness Motion,
Docket No. 116, at 26. Vertica argues that because the disclosed pointers are the only links that
connect the pages in a page chain, the structure for “forming” a page chain must be “software that
creates the page pointers to link the various pages together.” Id. Vertica contends that the patent
does not describe the software that connects the pages with pointers and does not provide an
algorithm showing how the pages are connected to form a page chain. Sybase contends that every
data structure is clearly linked to the specified function and argues that “[p]ointers are well
understood by [one of ordinary skill in the art] and are used by linked lists, B-Trees, system catalogs,
and other structures.” Sybase’s Indefiniteness Response, Docket No. 126, at 27–28. Thus, Sybase
argues, “there is no need to describe how to ‘create’ page pointers to [one of ordinary skill in the
art].” Id. at 28.
Sybase does not identify what algorithm is executed to form a page chain, which necessarily
includes generating the references in the pages that point to successive pages in the chain. One of
ordinary skill in the art could not determine what constitutes infringement based on the insufficient
disclosure of corresponding structure. Accordingly, Vertica has shown by clear and convincing
32
evidence that the “means for . . . forming . . .” limitation is indefinite and the Court GRANTS in part
Defendant Vertica Systems, Inc.’s Motion for Summary Judgment on Indefiniteness (Docket No.
116) as to this term in claim 16.
CONCLUSION
For the foregoing reasons, the Court interprets the claim language in this case in the manner
set forth above. In addition, the Court DENIES Defendant Vertica Systems, Inc.’s Motion for
Summary Judgment on Indefiniteness (Docket No. 116) as to claim 1 and GRANTS the motion as
to claim 16. The claims with the disputed terms in bold are set forth in Appendix A. For ease of
reference, the Court’s claim interpretations are set forth in a table as Appendix B.
33
__________________________________LEONARD DAVISUNITED STATES DISTRICT JUDGE
So ORDERED and SIGNED this 13th day of May, 2010.
APPENDIX A
U.S. Patent No. 5,794,229
1. In a computer system having a database storing a database table, said database tablepresenting user information as rows of data records divided into columns of information,each column representing a particular category of information, a method for storing thedatabase table by vertically partitioning each and every column of the database tablewithout regard to storage devices available to the system, the method comprising:
irrespective of storage devices available to the system, creating for each column ofthe database table at least one associated data page for storing data values for thecolumn;
for each data record of the database table, storing the data value for each column of thedata record in one of the at least one data page associated with the column, so thatdata values for each particular column of a database table are all storedtogether in at least one data page associated with said each particular column; and
for each column, linking together all of said at least one data page associated with thecolumn to form a page chain for the column, so that each page chain stores togetherall of the data values for a particular column of the database table.
2. The method of claim 1 wherein some of the data pages for a given page chain are storedcontiguously on a storage device.
3. The method of claim 2, further comprising:receiving a query which requires the database to retrieve from storage all of the data
pages for a particular column; andretrieving the data pages for the particular column using large block input/output
transfer for the computer system.
4. The method of claim 3, wherein each data page stores 64K of data values and wherein saidlarge block input/output transfer includes retrieving a 64K data page in a single readoperation.
7. The method of claim 1, further comprising:storing a system catalog referencing the first data page of each page chain, so that a
logical view of the database table in row/column format can be reconstructed byretrieving data values from said page chains.
11. The method of claim 10, wherein the aggregate operation includes a selective one of averagevalue, maximum value, minimum value and summation of values, for the particular column.
14. The method of claim 1, wherein each data page includes a page header specifying aparticular type of compression which is suitable for the data values stored on the data page.
34
16. A database system comprising:a computer having at least one processor and a memory;a storage device for storing a database table;a display device for presenting said database table to a user in row and column format;means for creating a vertical partition for each and every column of the database
table, each vertical partition having data values for only a single column of thedatabase table; and
means for transferring each vertical partition to and from the storage device, sothat at least some data values for a particular column are stored together at acontiguous location on the storage device
wherein said means for creating a vertical partition for each column includes:forming a vertical page chain for each column, said vertical page chain storing only
those data value of the records which correspond to the column for the pagechain.
35
APPENDIX B
Term or Phrase Court’s Construction
vertically partitioning each and everycolumn of the database table(Claim 1)
[AGREED] Separating all data in each columnin the database table from any data from anyother column in the database table, such that alldata in each column can be read from storagewithout reading any data from any other column.
in a computer system/A database system (Claims 1 & 16)
[no construction necessary]
database table (Claim 1)
[AGREED] a collection of data conceptuallyconstructed in row and column format
data record/record/rows of data records(Claims 1 & 16)
[AGREED] a row/rows in a database table
without regard to storage devices available tothe system/ irrespective of storage devicesavailable to the system (Claims 1 & 16)
storing each column without taking into accountthe arrangement of the storage devices
data page/data pages (Claims 1 & 16)
fixed unit(s) of physical storage
creating for each column . . . at least oneassociated data page for storing data valuesfor the column (Claim 1)
[AGREED] [no construction necessary]
data values for each particular column ... areall stored together/ stores together all of thedata values for a particular column (Claims 1 & 16)
[no construction necessary]
linking together (Claim 1)
connecting a series of pages one after another
linking together all of said at least one datapage (Claim 1)
[no construction necessary]
page chain (Claims 1 & 16)
a sequence of pages connected by a reference ineach preceding page to each successive page
[page chain] for the column(Claim 1)
[AGREED] a page chain containing data valuesfor a single column and no other column
stored contiguously (Claim 2)
[AGREED] stored next to each other
query (Claim 3)
[AGREED] a statement that provides criteria forselecting particular data from tables in a databasemanagement system
large block input/output transfer (Claims 3 & 4)
transferring at one time data pages having datavalues from many rows of data records
36
logical view (Claim 7)
[AGREED] a user point-of-view, as opposed tothe physical structure used by a computer
includes a selective one of [list of items] (Claim 11)
[no construction necessary]
page header (Claim 14)
supplemental data at the beginning of a data page
means for creating a vertical partition foreach and every column of the database table,each vertical partition having data values foronly a single column of the database table(Claim 16)
[Indefinite]
means for transferring each vertical partitionto and from the storage device, so that atleast some data values for a particularcolumn are stored together at a contiguouslocation on the storage device (Claim 16)
[Indefinite]
wherein said means for creating a verticalpartition for each column includes: forming a vertical page chain for eachcolumn, said vertical page chain storing onlythose data value of the records whichcorrespond to the column for the page chain.(Claim 16)
[Indefinite]
37