DYK, Circuit Judge.
Plaintiff Nazomi Communications, Inc. ("Nazomi") appeals from a decision of the United States District Court for the Northern District of California construing disputed claim language and granting summary judgment of non-infringement in favor of defendants Western Digital Corporation and Western Digital Technologies, Inc. (collectively, "Western"), and Sling Media, Inc. ("Sling"). We affirm.
To function, a computing device requires both hardware and software. Processors are hardware components embedded in computing devices. The central processing unit ("CPU") enables a computing device to carry out instructions contained in a computer program. Software refers to instructions that tell the device hardware what to do. The hardware then follows these instructions ("executes" the software).
For a software program to run on the CPU of a computing device, the program must be compiled or translated from a high-level programming language that is written in a human-readable syntax ("source code"), into a machine-readable form ("machine code") that the processor can understand. Machine code is processor-specific. As a result, particular compilers can only translate programs into machine code for particular types of processors. For example, Intel-based processors use one set of native instructions, Macintosh PowerPC-based processors use a different set of native instructions, and ARM Limited processors use another still. Therefore, to run the same source code or software on a different system or platform, it must be recompiled for the new system.
Java is a high-level programming language that addresses this problem by allowing developers to write programs that can run on different processors without being recompiled for each new system. Instead, the Java language uses a single compiler that translates Java programs into "bytecodes" instead of processor-specific machine code. Java bytecodes do not run directly on the CPU, but on a Java Virtual Machine ("JVM") which translates them into processor-specific machine code. Therefore, programs written in Java can run on any platform and any operating system, providing one of the principal advantages of Java programs—their "portability."
Computing devices also vary in how they store data in memory, which affects the characteristics of the machine code. Processors using stack-based memory systems "store information on a last-in, first-out basis ..., analogous to a stack of papers in an inbox." JA 2709. Therefore, "[t]o access a paper at the bottom of the stack, the reader must remove all of the papers above it." JA 2709. In contrast, register-based
Therefore, a device using a register-based processor can run programs written in Java using a JVM that translates the stack-based Java bytecodes into registerbased instructions. But executing Java bytecodes using a typical software-based JVM takes longer than executing programs that can run directly on the device's hardware without translation. One solution to this problem is processing certain Java bytecodes in hardware where the appropriate software is present to "accelerate" the execution of Java programs. However, such hardware-based JVMs may be unable to process legacy applications that are not programmed in Java.
Nazomi's two patents asserted here aim to address this issue. They describe a hardware-based JVM capable of processing stack-based instructions, that also retains the ability to run legacy (i.e., register-based) applications without utilizing the JVM. At issue are four apparatus claims from two related patents, independent claims 48 and 74 of U.S. Patent No. 7,080,362 ("the `362 patent") and independent claims 1 and 5 of U.S. Patent No. 7,225,436 ("the `436 patent"). Representative claim 48 of the `362 patent reads:
`362 patent col. 10 l. 57 to col. 11 l. 6.
`362 patent col. 12 ll. 29-47.
`426 patent col. 14 ll. 30-46.
5. A central processing unit (CPU) comprising:
Defendants Western and Sling are consumer product manufacturers that incorporate various processors into their products. ARM Limited ("ARM") develops processor designs, which it licenses to third party chip-makers such as Qualcomm and Texas Instruments to build physical processor chips. Although ARM does not make or sell processors, ARM has a suite of processor designs that are used in many computing devices. Chip-makers select a suitable ARM processor design depending on the particular purpose for which the processor will be used. The chips incorporating ARM's designs are utilized by consumer product manufacturers such as Western and Sling.
Initially, ARM processors could directly execute only two types of machine code, both of which are register-based instructions. They could also execute Java's stack-based instructions using the method known in the prior art to the Nazomi patent—running a software-based JVM that would translate the Java bytecodes into ARM's register-based machine code. In 2000, ARM developed a chip design that would accelerate the processing of Java bytecodes. The hardware component of the ARM design was called "Jazelle." As with its other processor code designs, ARM licensed the ARM 926EJ-S processor core ("ARM core") to various chip-makers. As with the other ARM processors, this ARM core is often selected by chip-makers for its flexibility; it can be incorporated into chips for different end uses, ranging from smartphones to refrigerators.
Because the ARM core design and the chips based on that core are intended to be used in a wide variety of products, they often contain optional functionality not utilized nor enabled by every manufacturer. The Jazelle hardware is one such optional feature. Both accused products, Western's MyBook World Edition ("MyBook") and Sling's Slingbox Pro-HD ("Slingbox"), have CPUs containing an ARM core with Jazelle hardware. However, the Jazelle hardware on the accused devices cannot perform the functionality described in Nazomi's asserted claims without software known as Jazelle Technology Enabling Kit ("JTEK"). Consumer product manufacturers can license JTEK from ARM for a fee. Defendants Western and Sling did not license the JTEK software from ARM and have never installed the JTEK software to enable Jazelle on the accused devices.
In February 2010 Nazomi filed a complaint in the Central District of California against various technology companies, including Western and Sling, alleging infringement of the `362 patent and the `436 patent. In October 2010, the case was transferred to the Northern District of California. In July 2012 Western and Sling filed a motion for summary judgment contending that the claims should be construed to require that the device perform the claimed functions itself, and that the accused products did not infringe the asserted
The district court granted Western and Sling's motion for summary judgment and found that the claimed apparatus must itself be capable of performing the claimed functions, and construed the asserted claims to require a hardware and software combination capable of processing both register-based and stack-based instructions. The court concluded that without the enabling JTEK software, Jazelle hardware cannot process stack-based instructions at all. Because Jazelle hardware alone could not process stack-based instructions, and the Western and Sling apparatuses do not include the necessary JTEK software, the district court found that the accused devices do not infringe. The district court then certified the judgment for appeal pursuant to Fed.R.Civ.P. 54(b). Nazomi appeals, and we have jurisdiction under 28 U.S.C. § 1295(a)(1).
The first step of the infringement analysis is claim construction, a question of law reviewed de novo. Cybor Corp. v. FAS Techs., Inc., 138 F.3d 1448, 1456 (Fed.Cir.1998) (en banc). The district court treated claim 48 of the `362 patent as representative of all the asserted claims and held that it is "similar in most respects to the other asserted claims." JA 5. Nazomi does not dispute the propriety of treating claim 48 as representative of all the asserted claims, which are all directed to a CPU and recite limitations pertaining to its functionality.
The district court construed the claims as claiming an apparatus, comprising both hardware and software, capable of practicing the claimed functionality. The court rejected Nazomi's construction requiring only hardware that was capable of performing the claimed functionalities. We agree. The face of the claims shows that each particular functionality is a claim limitation. For example, the italicized portions of claim 48 below recite specific claim functionalities that cannot be practiced in hardware alone and require enabling software:
`362 patent col. 10 l. 57 to col. 11 l. 6 (emphases added). The claims recite a CPU that can perform particular functions, namely, the processing of both register-based and stack-based instructions. Since hardware cannot meet these limitations in the absence of enabling software, the claims are properly construed as claiming an apparatus comprising a combination of hardware and software capable of practicing the claim limitations. For example, claim 48 does not recite generic mechanisms, but requires specific functions of "(1) maintaining an operand stack for the stack-based instructions; (2) performing `stack control' of `overflow/underflow' by moving operands between the registers and memory; and (3) generating exceptions for certain stack-based instructions." JA 3938; see also `362 patent col. 10 l. 57 to col. 11 l. 6. These limitations on the claimed CPU pertain specifically to the processing of stack-based instructions.
Further, the need for the specified functionality is confirmed by the `362 patent specification, which indicates that "the [Java] hardware accelerator can convert the stack-based Java bytecodes into ... register-based native instructions on a CPU." `362 patent col. 2 ll. 23-25. The specification also explains that "[t]he Java hardware accelerator can do[] some or all of the following tasks," and lists functions involved in processing stack-based instructions, including "managing the Java stack on a register file" and "generating exceptions on instructions on predetermined bytecodes," mirroring the limitations in claims 48 and 74. `362 patent col. 3 ll. 10-19; see, e.g., `362 patent col. 11 ll. 5-6, col. 12 ll. 33-37. Contrary to Nazomi, there is nothing unusual or improper in construing device claims to require particular functionality. See, e.g., Typhoon Touch Techs., Inc. v. Dell, Inc., 659 F.3d 1376, 1381 (Fed.Cir.2011); K-2 Corp. v. Salomon S.A., 191 F.3d 1356, 1363 (Fed.Cir.1999).
The cases on which Nazomi relies do not support its position. For example, in Intel Corporation v. U.S. International Trade Commission, the claims only required "programmable selection means," and the accused product infringed because it could be programmed to perform the infringing use. 946 F.2d 821, 832 (Fed.Cir.1991). We held that the "programmable" claim language required only that the accused product could be programmed to perform the claimed functionality. Id. In contrast, Nazomi has not claimed an apparatus with hardware "programmable" to process stack-based instructions, it has claimed a combination of hardware and software capable of performing that function. See also Fantasy Sports Props., Inc. v. Sportsline.com, Inc., 287 F.3d 1108, 1117-18 (Fed.Cir.2002) ("Intel therefore does not stand for the proposition ... that infringement may be based upon a finding that an accused product is merely capable of being modified in a manner that infringes the claims of a patent.").
Similarly, in Silicon Graphics, Inc. v. ATI Technologies, Inc., the claims contemplated use in an operating system environment and we overturned the district court's ruling that the accused products did not infringe because they could not meet the claim limitations until combined with a computer operating system. 607 F.3d 784, 794-95 (Fed.Cir.2010). There, the asserted patent claimed a system for rendering graphics, including claims covering a "processor that rasterizes" and a "frame buffer... for storing" data. Id. at 795. The asserted claims contemplated that the claimed hardware would be used in the environment of a standard operating system to perform the claimed processes.
The second step in an infringement analysis is determining whether the particular accused device infringes under the claim construction. Wright Med. Tech., Inc. v. Osteonics Corp., 122 F.3d 1440, 1443 (Fed.Cir. 1997). Here, it is undisputed that the Jazelle hardware is physically present as part of the ARM core on both accused devices, the MyBook and the Slingbox, and that the Jazelle hardware is not functional without the JTEK software. This would appear to resolve the issue of infringement.
However, Nazomi points out that we have held that "an apparatus claim directed to a computer that is claimed in functional terms is nonetheless infringed so long as the product is designed in such a way as to enable the user of that [product] to utilize the function without having to modify the product." Silicon Graphics, 607 F.3d at 794 (internal quotations omitted) (emphasis added). Nazomi argues that installation of the JTEK software is not a modification that precludes a finding of infringement. We disagree. The purchase and installation of the JTEK software clearly constitutes a "modification" of the accused products.
For example, in Typhoon Touch Technologies, Inc. v. Dell, Inc., the asserted patent claimed "[a] portable, keyboardless, computer, comprising ... a memory for storing at least one data collection application." 659 F.3d 1376, 1379 (Fed.Cir. 2011) (emphases in original). There, Typhoon made the same argument that Nazomi
The "key" cases on which Nazomi relies are also to the contrary. In Finjan, Inc. v. Secure Computing Corp., the infringing software capable of practicing the claim limitations was on the accused devices and could be unlocked by purchasing a product key. 626 F.3d 1197, 1205 (Fed.Cir.2010). The devices infringed even if the software had not been activated. Id. Here, the structure (i.e., JTEK software) necessary to enable Jazelle hardware to process stack-based instructions (i.e., Java bytecodes) is not only inactive, it is not even present on the accused products. The installation of JTEK software is not unlocking existing functionality, but adding new functionality not currently present. There is no infringement.
Finally, Nazomi argues that the District Court improperly required a showing of intent by the defendants as a predicate to an infringement finding. The district court did no such thing. Rather, it was distinguishing this court's decision in High Tech Medical, which stated "if a device is designed to be altered or assembled before operation, the manufacturer may be held liable for infringement if the device, as altered or assembled, infringes a valid patent." 49 F.3d at 1556. Here there is no suggestion that the accused devices were designed to be used with the JTEK software. Under these circumstances, we have no occasion to consider whether the design of a device that contemplates use in an infringing manner could establish direct infringement, as opposed to induced or contributory infringement.
No costs.
LOURIE, Circuit Judge, concurring.
I concur in the majority's decision to affirm the district court's decision granting summary judgment of noninfringement of the `362 patent. However, I join its opinion only up to and through the first paragraph of Part II, in which the holding of noninfringement is affirmed on the ground that the claim limitation "capable of executing a plurality of instruction sets ..." is not met by Jazelle hardware that is not functional without the JTEK software.
Nazomi also relies on Revolution Eyewear, Inc. v. Aspex Eyewear, Inc. for the proposition that a claim can cover particular hardware standing alone. 563 F.3d 1358 (Fed.Cir. 2009). This too, is inapplicable, as the patent in Revolution Eyewear claimed an eyeglass device comprising a "primary spectacle frame... capable of engaging second magnetic members of an auxiliary spectacle frame." Id. at 1363. Because the first specified hardware alone had this capability, the claim at issue in Revolution Eyewear is distinguishable from Nazomi's claims, which require a combination of hardware and software to perform the claim limitations.