Visual Memory LLC v. NVIDIA Corp., Federal Circuit 2017 (Software Patents)

This case concerned an appeal from a district court case which held that Visual Memory’s U.S. Patent No. 5.953,740 was drawn to patent-ineligible subject matter.

The patent teaches that computer systems frequently use a three-tiered memory hierarchy to enhance performance. The three tiers include: 1) a low-cost, low speed memory, such as a magnetic disk, for bulk storage of data; 2) a medium-speed memory that serves as the main memory; and 3) an expensive, high-speed memory that acts as a processor cache memory. Because the cache memory is the most expensive, it is typically smaller than the main memory and cannot always store all the data required by the processor. The memory hierarchy alleviates the limitations imposed by the cache’s size because it allows code and non-code data to be transferred from the main memory to the cache during operation to ensure that the currently executing program has quick access to the required data. Replacement algorithms determine which data should be transferred from the main memory to the cache and which data in the cache should be replaced. As a result, the code and non-code data to be executed by the processor are continually grouped into the cache, thereby facilitating rapid access for the currently executing program. These prior art memory systems lacked versatility because they were designed and optimized based on the specific type of processor selected for use in that system. Designing a different memory system for every processor type is expensive.

The patent purports to overcome these deficiencies by creating a memory system with programmable operational characteristics that can be tailored for use with multiple different processors without the accompanying reduction in performance. It discloses a main memory and three separate caches: an internal cache, a pre-fetch cache, and a write buffer cache.

The three caches possess programmable operational characteristics that are programmable based on the type of processor connected to the memory system. When the system is turned on, information about the type of processor is used to self-configure the programmable operational characteristics. For example, depending on the type of processor, the internal cache can store both code and noncode data, or it can store only code data. Similarly, write buffer cache 20 can be programmed to buffer data “solely from a bus master other than the system processor,” or to buffer data writes by any bus master including the system processor. By separating the functionality for the caches and defining those functions based on the type of processor, the patented system can allegedly achieve or exceed the performance of a system utilizing a cache many times larger than the cumulative size of the subject caches. Using a programmable operational characteristic based on the processor type can also improve the main memory.

Claim 1 recites:
1. A computer memory system connectable to a processor and having one or more programmable operational characteristics, said characteristics being defined through configuration by said computer based on the type of said processor, wherein said system is connectable to said processor by a bus, said system comprising:
a main memory connected to said bus; and
a cache connected to said bus; wherein a programmable operational characteristic
of said system determines a type of data stored by said cache.

Under step one of the Alice test, the district court had concluded that the claims were directed to the “abstract idea of categorical data storage,” which humans have practiced for many years. The court’s step-two analysis found no inventive concept because the claimed computer components—a main memory, cache, bus, and processor—were generic and conventional.

The Federal Circuit noted that two recent cases inform their evaluation of whether the claims are directed to an abstract idea: Enfish and Thales (described in other posts in this blog). In Enfish, the Federal Circuit held claims reciting a self-referential table for a computer database were patent-eligible under Alice step one because the claims were directed to an improvement in the
computer’s functionality. In Thales, the Federal Circuit determined that claims reciting a unique configuration of inertial sensors and the use of a mathematical equation for calculating the location and orientation of an object relative to a moving platform were patent-eligible under Alice step one.

The Federal Circuit’s review of the claims at hand demonstrated that they are directed to an improved computer memory system, not to the abstract idea of categorical data storage. None of the claims recite all types and all forms of categorical data storage.

As with Enfish’s self-referential table and the motion tracking system in Thales, the claims here are directed to a technological improvement: an enhanced computer memory system. Therefore, the claims are patent-eligible.

The dissent contended that the claimed programmable operational characteristic is nothing more than a black box, and that the patent lacks any details about how the invention’s purpose] is achieved. The majority noted some flaws with this conclusion. First, the patent included a microfiche appendix having 263 frames of computer code. The dissent argued that this code would not teach one of ordinary skill in the art the innovative programming effort. The majority stated that such an assumption is improper when reviewing a motion to dismiss for failure to state a claim. Second, whether a patent specification teaches an ordinarily skilled artisan how to implement the claimed invention presents an enablement issue under 35 U.S.C. § 112, not an eligibility issue under § 101. Third, the dissent assumed that the “innovative” effort in the patent lies in the programming required for a computer to configure a programmable operational characteristic of a cache memory. This assumption is inconsistent with the patent specification itself. The specification makes clear that the inventors viewed their innovation as the creation of “a memory system which is efficiently operable with different types of host processors, and the patent discloses how to implement such a memory system.

Trading Technologies International Inc., v. CQG, Inc., Federal Circuit 2017 (non-precedential) (software patents)

This decision should be very interesting to software developers who want software patents on unique graphical user interfaces. The decision is non-precedential, but can be cited to the U.S. Patent and Trademark Office when the facts in a patent application uniquely match those in this case. Up until this case, and after Alice, the Federal Circuit had consistently found the claims to user interfaces patent-ineligible, reasoning that generically claimed user interfaces that merely present information that had been collected and analyzed are ineligible.

Trading Technologies International, Inc. charged CQG with infringement of U.S. Patent Nos. 6,772,132 and 6,766,304.  CQG appealed the decision of the district court that the patents recite patent-eligible subject matter.

The software patents describe and claim a method and system for the electronic trading of stocks, bonds, futures, options and similar products. The software patents explain problems that arise when a trader attempts to enter an order at a particular price, but misses the price because the market moved before the order was entered and executed. It also sometimes occurred that trades were executed at different prices than intended, due to rapid market movement. The software patents describe a trading system in which a graphical user interface displays the market depth of a commodity traded in a market, including a dynamic display for a plurality of bids and for a plurality of asks in the market for the commodity and a static display of prices corresponding to the plurality of bids and asks. Bid and asked prices are displayed dynamically along the static display, and the system pairs orders with the static display of prices and prevents order entry at a changed price.

Claim 1 of the ‘304 software patent is representative:

1. A method for displaying market information relating to and facilitating trading of a commodity being traded in an electronic exchange having an inside market with a highest bid price and a lowest ask price on a graphical user interface, the method comprising;

  • dynamically displaying a first indicator in one of a plurality of locations in a bid display region, each location in the bid display region corresponding to a price level along a common static price axis, the first indicator representing quantity associated with at least one order to buy the commodity at the highest bid price currently available in the market;
  • dynamically displaying a second indicator in one of a plurality of locations in an ask display region, each location in the ask display region corresponding to a price level along the common static price axis, the second indicator representing quantity associated with at least one order to sell the commodity at the lowest ask price currently available in the market;
  • displaying the bid and ask display regions in relation to fixed price levels positioned along the common static price axis such that when the inside market changes, the price levels along the common static price axis do not move and at least one of the first and second indicators moves in the bid or ask display regions relative to the common static price axis;
  • displaying an order entry region comprising a plurality of locations for receiving commands to send trade orders, each location corresponding to a price level along the common static price axis; and
  • in response to a selection of a particular location of the order entry region by a single action of a user input device, setting a plurality of parameters for a trade order relating to the commodity and sending the trade order to the electronic exchange.

Alice Corporation Pty. Ltd. v. CLS Bank International, provides the framework for patent-eligibility of business methods and software patents. A software patent’s claim falls outside § 101 where (1) it is “directed to” a patent-ineligible concept, i.e., a law of nature, natural phenomenon, or abstract idea, and (2), if so, the particular elements of the claim, considered “both individually and ‘as an ordered combination,’” do not add enough to “‘transform the nature of the claim’ into a patent-eligible application.”

The district court first applied Step 1 of this framework. The district court held that, rather than reciting a mathematical algorithm, a fundamental economic or longstanding commercial practice, or a challenge in business, the challenged software patents solve problems of prior graphical user interface devices . . . in the context of computerized trading relating to speed, accuracy and usability.

The district court found that these patents are directed to improvements in existing graphical user interface devices that have no “pre-electronic trading analog,” and recite more than “‘setting, displaying, and selecting’ data or information that is visible on the [graphical user interface] device.” Id.

The district court explained that the challenged patents do not simply claim displaying information on a graphical user interface. The claims require a specific, structured graphical user interface paired with a prescribed functionality directly related to the graphical user interface’s structure that is addressed to and resolves a specifically identified problem in the prior state of the art. The district court concluded that the patented subject matter meets the eligibility standards of Alice Step 1.

The Federal Circuit agreed with this conclusion, for all of the reasons articulated by the district court.

The district court alternatively continued the analysis under Alice Step 2, and determined that the challenged claims recite an “inventive concept.”

The court identified the static price index as an inventive concept that allows traders to more efficiently and accurately place trades using this electronic trading system. The court distinguished this system from the routine or conventional use of computers or the Internet, and concluded that the specific structure and concordant functionality of the graphical user interface are removed from abstract ideas, as compared to conventional computer implementations of known procedures. Thus the district court held that the criteria of Alice Step 2 were also met.

The Federal Circuit stated that the district court’s rulings are in accord with precedent for software patents. Precedent has recognized that specific technologic modifications to solve a problem or improve the functioning of a known system generally produce patent-eligible subject matter. In DDR Holdings, LLC v. Hotels.com, the Federal Circuit upheld the patent eligibility of software patent claims necessarily rooted in computer technology that overcome a problem specifically arising in the realm of computer networks. Similarly, claimed processes using a combined order of specific rules” that improved on existing technological processes were deemed patent-eligible in McRO, Inc. v. Bandai Namco Games America Inc.. Claims that were directed to a specific improvement to the way computers operate, embodied in a self-referential table, were deemed eligible in Enfish, LLC v. Microsoft Corp. These software patent cases are described below in this blog.

The Federal Circuit pointed out that, for some computer-implemented methods, software may be essential to conduct the contemplated improvements, as indicated by Enfish. “Much of the advancement made in computer technology consists of improvements to software that, by their very nature, may not be defined by particular physical features but rather by logical structures and processes.”). Abstraction is avoided or overcome when a proposed new application or computer-implemented function is not simply the generalized use of a computer as a tool to conduct a known or obvious process, but instead is an improvement to the capability of the system as a whole.

The Federal Circuit reiterated the Court’s recognition that “at some level, all inventions . . . embody, use, reflect, rest upon, or apply laws of nature, natural phenomena, or abstract ideas.” per Alice. This threshold level of eligibility is often usefully explored by way of the substantive statutory criteria of patentability, for an invention that is new, useful and unobvious is more readily distinguished from the generalized knowledge that characterizes ineligible subject matter. This analysis is facilitated by the Court’s guidance in Alice whereby the claims are viewed in accordance with “the general rule that patent claims ‘must be considered as a whole’.”

This decision should be considered when attempting to patent software that includes a graphical user interface.

Amdoc (Israel) Ltd. v. Openet Telecom, Inc., Federal Circuit Nov 2016 (Software Patents)

Amdoc sued Openet over four software patents directed to solving accounting and billing problems faced by network service providers. The district court held that the software patents were directed to patent-ineligible abstract ideas.

A split panel of the Federal Circuit reversed the district court.

The written descriptions of the software patents describe the same system, which allows network service providers to account for and bill for internet protocol (“IP”) network communications. The system includes network devices; information source modules (“ISMs”); gatherers; a central event manager (“CEM”); a central database; a user interface server; and terminals or clients. Network devices represent any devices that could be included on a network, including application servers, and also represent the source of information accessed by the ISMs. The ISMs act as an interface between the gatherers and the network devices and enable the gatherers to collect data from the network devices. The ISMs represent modular interfaces that send IP usage data in real time from network devices to gatherers. Gatherers can be hardware and software installed on the same network segment as a network device or on an application server itself to minimize the data traffic impact on a network; gatherers “gather the information from the ISMs.” Gatherers also normalize data from the various types of ISMs and serve as a distributed filtering and aggregation system. The CEM provides management and control of the ISMs and gatherers, and the CEM can perform several functions including performing data merges to remove redundant data. The central database is the optional central repository of the information collected by the system and is one example of a sink for the data generated by the system. The user interface server allows multiple clients or terminals to access the system, and its primary purpose is to provide remote and local platform independent control for the system.

Importantly, these components are arrayed in a distributed architecture that minimizes the impact on network and system resources. Through this distributed architecture, the system minimizes network impact by collecting and processing data close to its source.

The system includes distributed data gathering, filtering, and enhancements that enable load distribution. This allows data to reside close to the information sources, thereby reducing congestion in network bottlenecks, while still allowing data to be accessible from a central location. The software patents explain that this is an advantage over prior art systems that stored information in one location, which made it difficult to keep up with massive record flows from the network devices and which required huge databases.

The Federal Circuit noted that the two-step framework set out by the Supreme Court for distinguishing patents that claim so-called laws of nature, natural phenomena, and abstract ideas from those that claim patent-eligible applications of those concepts, is now familiar law. See Alice, (following Mayo Collaborative Servs. v. Prometheus Labs., Inc., 132 S. Ct. 1289 (2012)). This framework is sometimes collectively referred to as Alice/Mayo. First, the court is to determine whether “the claims at issue are directed to one of those patent-ineligible concepts.” If so, the court is to next consider elements of each claim both individually and “as an ordered combination” to determine whether the additional elements “‘transform the nature of the claim’ into a patent-eligible application.”

The Federal Circuit noted that its cases generally follow the step one/step two Supreme Court format, reserving step two for the more comprehensive analysis in search of the ‘inventive concept.’ Recent cases, however, suggest that there is considerable overlap between step one and step two, and in some situations this analysis could be accomplished without going beyond step one. See Enfish, LLC, v. Microsoft Corp.

The Federal Circuit began with an examination of eligible and ineligible claims of a similar nature from past cases. They considered the claims in In re TLI Communications LLC Patent Litigation.

Under step one, the court found that the claims were directed to the abstract idea of “classifying and storing digital images in an organized manner.” Also under step one, the court found that the claims were not directed to a specific improvement in computer functionality, but instead were directed to the “use of conventional or generic technology in a nascent, but well-known environment.

The Federal Circuit stated that claim 1 of one of the software patents could be described as focusing on correlating two network accounting records to enhance the first record. Claim 1 could also be described in several other ways—such as focusing on a computer program that includes computer code for receiving initial information, for correlating that initial information with additional information, and for using that additional information to enhance the initial information.

The Federal Circuit explained that even if they were to agree that claim 1 is directed to an ineligible abstract idea under step one, the claim is eligible under step two because it contains a sufficient inventive concept. The Court relied on the distributed architecture. Claim 1 of one of the software patents requires “computer code for using the accounting information with which the first network accounting record is correlated to enhance the first network accounting record.” In a previous decision, the Federal Circuit construed “enhance” as being dependent upon the software invention’s distributed architecture. The court held that this distributed architecture was a critical advancement over the prior art. In other words, they were looking primarily at novelty and found novelty in a hardware arrangement.

I have long believed that the main issue that should be considered is novelty, not 101 issues. While this was a sensible decision, unfortunately, the Federal Circuit is divided. Some judges are quite hostile to all software. The Federal Circuit is continuing to struggle with interpreting the vague Alice v CLS Supreme Court decision. Until they can come up with brighter line rules, there cannot be any business certainty.

Enfish v Microsoft, Federal Circuit 2016 (Software Patents)

Enfish sued Microsoft for infringement of U.S. Patent 6,151,604 and U.S. Patent 6,163,775 related to a logical model for a computer database. A logical model is a model of data for a computer database explaining how the various elements of information are related to one another. A logical model generally results in the creation of particular tables of data, but it does not describe how the bits and bytes of those tables are arranged in physical memory devices. Contrary to conventional logical models, the patented logical model includes all data entities in a single table, with column definitions provided by rows in that same table. The patents describe this as a “self-referential” property of the database.

This self-referential property can be best understood in contrast with the more standard “relational” model.  With the relational model, each entity (i.e., each type of thing) that is modeled is provided in a separate table. For instance, a relational model for a corporate file repository might include the following tables:
document table,
person table,
company table.

The document table might contain information about documents stored on the file repository, the person table might contain information about authors of the documents, and the company table might contain information about the companies that employ the persons.

In contrast to the relational model, the patented self referential model has two features that are not found in the relational model: first the self-referential model can store all entity types in a single table, and second the self-referential model can define the table’s columns by rows in that same table.

Claim 17 of the ’604 patent recites:
A data storage and retrieval system for a computer memory, comprising:
means for configuring said memory according to a logical table, said logical table including:
a plurality of logical rows, each said logical row including an object identification number (OID) to identify each said logical row, each said logical row corresponding to a record of information;
a plurality of logical columns intersecting said plurality of logical rows to define a plurality of logical cells, each said logical column including an OID to identify each said logical column; and
means for indexing data stored in said table.

The Federal Circuit reviewed de novo the district court’s determination that the claims at issue do not claim patent-eligible subject matter.

Section 101 of the patent act provides that a patent may be obtained for “any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof.” 35 U.S.C. § 101.  The Federal Circuit noted that they, as well as the Supreme Court, have long grappled with the exception that “[l]aws of nature, natural phenomena, and abstract ideas are not patentable.” Ass’n for Molecular Pathology v. Myriad Genetics, Inc., — U.S. —-, 133 S. Ct. 2107, 2116 (2013) (quoting Mayo Collaborative Servs. v. Prometheus Labs., Inc., — U.S. —-, 132 S. Ct. 1289, 1293 (2012)).

The Federal Circuit noted that Supreme Court precedent instructs them to “first determine whether the claims at issue are directed to a patent-ineligible concept.” Alice Corp. Pty Ltd. v. CLS Bank Int’l. If this threshold determination is met, we move to the second step of the inquiry and “consider the elements of each claim both individually and ‘as an ordered combination’ to determine whether the additional elements ‘transform the nature of the claim’ into a patent-eligible application.” Id. (quoting Mayo, 132 S. Ct. at 1298, 1297).

The Supreme Court has not established a definitive rule to determine what constitutes an “abstract idea” sufficient to satisfy the first step of the Mayo/Alice inquiry.

Rather, both the Federal Circuit and the Supreme Court have found it sufficient to compare claims at issue to those claims already found to be directed to an abstract idea in previous cases.

Refreshingly, the Federal Circuit in Enfish stated that: “We do not read Alice to broadly hold that all improvements in computer-related technology are inherently abstract and, therefore, must be considered at step two.  Indeed, some improvements in computer-related technology when appropriately claimed are undoubtedly not abstract, such as a chip architecture, an LED display, and the like. Nor do we think that claims directed to software, as opposed to hardware, are inherently abstract and therefore only properly analyzed at the second step of the Alice analysis. Software can make non-abstract improvements to computer technology just as hardware improvements can, and sometimes the improvements can be accomplished through either route. We thus see no reason to conclude that all claims directed to improvements in computer-related technology, including those directed to software, are abstract and necessarily analyzed at the second step of Alice, nor do we believe that Alice so directs. Therefore, we find it relevant to ask whether the claims are directed to an improvement to computer functionality versus being directed to an abstract idea, even at the first step of the Alice analysis.”

The Federal Circuit stated that, for that reason, the first step in the Alice inquiry in this case asks whether the focus of the claims is on the specific asserted improvement in computer capabilities (i.e., the self-referential table for a computer database) or, instead, on a process that qualifies as an “abstract idea” for which computers are invoked merely as a tool.

The Federal Circuit concluded that in this case, the plain focus of the claims is on an improvement to computer functionality itself, not on economic or other tasks for which a computer is used in its ordinary capacity.  Therefore, it was not necessary to proceed to step two of the Mayo analysis.

Accordingly, the Federal Circuit found in this case, that the claims at issue in this appeal are not directed to an abstract idea within the meaning of Alice. Rather, they are directed to a specific improvement to the way computers operate, embodied in the self-referential table.

The district court had concluded that the claims were directed to the abstract idea of “storing, organizing, and retrieving memory in a logical table” or, more simply, “the concept of organizing information using tabular formats.”

However, describing the claims at such a high level of abstraction and untethered from the language of the claims all but ensures that the exceptions to § 101 swallow the rule. See Alice (noting that “we tread carefully in construing this exclusionary principle [of laws of nature, natural phenomena, and abstract ideas] lest it swallow all of patent law”); cf. Diamond v. Diehr (cautioning that overgeneralizing claims, “if carried to its extreme, make[s] all inventions unpatentable because all inventions can be reduced to underlying principles of nature which, once known, make their implementation obvious”).

Here, the claims are not simply directed to any form of storing tabular data, but instead are specifically directed to a self-referential table for a computer database. For claim 17, this is reflected in step three of the “means for configuring” algorithm described above.

Moreover, the Federal Circuit was not persuaded that the invention’s ability to run on a general-purpose computer dooms the claims. Unlike the claims at issue in Alice or, more recently in Versata Development Group v. SAP America, Inc., 793 F.3d 1306 (Fed. Cir. 2015),  the claims here are directed to an improvement in the functioning of a computer. In contrast, the claims at issue in Alice and Versata can readily be understood as simply adding conventional computer components to well-known business practices.

The Federal Circuit also noted that the fact that an improvement is not defined by reference to “physical” components does not doom the claims.  To hold otherwise risks resurrecting a bright-line machine-or-transformation test, cf. Bilski v. Kappos (“The machine-or-transformation test is not the sole test for deciding whether an invention is a patent-eligible ‘process.’”), or creating a categorical ban on software patents, cf. id. at 603.  Much of the advancement made in computer technology consists of improvements to software that, by their very nature, may not be defined by particular physical features but rather by logical structures and processes.   The Federal Circuit did not see in Bilski or Alice, or our cases, an exclusion to patenting this large field of technological progress.

The Federal Circuit went on to say that, in other words, they were not faced with a situation where general-purpose computer components are added post-hoc to a fundamental economic practice or mathematical equation. Rather, the claims are directed to a specific implementation of a solution to a problem in the software arts. Accordingly, the Federal Circuit found the claims at issue were not directed to an abstract idea.

Because the claims were not directed to an abstract idea under step one of the Alice/Mayo analysis, the Federal Circuit did not need to proceed to step two of that analysis.

The Federal Circuit concluded that the claims were patent-eligible under 35 USC 101.