Nazomi Communications, Inc. v. ARM Holdings, PLC ( 2008 )


Menu:
  •                       NOTE: This disposition is nonprecedential.
    United States Court of Appeals for the Federal Circuit
    2007-1190
    NAZOMI COMMUNICATIONS, INC.,
    Plaintiff-Appellant,
    v.
    ARM HOLDINGS, PLC,
    ARM LIMITED, and ARM, INC.,
    Defendants-Appellees.
    Thomas J. Friel, Jr., Cooley Godward Kronish LLP, of San Francisco, California,
    argued for plaintiff-appellant. With him on the brief were Lori R.E. Ploeger, Timothy S.
    Teter, and Jeffrey S. Karr, of Palo Alto, California.
    Andrew Y. Piatnicia, Howrey LLP, of East Palo Alto, California, argued for
    defendants-appellees. With him on the brief were Robert P. Taylor, of East Palo Alto,
    California, and Ethan B. Andelman, of San Francisco, California.
    Appealed from: United States District Court for the Northern District of California
    Judge Jeremy Fogel
    NOTE: This disposition is nonprecedential.
    United States Court of Appeals for the Federal Circuit
    2007-1190
    NAZOMI COMMUNICATIONS, INC.,
    Plaintiff-Appellant,
    v.
    ARM HOLDINGS, PLC,
    ARM LIMITED, and ARM, INC.,
    Defendants-Appellees.
    Appeal from the United States District Court for the Northern District of California in
    case no. 02-CV-2521, Judge Jeremy Fogel.
    _________________________
    DECIDED: February 21, 2008
    _________________________
    Before RADER, SCHALL, and PROST, Circuit Judges.
    SCHALL, Circuit Judge.
    DECISION
    Nazomi Communications, Inc. (“Nazomi”) appeals the January 30, 2007 decision
    of the United States District Court for the Northern District of California granting
    summary judgment of non-infringement in favor of ARM Holdings, PLC, ARM Limited,
    and ARM, Inc. (collectively “ARM”) in Nazomi’s suit against ARM for infringement of
    
    U.S. Patent No. 6,332,215
     (the “‘215 patent”).         Nazomi Commc’ns, Inc. v. ARM
    Holdings, PLC, No. C02-2521JF (N.D. Cal. Jan. 30, 2007) (“Summary Judgment
    Decision”).
    On September 6, 2006, the district court issued an order construing the single
    claim term “instructions.” Nazomi Commc’ns, Inc. v. ARM Holdings, PLC, No. C02-
    2521JF (N.D. Cal. Sept. 6, 2006) (“Claim Construction Order”).               Based on that
    construction, Nazomi conceded that ARM’s products do not infringe the ’215 patent, and
    the district court granted ARM’s motion for summary judgment of non-infringement.
    Summary Judgment Decision. Because we see no error in the district court’s claim
    construction, we affirm.
    DISCUSSION
    I.
    The invention claimed in the ’215 patent is a hardware accelerator that converts
    stack-based Java bytecode instructions into register-based “native” instructions that are
    executable by a register-based central processing unit (CPU). E.g., ’215 patent col.2
    ll.1–10. The hardware accelerator of the claimed invention is said to significantly speed
    up the processing of Java bytecodes over prior art systems that used software to
    perform the conversion from stack-based instructions to register-based instructions. 
    Id.
    col.2 ll.6–10. Claim 1 is representative of the claims of the ’215 patent:
    A system comprising:
    a central processing unit having a register file, the central processing unit
    adapted to execute register-based instructions; and
    a hardware unit associated with the central processing unit, the hardware
    unit adapted to convert stack-based instructions into register-based
    instructions, wherein a portion of the operand stack is stored in the
    register file of the central processing unit and wherein the hardware unit is
    adapted to produce at least one of overflow or underflow indications for
    the portion of the operand stack stored in the register file, wherein the
    2007-1190                                    2
    hardware unit is adapted to swap parts of the operand stack in and out of
    the register file from a memory, the system including an indication of the
    depth of the portion of operand stack, wherein a overflow or underflow
    produces an operand transfer between the register file in the central
    processing unit and memory.
    (emphases added). The district court construed the term “instructions” as “either a
    stack-based instruction that is to be translated into a register-based instruction, or a
    register-based instructions [sic] that is input to the CPU pipeline.” Claim Construction
    Order at 11. In either case, the court found that the instruction “must be upstream of the
    decode stage of the CPU pipeline” and “cannot mean the control signals that are the
    output of the decode stage.” 
    Id.
    Based on the district court’s construction of the term “instructions,” ARM moved
    for summary judgment that its “Jazelle” Revision 3 (and higher) processors do not
    infringe the ’215 patent. ARM argued that summary judgment of non-infringement was
    proper because it was undisputed that ARM’s processors do not translate stack-based
    instructions into register-based instructions upstream of the decode stage.       Rather,
    ARM’s processors merely convert stack-based instructions into “control signals” and,
    thus, under the district court’s claim construction do not meet the limitation present in
    every claim of the ’215 patent requiring a conversion of “stack-based instructions into
    register-based instructions.”
    Responding, Nazomi conceded that ARM’s “Jazelle” Revision 3 (and higher)
    processors do not infringe the ’215 patent under the district court’s claim construction,
    either literally or under the doctrine of equivalents.    Accordingly, the district court
    granted ARM’s motion for summary judgment of non-infringement. Summary Judgment
    Decision.    We have jurisdiction over Nazomi’s appeal pursuant to 
    28 U.S.C. § 1295
    (a)(1).
    2007-1190                                   3
    II.
    On appeal, Nazomi argues that the district court erred in construing the term
    “instructions” to exclude the “control signals” that are the output of the CPU’s decode
    stage. First, Nazomi argues that the claims themselves are broad, and do not require
    the instruction translation to be performed at any particular location in relation to the
    CPU. Rather, Nazomi points out, the patent describes and claims both a co-processor
    embodiment, wherein the “hardware unit” is located outside of the CPU, ’215 patent
    claim 3, and an integrated microprocessor embodiment, wherein the “hardware unit” is
    located within the CPU, 
    id.
     claim 2. With respect to the integrated microprocessor
    embodiment, Nazomi contends that the plain language of the claims is broad enough to
    encompass a system that translates instructions not only prior to the decode stage of
    the CPU’s pipeline but also as part of the decode stage.
    Indeed, Nazomi argues that dependent claims 30 and 32 specifically contemplate
    the existence of “instructions” after the decode stage of the CPU’s pipeline. Referring to
    the integrated microprocessor embodiment, claim 30 recites “[t]he system of claim 2,
    wherein the central processing unit includes an execution unit to execute the register-
    based instructions.” According to Nazomi, the execution unit would never “execute”
    register-based “instructions” as required by claim 30 if—as the district court found—
    “instructions” do not exist at the execution stage of the CPU’s pipeline. Nazomi makes
    essentially the same argument with regard to claim 32, which recites “[t]he system of
    claim 1, wherein register-based instructions cause the manipulation of the register file.”
    Referring to figure 3 of the patent, Nazomi notes that the register file element (46) is
    connected to the CPU’s “execute logic” stage (26c), which is located downstream of the
    2007-1190                                   4
    “instruction decode” stage (26b) of the CPU’s pipeline. Nazomi contends that, under
    the district court’s construction, register-based instructions would therefore never
    “cause” manipulation of the register file as required by claim 32. For these reasons,
    Nazomi argues that the language of claims 30 and 32 requires a claim construction that
    accommodates the existence of “instructions” after the decode stage of the CPU’s
    pipeline. According to Nazomi, the district court erred by failing to account for the
    inconsistencies between its construction of the term “instructions” and the language of
    claims 30 and 32, and by instead simply attributing the inconsistencies to imprecise
    claim drafting.
    In addition, Nazomi contends that the written description of the ’215 patent
    contradicts the district court’s claim construction. For example, the patent states that
    “[t]he execute logic 26c executes the native instructions.”     
    Id.
     col.5 ll.14–15.   Also,
    discussing the integrated microprocessor embodiment, the patent states that “the
    central processing unit has a Java hardware accelerator subunit to translate Java
    bytecode into the native instructions operated on by the main portion of the CPU.” 
    Id.
    col.3 ll.35–41 (emphasis added). Nazomi argues that a person of ordinary skill in the art
    would understand “main portion of the CPU” to refer to the CPU’s execute stage, and
    that the patent thus instructs that the CPU’s execute logic “operates on” native
    instructions.     According to Nazomi, these provisions of the written description—
    consistent with the language of claims 30 and 32—demonstrate that “instructions” may
    exist after the CPU’s decode stage.
    Nazomi further contends that the district court’s construction improperly limits the
    claims to the preferred embodiment, shown in figure 3 of the patent, wherein the
    2007-1190                                   5
    translation of instructions by the hardware unit is performed prior to the CPU’s decode
    stage. For the reasons discussed above, Nazomi argues that the patent also discloses
    and claims other embodiments of the invention, wherein the hardware unit is positioned
    differently vis-à-vis the CPU’s decode stage. However, even if figure 3 represented the
    only embodiment disclosed in the specification, Nazomi argues, it would be improper to
    limit otherwise broad claim language to that single embodiment. 1
    Finally, Nazomi asserts that the district court’s construction conflicts with the
    doctrine of claim differentiation (i.e., that claim 30 is presumed to have different scope
    than claim 1 from which it depends), and departs from broader uses of the term
    “instructions” in certain prior art patents cited by the examiner during prosecution and
    technical treatises.
    III.
    Claim construction is a question of law that we review de novo. Cybor Corp. v.
    FAS Techs., Inc., 
    138 F.3d 1448
    , 1454 (Fed. Cir. 1998) (en banc). In determining the
    meaning of a disputed claim limitation, we look primarily to the intrinsic evidence of
    record, including the claim language, written description, and prosecution history.
    Phillips v. AWH Corp., 
    415 F.3d 1303
    , 1312 (Fed. Cir. 2005) (en banc). Words of a
    claim “are generally given their ordinary and customary meaning” as understood by a
    person of ordinary skill in the art. 
    Id.
     at 1312–13. Claims are read in view of the
    1
    In support of this argument, Nazomi cites Liebel-Flarsheim Co. v. Medrad,
    Inc., 
    358 F.3d 898
    , 906 (Fed. Cir. 2004) (“[T]his court has expressly rejected the
    contention that if a patent describes only a single embodiment, the claims of the patent
    must be construed as being limited to that embodiment. . . . Even when the specification
    describes only a single embodiment, the claims of the patent will not be read
    restrictively unless the patentee has demonstrated a clear intention to limit the claim
    scope using ‘words or expressions of manifest exclusion or restriction.’” (internal
    citations omitted)).
    2007-1190                                   6
    specification, which is the “single best guide to the meaning of a disputed term.” Id. at
    1315. A court “should also consider the patent's prosecution history, if it is in evidence.”
    Id. at 1317. Finally, although it is generally less significant than the intrinsic record,
    extrinsic evidence can “shed useful light on the relevant art.”           Id.   Applying this
    framework, we conclude that the district court properly construed the term “instructions.”
    We first note the specific context in which the disputed term “instructions” is used
    in claim 1. Claim 1 of the ’215 patent requires a hardware unit “adapted to convert
    stack-based instructions into register-based instructions.” The parties dispute whether
    the group of signals that forms the output of the CPU’s decode stage (and,
    correspondingly, the input of the CPU’s execute stage) may be deemed “instructions.”
    We think that it is more appropriate for purposes of this appeal, however, to focus on
    the somewhat narrower question of whether those signals constitute “register-based
    instructions.” The modifier “register-based” appears in the patent’s written description
    only three times. Each time, it is used in conjunction with the term “native” to describe a
    specific type of instruction. For example, in the Summary of the Invention, the patent
    states:
    The hardware Java accelerator can convert the stack-based Java
    bytecodes into a [sic] register-based native instructions on a CPU. The
    hardware accelerators of the present invention are not limited for use with
    Java language and can be used with any stack-based language that is to
    be converted to register-based native instructions. Also, the present
    invention can be used with any language that uses instructions, such as
    bytecodes, which run on a virtual machine.
    ’215 patent col.2 ll.19–27 (emphases added). The patent generally provides for the
    conversion of stack-based instructions (e.g., Java bytecodes) into register-based native
    instructions. In most instances, the written description refers to the conversion of stack-
    based instructions into native instructions.       See, e.g., id. col.2 ll.3–6 (“The present
    2007-1190                                      7
    invention generally relates to a Java hardware accelerator which can be used to quickly
    translate Java bytecodes into native instructions for a central processing unit . . . .”),
    col.3 ll.6–11 (“The Java hardware accelerator can do, some or all of the following tasks:
    . . . translating bytecodes to native instructions . . . .”). The claims only describe the
    conversion of stack-based-instructions into register-based instructions. Ultimately, both
    terms (“native instructions” in the written description and “register-based instructions” in
    the claims) are used as shorthand to describe the same instructions—i.e., register-
    based instructions that are native to a particular register-based processor. Compare id.
    claim 30 (claiming the inclusion of “an execution unit to execute the register-based
    instructions” (emphasis added)), with id. col.5 ll.14–17 (stating that “[t]he execute logic
    26c executes the native instructions” (emphasis added)).
    Continuing, we find the context in which the term “native instructions” is used in
    the written description particularly informative.   In the Background of the Invention
    section, the patent states that “[i]n conventional programming languages, the source
    code of a program is sent to a compiler which translates the program into machine code
    or processor instructions.     The processor instructions are native to the system’s
    processor.” Id. col.1 ll.13–17 (emphasis added). Referring to prior art systems that
    used software to translate instructions, the patent states: “To execute a Java program, a
    [software] bytecode interpreter takes the Java bytecode[s and] converts them to
    equivalent native processor instructions . . . .” Id. col.1 ll.28–30 (emphasis added); see
    also id. col.2 ll.6–10 (“The hardware accelerator [of the present invention] speeds up the
    processing of the Java bytecodes significantly because it removes the bottleneck which
    previously occurred when the Java Virtual Machine is run in software on the CPU to
    2007-1190                                    8
    translate Java bytecodes into native instructions.” (emphasis added)). Moreover, when
    describing figures 5 and 6 of the patent, the written description states that “[t]he Java
    translating machine translates the Java bytecode into a native instruction such as the
    instruction ADD R1, R2. This is an instruction native to the CPU indicating the adding of
    value in register R1 to the value in register R2 and the storing of this result in register
    R2.” Id. col.5 ll.55–60 (emphases added). Thus, in all cases, the ’215 patent clearly
    and consistently uses the term “native instructions” to refer to instructions on the
    machine (or assembly) code level of abstraction—i.e., instructions of the type created
    by a native-language compiler, stored in memory, fetched upon execution, and input to
    the CPU’s decode stage.
    In contrast, the patent never describes the group of signals at the output of the
    CPU’s decode stage as “instructions” of any type.        Indeed, the prosecution history
    expressly contradicts the notion that the inventor intended the term “native instructions”
    to encompass those signals. In distinguishing over a specialized Java processor cited
    as prior art by the examiner, the inventor stated:
    [T]he first approach of Krall uses a specialized Java processor, such as
    the PicoJava microprocessor developed by Sun, which does not require
    any such hardware subunit. Specialized Java processors do not translate
    Java bytecodes into instructions native to a processor. For specialized
    Java processors, the Java bytecodes are the native instructions, and no
    translation is required.
    Nazomi does not dispute that Sun’s picoJava processors do, in fact, decode Java
    bytecodes into lower-level signals. 2      Thus, the statement that specialized Java
    2
    Nazomi’s expert admitted in a deposition that Sun’s picoJava processors
    decode Java bytecodes into lower-level signals (which he referred to as “low-level
    instructions”). Nazomi apparently does not dispute this characterization of the picoJava
    processors.
    2007-1190                                    9
    processors “do not translate Java bytecodes into instructions native to a processor”
    demonstrates that the inventor did not use the term “native instructions” to encompass
    the low-level signals at the output of the processor’s decode stage.
    In sum, the specification and prosecution history clearly indicate that the terms
    “native instructions” and “register-based instructions” refer only to processor instructions
    prior to decoding, and do not encompass the low-level signals generated at the output
    of the processor’s decode stage.       Moreover, those terms do not merely refer to a
    preferred embodiment of the invention, as they are consistently used in describing the
    prior art, background of the invention, and invention itself.
    Contrary to Nazomi’s arguments, we do not think that this interpretation of
    “instructions” is inconsistent with the patent’s claims and written description. Like the
    district court, we conclude that the words “execute,” id. claim 30, col.5 ll.14–15, and
    “cause,” id. claim 32, refer only to indirect causation.        The patent uses the term
    “execute” in an indirect manner elsewhere in describing the prior art conversion of Java
    bytecodes using software: “To execute a Java program, a bytecode interpreter takes the
    Java bytecode converts them to equivalent native processor instructions and executes
    the Java program.” Id. col.1 ll.28–32 (emphasis added). The bytecode interpreter is a
    software component and, as such, does not directly execute Java programs; rather, it
    indirectly causes the execution of Java programs.
    Nor does the patent’s teaching that “native instructions [are] operated on by the
    main portion of the CPU” compel a different result. Id. col.3 ll.35–41. Nazomi has
    provided no support for its assertion that one of ordinary skill in the art would
    understand “main portion of the CPU” to refer in particular to the CPU’s execute stage.
    2007-1190                                    10
    Rather, the expert declaration to which Nazomi cites merely states that “[o]ne skilled in
    the computer art would understand ‘main portion of the CPU’ to include an Execute
    Logic . . . .” (emphasis added). The patent uses the phrase “main portion of the CPU”
    when explaining that the hardware accelerator can be incorporated into the CPU as a
    subunit. Id. col.3 ll.35–41. Understood in that context, we think that “main portion of the
    CPU” most likely refers to the components of the integrated CPU other than the
    hardware accelerator.     In any event, it does not necessarily establish, as Nazomi
    argues, that “native instructions” exist at the execution stage of the CPU’s pipeline.
    Nazomi’s argument with respect to the doctrine of claim differentiation is also
    inapposite.   Dependent claim 30 adds the requirement that the CPU include “an
    execution unit to execute the register-based instructions” (emphases added). Nazomi
    contends that “[t]he only difference between claim 30 and the integrated microprocessor
    embodiment of claim 1 is that claim 30 limits its scope to the execution of register-based
    instructions by an execution unit, which occurs after the decode stage.” However, even
    if we agreed with Nazomi’s interpretations of “execute” (as referring to direct execution)
    and “instructions” (as encompassing the low-level signals output from the CPU’s decode
    stage), this argument would still lack merit. Nazomi apparently is arguing that the scope
    of claim 30 is limited to an embodiment wherein instructions are translated as part of the
    decode stage, whereas claim 1 also encompasses the embodiment wherein instructions
    are translated prior to the decode stage. Under the construction advanced by Nazomi,
    however, “register-based instructions” would exist at the execution stage of the CPU’s
    pipeline in both embodiments, and, accordingly, claim 30 would embrace both
    embodiments. The doctrine of claim differentiation thus does not motivate us to prefer a
    2007-1190                                   11
    construction of “register-based instructions” that encompasses instruction translation as
    part of the CPU’s decode stage.
    Finally, given the clear, specific meaning attributed to “native instructions” and
    “register-based instructions” in the ’215 patent, we do not find it particularly helpful to
    consult the technical treatises and prior art patents on which Nazomi relies. At best,
    those references establish that some in the art refer generally to the group of signals
    generated by the CPU’s decode stage as a type of “instructions” (e.g., “low-level
    instructions” or “microinstructions”). As discussed above, however, we conclude that
    one of ordinary skill in the art, reading the claims of the ’215 patent in light of the written
    description and prosecution history, would attribute a meaning to the claim term
    “register-based instructions” that does not encompass those signals.
    For the foregoing reasons, see no error in the district court’s construction of the
    term “instructions.” Because Nazomi has conceded that ARM’s products do not infringe
    under that construction, we affirm the district court’s grant of summary judgment of non-
    infringement in favor of ARM.
    2007-1190                                     12
    

Document Info

Docket Number: 2007-1190

Judges: Prost, Rader, Schall

Filed Date: 2/21/2008

Precedential Status: Non-Precedential

Modified Date: 11/5/2024