Cascades Computer Innovation, LLC v. Motorola Mobility Holdings, Inc. et al
Filing
141
MEMORANDUM OPINION AND ORDER signed by the Honorable Matthew F. Kennelly on 1/2/2014: The Court rules on the disputed claim terms as set forth in the accompanying decision. These cases are set for a further status hearing before the undersigned jud ge on January 21, 2014 at 9:30 a.m. The parties are directed to confer prior to that date regarding whether there are additional common issues that might warrant expansion of the IOP 13 pretrial consolidation and are to submit a status report contai ning their positions in this regard by no later than January 17, 2014. The status report should include each party's positions on what, if any, further fact discovery is appropriate under Local Patent Rule 1.3 as well as each party's intentions with regard to the disclosure of expert witnesses. (mk)
IN THE UNITED STATES DISTRICT COURT
FOR THE NORTHERN DISTRICT OF ILLINOIS
EASTERN DIVISION
CASCADES COMPUTER INNOVATION,
LLC,
)
)
)
Plaintiff,
)
)
vs.
)
)
DELL INC.,
)
)
Defendant.
)
_____________________________________ )
)
CASCADES COMPUTER INNOVATION,
)
LLC,
)
)
Plaintiff,
)
)
vs.
)
)
MOTOROLA MOBILITY HOLDINGS, INC.,
)
and SAMSUNG ELECTRONICS CO., LTD.
)
)
Defendants.
)
_____________________________________ )
)
CASCADES COMPUTER INNOVATION,
)
LLC,
)
)
Plaintiff,
)
)
vs.
)
)
HTC CORPORATION and LG
)
ELECTRONICS, INC.,
)
)
Defendants.
)
_____________________________________ )
1
No. 11 C 7264
No. 11 C 4574
No. 11 C 6235
CASCADES COMPUTER INNOVATION,
LLC,
)
)
)
Plaintiff,
)
)
vs.
)
)
SONY ERICSSON MOBILE
)
COMMUNICATIONS (USA) INC.,
)
)
Defendant.
)
_____________________________________ )
)
CASCADES COMPUTER INNOVATION,
)
LLC,
)
)
Plaintiff,
)
)
vs.
)
)
PANTECH WIRELESS, INC.,
)
)
Defendant.
)
No. 11 C 7223
No. 11 C 7249
MEMORANDUM OPINION AND ORDER
MATTHEW F. KENNELLY, District Judge:
In separate lawsuits, Cascades Computer Innovation, LLC, has sued several
defendants for patent infringement, contending that the defendants manufacture
products that infringe U.S. patent number 7,065,750 (the '750 patent). Each of these
claims was consolidated before the undersigned judge pursuant to Northern District of
Illinois Internal Operating Procedure 13 for purposes of claim construction and, via a
subsequent order, for consideration of parallel motions to dismiss filed in each of the
cases. The Court previously denied the motions to dismiss, see Cascades Computer
Innovation, Inc. v. Motorola Mobility Holdings, Inc., Nos. 11 C 4574, 11 C 7223, 11 C
2
7249, 11 C 7252 & 11 C 7264, 2013 WL 3366276 (N.D. Ill. July 5, 2013), and now rules
on the construction of the disputed terms in the '750 patent.
Background
The '750 patent is entitled "Method and Apparatus for Preserving Precise
Exceptions in Binary Translated Code." See Defs.' Ex. 1 (Patent). The issue date of
the patent was June 20, 2006, and the inventors listed are four individuals from Russia,
who first filed the application for the patent in 1999. Cascades, the plaintiff in this case,
is the exclusive licensee under the patent.
In general terms, the patent describes a method for efficiently executing on one
system architecture computer programming code that is intended for a different
architecture. The introductory paragraph of the "Background of the Invention" section of
the '750 patent's specification describes the invention this way: "The present invention
relates to a computer system executing foreign code and more particularly to a
computer system and method for efficient handling of exceptions that arise when
executing binary translated code." Patent at 1:36–39. The patent contains eighteen
claims, two of which are at issue. Claim 1 describes the invention's binary translation
system, listing six elements; Claim 15 describes a recomputing method with three
elements. The parties dispute the definitions of eight terms within these two claims.
For seven of the eight terms, Cascades argues that the Court need not make any
construction, because the plain and ordinary meaning would be apparent to "one of
ordinary skill" in the software programming field. The defendants, on the other hand,
offer language from the specification for most of their proposed definitions, often arguing
that the patentees sought to expressly define these terms.
3
Discussion
1.
"Foreign code"
The term "foreign code" appears in both Claims 1 and 15 of the '750 patent.
Claim 1 refers to "a non-optimizing foreign code execution module configured to
maintain dedicated foreign state for each foreign binary operation executed allowing for
the exceptions arisen to be handled precisely." Patent at 16:6–9. The term appears
again near the end of Claim 1, where the patent states that the invention's recovery
mechanism is configured "to continue foreign codes [sic] execution in case of the
exception arisen during the execution of the corresponding optimized host codes." Id.
at 16:32–35. The term also appears three times in Claim 15, each dealing with
"translation of the foreign code." Id. at 17:23–24, 26–27, 29–30. The specification
provides an express definition for the term "foreign binary code," when it states that,
"[a]s used herein, foreign binary code means computer instructions written for execution
on a foreign processing system but ported to the host computer system 100." Id. at
6:49–52.
The defendants' proposed construction of the term foreign code is: "computer
instructions written for execution on a foreign processing system but ported to the host
computer system." See Joint Notice of Modified Proposed Claim Constructions at 3
[docket no. 123]. They argue that the specification "expressly defined" the term "foreign
code" to include this entire phrase. Hrng. Trans. at 39–40. Cascades argues in favor of
the "plain and ordinary meaning" of this term as "understandable by one of ordinary skill
in the art." See Joint Notice of Modified Proposed Claim Constructions at 3 [docket no.
123]. If, however, the Court determines to construe the term, Cascades proposes the
4
following definition: "computer instructions written for execution on a foreign processing
system." Id. This is the same as the defendants' construction minus the last seven
words, which Cascades argues are "just not necessary." Hrng. Trans. at 41. Plaintiff
contends that it is obvious the patent requires porting between systems and that
"porting is not part of the code," and also that the phrase at issue "is a pretty common
term" among computer programmers. Id. at 41–43. The Court notes that at the claim
construction hearing, attorneys for both sides also agreed that the Court's choice of one
of these interpretations over the other will make no difference in the ultimate resolution
of this dispute.1 See id. at 42–43.
The Court agrees with Cascades that construction of this term is not necessary
and that its meaning would be readily apparent to a computer programmer of ordinary
skill. It does not take the expertise of a software engineer to determine that "code" is a
bedrock concept in the field of computer programming. As the Federal Circuit has
repeatedly stressed, "[c]laim terms generally are construed in accordance with the
ordinary and customary meaning they would have to one of ordinary skill in the art in
light of the specification and the prosecution history." SanDisk Corp. v. Kingston Tech.
Co., 695 F.3d 1348, 1353 (Fed. Cir. 2012). The Court does not have trouble concluding
that a typical computer programmer reading the specification would understand what
the claims mean by "code," and that the references to "foreign code" clearly denote
code written for a system other than the host system. The claims discuss "foreign code"
1
The parties had disagreed in their briefs over whether defendants draw their definition
from the specification's definition of the correct term; Cascades contended that "foreign
binary code" is not the same thing as "foreign code." But at the hearing, Cascades
adopted an interpretation that uses much the same language as the defendant's
construction.
5
and "foreign operations" in conjunction with "host operations" and "corresponding
optimized host codes." See, e.g., Patent at 16:10–14; 16:32–34. These terms provide
the context, if it were not already apparent to a programmer, that the "foreign code"
discussed in the claims is code meant for another system; further, as Cascades pointed
out at the claim construction hearing, the patent's whole reason for being is to "port[ ]
[code] to the host computer system." See id. at 6:49–52.
It is true that the patent says "foreign binary code means computer instructions
written for execution on a foreign processing system but ported to the host computer
system 100." Id. It is also true that the Federal Circuit has stated that "the inventor's
lexicography governs" in cases where "the specification . . . reveal[s] a special definition
given to a claim term by the patentee." Phillips v. AWH Corp., 415 F.3d 1303, 1316
(Fed. Cir. 2005) (en banc). Such a definition, however, governs only when the
patentee's definition for the term "differs from the meaning it would otherwise possess."
Id. Neither party has argued that the long definition given to "foreign binary code" in the
patent is different from what an average software programmer would have understood.
As the Federal Circuit stated in Phillips, "[t]he inquiry into how a person of ordinary skill
in the art understands a claim term provides an objective baseline from which to begin
claim interpretation." Id. at 1313. In the case of the term "foreign code" in the context of
software engineering, the Court determines there is no need to go beyond that baseline
and therefore declines to construe this term.
2.
"Binary translation/translator"
Claim 1 of the patent describes a "binary translation system" including "an
optimizing binary translator configured to translate foreign binary operations into
6
optimized sequences of host operations." Patent at 16:5, 16:10–12. The term "binary
translation" appears again in Claim 15, which describes a "method of recomputing a
dedicated foreign state in a binary translation system from documentation generated by
an optimizing translator in a case of an exception arising during execution of optimized
binary translated code translated from a foreign code." Id. at 17:20–24. Claim 15
makes two references to "optimized binary translated code" in which the invention
renders recovery points. Id. at 17:25–28, 31–35.
This is the sole disputed term for which Cascades does not initially advocate for
the Court's adoption of its purported plain and ordinary meaning. Instead, Cascades
contends that the correct definition of "binary translation" is "foreign code is processed
by host software to produce new host code corresponding to the foreign code." Pl.'s
Resp. at 7. Cascades argues this is "an explicit definition" from the patent itself. Id. It
points to a passage from the specification that says "[b]inary translation means that a
foreign code is processed by host software to produce new host code corresponding to
the foreign code." Patent at 4:16–18. At the claim construction hearing, the defendants
agreed that the Cascades construction "does come right out of the specification," but
they argued that the phrase "corresponding to" in that definition adds unhelpful
ambiguity to the term and "reads out" the translation element of the term. Hrng. Trans.
at 44–45. Therefore, the defendants contend, their proposed definition goes further in
that it helps explain what "corresponding to" means in the context of "binary translation."
They propose this interpretation: "generation/generator of a new sequence of host code
that performs the same functions and achieves the same behavior as on the foreign
platform." Defs.' Br. at 6–7. This language, too, is drawn from the specification, in a
7
section that defendants say serves to "refine[ ]" the "general notion of 'binary translation'
by expressly defining the term." Id. at 7. Cascades countered at the hearing that the
defendants' interpretation does not actually define the term and that a typical software
engineer would know what "corresponding to the foreign code" means.
In construing the terms of a claim, courts must "first look to, and primarily rely on,
the intrinsic evidence, including the claims themselves, the specification, and the
prosecution history of the patent, which is usually dispositive." Sunovion Pharms., Inc.
v. Teva Pharms. USA, Inc., 731 F.3d 1271, 1276 (Fed. Cir. 2013). Courts are
"generally" to give the words of a claim "their ordinary and customary meaning."
Phillips, 415 F.3d at 1312–13. However, an "exception[ ]" to this rule applies "when a
patentee sets out a definition and acts as his own lexicographer." Thorner v. Sony
Computer Ent. Am. LLC, 669 F.3d 1362, 1365 (Fed. Cir. 2012) (citing Vitronics Corp. v.
Conceptronic, Inc., 90 F.3d 1576, 1580 (Fed. Cir. 1996)); see also Vitronics, 90 F.3d at
1582 ("The specification acts as a dictionary when it expressly defines terms used in the
claims or when it defines terms by implication.").
The defendants face two difficulties in advocating for their proposed definition of
this term. First, the patent directly provides a meaning for "binary translation" in one of
the few explicit definitions in the entire document. The patent specifically states that
"[b]inary translation means that a foreign code is processed by host software to produce
new host code corresponding to the foreign code." Patent at 4:16–18 (emphasis
added). The Court has little trouble concluding that this is precisely what Vitronics is
referring to when it says that "the specification acts as a dictionary when it expressly
defines terms used in the claims." Vitronics, 90 F.3d at 1582. The defendants are
8
attempting to add to this patent-provided definition with their construction of the term,
but Phillips, Vitronics, and similar cases do not suggest that a party should be permitted
to add to an express definition provided in the patent. The defendants do not cite cases
indicating that this is appropriate. Second, the defendants' definition comes from a
passage of the specification stating what binary translation may achieve, not what it is.
Here is that passage in full: "Yet another technique is to use binary translation to
generate a sequence of instructions that perform the same functions and achieve the
same behavior as on the foreign platform." Patent at 2:1–4. Describing a set of results
from binary translation is different from stating what the term "means."
Given the direct definition of "binary translation" found in the specification of the
'750 patent, the Court construes the disputed claim language as advocated by
Cascades: "foreign code is processed by host software to produce new host code
corresponding to the foreign code." Pl.'s Resp. at 7.
3.
"Optimized/optimizing"
The term "optimize" or "optimizing" appears, in one form or another, a dozen
times in the two claims at issue. In Claim 1, the described binary translation system
includes both "a non-optimizing foreign code execution module" and "an optimizing
binary translator configured to translate foreign binary operations into optimized
sequences of host operations." Patent at 16:6, 10–12. The same claim describes a
"documentation generator configured to generate a set of documentations for optimized
sequences of host operations," and it also refers to a recovery mechanism that is
supposed to "continue foreign codes execution in case of the exception arisen during
the execution of the corresponding optimized host codes." Id. at 16:15–17, 26–34. The
9
references to the term in Claim 15 are similar, in describing an "optimizing translator" or
"optimized translation," as well as "optimized binary translated code." Id. at 17:22–24.
The defendants propose that to "optimize" means to "extract the inherent
parallelism of the foreign code." Defs.' Br. at 8. They draw this definition from the
specification. See, e.g., Patent at 4:24–25 ("Optimization requires extracting the
inherent parallelism of the foreign code."); id. at 10:61–64 ("The optimizing process
extracts the parallelism inherent to foreign code . . . ."). Also, the reference to two types
of translators in the patent supports this construction, the defendants say. Though the
optimizing translator has a parallel approach, they argue, the non-optimizing translator
"eliminates the optimization by re-executing the code in a sequential manner" (as
opposed to parallel). Defs.' Br. at 10 (citing Patent at 15:55–57). At bottom, the
defendants contend, "optimization" in the '750 patent means "that the code be made to
run in parallel." Defs.' Repl. at 4. At the claim construction hearing, the defendants
argued that "the only optimization in this patent is [this] parallelism." Hrng. Trans. at 57.
"[W]henever [the patent] refers to optimization," the defendants argued, "what it's really
talking about is when it's doing that binary translation, it's putting that code . . . into
parallel." Id. at 59. They contended that although the patent does not expressly define
"optimize" in the way they propose, it does so by implication, citing Honeywell Int'l, Inc.
v. ITT Indus., Inc., 452 F.3d 1312, 1318 (Fed. Cir. 2006), and C.R. Bard, Inc. v. United
States Surgical Corp., 388 F.3d 858, 864 (Fed. Cir. 2004).
Cascades argues that the term "optimize" need not be defined for purposes of
claim construction. It argued at the hearing that the word is "a well-understood term to a
lay jury that is also consistent with what one of ordinary skill in the art would also
10
understand it to mean." Hrng. Trans. at 67–68. Cascades argues for the ordinary
meaning of the term, or a generalized definition, because the word "has no particular or
specialized meaning within the relevant art and is well within the understanding of a
normal jury." Pl.'s Resp. at 9. To optimize, Cascades argues, is to "improve
performance to run efficiently." Id. It cites two definitions of optimization from the
American Heritage dictionary: "[t]o make as perfect or effective as possible," and "[t]o
increase the computing speed and efficiency of (a program), as by rewriting
instructions." Pl.'s Ex. A. It also cites a definition of the term "optimizing compiler" from
Webster's 1997 Dictionary of Computer Terms. See Pl.'s Ex. B (a machine "that
translates source code into machine language optimized to run as efficiently as possible
on a particular microprocessor" (alterations omitted)). This, Cascades says, indicates
that the definition of optimize is the same among laypeople and those of ordinary skill in
computer science. Cascades proceeds to point to several passages in the patent
specification where optimization is mentioned in conjunction with improving
performance, and it points out that the specification uses "optimizing" to describe other
processes as well. See, e.g., Patent at 3:59–62 ("The present invention includes a
means for optimizing the execution of binary translated code by reordering of the
execution order of pending operations including memory access operations.").
Cascades adds that defendants' proposed construction—"extract the inherent
parallelism of the foreign code"—is a phrase that could confuse a jury.
As the Federal Circuit has observed, "[i]n some cases, the ordinary meaning of
claim language as understood by a person of skill in the art may be readily apparent
even to lay judges, and claim construction in such cases involves little more than the
11
application of the widely accepted meaning of commonly understood words." Phillips,
415 F.3d at 1314. Such terms "are generally given their ordinary and customary
meaning" according to "a person of ordinary skill in the art in question at the time of the
invention." Id. at 1312–13. However, "[i]diosyncratic language, highly technical terms,
or terms coined by the inventor are best understood by reference to the specification."
3M Innovative Props. Co. v. Tredegar Corp., 725 F.3d 1315, 1321 (Fed. Cir. 2013). In
addition, a patentee need not expressly define a term in order for a definition of that
term to be drawn from the patent. Instead, a definition "may be inferred from clear
limiting descriptions of the invention in the specification or prosecution history." Aventis
Pharma S.A. v. Hospira, Inc., 675 F.3d 1324, 1330 (Fed. Cir. 2012). Yet courts must
take care not to infer that a patentee intended to define a term merely because only a
single example or embodiment of the term is described in the patent itself. The Federal
Circuit "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." Liebel-Flarsheim Co. v. Medrad, Inc., 358 F.3d 898, 906 (Fed. Cir. 2004)
(collecting cases). The Federal Circuit recently had the occasion to again address how
courts are to navigate this area of claim construction:
It is . . . not enough that the only embodiments, or all of the embodiments,
contain a particular limitation. We do not read limitations from the
specification into claims; we do not redefine words. Only the patentee can
do that. To constitute disclaimer, there must be a clear and unmistakable
disclaimer.
Thorner, 669 F.3d at 1366–67.
The cases the defendants cite stand for the proposition that a definition can, in
certain circumstances, be taken from a specification even if it does not expressly define
12
the particular term. In Honeywell, the Federal Circuit held that limitation of the term "fuel
injection system component" to mean a fuel filter (and nothing else) was appropriate.
Honeywell, 452 F.3d at 1318. The court concluded that the concept of a fuel filter "was
not merely discussed as a preferred embodiment" in the specification because "the
written description refer[red] to the fuel filter as 'this invention' or 'the present invention'"
at least four times. Id. (citing such language as, "This invention relates to a fuel filter for
use in the fuel line that delivers fuel to a motor vehicle engine."). This contextual
evidence helped convince the court that the fuel filter was the only embodiment of the
claim term in the invention. Only one other fuel component was mentioned in the
description (a fuel line), but that component "was not required by the patentee to be
made of an electrically conductive polymer material, as the claims require." Id. Given
these facts, it was proper "to take the patentee at his word and the word was that the
invention is a fuel filter." Id.
In C.R. Bard, the term at issue referred to a medical device that included a plug.
C.R. Bard, 388 F.3d at 860. The "Summary of the Invention" section of the patent
specification stated that the invention was "an implantable prosthesis," then went on to
say that "[t]he implant includes a pleated surface." Id. Similarly, the patent's abstract
referred to "[a]n implantable prosthesis including a conical mesh plug having a pleated
surface." Id. at 860–61. The court concluded that although the patent did not expressly
define the plug, these statements "unequivocally define[d] the claimed plug as having
pleats" in two places where it "describe[d] in general terms what it deem[ed] to be the
invention." Id. at 864. The Federal Circuit found the placement of these statements
helpful in determining their significance. Although placement of a description in that
13
section of a patent is not "determinative," it "can signal the likelihood that the statement
will support a limiting definition of a claim term." Id. However, the court cautioned that
the weight given to such language "must, of course, be determined on a case-by-case
basis." Id. In C.R. Bard, there were "[s]tatements of general applicability" that "clearly
define[d]" the plug as having pleats, which was the end of the matter. Id. at 866.
In the present case, the difficulty with the defendants' interpretation is that they
draw it from passages of the patent describing the end result of optimization, and not
what optimization, as a process, actually involves. There is no direct description of the
process of optimization, as there was for the clear definition of the plug in C.R. Bard or
the concrete characterization in Honeywell. For example, the first passage the
defendants label as definitional in their brief ("[o]ptimization requires extracting the
inherent parallelism of the foreign code," Patent at 4:24–25) does not actually say what
optimization is or what it does; rather, the passage merely says what optimization
requires. A statement of what a process requires is not the same as defining that
process; for example, doing homework might require putting pen to paper, but
identifying that function does not provide a definition of what homework is. The same is
true of the other passages the defendants cite, e.g., "[t]o exploit the explicit parallelism
of this architecture . . . it is necessary to optimize the binary translated code in a manner
that maintains precise exceptions." Id. at 8:61–64. And indeed, one passage of the
specification makes clear that optimization and extracting parallelism are two different
things, as one can produce the other: "[T]o exploit parallelism of the host processor
architecture in binary translated code, the host code must be optimized." Id. at 4:22–24.
14
It therefore seems fairly clear that the patentees did not seek to expressly define
the term "optimize" and that the passages defendants cite cannot be used for that
purpose. Though the term is mentioned multiple times in conjunction with extracting or
exploiting the parallelism of a particular system architecture, it does not follow that such
extraction or exploitation is the only means of optimizing, nor that the patentee intended
it to be. The defendants may be right that running translated code in parallel is the sine
qua non of this particular patent, see Defs.' Repl. at 5, but that does not mean that
"optimize" has the specific definition they wish to assign it. As Cascades points out,
"optimize" is not always mentioned in direct conjunction with exploiting parallelism, but
rather with improvement of performance. In one of the embodiments, the "optimizing
binary translation process" is described as one intended "to improve performance"; no
mention is made of code running in sequence or parallel. Patent at 7:12–15; see also
id. at 7:56–59. Another passage states that performance can be optimized, which
further argues against adopting the defendants' specific definition: "to optimize
performance, load operations can be moved ahead of store operations." Id. at 7:22–23.
The Court concludes that the defendants have not offered sufficiently compelling
evidence that the patentees established a "lexicography" encompassing this term that
differs from its plain meaning as understood in the computer programming field. The
Court concludes that the term "optimizing" in the '750 patent, though used frequently in
association with extracting parallelism, is not defined by that function, nor is it
"[i]diosyncratic," "highly technical," or "coined by the inventor," 3M Innovative Props.,
725 F.3d at 1321. Rather, the term requires no construction beyond its ordinary and
customary meaning to a person in the art at the filing date of the patent, see Phillips,
15
415 F.3d at 1312–13—that is, to make the most effective use of, or to make most
efficient.
4.
"Documentation"
Apart from the disputed phrase "documentation generator configured to
generate," discussed below, the term "documentation" (or a variant) appears fifteen
times in the claims at issue. It is used as both a singular and plural noun, sometimes in
the same sentence. For example, Claim 15 describes a recomputing method that
"generat[es] a set of documentations during the optimized translation of the foreign
code, wherein each documentation in the set of documentations corresponds to a
recovery point in the optimized binary translated code . . . ." Patent at 17:29–32. Claim
1 refers to "documentation" as an indefinite noun: "for each host operation address,
operations required to calculate a corresponding foreign state for the host operation
address are added to documentation." Id. at 16:22–25. Claim 15 also describes part of
the invention as a "method of recomputing a dedicated foreign state in a binary
translation system from documentation generated by an optimizing translator." Id. at
17:20–22. "Documentation" also serves as a modifier; in Claim 1, there is reference to
"a documentation tracker configured to record host operation addresses at appointed
points of the host operation sequences being executed," id. at 16:20–22, a function that
differentiates the tracker from the "documentation generator."
The specification states that "[e]very recovery point is described by a
documentation set . . . that contains information where all foreign registers are located
in the host registers in the optimized binary translated code." Patent at 9:35–41. The
defendants draw from this passage nearly verbatim for their proposed definition of the
16
term documentation: "data describing where all foreign registers are located in the host
registers in the optimized binary translated code." Joint Notice of Modified Proposed
Claim Constructions at 2 (docket no. 123). They cite similar language in Claim 1, see
Patent at 16:15–19, and Claim 15, see id. at 17:30–34. At the claim construction
hearing, the defendants argued that the definition of "documentation" cannot be
"generic[ ]," because a generic definition of the term "may not be enough information
within the context of the patent to recreate that foreign state which is essential to move
on in the program." Hrng. Trans. at 71. The defendants contended that it is essential
for the definition to reflect that a single documentation contains information about all
registers related to a single recovery point. Furthermore, the defendants argued the
patent actually imposes two requirements on a documentation: that it include "a list of
registers with values in them," but also "operations to calculate the foreign state using
those values." Id. at 81.
At the claim construction hearing, Cascades contended that this term requires no
construction. That is because "the claim itself tells you what documentation is,"
Cascades argued, pointing to passages from both Claims 1 and 15. Id. at 77. The
passage Cascades cites from Claim 1 states that "each documentation describes
operations required to calculate a corresponding foreign state for an appointed point."
Patent at 16:17–19. The cited passage from Claim 15 says that "each
documentation . . . corresponds to a recovery point in the optimized binary translated
code and describes operations required to calculate a corresponding foreign state for
the recovery point." Id. at 17:30–34. Cascades argues that defendants' proposal is
actually a definition for a documentation set, not a documentation. It is incorrect,
17
Cascades argues, to define the term as data describing the location of all foreign
registers, because each documentation "only requires calculating a foreign state for a
given, 'appointed point' (in the case of claim 1)." Pl.'s Resp. at 12. (Cascades did not,
however, explain how a "documentation set" is different from a "documentation.")
Defendants reply that Cascades conflates the plural "set of documentations" with
the singular "documentation set" or "set of documentation." "When discussing a
plurality of documentations, the '750 patent consistently calls that plurality a 'set of
documentations.'" Defs.' Repl. at 8. Elsewhere, the patent uses both "documentation"
and "documentation set" "to describe a single documentation associated with a single
Recovery Point that describes the location of the foreign registers associated with that
Recovery Point." Id. at 7. Defendants also argue that the plain and ordinary meaning of
"documentation" is inappropriate for purposes of constructing the claims at issue,
because the patent "describes a very specific and proprietary 'documentation.'" Id. at 9.
Neither party's proposal appears to capture the meaning of the term, which as
described above is used in different ways in the patent. Defendants seem to want to
narrow what would appear to be a general term to a particular contextual usage.
Though the defendants draw from the specification for their definition, there are other
uses of the term in the patent that are not as particularized as the passage the
defendants use. But Cascades' approach, which is to say that no construction is
needed, is not particularly helpful given the varying usages of the term. Cascades
argued at the claim construction hearing that no interpretation is needed because the
claims themselves define "documentation." As indicated, Cascades cites a passage
from Claim 1 stating that "each documentation describes operations required to
18
calculate a corresponding foreign state for an appointed point," Patent at 16:17–19, and
a passage from Claim 15 stating that "each documentation . . . corresponds to a
recovery point in the optimized binary translated code and describes operations
required to calculate a corresponding foreign state for the recovery point." Id. at 17:30–
34. But neither of these passages defines documentation; rather, they describe what
certain documentation does in particular situations.
The Court has returned to the patent for guidance on what the inventors meant
by the term and how a person of ordinary skill in the field would have understood it. The
specification contains two examples of "documentation," which help illustrate what it is.
The specification states in columns 13 and 14:
There are three Recovery Points in the code. The first one
describes register contents before starting execution. The second point
(second wide instruction) is described by the following documentation:
Foreign register
Host register
EDX
ECX
ESI
FLAGS
R1
R2
(not changed)
R3
The second point is described by this documentation because
registers R1, R2 and R3 have been released by the host optimizing
scheduler and then reused in further calculations. After finishing
execution of the code the documentation will have the following contents:
Foreign register
Host register
EDX
ECX
ESI
FLAGS
R1
R2
R4
R5
Patent at 13:50-67 & 14:1-8.
19
As shown by these illustrative examples, the term "documentation" has a far
more generalized meaning than the very specific one that defendants seek to ascribe to
it. The Court rules that documentation, as used in the present context, simply means
written text containing information that describes a software operation. Further
particularization of the type, nature, or contents of any given documentation is provided
by the claim language or from—for example, in the fourth element of claim 1, the
documentation is said to "describe[ ] operations required to calculate a corresponding
foreign state for an appointed point." Patent at 16:17-19. It would be both unnecessary
and inappropriate to load this sort of particularization into the definition of the term
"documentation" itself.
5.
"Documentation generator configured to generate"
The term "documentation generator configured to generate" appears in Claim 1
of the patent, where it is listed among the elements included in the patent's binary
translation system. The claim says that the system comprises "a documentation
generator configured to generate a set of documentations for optimized sequences of
host operations, wherein each documentation describes operations required to calculate
a corresponding foreign state for an appointed point." Patent at 16:15–19.
For this term, neither party offers a specific definition. The defendants argue that
"documentation generator configured to generate" is a "means-plus-function term"
within the meaning of 35 U.S.C. § 112(f). They contend that because the term itself
evokes no specific structure, and because structure for the term cannot be found in the
specification, the term is indefinite, and thus the claim containing it (Claim 1) is invalid.
In their opening brief, the defendants implied that the patent should have included some
20
sort of algorithm for the documentation generator, and they expanded on this argument
at the hearing, arguing that algorithms should receive "some degree of heightened
scrutiny." Hrng. Trans. at 87. To support this notion, they cited Aristocrat Techs.
Australia Pty Ltd. v. Int'l Game Tech., 521 F.3d 1328, 1334 (Fed. Cir. 2008), a case
where the claim's description of the structure for a computer-implemented function went
"no farther than saying that the claimed functions are performed by a general purpose
computer" and was thus invalid. There, the Federal Circuit noted that plaintiffs need not
"produce a listing of source code or a highly detailed description of the algorithm to be
used to achieve the claimed functions in order to satisfy 35 U.S.C. § [112(f)]." Id. at
1338. But they must "at least disclose the algorithm that transforms the general
purpose microprocessor to a special purpose computer programmed to perform the
disclosed algorithm." Id. (internal quotation marks omitted). At the hearing, the
defendants also cited Ex Parte Rodriguez, No. 2008-000693, slip op. at 20–27 (B.P.A.I.
Oct. 1, 2009), available at
http://www.uspto.gov/ip/boards/bpai/decisions/prec/fd080693.pdf, a case from the
Board of Patent Appeals and Interferences, in which claims containing the term "system
configuration generator" were found invalid because the term was indefinite.
Cascades says this term should be given its plain and ordinary meaning as
understandable by one of ordinary skill in this field. Cascades also argues that the
burden to establish indefiniteness "by clear and convincing evidence" belongs to
defendants, "including [when arguing] a lack of alleged structure." Pl.'s Resp. at 16
(citing Budde v. Harley Davidson, Inc., 250 F.3d 1369, 1376 (Fed. Cir. 2001)). Because
"[d]efendants have not provided any evidence" about the understanding of a "person of
21
skill" with regard to a "documentation generator," Cascades says, they have not met
their burden to prove that the term is indefinite. Id. At the claim construction hearing,
Cascades argued that the Court therefore does not have to consider whether the patent
provides an algorithm for the "documentation generator" term in accordance with the
Aristocrat case. Cascades also argues that the specification sufficiently describes
structure for a documentation generator, an argument that the Court will address in
detail below.
Under 35 U.S.C. § 112(f), formerly known as section 112, paragraph 6, "[a]n
element in a claim for a combination may be expressed as a means or step for
performing a specified function without the recital of structure, material, or acts in
support thereof." The statute then states that "such claim shall be construed to cover
the corresponding structure, material, or acts described in the specification and
equivalents thereof." Id. The Federal Circuit has stated that the application of section
112(f) is a "straightforward" question. Inventio AG v. ThyssenKrupp Elevator Am. Corp.,
649 F.3d 1350, 1356 (Fed. Cir. 2011). If a claim term contains the word "means," a
rebuttable presumption that section 112(f) governs construction of the term is triggered;
if the word "means" is absent, a presumption is triggered that section 112(f) does not
govern. Id. This latter presumption is "a strong one that is not readily overcome."
Lighting World, Inc. v. Birchwood Lighting, Inc., 382 F.3d 1354, 1358 (Fed. Cir. 2004).
The Federal Circuit recently put this presumption in strong terms: "When the claim
drafter has not signaled his intent to invoke § [112(f)] by using the term 'means,' we are
unwilling to apply that provision without a showing that the limitation essentially is
22
devoid of anything that can be construed as structure." Flo Healthcare Solutions, LLC
v. Kappos, 697 F.3d 1367, 1374 (Fed. Cir. 2012).
In evaluating whether this presumption should stand, "it is sufficient if the claim
term is used in common parlance or by persons of skill in the pertinent art to designate
structure, even if the term covers a broad class of structures and even if the term
identifies the structures by their function." Lighting World, 382 F.3d at 1359–60.
"Ultimately, whether claim language invokes § [112(f)] depends on how those skilled in
the art would understand the structural significance of that claim language, assessed
against the presumptions that flow from a drafter's choice to employ or not employ the
term 'means.'" Inventio, 649 F.3d at 1360. Courts may "review[ ] the intrinsic record, as
well as extrinsic evidence such as technical dictionaries, to determine if the challenger
successfully rebutted the presumption that a claim that lacks the term 'means' is not
subject to § [112(f)]." Id. at 1357. In terms of the burden a challenging party must meet
to prove indefiniteness in the context of a means-plus-structure dispute, "[t]he party
alleging that the specification fails to disclose sufficient corresponding structure must
make that showing by clear and convincing evidence." TecSec, Inc. v. IBM Corp.,
731 F.3d 1336, 1349 (Fed. Cir. 2013).
To sum up, the law presumes that the term "documentation generator" is not
subject to section 112(f) because the term does not use the word "means." To
overcome the presumption, defendants' burden is to provide evidence that a typical
software programmer would not understand that the term documentation generator
connotes structure. The Court acknowledges that the term "documentation generator"
is not directly defined in the patent, nor is it particularly revealing to the uninitiated. But
23
the defendants nonetheless have not produced persuasive evidence, as is their burden,
that a typical software engineer would not understand what structure lies behind a
documentation generator as included in the '750 patent. This is so in light of Cascades'
contention that there is some structure for the generator in the patent and its allusions to
knowledge in the relevant field.
In this case, the term appears only once in the entire patent, in one of the
disputed claims. At no time does the specification otherwise reference a
"documentation generator," although there are, as discussed above, many references to
"documentation." In light of the absence of a definition for the term in the specification,
Cascades contends that one is not necessary, because the average computer
programmer would understand the structure of a documentation generator. In
response, the defendants do not directly argue the contrary, i.e., that a typical software
engineer would not understand what the structure of a documentation generator is.
Instead, they cite several cases, some of which concern construction of terms including
the word "generator" (though none concerns a documentation generator) and others of
which concern arguably similar terms, such as "processor." These cases are not
directly relevant to the matter at hand. In Rodriguez, an administrative decision that is
not controlling authority, the Board of Patent Appeals and Interferences invalidated
several claims that included the term "system configuration generator." Ex Parte
Rodriguez, slip op. at 20–27. In that case, unlike this one, the side arguing in favor of
the patent's validity had not "ever suggested that these elements are a known structure
in the prior art" and in fact "argue[d] that these elements are of their invention and not
known in the prior art." Id. at 27. Thus, although the defendants label Rodriguez "the
24
best case" on the indefiniteness of "generator" as a term connoting structure, Hrng.
Trans. at 82, the facts and arguments there were different.2 As Flo Healthcare and
other Federal Circuit cases on the means-plus-function inquiry make clear, analysis on
this question must be case-specific.
The facts were also different in Aristocrat, a case the defendants cite multiple
times for the proposition that a claim including software must disclose a unique
algorithm for that software. There, the disputed terms used the word "means," which
meant the court did not have to consider the presumption that section 112(f) does not
apply when that word does not appear. Aristocrat, 521 F.3d at 1331 (terms were "game
control means" and "control means"). In fact, the parties in that case agreed that the
terms at issue were means-plus-function terms. Id. The court therefore did not have to
evaluate a crucial support for that presumption: whether "the claim term is used in
common parlance or by persons of skill in the pertinent art to designate structure."
Inventio, 649 F.3d at 1359–60. Instead, the plaintiff in Aristocrat argued that "devising
2
The defendants also cite two district court cases that mention "generator" terms. In
one, the court did not appear to consider whether the term at issue, "report generator for
outputting," would reveal sufficient structure to one of ordinary skill in the field. Indeed,
the court did not discuss the presumption against application of section 112(f) when the
word "means" does not appear in the claim term. See Isogon Corp v. Amdahl Corp.,
47 F. Supp. 2d 436, 449–50 (S.D.N.Y. 1998). Of course, that case was decided before
Lighting World, Inventio AG, Flo Healthcare or any of the other cases discussing the
presumption cited here. The defendants cite another district court case predating those
decisions, but there, the parties agreed that the term "state generator" was a meansplus-function term, and thus the court did not have to decide whether the presumption
applies. See QSIndustries, Inc. v. Mike's Train House, Inc., 230 F. Supp. 2d 1240,
1245–46 (D. Or. 2002). The defendants also cite a "triumvirate of recent decisions"
from the Patent Trial and Appeal Board, but each of those cases construed the term
"processor," and the defendants make no argument explaining why "processor" and
"documentation generator" are equivalent for this purpose. See Defs.' Br. at 14 (citing
Ex Parte Erol, No. 2011-001143, 2013 WL 1341107, at *9 (P.T.A.B. Mar. 11, 2013); Ex
Parte Lakkala, No. 2011-001526, 2013 WL 1341108, at *7 (P.T.A.B. Mar. 11, 2013); Ex
Parte Smith, No. 2012-007631, 2013 WL 1341109, at *8 (P.T.A.B. Mar. 12, 2013)).
25
an algorithm to perform [the invention's] function would be within the capability of one of
skill in the art." Aristocrat, 521 F.3d at 1334.
That is not what Cascades is arguing here. Rather, it contends that "those of skill
understand that a 'documentation generator' is a structure, i.e., a programming tool."
Pl.'s Resp. at 15. To support this argument, Cascades offers definitions of "document"
and "generator" from a scientific and technical dictionary; the dictionary notes that
"generator" is a computer science term and defines it as a "program that produces
specific programs as directed by input parameters." Pl.'s Ex. D at 4. Cascades also
cites two Wikipedia pages: one defining "documentation generator," and another
providing a list of documentation generators produced by various programmers and
companies. See Pl.'s Exs. E, F. The defendants have attacked these sources as dated
after the patent application and "'less significant' than the intrinsic evidence," Defs.'
Repl. at 10. The Court agrees that these sources are not perfect, but they do provide
some support for the proposition that a programmer of ordinary skill would understand
the structure of a documentation generator. By contrast, the defendants have not
provided evidence that programmers in the field would not understand the structure of a
documentation generator.
For its part, Cascades also contends that there is at least one example of the
structure of a documentation generator in the specification itself, where it describes a
"dynamic binary translator" that "can generate host code for every foreign instruction in
sequential order with the following properties. Dynamic binary translator uses a subset
of host registers in register file 100 (FIG. 1) to map the foreign registers into the host
registers." Pl.'s Resp. at 15–16 (quoting Patent at 8:65–9:3). At the hearing, Cascades
26
argued that this description "is a structure of a documentation generator." Hrng. Trans.
at 94. The defendants respond that "dynamic binary translator" is already a claim term
(although it is not, strictly speaking; the disputed claim term is "binary
translation/translator," without the "dynamic"). Cascades is not arguing, however, that
the passage it points to provides the structure of a documentation generator; rather, it is
"an example of a generic structure," which "extracts information from the host code and
maps foreign registers into the host registers for creating documentation." Pl.'s Resp. at
15. In addition, elsewhere in the specification, the patentees wrote that "[t]he
documentation is created during the optimizing binary translation processes 202,"
pointing to one of the diagrams in the patent. Patent at 15:17–18.
The Court cannot hold the "documentation generator" term invalid for
indefiniteness without evidence from the defendants that computer programmers would
not understand the structure of Claim 1's documentation generator in the context of the
whole patent. This conclusion is supported by the Federal Circuit's admonition that the
presumption against construing a claim term without "means" as means-plus-function
term "is a strong one that is not readily overcome." Lighting World, 382 F.3d at 1358.
Cascades has invoked this presumption, and it has pointed to an example of a structure
for a documentation generator in the patent itself. In response, the defendants have
pointed to inapposite cases that do not involve the term "documentation generator" and
in which the patent uses the word "means" or the parties agreed that a particular term
was a means-plus-function term. For all of these reasons, the Court agrees with
Cascades that this term is not subject to section 112(f), and that its definition is in line
27
with what Cascades says a typical computer programmer would understand a
documentation generator to be: a programming tool that produces documentation.
6.
"Operations required to calculate a corresponding foreign state"
The term "operations required to calculate a corresponding foreign state"
appears in both Claim 1 and Claim 15. In Claim 1, it is included in the context of the
"documentation tracker," which is "configured to record host operation addresses at
appointed points of the host operation sequences being executed, wherein, for each
host operation address, operations required to calculate a corresponding foreign state
for the host operation address are added to documentation." Patent at 16:20–25. The
term is similarly situated within Claim 15, although it is in reference to a "recovery point"
and not "appointed points." Claim 15 describes a recomputing method that generates a
"set of documentations," "wherein each documentation in the set of documentations
corresponds to a recovery point in the optimized binary translated code and describes
operations required to calculate a corresponding foreign state for the recovery point."
Id. at 17:29–34.
Defendants' proposed definition includes the entirety of the term at issue, but
then adds this clause: "but not by 'roll[ing] back its target registers to recover state.'"
See Joint Notice of Modified Proposed Claim Constructions at 2 [docket no. 123]. They
say this limitation comes from the patent's prosecution history, where, defendants
argue, "the patentee made a definitive statement that distinguished its 'operations
required to calculate a corresponding foreign state' from the prior art's way of 'roll[ing]
back its target registers to recover state.'" Defs.' Br. at 16. Specifically, defendants
argue that the patent examiner rejected some of the claims that did not make it into the
28
final patent, because they were "anticipated by" another patent, the Kelly patent. See
Defs.' Ex. 2 at 84–87, 92–94. Cascades, as elsewhere, advocates for use of the plain
and ordinary meaning of this phrase rather construing it, but alternatively proposes this
definition: "the actions resulting from instructions required to determine a corresponding
non-native state." See Joint Notice of Modified Proposed Claim Constructions at 2–3
[docket no. 123].
The Kelly patent used an operation called a "rollback" when handling exceptions,
and defendants say the patent examiner initially rejected what is now Claim 1 of the
'750 patent because of Kelly. At the time, the defendants argue, the '750 patent did not
include the phrase at issue here ("operations required to calculate a corresponding
foreign state"); they say the patentees added it after the rejection. "[O]n the basis of
that amendment, [patentees] argued that the claims were novel over Kelly and Kelly's
rollback feature described above." Defs.' Br. at 17. The defendants cite the applicants'
statement to the Patent Office contrasting the Kelly patent based specifically on the rollback language, which they argue is used in context of the "operations required to
calculate a corresponding foreign state" term. Id. (citing Defs.' Ex. 2 at 75.) Defendants
argue that the definition of this term therefore must include the limitation that
distinguishes the '750 patent from Kelly.
At the hearing, Cascades argued that "in fact, the patentee never disclaimed the
rollback operation." Hrng. Trans. at 102. They argued that "[i]nstead, the patentee said
that just because Kelly has this rollback operation does not mean that documentation is
inherently disclosed in Kelly." Id. at 104. As support, Cascades cites the same page of
the letter just referenced, in which the applicants stated that "it is not inherent in Kelly to
29
store a set of documentations each including operations for host operation
addresses . . . ." Def.'s Ex. 2 at 75. Cascades argued at the hearing that "[t]he
patentee never said that if there is documentation . . . and the described operations,
then there can be no rollback. He simply stated that Kelly does not disclose the
documentations, therefore, it's distinguishable." Hrng. Trans. at 105. In its brief,
Cascades also contends that negative limitations like the one defendants propose are
disfavored by the Federal Circuit without "a firm anchor in the specific claim language of
the specification of the patent." Pl.'s Resp. at 17 (citing Linear Tech. Corp. v. ITC,
566 F.3d 1049, 1060 (Fed. Cir. 2009)).
There is a "heavy presumption that claim terms carry their full ordinary and
customary meaning, unless [the defendant] can show the patentee expressly
relinquished claim scope" during the prosecution of the patent. Epistar Corp. v. Int'l
Trade Comm'n, 566 F.3d 1321, 1334 (Fed. Cir. 2009). The alleged disavowal must "be
both so clear as to show reasonable clarity and deliberateness, and so unmistakable as
to be unambiguous evidence of disclaimer." Omega Eng'g, Inc. v. Raytek Corp.,
334 F.3d 1314, 1325 (Fed. Cir. 2003) (citation omitted). The Federal Circuit has
"consistently rejected prosecution statements too vague or ambiguous to qualify as a
disavowal of claim scope." Id. (collecting cases)). To qualify, though a "disavowal of
claim scope" can be made "through arguments made to distinguish prior art references,"
these arguments must "constitute clear and unmistakable surrenders of subject matter."
Cordis Corp v. Medtronic Ave, Inc., 511 F.3d 1157, 1177 (Fed. Cir. 2008).
The disputed page of the prosecution history is part of a December 2005
submission by applicants to the patent examiner supporting what eventually became the
30
'750 patent. The examiner had found claim 35 (which ended up as claim 1 of the '750
patent) to be anticipated by the Kelly patent. The examiner noted that although the
Kelly patent did not explicitly disclose a "documentation tracker configured to track an
executable path" to be used when an exception occurs, it did disclose "code morphing
software that handle exceptions and errors . . . by replacing working state with correct
target state as necessary." Defs.' Ex. 2 at 87. The examiner stated that "[i]t is inherent
that some type of 'documentation' is kept by the executing system to track successful /
unsuccessful execution of code segments, used to evaluate and correct binary
translations." Id.
In response, the applicants amended claim 35 in an effort to address the
examiner's finding. Among other things, they added the language currently in question:
"operations required to calculate a corresponding foreign state for the host operation
address are added to documentation." Id. at 69.
Together with their amendments, the applicants offered a narrative submission in
which they sought to distinguish the claim, as amended, from the Kelly patent. The
applicants first described how the Kelly patent deals with exceptions: "Kelly discloses
transferring the contents of all working registers to official target registers and allowing
an operation called a rollback to quickly transfer the content of all official target registers
back to their working register equivalents." Defs.' Ex. 2 at 75. "If an exception occurs
[in the Kelly invention], the original state in the target registers at the last update (or
commitment) may be recalled to the working registers." Id. The applicants then
contrasted their claim: "In contrast, claim 35 'discloses adding operations required to
calculate a corresponding foreign state for the host operation address are added [sic] to
31
documentation." Id. (emphasis in original). If an exception occurs, the operations are
executed to recover a foreign state and then continue execution of the foreign code. Id.
The applicants contended in their submission to the examiner that Kelly was
different, because it "discloses rolling back contents of official target registers back to
the working registers' equivalents . . . . Kelly does not need to use documentation to
perform a set of operations because Kelly rolls back its target registers to recover state."
Id. The applicants also addressed the examiner's statement that it was "inherent" that
Kelly used documentation to allow operations to continue: they stated that it was not
inherent in Kelly to store a set of documentations and then to determine a
documentation to recover a foreign state, again, "because Kelly rolls back its target
registers to recover state." Id.
It is clear that the patent applicants sought to differentiate their invention from
Kelly by pointing out that Kelly does not use documentation to perform recovery
operations after an exception because it rolls back its target registers to "recover state."
The question, however, is whether this amounts to a clear and unequivocal statement
that the reference in the '750 patent to "operations required to calculate a corresponding
foreign state" excludes rolling back the target registers. The Court concludes that the
patentees did, in fact, clearly and unmistakably disclaim the use of a rollback function.
They did so by their statements to the patent examiner in which they expressly
differentiated their patent's methodology from the rollback function employed by the
Kelly patent. In essence, the patentees said that how the Kelly patent operated in this
regard and how their patent operated were two distinct ways of accomplishing a
particular goal. Because the patentees differentiated the two patents in order to
32
distinguish a prior art reference that otherwise would have invalidated their patent, they
clearly and unmistakably surrendered the use of a rollback functionality.
For these reasons, the Court adopts defendants' proposed limitation on this claim
term. The "operations required to calculate a corresponding foreign state" as described
in claim 1 do not include rolling back the target registers to recover an earlier state.
7.
"Precisely"
The word "precisely" appears just once in the claims at issue in this case. In
Claim 1 of the patent, there is description of a "binary translation system." The first
element of that system is "a non-optimizing foreign code execution module configured to
maintain dedicated foreign state for each foreign binary operation executed allowing for
the exceptions arisen to be handled precisely." Patent at 16:6–9.
Defendants propose a detailed definition for this seemingly commonplace word:
"a later instruction has not yet been executed and all prior instructions preceding the
instruction causing the exception have executed and committed their results." Defs.' Br.
at 18. That passage comes from a section of the specification describing an example of
how the system works, dealing with hypothetical instructions "ie" and "im": "The
exception generated by instruction 'ie' is a 'precise' exception if instruction 'im' has not
yet been executed and all prior instructions preceding instruction 'ie' have executed and
committed their results." Patent at 8:26–29. Defendants contend that the inventors
acted as their own lexicographer for the term "precise" by writing this passage, because
"[t]he patent takes great effort to explain exactly what 'precise' means in the context of
its invention." Defs.' Repl. at 13.
33
As with other terms, Cascades argues that "a person having ordinary skill in the
art at the time of the invention would understand 'precisely' to have its plain and
ordinary meaning." Pl.'s Resp. at 21. It says the term "describe[s] how exceptions are
handled precisely"—a concept that Cascades says is different from a "precise
exception," which it says the defendants draw from for their definition. Id. at 19. "[A]n
exception is 'handled precisely' when the behavior of foreign code, including precise
exceptions, is maintained." Id. (This is apparently what Cascades means by "plain
meaning.") Cascades then argues, without quoting the patent, that "[p]recise
exceptions can be defined as exceptions when running binary translated code that are
processed by the host system to correctly emulate the foreign architecture." Id. at 20.
Cascades also contends that defendants draw their definition from a part of the patent
that is discussing "speculative mode," which it argues is "not the proper definition of
'precisely.'" Id. at 21. At the claim construction hearing, Cascades argued that the plain
meaning of "precisely" is adequate, because the term is "quite well-described in Claim
1." Hrng. Trans. at 108.
One difficulty in the use of "precisely" in Claim 1 is that the term does not appear
anywhere else in the patent. However, the term "precise" appears many other times,
including in the title of the patent: "Method and Apparatus for Preserving Precise
Exceptions in Binary Translated Code." The specification often refers to the importance
of "maintaining precise exceptions," and "[t]he ability to preserve the behavior of the
foreign code, including precise exceptions." Patent at 3:31, 23–24. "[I]t is desirable to
support precise exceptions in a host architecture in a manner that correctly emulates a
foreign architecture." Id. at 3:50–52. Further, the specification describes "[t]he present
34
invention" as a way to execute binary translated code "in a manner . . . that supports
precise exception maintenance." Id. at 3:56–59. Although Cascades appears to argue
that a "precise exception" and an exception that is "handled precisely" are different
things, there is not one instance in the patent in which "precise" is used as anything but
a modifier for the word "exception." It would not appear to be a stretch to conclude that
"precise exception maintenance" and handling an exception "precisely" are similar
concepts, and perhaps the same concept.
For these reasons, adoption of the defendants' proposed definition appears
appropriate. Though it comes from a definition of "precise" in the context of an
exception, Cascades does not present any good reason why a definition for the term
"precisely" cannot be drawn from the patent's use of the term "precise." The
defendants' definition does come directly from the patent, specifically, from a passage
where the patent declares when an exception "is" precise: "The exception generated by
instruction 'ie' is a 'precise' exception if instruction 'im' has not yet been executed and all
prior instructions preceding instruction 'ie' have executed and committed their results."
Patent at 3:8–12. The Cascades definition, that "precisely" means the behavior of the
foreign code is maintained, has a few disadvantages. Though the notion of maintaining
a foreign state appears in the same clause of Claim 1, that clause notes that handling
exceptions precisely is something allowed by maintaining a dedicated foreign state.
See id. at 16:6–9. That is not the same thing as defining "precisely." Further,
defendants' definition is more comprehensive, in that it specifically describes what must
happen for an exception to be considered precise.
35
The Court therefore adopts the defendants' construction of "precisely," but adds
the words "such that" at the beginning of the definition in order to make the
interpretation grammatically correct; "precisely" is an adverb. That construction is:
"such that a later instruction has not yet been executed and all prior instructions
preceding the instruction causing the exception have executed and committed their
results."
8.
"Recovery point"
The patent references "recovery points" several times in Claim 15, though not at
all in Claim 1. Claim 15 describes a recomputing method; among its functions is
"designating a set of recovery points in the optimized binary translated code during
optimized translation of the foreign code, wherein each recovery point represents a
foreign state." Patent at 17:25–23. Recovery points are also discussed in conjunction
with documentation: "each documentation in the set of documentations corresponds to
a recovery point in the optimized binary translated code and describes operations
required to calculate a corresponding foreign state for the recovery point." Id. at 17:30–
34. The claim then goes into detail about how a documentation and a recovery point
work together: a documentation "correspond[s] to executed optimized binary translated
code when an exception arises during its execution to recover a foreign state
corresponding to a recovery point for the exception, wherein the foreign state is
recovered by executing the operations for the one of the documentations." Id. at 18:2–
7.
Here again, the defendants argue that their definition of the term is expressly laid
out in the patent itself. They point to a passage of the specification stating that "a set of
36
'Recovery Points' (RP) are [sic] included in the binary translated code, with the following
properties." Patent at 9:30–32. This passage then lists three properties, each of which
defendants truncate and include in their definition of this term: "a point in the binary
translated code that (1) has a correspondence with an instruction in the foreign code;
(2) is described by a documentation and (3) any synchronous exception between
adjacent recovery points can be reinvoked by interpreting foreign instructions starting
from the previous recovery point." Defs.' Br. at 20. Defendants then argue that each of
these properties is also reflected in Claim 15.
Cascades says the meaning of this term would be apparent to one of ordinary
skill in this field. However, Cascades alternatively defines "recovery" with a dictionary
definition: "restoration or return to a former[,] usual[,] or correct state or condition."
Resp. at 22 (citing Pl.'s Ex. H (commas restored; Cascades omitted them)). Cascades
also argues that, if plain meaning is not acceptable, "restoration point" is an appropriate
definition "because a recovery point seeks to bring the host program configuration back
to a correct dedicated foreign state in the case of an exception." Id. Cascades quotes
two passages from the specification, one stating which type of information is saved at
recovery points, and another defining what a "recovery mechanism" does. See Patent
at 4:60–65, 17:16–19. From these passages, Cascades concludes that "[a] recovery
point is thus a point at which saved information can be restored to assist the recovery
mechanism." Resp. at 22. Further, Cascades says the defendants' definition
"misstates the claims," citing one example: though defendants' definition states that
"[e]very Recovery Point is described by a documentation set," Claim 15 says "each
documentation in the set of documentations corresponds to a recovery point." Resp. at
37
22 (quoting Patent at 17:16–19 (emphasis added by Cascades)). At the claim
construction hearing, Cascades emphasized that the defendants' construction is "not a
definition," because it lists "features of a recovery point" but does not define it. Hrng.
Trans. at 111.
Defendants reply that the Cascades definition is a "mere substitution of the word
'restoration' for 'recovery,'" and that only defendants' definition relies on actual language
from the patent. Defs.' Repl. at 15. At the hearing, they observed that the patent refers
to "Recovery Points" and that they draw their definition from a passage of the patent
that similarly capitalizes the first letter in "Recovery" and in "Point." Defendants
contended that the patentees were "consistent in referring back to the recovery point" in
the way in which it is described in the defendants' definition. Hrng. Trans. at 110–111.
As with some other terms analyzed above, the difficulty with the defendants'
definition is that none of the three features the definition ascribes to a recovery point
actually states what a recovery point is. Parts one and two of the definition do not
describe the nature of a recovery point, but rather say that a recovery point "has a
correspondence with an instruction in the foreign code" and "is described by a
documentation." No knowledge is gained of the actual nature of a recovery point from
these descriptions. Part three is even less of a definition: "any synchronous exception
between adjacent recovery points can be reinvoked by interpreting foreign instructions
starting from the previous recovery point." Cascades, on the other hand, accomplishes
little with its own definition ("restoration point"), in that it merely swaps out one word for
another with little change in meaning.
38
The term "recovery point" is used with equal applicability in multiple situations in
the patent. For example, in the "Summary of the Invention" section, the patent states
that "state information is saved at a plurality of recovery points in the binary translated
code" during the translation process. Patent at 4:60–61. At another point, the
specification states that "[w]ith the information provided by documentation 528,
exception handler 532 is able to recreate the state of the host computer system at the
most recently executed recovery point." Id. at 15:25–28. Not all of these mentions of
recovery points put the term in capital letters, contradicting the defendants' argument
that the patentees intended an official, exclusive definition for the term. In fact, they
point to a general, identifiable concept that is amenable to a simpler construction.
Although Cascades' proposed definition of "restoration point" is not helpful,
Cascades goes further in its brief toward actually defining what a recovery point is.
There, it included two passages from the patent discussing recovery points to conclude
that a "recovery point is thus a point at which saved information can be restored to
assist the recovery mechanism." Pl.'s Resp. at 22. Likewise, during their portion of the
tutorial at the hearing, the defendants said that "a recovery point is set in the patent
every time we're running an instruction that might cause an exception. So every time
we're concerned we might be doing something that might go wrong, we set that as a
recovery point." Hrng. Trans. at 35–36. (Elsewhere, the defendants described a
recovery point as "the last known point where everything was okay." Id. at 36.) These
statements are much clearer about the nature of a recovery point and the function it
serves in the greater patent scheme. The Court therefore construes the term "recovery
39
point" to mean a "location in binary translated code that is marked prior to the
occurrence of an exception."
Conclusion
The Court rules on the disputed claim terms as set forth in the foregoing
decision. These cases are set for a further status hearing before the undersigned judge
on January 21, 2014 at 9:30 a.m. The parties are directed to confer prior to that date
regarding whether there are additional common issues that might warrant expansion of
the IOP 13 pretrial consolidation and are to submit a status report containing their
positions in this regard by no later than January 17, 2014. The status report should
include each party's positions on what, if any, further fact discovery is appropriate under
Local Patent Rule 1.3 as well as each party's intentions with regard to the disclosure of
expert witnesses.
MATTHEW F. KENNELLY
United States District Judge
Date: January 2, 2013
40
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?