Nazomi Communications Inc v. Nokia Corporation et al

Filing 441

Order Construing Claims of 7,080,362 and 7,225,436 patents. Signed by Judge Whyte on 6/14/2013. (rmwlc2, COURT STAFF) (Filed on 6/14/2013)

Download PDF
1 2 3 4 5 UNITED STATES DISTRICT COURT 6 NORTHERN DISTRICT OF CALIFORNIA 7 8 9 SAN JOSE DIVISION NAZOMI COMMUNICATIONS, INC., 10 Plaintiff, 11 12 Case No. C-10-04686 RMW (related) ORDER CONSTRUING CLAIMS OF U.S. PATENT NOS. 7,080,362 AND 7,225,436 v. NOKIA CORPORATION et al., 13 Defendants. 14 15 16 NAZOMI COMMUNICATIONS, INC., Plaintiff, 17 18 19 20 v. SAMSUNG TELECOMMUNICATIONS AMERICA, L.L.C. et al., Defendants. 21 22 23 24 25 26 27 28 On November 28, 2012, the court held a claim construction hearing for the purpose of construing disputed terms as described below. At issue in this claim construction is the scope of two of Nazomi Communications Inc.'s patents. Nazomi generally argues for broad dictionary definitions of the terms used in the patents, while the defendants insist that the patent specifications disclose and define a more limited invention. For the reasons explained below, the CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw -1- 1 court generally agrees with the defendants' narrower proposed constructions of the disputed 2 terms. I. 3 4 BACKGROUND Nazomi brings this patent infringement action against various technology companies, 5 alleging infringement of claims 1, 15, 17, 22, 26, 48, 66, 67, 68, 69, and 70 of U.S. Patent No. 6 7,080,362 (the '362 patent), and claims 1, 5, 12, and 14 of U.S. Patent No. 7,225,436 (the '436 7 patent) both continuations of U.S. Patent No. 6,332,215 (the '215 parent patent). The '362 patent 8 and '215 parent patent, both titled "Java Virtual Machine Hardware for RISC and CISC 9 Processors," and the '436 patent, titled "Java Hardware Acceleration Using Microcode Engine," 10 all relate to technology which uses hardware for accelerating the execution of stack-based 11 instructions like Java bytecodes. The specifications for the '215 patent and '362 patent are 12 essentially identical. The '436 patent also has the same disclosure but adds additional features. In 13 this case, Nazomi claims that many of defendants' consumer products infringe its patents by using 14 microprocessors with specialized hardware to accelerate the execution of Java programs. 15 A. The Technology 16 This case concerns technology for processing different types of machine code, or 17 "instruction sets," within the hardware of a computer. In particular, the patents relate to hardware 18 to accelerate the processing of "stack-based" as opposed to "register-based" instructions. A 19 "stack" and a "register" are different ways of storing data in memory and necessitate different 20 types of associated instructions to manipulate that memory in order to execute a program. Java 21 bytecodes and other stack-based instructions will not operate on a register-based system unless 22 the system first translates them to refer to registers instead of a stack or otherwise processes them. 23 On a typical computer with a register-based processor, a program is just a series of 24 instructions stored as 1s and 0s (most systems are 32-bits, which means a single instruction is 25 made up of 32 1s and 0s). When a computer executes a program, the instructions that make up 26 the program go through the well-defined process of the Central Processing Unit (CPU) pipeline 27 known as the "fetch-decode-execute" cycle. First, the processor fetches the instruction in 28 memory. Second, a decode unit converts the 1s and 0s of the instruction into hundreds if not CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw -2- 1 thousands of control signals. Third, these control signals manipulate the registers and other logic 2 gates in the processor to perform the data manipulation or mathematical calculation indicated by 3 the instruction. Finally, the results of the manipulation are written back into a register as needed. 4 See Dr. Babb Decl. at ¶ 11 (filed under seal); Decl. of Stephen Steele at ¶¶ 22-28, dkt. no. 405 ex. 5 3. 1 6 B. The Patented Invention 7 The patents relate to a method of accelerating the execution of stack-based instructions on 8 register-based processors. See '362 and '436 patents, Background and Summary of the Invention. 9 The prior art teaches that the way to execute stack-based instructions, like a Java bytecode, on a 10 register-based processor is by converting the stack-based instructions into register-based 11 instructions in software. Id. The patents accelerate this process by adding new hardware 12 elements that speed-up the conversion process and the execution of the instructions. Id. Many register-based systems use a Java Virtual Machine—a software program—to 13 14 translate Java bytecodes into register-based instructions. This approach provides flexibility, but 15 slows overall execution speed. The patented invention "removes the bottleneck which previously 16 occurred when the Java Virtual Machine is run in software . . . [by implementing] at least part of 17 the Java Virtual Machine in hardware as the hardware Java accelerator." '362 Patent col.2 ll.10- 18 17. The '436 patent builds on this general invention by disclosing a way of more efficiently 19 handling interrupts—computer commands that require a shift from stack-based instructions to 20 register-based instructions and then back again. '436 patent col.2 ll.5-59. The '436 patent also 21 discloses a parallel decode unit that translates multiple bytecodes concurrently into a lesser 22 number of register-based instructions. Id. col.6 ll.20-25. 23 24 25 26 27 1 The remainder of this Order cites to the docket for case number C-10-04686, the first filed case, but identical copies of these documents were also filed in C-10-05545 as well. 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw -3- 1 C. Procedural History Courts have previously considered and construed terms in patents related to Nazomi's 2 3 alleged inventions. In Nazomi Communications, Inc. v. Arm Holdings, PLC ("Nazomi 2002" to 4 distinguish it from the present cases), Nazomi and ARM disputed whether ARM's Jazelle 5 Revision 3 design infringed the '215 parent patent. See No. C-02-02521-JF (N.D. Cal. 2002). 6 Initially, the district court construed "instruction" and granted summary judgment of 7 noninfringement based upon its construction. Nazomi 2002 I, 2003 WL 24054503 (N.D. Cal. 8 Sept. 30, 2003). The Federal Circuit vacated and remanded, finding that the court's analysis was 9 inadequate. Nazomi 2002 II, 403 F.3d 1364 (Fed. Cir. 2005). Thereafter, the district court 10 conducted a detailed analysis of the term "instruction." Nazomi 2002 III, 2006 WL 2578374 11 (N.D. Cal. Sept. 6, 2006). Nazomi objected to the court's construction and appealed to the 12 Federal Circuit, but conceded that under the district court's construction of "instruction," Jazelle 13 Revision 3 based processors "would not infringe the '215 parent patent, literally or under the 14 doctrine of equivalents." Nazomi 2002, Resp. to Def.'s Summ. J. Mot., dkt. no. 259 at 3 (Jan. 19, 15 2007). The Federal Circuit affirmed the district court's construction, which ended the case. 16 Nazomi 2002 IV, 266 F. App'x 942, 942 (Fed. Cir. 2008). 17 In this case, Nazomi brings claims based upon the children of the '215 parent patent 18 against consumer product manufacturers that make products using processors incorporating 19 ARM's Jazelle Revision 3 design. ARM has intervened on behalf of defendants, and in addition 20 to arguing for particular claim constructions for the disputed terms addressed in this Order, it has 21 filed for summary judgment on behalf of all of the defendants. II. 22 LEGAL STANDARD Claim construction is exclusively within the province of the court. Markman v. Westview 23 24 Instruments, Inc., 517 U.S. 370, 387 (1996). "It is a 'bedrock principle' of patent law that 'the 25 claims of a patent define the invention to which the patentee is entitled the right to exclude.'" 26 Phillips v. AWH Corp., 415 F.3d 1303, 1312 (Fed. Cir. 2005) (en banc) (internal citation omitted). 27 Claim terms "are generally given their ordinary and customary meaning," defined as "the 28 meaning . . . the term would have to a person of ordinary skill in the art in question . . . as of the CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw -4- 1 effective filing date of the patent application." Id. at 1313 (internal citation omitted). The skilled 2 artisan reads the claim term "in the context of the entire patent . . . including the specification." 3 Id. See also Multiform Desiccants, Inc. v. Medzam, Ltd., 133 F.3d 1473, 1477 (Fed. Cir. 1998). 4 In determining the meaning of a disputed claim limitation, the intrinsic evidence, including the 5 claim language, written description, and prosecution history, is the most significant. Phillips, 415 6 F.3d at 1315-17. The court reads claims in light of the specification, which is "the single best 7 guide to the meaning of a disputed term." Id. at 1315. Furthermore, "the interpretation to be 8 given a term can only be determined and confirmed with a full understanding of what the 9 inventors actually invented and intended to envelop with the claim." Id. at 1316 (quoting 10 Renishaw PLC v. Marposs Societa' per Azioni, 158 F.3d 1243, 1250 (Fed. Cir. 1998)). The words 11 of the claims must be understood as the inventor used them as revealed by the patent and 12 prosecution history. Id. 13 Although extrinsic evidence is less significant than the intrinsic record, the court may also 14 reference extrinsic evidence to "shed useful light on the relevant art." Id. at 1317 (quoting C.R. 15 Bard, Inc. v. U.S. Surgical Corp., 388 F.3d 858, 862 (Fed. Cir. 2004)). "[T]echnical dictionaries 16 may provide [help] to a court 'to better understand the underlying technology' and the way in 17 which one of skill in the art might use the claim terms. . . . Such evidence . . . may be considered 18 if the court deems it helpful in determining 'the true meaning of language used in the patent 19 claims.'" Id. at 1318 (internal citations omitted). 20 Nazomi asserts, and defendants do not dispute, that for the purposes of these patents, a 21 person of ordinary skill in the art at the time of the invention would have either: (1) a bachelor of 22 science in computer engineering, electrical engineering, or computer science with about three 23 years of work experience in the field of computer architecture; or (2) a master's of science in 24 computer engineering, electrical engineering, or computer science with about a year of work 25 26 27 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw -5- 1 experience in the field of computer architecture. Pl.'s Opening Claim Construction Br. at 1, Dkt. 2 No. 402 ("Pl.'s Br."). There is no term whose construction turns on the level of skill in the art. 3 The court construes the five disputed terms that the parties identified as the "most 4 important" to the resolution of the case." 2 The first term, "instructions," was at issue in the prior 5 Nazomi lawsuit, Nazomi 2002, involving the '215 parent patent. The term "instruction" (in the 6 singular) is also disputed with respect to U.S. Patent No. 6,338,160 (the '160 patent), in Case No. 7 C-10-05545 concurrently before this court. The court's construction of "instructions" 8 significantly affects the construction of the other terms. In particular, the parties dispute whether 9 the patent requires translation of stack-based instructions into register-based instructions. Jazelle 10 3 processors are capable of executing both stack- and register-based instructions, but do not 11 translate stack-based instructions into register-based instructions. Instead, the Jazelle 3 processor 12 takes stack-based instructions and converts them directly into control signals. These control 13 signals then control the registers and execute logic to execute the instructions. Under Nazomi's 14 proposed claim constructions, the '362 and '436 patents cover this conversion from stack-based 15 instructions to register-based control signals. Defendants propose a narrower construction that 16 does not cover their products. III. 17 18 19 20 21 A. 24 25 26 27 "Instructions" Nazomi's Proposed Construction Program commands interpreted or compiled into machine language. 22 23 CLAIM CONSTRUCTION Defendants' Proposed Construction Either a stack-based instruction that is to be translated into a register-based instruction, or a register-based instruction that is input to the CPU pipeline. The term "instructions" appears in every claim at issue. Nazomi proposes that the term means "program commands interpreted or compiled into machine language" while the defendants 2 The parties actually dispute additional terms, but under the Patent Local Rules the parties must identify 10 terms that are the "most significant to the resolution of the case," Patent L.R. 4-3(c), and five of the terms identified are from U.S. Patent No. 6,338,160 (the '160 patent) and thus not discussed in this order. 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw -6- 1 argue it should be "either a stack-based instruction that is to be translated into a register-based 2 instruction, or a register-based instruction that is input to the CPU pipeline." The defendants' 3 proposal is the construction adopted by the district court in Nazomi 2002 and affirmed by the 4 Federal Circuit for the '215 parent patent, which is the parent of both the '362 and '436 patents, 5 the two patents-at-issue here. As explained below, the court generally should interpret the terms 6 in a family of patents consistently. Furthermore, collateral estoppel requires that this court adopt 7 the same construction for "instructions" in the '362 and '436 patents that Judge Fogel and the 8 Federal Circuit did for the '215 parent patent. Finally, the claims and specifications of the patents 9 support defendants' construction. 10 1. 11 The Claims Must Be Construed the Same in Related Patents Whenever possible, courts must construe claim terms consistently within a patent. 12 Southwall Techs., Inc. v. Cardinal IG Co., 54 F.3d 1570, 1579 (Fed. Cir. 1995). Courts should 13 also construe the same term consistently across related patents. Mycogen Plant Sci., Inc. v. 14 Monsanto Co., 252 F.3d 1306, 1311 (Fed. Cir. 2001), vacated on other grounds, 535 U.S. 1109 15 (2002); see also Toshiba Corp. v. Lexar Media, Inc., No. C-02-5273 MJJ, 2005 WL 6217120 16 (N.D. Cal. Jan. 24, 2005) ("Where patents-in-suit share the same disclosures, common terms are 17 construed consistently across all claims in both patents."); PCTEL, Inc. v. Agere Sys., Inc., No. C- 18 03-2474 MJJ, 2005 WL 2206683 (N.D. Cal. Sept. 8, 2005) (same). 19 In Nazomi 2002, the court determined the meaning of "instruction" with respect to the '215 20 parent patent. 2006 WL 2578374, aff'd, 266 Fed. Appx. 935. The district court construed 21 "instruction" to mean "either a stack-based instruction that is to be translated into a register-based 22 instruction, or a register-based instruction that is input to the CPU pipeline." Id. at *8. The court 23 also held that an instruction must be upstream of the decode stage of the CPU pipeline and cannot 24 be the control signal that is the output of the decode stage. Id. The disclosures in '215 parent 25 patent are essentially identical to those in the '362 patent. Compare the '215 parent patent figs.1- 26 7D and cols.1-7 with the '362 patent figs.1-7D and cols.1-7. Similarly, the '436 patent contains 27 the '215 parent patent's disclosures as well as additional disclosures. Compare the '215 parent 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw -7- 1 patent figs. 1-7D and cols.1-7 with the '436 patent figs.1-7D and cols.1-7. Because a court should 2 construe the same term the same across related patents, the court finds that the same construction 3 should apply to the '362 and '436 patents. 2. 4 5 6 Collateral Estoppel Similarly, collateral estoppel requires that "instructions" be construed the same here as it was in Nazomi 2002. In order to establish collateral estoppel: 7 (1) the issue at stake must be identical to the one alleged in the prior litigation; (2) the issue must have been actually litigated [by the party against whom preclusion is asserted] in the prior litigation; and (3) the determination of the issue in the prior litigation must have been a critical and necessary part of the judgment in the earlier action. 8 9 10 11 Trevino v. Gates, 99 F.3d 911, 923 (9th Cir. 1996); see also Bayer AG. v. Biovail Corp., 279 F.3d 12 1340, 1345 (Fed. Cir. 2002) (holding that the law of the regional circuit determines the standard 13 for collateral estoppel). Collateral estoppel can apply to common issues in actions involving 14 different but related patents. See, e.g., Amgen, Inc. v. Genetics Inst., Inc., 98 F.3d 1328, 1329-32, 15 (Fed. Cir. 1996) (affirming summary judgment where a prior case had decided issues about a 16 different patent with the same specification). Nazomi argues that the issues at stake are not 17 identical, but does not contest that the issues were actually litigated or that the determination was 18 a necessary part of the judgment. See Pl.'s Responsive Claim Construction Br. 3-10, Dkt. No. 412 19 ("Pl.'s Reply"). Therefore, the only question is whether the issues at stake are identical. 20 Here the parties are asking the court to construe the same term already twice construed by 21 other judges with respect to related patents. In Nazomi 2002, the Federal Circuit directed the 22 district court to look to the specification for the inventor's intended meaning for "instructions," 23 finding that the inventor defined "instructions" in an indirect manner. Nazomi 2002 II, 403 F.3d 24 at 1369. On remand, the district court looked to the '215 parent patent specification and construed 25 "instructions." The Federal Circuit affirmed the district court's construction, in large part by 26 looking to the specification. Nazomi 2002 IV, 266 F. App'x at 940. The issue before this court is 27 the same because the patents share common disclosures. The '362 patent's specification and 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw -8- 1 drawings are essentially identical to those in the '215 parent patent. The '436 patent contains all 2 of the drawings of the '215 parent patent and much of the specification, plus additional material. 3 Nazomi objects that there are significant differences between the claims of the patents that 4 suggest different meanings and thus the issues are not identical. Although it is true that the 5 claims of these patents differ, the language in the claims must be understood in light of the 6 teachings of the specifications, which are essentially identical. The specification should be the 7 source of the definition of unclear terms in the claims, not a general dictionary definition such as 8 Nazomi proposes. See Phillips, 415 F.3d at 1320-21. Because all of the patents share a common 9 specification and the "specification is the single best guide to the meaning of a disputed term," id. 10 at 1321 (internal quotations omitted), the claim construction issue before this court is identical to 11 the one already decided in Nazomi 2002. Therefore, collateral estoppel applies. 3. 12 13 Stack-Based Instructions Must Be Translated The court must interpret a term "with the full understanding of what the inventors actually 14 invented and intended to envelop with the claim." Phillips, 415 F.3d at 1316. Even where the 15 claims of a patent might otherwise imply a broader claimed invention, if the specification as a 16 whole defines the invention more narrowly, it limits the claims to that narrower definition. See 17 C.R. Bard, Inc. v. U.S. Surgical Corp., 388 F.3d 858, 863 (Fed. Cir. 2004). The summary of the 18 invention is a good place to look for such limiting statements on the patent as a whole. Id. 19 Generally, the description of a single embodiment in the specification should not alone limit 20 broad claim language. See Absolute Software, Inc. v. Stealth Signal, Inc., 659 F. 3d 1121 (Fed. 21 Cir. 2011); Osteonics Corp. v. Wright Med. Tech., Inc., 540 F.3d 1337, 1345 (Fed. Cir. 2008). 22 However, where the specification describes an embodiment as the "primary objective" of the 23 invention, describes it as the "present invention," states that it is the invention, or otherwise 24 clearly and consistently uses a term in a more limited manner, the specification can limit 25 otherwise broad language. See id.; Verizon Services v. Vonage Holdings, 503 F.3d 1295, 1308 26 (Fed. Cir. 2007); Alloc, Inc. v. Int'l Trade Comm'n, 342 F.3d 1361, 1368 (Fed. Cir. 2003). 27 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw -9- This case is similar to Verizon Services v. Vonage Holdings, where the Federal Circuit 1 2 limited the scope of the patent to how it described the invention in the Disclosure of the Invention 3 section. 503 F.3d at 1308 (Fed. Cir. 2007). The court held that where a patent "describes the 4 features of the 'present invention' as a whole, [the] description limits the scope of the invention." 5 Id. Similarly, in C.R. Bard v. U.S. Surgical, the court found that the summary of the invention 6 and the rest of the specification unequivocally defined the patent more narrowly than the claim 7 language otherwise indicated, thus requiring the narrower claim construction. C.R. Bard, 388 8 F.3d at 863-66. Similar to Verizon and C.R. Bard, the specifications of the '362 and '436 patent clearly 9 10 limit the scope of the claimed invention to executing stack-based instructions by translating them 11 into register-based instructions. First, the summaries of both patents contain a description of the 12 "present invention," which requires translating bytecodes into native instructions. '362 patent 13 col.2 ll.7-8; '436 patent col.2 ll.6-8. The summaries emphasize that the primary advantage of the 14 patented invention over the prior art is to "translate Java™ bytecodes into native instructions." 15 '362 patent at col.2 ll.14; '436 patent at col.2 ll.7-8. 16 Second, the rest of the patents' specifications so consistently describe the invention as a 17 hardware apparatus used to translate stack-based instructions into register-based instructions that 18 the inventor could not be said to have intended to claim anything else. The '362 patent repeatedly 19 refers to its invention and purpose as translating stack-based instructions into register-based 20 native instructions. See, e.g., '362 col.2 ll.6-8 ("The present invention generally relates to a 21 Java™ hardware accelerator which can be used to quickly translate bytecodes into native 22 instructions."); id. at col.2 ll.25-28 ("[T]he hardware accelerators of the present invention are not 23 limited for use with Java™ language and can be used with any stack-based language that is to be 24 converted to register-based native instructions."); id. at col.4 ll.8-9 ("The instructions translations 25 unit is used to convert Java bytecodes to native instructions."); id. at col.5 ll.64-65 ("The Java 26 translating machine translates the Java bytecode into a native instruction."). Similarly, the '436 27 patent, which covers the same general invention, also clearly describes the patent as translating 28 stack- to register-based instructions. See, e.g., '436 Patent at col.2 ll.6-8 ("The present invention CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 10 - 1 generally relates to Java hardware accelerators used to translate Java bytecodes into native 2 instructions."); id. col.2 ll.19-22 ("Another embodiment of the present invention comprises a 3 hardware accelerator to convert stack-based instructions into register-based instructions."); id. 4 col.2 ll.43-47 ("Yet another embodiment of the present invention comprises a hardware 5 accelerator operably connected to a central processing unit, the hardware accelerator adapted to 6 convert stack-based instructions into register-based instructions."). 7 4. Nazomi argues that the patent is not limited to translating stack-based instructions to 8 9 Nazomi's "Some or All" Argument register-based instructions because language in the '362 and '436 patents describe the invention as 10 capable of doing "some or all" of a list of tasks which includes "translating bytecodes to native 11 instructions." '362 patent col.3 ll.10-19; '436 patent col.4 ll.1-15. In other words, according to 12 Nazomi, the patented hardware accelerator is not necessarily required to be able to translate 13 bytecodes to native instructions. However, such an interpretation of the "some or all" language is 14 nonsensical and ignores what the patent is all about. If the hardware accelerator does not do 15 translating of bytecodes to native instructions, it would not relate to what the "SUMMARY OF 16 THE INVENTION" says the invention relates to. "The present invention generally relates to a 17 Java hardware accelerator which can be used to quickly translate Java bytecodes into native 18 instructions." Id. at col.2 ll.6-8. The reasonable meaning of the list of tasks of which the invention can do "some or all" is 19 20 that it can do the task of translating bytecodes to native instructions and may also be able to do 21 some or all of the other listed tasks. 22 5. Construction of "Instructions" For the reasons stated above, the court construes "instructions" as: "either stack-based 23 24 instructions that are to be translated into register-based instructions, or register-based instructions 25 that are input to the CPU pipeline." In either case the "instructions" must be upstream of the 26 decode stage of the CPU pipeline. As used in the claims of the patent, "instructions" cannot mean 27 the control signals that are the output of the decode stage. 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 11 - 1 B. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Nazomi's Proposed Construction Processing the stack-based instructions including generating a second output: Receiving stack-based instructions and generating a decoded output that is input to the execution unit. Defendants' Proposed Construction Processing the stack-based instructions including generating a second output: The stack-based instructions are translated into register-based instructions (the second output). Second output: a decoded output that is input to the execute unit when stack-based instructions are processed in a hardware accelerator mode. Second output: register-based instructions. The parties ask the court to construe the limitation in claim 1 of the '362 patent that states "processing the stack-based instruction including generating a second output" and, in particular, "second output." '362 patent col.7 ll.54-55. As Nazomi stated in its reply brief, the "primary dispute between the parties with regards to this claim element is essentially the same dispute with regard to 'instruction.'" Pl.'s Reply at 10. Because the processing of stack-based instructions requires translating them into register-based instructions, see Part III.A.3 supra, and for the reasons explained below, the "processing" described in the phrase "processing the stackbased instruction including generating a second output," must include: (1) the translation of the stack-based instructions into register-based instructions, and (2) the fetch and decode of the register-based instructions to convert them into control signals. Claim 1 of the '362 patent recites two parallel limitations, the second of which is at issue in this construction. '362 patent col.7 ll.49-58. Because of the similarity of language in the two limitations, the first limitation is essential to understanding the second. The claim requires: 1. "processing the register-based instructions including generating a first output, and processing the first output in an execution unit using the data from the first register file" 23 24 2. "processing the stack-based instructions including generating a second output, and processing the second output in the execution unit using the operands from the first register file." 25 26 27 28 "Processing the Stack-Based Instructions including Generating a Second Output" / "Second Output" Id. (emphasis added). The key to construing the claim is the first and second outputs, which are the inputs to the execution unit. The court finds that the first and second outputs must be of the CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 12 - 1 same type, otherwise the execution unit would be required to take multiple types of output as an 2 input, which would require needlessly redundant hardware. 3 The input to the execution unit is either processed register-based instructions (first output) 4 or processed stack-based instructions (second output). The only processing of register-based 5 instructions discussed in the patent is the decoding that converts register-based instructions into 6 control signals. Therefore, the first output must be control signals. 7 On the other hand, the patent teaches that stack-based instructions undergo two types of 8 processing. First, they are translated into register-based instructions, and second those register- 9 based instructions are decoded into control signals. Because, as explained below, the outputs 10 (also the inputs to the execution unit) must be the same, the second output must also be control 11 signals. 12 If the second output were register-based instructions, then the execution unit would have 13 to include a decode unit to process those instructions into control signals. However, according to 14 the first claim limitation, the decoding of register-based instructions in the decode unit happens 15 outside of the execution unit. If the second output were register-based instructions, there would 16 be two identical decode units right next to each other, one immediately outside the execution 17 unit and another immediately inside. Thus, the only reasonable construction is that the second 18 output is control signals. 19 Therefore, the "second output" is construed as "control signals." And "processing the 20 stack-based instruction including generating a second output" is construed to mean: "the 21 processing of stack-based instructions by translating them into register-based instructions and 22 then decoding them into control signals." 23 24 25 26 27 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 13 - 1 2 3 4 C. "Execution Unit" Nazomi's Proposed Construction Hardware capable of executing instructions, including arithmetic or logical instructions, by processing a decoded input. 5 6 7 8 9 10 11 12 13 14 15 16 17 18 21 22 23 24 25 26 27 Claim 48: The execute logic of the execute state of the CPU and the circuitry which translates stack-based instructions into registerbased instructions and the register-based instruction fetch and decode units. The patent only uses the term "execution unit" in the claims and not elsewhere in the written description. The parties agree that claim 1 uses "execution unit" synonymously with the "execute logic." See Pl.'s Br. 15; Defs.' Br. 21. The "execute logic" is described in the '362 patent and is the hardware that takes decoded instructions (control signals) as input and performs the "execute" phase of the CPU pipeline. '362 patent col.5 ll.20-25. In apparent contrast, claim 48 describes an "execution unit" that executes stack- and register-based instructions rather than control signals. '362 patent col.10 ll.59-62. Because the control signals themselves are not actually instructions, the "execution unit" in claim 48 is either not the execute logic as the parties agree it is in claim 1, or claim 48 uses "executes" indirectly such that when it claims an "execution unit to execute instructions" it means that the "execution unit" executes the downstream result of processed instructions, which are control signals. 1. 19 20 Defendants' Proposed Construction Claim 1: The execute logic of the execute state of the CPU Other Claims Claims 27, 74, 72, and 87 also use the term "execution unit," although none of the claims is at issue in this litigation. They do provide, however, some guidance as to the meaning of the term. The language of independent claims 27 and 74 support construing "execution unit" as the execute logic. Both claims describe limitations wherein the execution unit processes decoded instructions, which are control signals. See '362 patent col.9 ll.2-20, col.12 ll.29-47. Claims 1, 27, and 74 all indicate that instructions must be processed before they can be "executed" in the "execution unit," which is consistent with the execution unit being the execute logic, which takes control signals as input. 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 14 - 1 Claim 72, dependent on claim 48, provides some support for Nazomi's indirect execution 2 argument. It adds a limitation describing possible upstream processing of an instruction before 3 the instruction is executed in the execution unit. Id. at col.12 ll.21-26. 4 Finally, independent claim 87 uses language that mirrors the relevant language from claim 5 48, but does not otherwise provide any guidance on how to construe the term. See '362 patent 6 col.13 ll.45-48 (claiming an "execution unit to process instructions of a plurality of instructions 7 [sic] sets including a register-based instruction set and a stack-based instruction set."). 8 2. Reconciling the Different Uses Courts should construe terms consistently throughout claims whenever possible. See 9 10 Callicrate v. Wadsworth Mfg., Inc., 427 F.3d 1361, 1371 (Fed. Cir. 2005). The '362 patent 11 specification, a Federal Circuit decision in Nazomi 2002, and the prosecution history provide 12 support for Nazomi's indirect execution argument, which is the only way to construe the term 13 "execution unit" consistently throughout the claim. First, the specification describes the execute logic as executing "native instructions." '362 14 15 patent col.5 l.23. This description comes immediately after explaining how the execute logic is 16 downstream of the instruction decode, which converts instructions into control signals. At least 17 in this context, the patent uses "execute" indirectly. Similarly, in the section describing prior art 18 conversion of Java bytecodes using software, the patent explains that to "execute a Java™ 19 program, a bytecode interpreter takes the Java™ bytecodes, converts them to equivalent native 20 processor instructions and executes the Java™ program." '362 patent col.1 ll.28-32. The patent 21 must be referring to indirect execution because the bytecode interpreter is software and thus does 22 not literally execute a program. The Federal Circuit made this same point about "execution" by 23 the bytecode interpreter in relation to the '215 parent patent. Nazomi 2002 IV, 266 Fed. Appx. at 24 940-41. Second, the Federal Circuit also held that the patentee used execute indirectly in a 25 26 different claim. The court construed "execute" as used in claim 30 of the '215 parent patent to 27 "refer only to indirect causation." Nazomi 2002 IV, 266 Fed. Appx. at 940. Claim 30 claimed a 28 central processing unit that included "an execution unit to execute the register-based instructions." CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 15 - 1 '215 parent patent col.8 ll.60-62. On remand, the district court said about the same issue that the 2 "inventor must have been referring to this downstream effect rather than indicating that native 3 instructions exist after the decode stage." Nazomi 2002 III, 2006 WL 2578374, *6 (N.D. Cal. 4 Sept. 6, 2006). The Federal Circuit and district court's construction in Nazomi 2002 is consistent 5 with Nazomi's proposed construction of "execution unit" as the execute logic, which executes 6 instructions indirectly. 7 Finally, the prosecution history supports Nazomi's argument that the patent uses 8 "executes" indirectly in this context. In the prosecution history, the examiner questioned whether 9 the patent described the limitation that stack- and register-based instructions were executed in one 10 "execution unit." Anderson Decl., Ex. 6 at 30, Dkt. No. 409-8. The applicant's response points 11 the examiner to Figure 3 and argues that the execute logic (which can receive only control 12 signals) executes stack- and register-based instructions because they are processed upstream of 13 the execute logic. Id. For stack-based instructions, the applicant specifically points to accelerator 14 42 (an independent hardware unit upstream of the execute logic), which translates stack-based 15 instructions into register-based instructions, to explain how the execute logic can execute stack- 16 based instructions. Id. The applicant concludes that, therefore, it is possible for stack- and 17 register-based instructions to be executed in the "execution unit." Id. This passage indicates that 18 the inventor was using the word "execute" indirectly. It also supports the argument that the 19 execution of stack-based instructions necessarily first requires translation into register-based 20 instructions as it is the only evidence provided by the applicant of how its claimed invention 21 could execute stack- and register-based instructions. 3. 22 23 Construction of "Execution Unit" The court construes "execution unit" as: "the execute logic." However, based upon the 24 court's previous constructions and the arguments supporting the "execute logic" construction, the 25 court also holds that the execution of instructions in the execution unit refers to indirect 26 execution. Indirect execution requires circuitry which: (1) translates stack-based instructions into 27 register-based instructions and (2) fetches and decodes register-based instructions into control 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 16 - 1 signals that are the input to the execution unit. As a practical matter in light of the construction of 2 "instructions," there is no substantive difference between the parties' different constructions of 3 "execution unit." 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 D. "Hardware Accelerator to Process Stack-Based Instructions" Nazomi's Proposed Construction Hardware capable of accelerating the processing of stack-based instructions. Defendants' Proposed Construction Circuitry which can be used to translate stackbased instructions into native instructions. The primary dispute between the parties' constructions is whether the hardware accelerator requires circuitry to translate stack-based instructions into native instructions. See Pl.'s Br. at 20. As already decided above, the patents claim accelerating the execution of stackbased instructions by translating them into register-based instructions in hardware. Therefore, the term refers to "circuitry which can be used to translate stack-based instructions into register-based instructions." Throughout the patent, the hardware accelerator is described as translating stack-based instructions to register-based instructions. The summary of the invention defines it as relating to "a Java™ hardware accelerator which can be used to quickly translate bytecodes into native instructions." '362 patent col.2 ll.6-8. Similarly, the '436 patent's abstract summarizes the hardware accelerator as "enabled to convert the Java™ bytecodes into native instructions." '436 patent. Similar language appears throughout the patents, establishing that the invention, hardware acceleration of stack-based instructions, is limited to accelerating by translating stack-based instructions into native, register-based instructions. See Section A.3 supra. Nazomi argues that claim differentiation requires its proposed construction be adopted. The Federal Circuit, however, has held that claim differentiation is "not a hard and fast rule and will be overcome by a contrary construction dictated by the written description or prosecution history." Seachange Int'l, Inc. v. C–COR, Inc., 413 F.3d 1361, 1369 (Fed. Cir. 2005). Where, as here, there is arguably a conflict between the teachings of the specification and the doctrine of claim differentiation, the teachings of the specification control. See id. Claim differentiation cannot render a claim broader than that which the inventor disclosed as the invention in the CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 17 - 1 specification, and claims "written in different words may ultimately cover substantially the same 2 subject matter." Id. (citing Multiform Desiccants, Inc. v. Medzam, Ltd., 133 F.3d 1473, 1480 3 (Fed. Cir. 1998). Dependent claim 4 of the '436 patent adds the limitation to claim 2 that "the 4 hardware accelerator processes the stack-based instructions in cooperation with the execute logic 5 by converting the stack-based instructions into register-based instructions for execution in the 6 execute logic." If this claim is read to suggest that translation did not necessarily happen in claim 7 2, which recites "a hardware accelerator to process stack-based instructions," this interpretation 8 would contradict the other claims and all of the disclosures in the '362 and '436 patent, which 9 demonstrate that the processing of stack-based instructions requires translation. The teachings of 10 the specification must control over the doctrine of claim differentiation. 11 12 13 14 15 16 Therefore, "hardware accelerator to process stack-based instructions" is construed as "circuitry which can be used to translate stack-based instructions into native instructions." E. Nazomi's Proposed Construction Instructions that manipulate operands from an operand stack. 17 18 19 20 21 22 23 24 25 26 27 "Stack-Based Instructions" Defendants' Proposed Construction An instruction that instructs the processor to manipulate a push-down operand stack and that does not refer to a register index of a register file. There is little difference between the parties' proposed constructions. Defendants insist that their definition reflects two fundamental differences between stacks and registers, which Nazomi's definition does not reflect. The court generally agrees with defendants' understanding of "stack-based instructions," but finds that Nazomi's construction reflects it. First, defendants' definition specifies that the operand stack is a "push-down" stack. To the extent defendants use "push-down" to reflect the last-in, first-out nature of stacks, the court agrees, but the term "push-down" is not used anywhere in the patent. As part of his description of Java, Judge Fogel explained stack-based memory as storing information "on a last-in, first-out basis." Nazomi 2002 III, 2006 WL 2578374 at *1. Defendants used the phrase "last-in, first out" as part of their tutorial and while Nazomi did not use that exact language, it implied the same 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 18 - 1 thing. Although "operand stack" is probably sufficiently descriptive, for clarity, the court will 2 add the modifier "last-in, first-out" to its construction. 3 Second, defendants' claim that their construction is superior because it reflects the 4 difference between stack- and register-based instructions by noting that stack-based instructions 5 do not refer to registers. Nazomi, however, objects to defendants' construction to the extent 6 defendants would use their construction to preclude implementation of an operand stack in a 7 register file, which is something the '362 patent teaches. Of course, implementing the operand 8 stack in a register file requires translating the stack-based instructions into register-based 9 instructions so that they can actually refer to the registers. Defendants are correct that by 10 definition, stack-based instructions do not refer to registers, but the court finds that Nazomi's 11 simpler construction is adequate to reflect this fact. 12 13 Therefore, the court construes "stack-based instructions" as "instructions that manipulate operands from a last-in, first-out operand stack." IV. 14 15 ORDER For the reasons set forth above, the court construes the claims as follows: 16 Claim Terms instructions Construction either stack-based instructions that to be translated into a registerbased instructions, or register-based instructions that are input to the CPU pipeline. In either case the "instructions" must be upstream of the decode stage of the CPU pipeline. As used in the claims of the patent, "instruction" cannot mean the control signals that are the output of the decode stage 21 second output control signals 22 processing the stackbased instruction including generating a second output execution unit processing of stack-based instructions by translating them into register-based instructions and then decoding them into control signals 17 18 19 20 23 24 25 the execute logic. However, the execution of instructions in the execution unit refers to indirect execution. Indirect execution requires circuitry which: (1) translates stack-based instructions into register-based instructions and (2) fetches and decodes register-based instructions into control signals that are the input to the execution 26 27 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 19 - 1 hardware accelerator to process stackbased instructions stack-based instructions 2 3 4 unit. circuitry, which can be used to translate stack-based instructions into native instructions instructions that manipulate operands from a last-in, first-out operand stack. 5 6 7 Dated: June 14, 2013 Ronald M. Whyte United States District Court Judge 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 CLAIM CONSTRUCTION ORDER CASE NO. C-10-04686 -RMW sw - 20 -

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?