Court, Explained
U.S. Federal District Courts
Back to docket
N.D. Cal.Substantive rulingFiled July 15, 2020

Teradata Corporation v. SAP SE

Judge
William Orrick
Docket
3:18-cv-03670
Court
U.S. District Court · Northern District of California
Pages
23
Intellectual PropertyCivil Procedure
In one sentence

In Teradata v. SAP, Judge Orrick construed disputed patent terms governing database technologies without deciding infringement liability.

Who this affects

Teradata Corporation and SAP SE, as the parties whose patent claims and defenses will be evaluated using the court’s adopted claim constructions.

What happened

Teradata Corporation and SAP SE disputed the meanings of terms in five patents involving computer-implemented database systems. The patents concern query optimization, data storage and reporting, data dictionaries, data processing, and cache memory management.

The parties asked the court to interpret nine claim terms. Their disagreements included whether optimization must select the lowest execution-cost plan, whether a query optimization graph must be a hypergraph, whether data must be updated in the same transaction, and what “mapping,” “online analytical processing cube,” and “plug-in” mean.

The court adopted constructions for the disputed terms, including definitions for database plans, query graphs and blocks, synchronized data views, mappings, analytical-processing cubes, and cache plug-ins. It deferred challenges concerning the structure supporting one means-plus-function claim until summary judgment. Judge Orrick issued the order.

The detailed version

For law students, journalists, and other readers who want the full reasoning

Case
Teradata Corporation v. SAP SE · No. 3:18-cv-03670
Judge
William Orrick
Date
July 15, 2020

Background

Teradata Corporation and SAP SE were parties in a patent case involving five patents related to computer-implemented database systems. The patents address query optimization; synchronization of row-format and column-format data; data-dictionary caches in distributed systems; transactional-data processing and online analytical processing cubes; and cache-memory eviction and storage policies.

The parties disputed nine claim terms. Claim construction is the court’s legal determination of what patent-claim language means. The court considered the claim language, patent specifications, prosecution histories, and, where useful, external evidence such as expert testimony and technical references.

Rulings on the ’179 Patent

For “optimal access plan” and “optimize[d],” the court rejected Teradata’s attempt to make execution cost the only optimization criterion. It also rejected any requirement that the optimizer find the absolute best plan. The court adopted these constructions:

- “Optimal access plan”: “The estimated best plan, considering estimates of execution costs, among the plans considered.” - “Optimize[d]”: “Find/found the estimated best plan, considering estimates of execution costs, among the plans considered.”

For “query optimization graph,” the court concluded that the use of a hypergraph in a preferred embodiment did not limit the claim term to hypergraphs. It adopted: “An internal representation of a query block or derived table block, structured as a graph.”

For “query block,” the court adopted the parties’ agreed construction: “A query block refers to the smallest portion of a query (which has more than one block) that can be separately optimized.”

Rulings on the ’421 Patent

For “share a consistent view of said database information,” the court agreed with SAP that the consistency requirement is achieved within the same database transaction. It adopted: “Update the row-format data (by the relational database management system component) and update the column-format data (by the column-oriented data processing component) within the same database transaction.”

The parties agreed that the phrase “wherein generating the query response accesses only one or more columns needed directly for generating the query response” did not need construction. The opinion does not state that the court adopted a separate construction for that phrase.

Ruling on the ’437 Patent

For “a plurality of data dictionary cache at an application level,” the court rejected Teradata’s proposed limitation requiring a connection to an application server. It adopted: “Multiple data dictionary caches at a layer of software, different from a data access layer, that provides services to a user of data dictionary information, and obtains that data dictionary information from the data access layer.”

Rulings on the ’321 Patent

For “mapping,” the court held that the mapping is stored but declined to limit it to pairwise associations. It adopted: “Creating and storing, in computer system memory or secondary storage for a computer system, an association between data elements in the computer system such that a computer can locate a data element using that association.”

For “mapping table,” it adopted: “A computer-implemented data structure that holds associations or assignments.”

For “online analytical processing cube,” the court rejected SAP’s attempt to include a data-structure definition in the term. It adopted: “A data structure designed to store multidimensional data, where data to be stored in the data structure is provided by online analytical processing.”

For “invoking an online analytical processing component to fill the online analytical processing cubes with transactional data,” the court rejected Teradata’s proposed requirement that the cubes be empty. It adopted: “Using software to transfer transactional data into online analytical processing cubes.”

The parties also disputed whether the means-plus-function version of this claim element had adequate corresponding structure under patent law. Both parties agreed that the issue could be deferred until summary judgment, and the court stated that it would address Teradata’s means-plus-function challenges at that time.

Rulings on the ’516 Patent

For “plug-in,” the court adopted: “A piece of software or code that can be added to the main program without modification to the other functionality of the main program.” The court did not resolve at claim construction whether the plug-in must be a discrete, modular set of code; it stated that argument could be raised on summary judgment.

For “eviction policy plug-in,” it adopted: “The plug-in that dictates the removal of an object from cache.”

For “storage policy plug-in (or storage plugin),” it adopted: “The plug-in that executes the ‘get’ and ‘put’ operations for objects stored in cache.”

Disposition and effect

The court entered the stated claim constructions and ordered: “IT IS SO ORDERED.” This was a claim-construction ruling defining the scope and meaning of disputed patent language. The opinion did not decide whether either party infringed a patent or whether the patents were valid. William H. Orrick signed the order as United States District Judge.

The authoritative version

Read the full 23-page opinion on CourtListener, the free public archive maintained by the Free Law Project.

Open opinion PDF →
Summary written with AI assistance. See how summaries are made. Spot something wrong? Tell us.