REC Software USA, Inc. v. Bamboo Solutions Corporation et al

Filing 159

ORDER ON CLAIM CONSTRUCTION by Judge James L. Robart. (MD)

Download PDF
1 2 3 4 5 6 7 UNITED STATES DISTRICT COURT WESTERN DISTRICT OF WASHINGTON AT SEATTLE 8 9 10 REC SOFTWARE USA, INC., Plaintiff, 11 ORDER ON CLAIM CONSTRUCTION v. 12 13 CASE NO. C11-0554JLR BAMBOO SOLUTIONS CORPORATION, et al., 14 Defendants. 15 I. INTRODUCTION 16 This is an order on claim construction in a patent infringement action involving a 17 single patent related to what the patent names a “code server,” which maintains and 18 provides information for linking computer code modules that together constitute a 19 computer program. Plaintiff REC Software USA, Inc. (“REC”) sued Defendants 20 Bamboo Solutions Corporation, Microsoft Corporation, SAP America Inc., and SAP AG 21 (collectively, “Defendants”) for infringement of claims 1 and 8 of United States Patent 22 ORDER- 1 1 No. 5,854,936 (“the ’936 Patent”) (the “Patent-in-Suit”). 1 The court has considered the 2 parties’ briefing and supporting materials and has heard both oral argument from the 3 parties and expert testimony at a Markman hearing, held on January 13, 2011. This order 4 memorializes the court’s construction of the disputed language in the Patent-in-Suit. 5 II. BACKGROUND 6 A. Introduction 7 Stephen F.B. Pickett is the sole inventor of the Patent-in-Suit, which was assigned 8 to REC. (See U.S. Patent No. 5,854,936 (‘936 Patent).) REC contends that Microsoft 9 Corporation’s (“Microsoft”) operating systems that are supported by, or support or 10 utilize, the .NET Framework—namely, Windows 2000, Windows Server 2003, Windows 11 Server 2008, Windows Vista, Windows XP, and Windows 7—infringe the above-stated 12 claims of the Patent-in-Suit. (Joint Claim Construction Statement (Dkt. # 112) at 1-2.) 13 Additionally, REC contends that SAP America, Inc. and SAP AG’s (collectively, “SAP”) 14 “NetWeaver” products infringe the above-stated claims of the Patent-in-Suit. (Id. at 2.) 15 B. Factual Background 16 The Patent-in-Suit disclose systems and methods related to the behind-the-scenes 17 work done by a computer’s operating system to prepare complex computer programs for 18 execution by a “user” computer. (’936 Patent at 1:6-10; Defendants Opening Br. (Dkt. # 19 119) at 5.) The central component of the invention is a “code server,” which operates in 20 a multi-module computer operating system to efficiently identify and facilitate the 21 1 In its complaint, REC asserted claims 1-6, 8-10, 13, 15, 17, 18, and 22 of the ’936 22 Patent, but by stipulation now only asserts claims 1 and 8. (Stip. (Dkt. # 150).) ORDER- 2 1 provision of modules of computer code that constitute a computer program (known by 2 the Patent-in-Suit as the “second multi-module program”) to a user computer for 3 execution of that computer program. (’936 Patent at 1:6-10, 2:12-14.) A multi-module 4 operating system includes computer programs consisting of modules of computer code 5 that often contain embedded references (also known as linkage information or associative 6 information) to other modules of computer code. (Id. at 1:11-13.) Figure 2 below 7 provides a schematic diagram of a coded computer program divided into modules, which 8 in turn reference other modules. (Id. at 2:54-57.) Each block of Figure 2 constitutes a 9 module of computer code, which list other modules referenced by that module. The 10 arrows in Figure 2 show the connection between a module and the modules that it 11 references. (Id.) 12 13 14 15 16 17 18 19 20 21 22 ORDER- 3 1 Prior to, or at the time of, execution of the computer program by the “user” 2 computer, the embedded references within the modules of the computer program must be 3 linked together (or resolved) by the operating system. (Id. at 1:13-15.) Prior to the 4 present invention, there were two traditional ways of linking the modules of computer 5 code together—static linking and dynamic linking. (REC Tutorial (Dkt. # 133-1) at 21.) 6 In static linking, a program called a “linker,” operating on the “user” computer, pulls all 7 the various modules together into one large module with fully linked internal references. 8 (Id. at 21-24.) This large module is then placed by the “user” computer on a hard drive. 9 When the “user” computer was ready to run the large module (the fully-linked 10 application), the “user” computer would load the entire module into Random Access 11 Memory (“RAM”) and operate the instructions from there. 2 (Id. at 25.) 12 In dynamic linking, all of the modules of a multi-module program are stored on 13 the hard drive, but unlike static linking, they are not linked together. (Id. at 28.) At the 14 time the “user” computer executes the multi-module program, the operating system 15 utilizes a linker program to read through the code modules to identify the other modules 16 that are referenced by each module. (Id. at 29.) For instance, in Figure 2 above, the 17 linker program would begin at the “Main Code Module,” which references Modules A, 18 B, and C. (Id. at 29-35.) For each referenced module, the linker program constructs in 19 RAM a “dynamic link table” including the identification of Modules A, B, and C as 20 modules referenced by the “Main Code Module,” as well as the RAM address where each 21 2 RAM is a faster memory type than memory that makes up the hard drive of a computer. 22 (REC Tutorial at 5.) ORDER- 4 1 Module can be found. (Id. at 31.) The information of references between modules (i.e. 2 linkage information) found in the dynamic link table constitutes what the Patent-in-Suit 3 refers to as an “association.” (’936 Patent at 2:14-22.) The dynamic linker may continue 4 to construct an association for the modules referenced by Modules A, B, and C, and so on 5 for the remaining modules of the multi-module program. (REC Tutorial at 31.) 6 In practice, the dynamic link table can be used by another program that utilizes 7 some of the same modules as the first program, such that a specific module is only loaded 8 into RAM once, saving time and memory space. (Microsoft Tutorial (Dkt. # 132-1) at 9 28.) This was an improvement over the static linking process. (Id. at 28.) Still, the 10 dynamic linking process was slow in searching for the location of each module 11 referenced by the Main Code Module or other modules containing embedded references. 12 (REC Tutorial at 38.) The present invention purports to improve the efficiency of 13 running a multi-module program when compared to dynamic linking and static linking. 14 (Id. at 42.) 15 The present invention adds a “code server” to the described multi-module 16 operating system environment. (‘936 Patent at 2:12-14.) The code server includes a 17 “module information table” containing information that links or associates discrete 18 modules of a multi-module program. (Id. at 2:14-22; 3:49-50.) Thus, a code server 19 functions to provide linking information for modules of a multi-module program to a 20 “user” computer that desires to run the program. (Id. at 28-32.) By storing module 21 linking information in a code server, the need to search through a multi-module program 22 ORDER- 5 1 and then find the location of referenced modules in memory is greatly reduced. Figure 3 2 below depicts the interface between the code server and the “user” computer. 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 In this matter, REC has asserted claim 1 and 8 of the ‘’936 Patent. Claim 1 is an 18 independent claim and claim 8 is a dependent claim. Claim 1, a method claim, is 19 provided below: 20 1. 21 22 A method of providing information to a first program that is executing on a computer for forming an association for a second multi-module program which includes an embedded reference to a discrete module, said method comprising the steps of: ORDER- 6 1 2 3 (a) receiving in a code server from said first program, at a point prior to executiontime of said multi-module program being associated, a request associated with said discrete module; (b) searching a module information table for module information in response to said request associated with said discrete module; 4 5 (c) in response to finding said module information in said module information table, reading said module information; 6 (d) providing said module information in a response to said first program; and 7 (e) forming an association of said multi-module program by said first program. 8 (’936 Patent at Claim 1 (bolding added).) The bolded portions of the quoted claim 9 language represent the claim terms in dispute. 10 III. ANALYSIS 11 In Markman v. Westview Instruments, Inc., the Supreme Court placed sole 12 responsibility for construing patent claims on the court. 517 U.S. 370, 372 (1996). The 13 Federal Circuit later established that the court construes claims purely as a matter of law. 14 Cybor Corp. v. FAS Tech., Inc., 138 F.3d 1448, 1456 (Fed. Cir. 1998) (applying de novo 15 review to all claim construction issues, even “allegedly fact-based questions”). 16 Executing the Markman mandate requires a court to interpret claims after giving the 17 appropriate level of consideration to various sources of evidence. 18 Intrinsic evidence, which includes the patent and its prosecution history, is the 19 primary source from which to derive a claim’s meaning. Phillips v. AWH Corp., 415 20 F.3d 1303, 1314 (Fed. Cir. 2005) (en banc). A patent is composed of three parts: (1) a 21 “written description,” which consists of an often lengthy exposition of the background of 22 ORDER- 7 1 the invention, at least one embodiment of the invention, and other written material that 2 assists in understanding how to practice the invention; (2) (in most cases) a set of 3 drawings that illustrates portions of the written description; and (3) the claims, which 4 delimit the scope of the invention. General Foods Corp. v. Studiengesellschaft Kohle 5 mbH, 972 F.2d 1272, 1274 (Fed. Cir. 1992). Together, these three components make up 6 the patent’s “specification.” 3 Atmel Corp. v. Info. Storage Devices, Inc., 198 F.3d 1374, 7 1384 (Fed. Cir. 1999); 35 U.S.C. § 112. 8 The prosecution history exists independently of the patent. It consists of the 9 inventor’s application to the United States Patent and Trademark Office (“PTO”) and all 10 correspondence between the PTO and the inventor documenting the invention’s progress 11 from patent application to issued patent. Vitronics Corp. v. Conceptronic, Inc., 90 F.3d 12 1576, 1582 (Fed. Cir. 1996). 13 In its review of intrinsic evidence, the court begins with the language of both the 14 asserted claim and other claims in the patent. Phillips, 415 F.3d at 1314; Biagro Western 15 Sales, Inc. v. Grow More, Inc., 423 F.3d 1296, 1302 (Fed. Cir. 2005) (“It is elementary 16 that claim construction begins with, and remains focused on, the language of the 17 claims.”). The court’s task is to determine the “ordinary and customary meaning” of the 18 terms of a claim through the eyes of a person of ordinary skill in the art on the filing date 19 of the patent. Phillips, 415 F.3d at 1313 (quoting Vitronics, 90 F.3d at 1582). 20 3 21 22 Although 35 U.S.C. § 112 includes the claims as part of the specification, many courts and practitioners use the term “specification” to refer to all portions of a patent except the claims. In most instances, the context will reveal what portion of the specification is at issue. ORDER- 8 1 Sometimes, the ordinary meaning is “readily apparent even to lay judges,” in which case 2 claim construction “involves little more than the application of the widely accepted 3 meaning of commonly understood words.” Id. at 1314. 4 The court must read claim language, however, in light of the remainder of the 5 specification. Id. at 1316 (“[T]he specification necessarily informs the proper 6 construction of the claims.”). In cases where the ordinary meaning of a claim term seems 7 apparent from its use in the claim, the court must consult the specification either to 8 confirm that meaning or to establish that the inventor intended a different meaning. 9 Superguide Corp. v. DirecTV Enters., Inc., 358 F.3d 870, 875 (Fed. Cir. 2004). If the 10 ordinary meaning is not apparent from its use in the claim, the court looks to the 11 specification to provide meaning. Johnson Worldwide Assocs., Inc. v. Zebco Corp., 175 12 F.3d 985, 990 (Fed. Cir. 1999). The specification acts as a “concordance” for claim 13 terms, and is thus the best source beyond claim language for understanding claim terms. 14 Phillips, 415 F.3d at 1315. The inventor is free to use the specification to define claim 15 terms as she wishes, and the court must defer to an inventor’s definition, even if it is 16 merely implicit in the specification. Id. at 1316 (“[T]he inventor’s lexicography 17 governs.”), 1320–21 (noting that a court cannot ignore implicit definitions). The court 18 should “rely heavily” on the specification in interpreting claim terms. Id. at 1317. 19 When the court relies on the specification, however, it must walk a tightrope 20 between properly construing the claims in light of the written description and the 21 “cardinal sin” of improperly importing limitations from the written description into the 22 claims. SciMed Life Sys., Inc. v. Advanced Cardiovascular Sys., Inc., 242 F.3d 1337, ORDER- 9 1 1340 (Fed. Cir. 2001); Phillips, 415 F.3d at 1323 (citing Comark Commc’ns, Inc. v. 2 Harris Corp., 156 F.3d 1182, 1186-87 (Fed. Cir. 1998)). A patentee often provides 3 examples or “embodiments” of his or her invention in the written description, but courts 4 may not limit the invention to an embodiment absent clear evidence that a patentee 5 “intends for the claims and the embodiments . . . to be strictly coextensive.” Phillips, 415 6 F.3d at 1323. 7 Although a patent’s prosecution history is also intrinsic evidence, it is “less useful 8 for claim construction purposes,” because it usually “lacks the clarity of the 9 specification.” Id. at 1317. The prosecution history is useful, however, in determining if 10 an inventor has disavowed certain interpretations of his or her claim language. Id. 11 Finally, the court can consider extrinsic evidence, “including expert and inventor 12 testimony, dictionaries, and learned treatises.” Id. (citing Markman v. Westview 13 Instruments, Inc., 52 F.3d 967, 980 (Fed. Cir. 1995)). Extrinsic evidence is usually “less 14 reliable than the patent and its prosecution history” as a source for claim interpretation. 15 Id. at 1318. The court thus need not admit extrinsic evidence, but may do so in its 16 discretion if intrinsic evidence does not disclose the meaning of a claim term. Id. at 17 1319; Vitronics, 90 F.3d at 1583 (“[W]here the public record unambiguously describes 18 the scope of the patented invention, reliance on any extrinsic evidence is improper.”). 19 With this general framework in mind, the court turns to the claim terms in dispute. 20 21 22 ORDER- 10 1 A. “First program that is executing on a computer”/ “second multi-module program” 2 The terms-in-dispute are found in asserted claim 1 of the ’936 Patent. The parties 3 offer the following proposed constructions: 4 REC’s Proposed Constructions: “First program that is executing on a 5 computer” means “a set of computer instructions running on a computer that enables the 6 computer to perform a specific operation or operations” and “second multi-module 7 program” means “a set of computer instructions that comprises two or more modules 8 and enables the computer to perform a specific operation or operations.” (Updated Joint 9 Claim Chart (Dkt. # 134-1) at 1. 4) 10 Defendants’ Proposed Constructions: The terms-in-dispute should be given 11 their ordinary meaning. 5 (Updated Claim Chart at 1.) 12 The central dispute between the parties is whether the word “program” must be 13 defined. Although the parties agree that the specification is silent with respect the word 14 “program,” they disagree as to how that silence is to be interpreted. Defendants contend 15 that the word has a well-understood meaning in the computer science field and therefore 16 needs no construction. (Microsoft Opening Br. at 9-10.) REC responds that without a 17 18 4 On January 11, 2012, after completion of Markman briefing, the parties filed a Joint Claim Chart containing updated proposed constructions for each disputed term. (Dkt. # 134-1.) 20 The court will rely on the proposed constructions contained in the updated Joint Claim Chart in this Markman order. 19 21 5 During the Markman hearing, for the first time, Microsoft provided the court with the following proposed construction of the word “program”: “The complete set of computer 22 instructions to perform a process.” (Transcript (Dkt. # 145) at 98-99.) ORDER- 11 1 construction, Microsoft is free to enlarge the scope of the word “program,” through 2 argument to the finder of fact, to encompass entire software products, which according to 3 REC constitute multiple “programs.” (REC Opening Br. at 17.) REC seeks to define the 4 word “program” through dictionary definitions. (Id.) 5 The court will construe the terms-in-dispute. Here, the parties have a genuine 6 dispute as to the scope of the word “program.” O2 Micro Intern. Ltd. v. Beyond 7 Innovation Technology Co., Ltd., 521 F.3d 1351, 1361 (Fed. Cir. 2008) (“In deciding that 8 ‘only if’ needs no construction because the term has a ‘well-understood definition,’ the 9 district court failed to resolve the parties’ dispute because the parties disputed not the 10 meaning of the words themselves, but the scope that should be encompassed by this 11 claim language.”) (internal quotations omitted). 12 Additionally, although the word “program” may readily be understood by one of 13 skill in the art, to a lay person finder-of-fact, the word has numerous meanings, e.g., a 14 computer program versus a baseball game program versus a television program. Thus, 15 construction of the term is appropriate. Id. (“A determination that a claim term ‘needs no 16 construction’ or has the ‘plain and ordinary meaning’ may be inadequate when a term has 17 more than one ‘ordinary’ meaning or when reliance on a term’s ‘ordinary’ meaning does 18 not resolve the parties’ dispute.”). 19 As is the case here, where the specification (and other intrinsic evidence) is silent 20 as to the word “program,” the court may refer to dictionary definitions for guidance. L.B. 21 Plastics, Inc. v. Amerimax Home Prods., 499 F.3d 1303, 1308 (Fed. Cir. 2007) (“Since 22 the intrinsic record provides no further guidance to the meaning of the terms ‘weld,’ ORDER- 12 1 ‘fuse’ or ‘ultrasonic or heat welding,’ the district court properly turned to extrinsic 2 evidence in this case and consulted dictionaries.” REC has provided the court with 3 numerous technical dictionary definitions for the word “program.” (REC Opening Br. at 4 17 (citing The Illustrated Dictionary of Microcomputers (3rd ed. 1990) (“A set of 5 instructions . . . directing the computer in performing a desired operation,”); Wiley Electr. 6 and Electr. Engineering Dictionary (2004) (“A set of instructions which . . . cause a 7 computer to perform specific operations.”).) The court finds that REC’s proposed 8 constructions for the terms-in-dispute closely align with the technical dictionary 9 definitions apt to define the word “program” in the context of the Patent-in-Suit. 10 Accordingly, the court adopts REC’s proposed constructions. “First program 11 that is executing on a computer” means “a set of computer instructions running on a 12 computer that enables the computer to perform a specific operation or operations” and 13 “second multi-module program” means “a set of computer instructions that comprises 14 two or more modules and enables the computer to perform a specific operation or 15 operations. 16 B. “code server” 17 The term “code server” is found in asserted claim 1 of the ’936 Patent and also in 18 numerous other claims of the Patent-in-Suit. As stated, the “code server” constitutes the 19 crux of the patented invention. The parties propose the following constructions for the 20 term-in-dispute: 21 REC’s Proposed Construction: “computer software that (i) is an identifiable set 22 of computer instructions other than the first program, and (ii) is capable of maintaining, ORDER- 13 1 and providing to the first program upon request, module information for one or more 2 modules of a multi-module program.” (Updated Joint Claim Chart at 1-2.) 3 Defendants’ Proposed Construction: “a disjoined task (separate process from 4 the first program) that maintains and provides to the first program upon request module 5 information for one or more modules of a multi-module program.” (Updated Claim 6 Chart at 1.) 7 While the parties agree that the function of the code server is to maintain and 8 provide to the first program module information for one or more modules of a multi9 module program, the parties’ competing constructions raise two distinct disputes: (1) 10 whether the code server is computer software that is capable of performing certain tasks 11 or process (REC’s position) or is itself a “task” or “process” (Defendants’ position), and 12 (2) the language to use in describing the distinction between the code server and the first 13 program. These issues are disused in turn below. 14 First, the court agrees with REC that the claim language and the specification 15 make clear that the code server is a thing, albeit an abstract thing, capable of performing a 16 task or tasks. The code server is found in the claim language of claim 1, a method claim: 17 “receiving in a code server from said first program, . . . a request associated with said 18 discrete module.” The plain claim language indicates that the code server is a thing 19 which receives a request from the first program as opposed to a task or process, as 20 Defendants contend. Consistent with the claim language, the specification describes the 21 code server as a thing, made up of various parts, which can perform a function. For 22 example, the specification states: “The code server, which provides information to users ORDER- 14 1 of the data processing system, includes an information storage table containing linkage 2 information needed to form an association between discrete modules of code . . . .” (’936 3 Patent at 2:13-16.) 4 Defendants direct the court to the following passage of the specification, which 5 Defendants assert supports their construction: 6 7 8 The code server is embodied in a transaction oriented protocol for communication between the user and the code server which allows the users and the code server to be on two remote computer systems or to be configured as separate disjoined tasks in a multi-processing system on a single computer. 9 (Microsoft Opening Br. at 10 (citing ’936 Patent at 3:21-26).) As REC correctly points 10 out, this passage from the specification describes a possible configuration of the code 11 server and the user computer(s), but does not describe the code server itself. Thus, 12 Defendants’ reliance on this passage is misplaced. The court concludes that the code 13 server is more aptly described as a thing as opposed to a process or task. 14 With respect to the second dispute, although the parties agree that the code server 15 is distinct from the first program, REC and Defendants disagree as to the language for 16 describing this distinction. REC seeks to describe the distinction as “an identifiable set of 17 instructions other than the first program,” whereas Defendants describe the distinction as 18 a “separate process from the first program.” (REC Opening Br. at 19; Microsoft Opening 19 Br. at 11.) Essentially, the dispute turns on whether the word “other” or the word 20 “separate” should be used to describe the distinction. 21 REC contends that if the court accepts Defendants’ proposed construction, 22 Defendants will be free to argue that for the code server to be separate from the first ORDER- 15 1 program either (1) the code server and first program may not interact, or (2) the code 2 server and first program must not reside on the same memory hardware. (REC Opening 3 Br. at 20.) REC contends that both of these arguments, as an extension of Defendants’ 4 proposed construction, are incorrect. (Id.) The court agrees with REC on both accounts. 5 The claim language and the specification clearly indicate that the first program and the 6 code server will interact. (‘’936 Patent at Claim 1 (“receiving in a code server from said 7 first program”).) Additionally, the code server and the first program may exist on the 8 same hardware. (’936 Patent at 3:21-26 (“the user and the code server [may] be on two 9 remote computer systems or . . . on a single computer.”).) This is not to say that the code 10 server and the first program are the same. Indeed, they are certainly distinct from one 11 another. As Defendants explain, Figures 1 and 3 of the specification explicitly depict the 12 code server as distinct from the requesting (or user) program. (Microsoft Opening Br. at 13 11.) 14 Returning to the parties’ dispute, the court is concerned that Defendants’ choice of 15 “separate” affords Defendants the opportunity to improperly argue, as it does in its brief, 16 that the code server and first program are completely isolated from one another. (See id. 17 at 11.) On the other hand, REC’s use of the word “other” fails to capture the requisite 18 distinction required by the specification of the ’936 Patent. Accordingly, the court 19 believes that the word “different” properly captures the relationship between the code 20 server and the first program. 21 As a final matter, Defendants argue that REC’s inclusion of the phrase “an 22 identifiable set of computer instructions” in its definition of code server lacks supporting ORDER- 16 1 intrinsic evidence. The court has fully examined the specification of the ’936 Patent and 2 finds that the specification fails to provide a clear definition of code server, instead 3 consistently defining the term by its functionality and purpose. (See generally ’936 4 Patent.) In such a situation, the court will adopt a “construction that stays true to the 5 claim language and most naturally aligns with the patent’s description of the invention.” 6 Phillips, 415 F.3d at 1316. Here, the court finds that the code server is a piece of 7 software—a computer program. The specification makes clear that the code server may 8 be a separate piece of hardware, be built into the network, or be a part of the operating 9 system itself. (’936 Patent at 3:17-20.) Logically, functions performed through hardware 10 will be the result of the execution of a computer program. Moreover, the claim language 11 and specification recite interaction between the code server and the first program, which 12 seemingly could only occur if the code server was a computer program itself. Having 13 already defined the word “program” as a set of computer instructions, the court finds 14 REC’s inclusion of the phrase “an identifiable set of computer instructions” accurate and 15 helpful to the finder of fact. Indeed, the word “identifiable” assists the finder of fact in 16 distinguishing the code server from the first program. 17 In conclusion, based on the claim language and the specification, the court gives 18 the term “code server” the following construction: “an identifiable set of computer 19 instructions, different than the first program, which maintains and provides to the first 20 program upon request module information for one or more modules of a multi-module 21 program.” 22 ORDER- 17 1 C. “searching a module information table for module information in response to said request associated with said discrete module.” 2 The term-in-dispute is found in asserted claim 1 of the ’936. The parties propose 3 the following constructions: 4 REC’s Proposed Construction: “in response to a request that includes an 5 identification of the discrete module, the code server searches for module information in 6 the module information table pertaining to the discrete module.” (Updated Joint Claim 7 Chart at 2.) 8 Defendants’ Proposed Construction: “in response to a request that includes an 9 identification of the discrete module, the code server searches for module information in 10 the module information table pertaining to the discrete module and any referenced 11 modules.” 6 (Id. at 2.) 12 Here, the parties’ dispute is clear: whether the term-in-dispute requires (1) search 13 for module information pertaining to the discrete module (REC’s position) or (2) search 14 for module information pertaining to the discrete module and to any modules referenced 15 by the discrete module (Defendants’ position). (Id. at 2 (emphasis added).) The parties’ 16 proposed constructions mirror one another except that Defendants’ construction requires 17 18 6 In it opening brief, Defendants proposed the following construction for the term-indispute: “in response to a request that includes an identification of the discrete module, the code 20 server searches for any and all module information in the module information table pertaining to the discrete module and any referenced modules.” (Microsoft Opening Br. at 14; REC Opening 21 Br. at 7.) REC disputed the “any and all” limitation contained in Defendants’ construction, and in its responsive claim construction brief, Defendants removed the “any and all” language from its original proposal. (Microsoft Resp. Br. (Dkt. # 124) at 13.) Therefore, the court no longer 22 must resolve this dispute. 19 ORDER- 18 1 a search not only for information pertaining to the discrete module, but additionally, for 2 any modules referenced by the discrete module. Both parties cite to intrinsic evidence in 3 support of their constructions. (See REC Opening Br. at 7-10; Microsoft Opening Br. at 4 14-16.) The court discusses the intrinsic evidence below, which it finds dispositive of the 5 proper construction, and for the reasons set forth below, the court agrees with REC’s 6 proposed construction. 7 First, REC argues that an ordinary reading of the claim language supports its 8 proposed construction. (REC Opening Br. at 8.) Essentially, REC argues that “searching 9 a module information table for module information” per a request as to a discrete module 10 ordinarily means that a search of that discrete module occurs, and not a search of modules 11 referenced by the discrete module. (Id.) REC provides an example of a library which 12 maintains an information table on each of its books. According to REC’s example, if the 13 someone was to search the library’s information table as to the book Lincoln the Lawyer, 14 it would ordinarily mean that a search was conducted for information on Lincoln the 15 Lawyer, but not necessarily all books referenced by Lincoln the Lawyer. (Id.) 16 Defendants respond that claim construction should not be performed by isolating the 17 claim language from the specification, and when the term-in-dispute is read in light of the 18 intrinsic evidence, its construction that requires the search to look for “any referenced 19 module” is supported. (Microsoft Reply Br. at 13-14.) Here, the court is persuaded that 20 an ordinary reading of the claim language favors REC’s construction, but agrees with 21 Defendants that the term-in-dispute must be read in light of the remaining intrinsic 22 evidence. ORDER- 19 1 The court turns to the specification. Both parties principally cite to the same 2 passage: “a request by a user for a particular code module will immediately locate all of 3 the associate information pertaining to that module in the code module information 4 table.” (’936 Patent at 4:31-35; REC Opening Br. at 10; Microsoft Reply Br. at 14.) 5 Unsurprisingly, REC emphasizes the phrase of the passage “pertaining to that module,” 6 to argue that the search is limited to the requested module. In response, Defendants 7 emphasize the phrase “locate all of the associate information” to argue that all of the 8 information associated with the requested module must be searched including all modules 9 referenced by the requested module. The court finds that the natural reading of this 10 passage of the specification supports REC’s construction. Here, as REC asserts, the 11 phrase “pertaining to that module” strongly indicates a search of the information table 12 limited to the code module subject to the request. Although Defendants’ interpretation of 13 the passage is plausible, the court finds it forced. It is apparent that had the patentee 14 intended the search to include the requested module as well as all of the referenced 15 modules, it would have stated so in the passage. Instead the patentee chose to describe 16 his invention by limiting the search to “that module.” 17 Indeed, throughout the specification, the patentee makes clear when it is 18 referencing module information (also described as “associative information” or “linkage 19 information”) for a specific module as opposed to module information for any referenced 20 modules. For instance, in describing Figure 2 (shown above), the specification states, 21 “The main code module includes linkage information linking it with code module A, 22 code module B, and code module C.” (’936 Patent at 4:13-15.) Examining Figure 2 ORDER- 20 1 demonstrates that the main code module links to modules A, B, and C. (Id. at Figure 2.) 2 Thus, in accord with REC’s proposed construction, the specification described the 3 linkage information as only the information included in the specific module. For 4 Defendants’ proposed construction to be correct, the specification would have described 5 the linkage information as not only modules A, B, and C, but also the modules referenced 6 by modules A, B, and C. By contrast, when the patentee sought to describe the module 7 and its referenced modules, it did so expressly. For example, when referring to all of the 8 linkage information of Figure 2, the specification states, “Collectively the linkage 9 information referred to above forms an associative set for the main code module and code 10 modules A through E. (Id. at 4:25-27.) In sum, in describing its invention, the patentee 11 differentiated between module information relating to a specific module and module 12 information related to collective or referenced modules. As such, the disputed passage, 13 which recites a discrete module, supports REC’s position that the search is for only the 14 information related to that discrete module. 15 Citing to the Abstract of the specification, Defendants also argue that because the 16 stated purpose of the invention is to “relieve the first program [user] of the task of 17 searching for modules and extracting linkage information,” it would be pointless to 18 search for only a portion of the associative information stored in the module information 19 table. (Microsoft Opening Br. at 14-15.) The court acknowledges that in certain 20 instances a search for information pertaining to the discrete module and the referenced 21 modules may be advantageous. But, as explained above, the claim language and the 22 specification do not place such a limitation on the term-in-dispute. Here, the court ORDER- 21 1 declines to read a limitation into the claims based on an advantageous configuration of 2 the patented invention not required by the intrinsic evidence. 3 In conclusion, having found that the claim language and the specification require 4 only that the search be performed for information related to discrete, requested module, 5 the court gives the term-in-dispute the following construction: “in response to a request 6 that includes an identification of the discrete module, the code server searches for module 7 information in the module information table pertaining to the discrete module.” 7 8 D. ”forming an association of said multi-module program by said first program” 9 The disputed term is found in asserted claim 1 of the ‘’936 Patent. The parties 10 propose the following constructions: 11 REC’s Proposed Construction: “The first program forms a data structure with 12 information concerning how one or more modules of the second multi-module program 13 link to one or more other modules.” (Updated Joint Claim Chart at 2.) 14 Defendants’ Proposed Construction: “The first program creates a table 15 containing all dynamic links for every module that the second multi-module program will 16 ever need.” (Id. at 2.) 17 18 7 19 20 21 22 With little explanation, Defendants also argue that the specification describes an iterative search process, whereby the search process does not stop until all references pertaining to the requested module are located. (Microsoft Reply at 14.) Defendants cite to Figure 3 of the Patent-in-Suit as well as passages from the specification describing Figure 3. (Id.) The court has examined Defendants’ citations and finds Defendant’s reliance on the citations misplaced in the context of the term-in-dispute, which relates to the search performed by the code server. Defendants’ citations relate to an iterative process performed by the user computer, and not to an iterative process performed by the code server, and therefore are not relevant to the term-indispute. ORDER- 22 1 REC aptly describes the parties’ disputes as two minor disputes and one primary 2 dispute. (REC Opening Br. at 11.) The first minor dispute is whether the phrase 3 “forming an association” found in the term-in-dispute should be described as “how 4 modules link to other modules” (REC’s position) or “dynamic links” (Defendants’ 5 position). The second minor dispute is whether the phrase “forms a data structure” 6 (REC’s position) or “creates a table” (Defendants’ position) properly defines the 7 “forming an association” set forth in the claim language. Finally, the major dispute is 8 over whether “an association” may include linkage information for only part of a 9 complete program (REC’s position) or whether “an association” must include linkage 10 information “for every module that the second multi-module program will ever need 11 (Defendants’ position). The court discusses the three disputes in turn. 12 i. 13 REC supports its proposed language by a passage in the specification, which “how modules link to other modules” vs. “dynamic links” 14 states, “modules contain linkage information which point[s] to additional modules and 15 which collectively forms an association.” (REC Opening Br. at 11 (citing ’936 Patent at 16 3:14-16).) In response, Defendants assert that during prosecution of the parent patent to 17 the ’936 Patent, the patentee described the association in terms of “dynamic links.” 18 (Microsoft Opening Br. at 16-18.) Defendants provide various excerpts from the 19 prosecution history, but principally cite to the following portion, which is provided 20 without ellipses for context: 21 22 Dynamic links which are used in conjunction with forming an association, as that term is defined by the present invention and used in applicant’s specification and claims, generally refer to linkages used in ORDER- 23 1 2 3 4 5 6 7 8 9 10 11 12 13 operating systems such as OS/2 from IBM or Windows 3.x from Microsoft, for the loading and execution of code modules. In principle, under such systems code modules are simply read into memory by the operating system just prior to the multi-module program’s execution in order to extract module information so as to determine the multi-module program’s interrelationships between the code modules, and few modifications, if any, are made to the code modules themselves. The code modules, unlike the process of linking, do not address the other code modules directly, but instead address internal tables built within the operating system itself, i.e., tables of dynamic links. These dynamic link tables act under control of the operating system as an intermediary addressing the other code modules. For example, using such dynamic link tables provide the added advantage of not requiring that all the code modules be loaded into memory while determining the interconnections between them. Another advantage of using dynamic link tables, over simply linking and loading as described by Tennant, is that the code modules may be moved without requiring the referencing modules to be changed, because references are effected via the dynamic link tables which, in turn, represent and address the other code modules. When a referenced code module is moved, the dynamic link tables are simply updated to reflect its new location. As used in the specification and claims, applicant refers to the creation by the operating system of the dynamic link tables necessary for the execution of a multi-mode program as “association”. [sic] In contrast, the process of linking and loading code pieces, as described by Tennant, is not what applicant’s invention refers to as association and Tennant’s process is directed to a system that is much more limited in nature. 14 (Microsoft Opening Br. at 18 (citing Prosecution History (Dkt. # 112-11) at 6-7 (bolding 15 and underlining in original).) The patentee made these statements to the United States 16 Patent and Trademark Office (“PTO”) in an effort to overcome a rejection of two pieces 17 of prior art, “Tennant” and “Terada.” (See Prosecution History at 3.) 18 Without citing the relevant law, Defendants apparently rely on this excerpt to 19 invoke the doctrine of prosecution disclaimer and argue that REC disavowed a 20 construction of “forming an association” to include anything other than “dynamic links.” 21 (Id. at 17 (“REC distinguished its technique of ‘forming an association,’ which REC told 22 ORDER- 24 1 the PTO in no uncertain terms involved ‘dynamic linking,’ over the prior art Tennant in 2 order to gain allowance. No backsies.”).) “[S]tatements made during prosecution 3 may . . . affect the scope of the invention.” Rexnord Corp. v. Laitram Corp., 274 F.3d 4 1336, 1343 (Fed. Cir. 2001). Specifically, “a patentee may limit the meaning of a claim 5 term by making a clear and unmistakable disavowal of scope during prosecution.” 6 Purdue Pharma L.P. v. Endo Pharms., Inc., 438 F.3d 1123, 1136 (Fed. Cir. 2006). A 7 patentee could do so, for example, by clearly characterizing the invention in a way to try 8 to overcome rejections based on prior art. See, e.g., Microsoft Corp. v. Multi-Tech Sys., 9 Inc., 357 F.3d 1340, 1349 (Fed. Cir. 2004). 10 Having carefully reviewed the portions of the prosecution history cited by 11 Defendants, as well as the entire prosecution record at the PTO placed before the court, 12 the court can find no statements by the patentee clearly disavowing an association of 13 everything but “dynamic links.” 8 Instead, the patentee distinguished the prior art 14 (Tennant and Terada) by arguing that its invention “assists in the association of a multi15 module program,” utilized in dynamic linking, whereas the prior art merely taught linking 16 and loading the modules themselves without the patented code server and information 17 table to assist. (Prosecution History at 8.) Said a different way, the patentee argued that 18 the prior art related to traditional static linking, whereas the novelty of the invention was 19 20 8 As used throughout the specification and in the prosecution history, the term “dynamic link” is a term of art describing the references between discrete modules in a dynamic linking 21 operating system. Limiting the term-in-dispute by a term of art may have the undesirable effect of narrowing the scope of the claim to accused products which reference themselves by that term 22 of art. ORDER- 25 1 the code server, including a module information table, to assist in creating an association 2 for a multi-module program in a dynamic linking environment. (Id. at 3 and 4 (“The 3 executable program thus created by Tennant is a single file that is static in nature, 4 meaning that the one executable linked file contains all the code pieces . . . .”) 5 (underlining in original).) Thus, the patentee distinguished its invention through the 6 novelty of assisting in the formation of an “association.” In making this distinction, the 7 patentee described the association as comprised of “dynamic links.” This is not a 8 situation for prosecution disclaimer. Computer Docking Station Corp. v. Dell, Inc., 519 9 F.3d 1366, 1374-75 (Fed. Cir. 2008) (“Prosecution disclaimer does not apply to an 10 ambiguous disavowal. Prosecution disclaimer does not apply, for example, if the 11 applicant simply describes features of the prior art and does not distinguish the claimed 12 invention based on those features.”). 13 Although the court finds that the patentee did not disavow all associations except 14 for dynamic links, “the statements [in the prosecution history] may offer interpretative 15 assistance to the court in construing a particular claim.” Prima Tek II, L.L.C. v. Polypap, 16 S.A.R.L., 318 F.3d 1143, 1149 (Fed. Cir. 2003). Here, the patentee’s repeated references 17 to the term “dynamic links” when describing the claimed “association” makes clear that 18 the patentee expected the association to be made up of dynamic links. Accordingly, the 19 court will incorporate the term “dynamic links” into the definition of the term-in-dispute 20 as an example of what may constitute an “association.” 21 22 ORDER- 26 1 ii. 2 In the second minor dispute, the parties disagree on the proper description for the “forms a data structure” vs. “creates a table” 3 phrase “forming an association,” found in the term-in-dispute. REC finds support for its 4 construction in dictionary definitions. (REC Opening Br. at 11-12.) REC further argues 5 that its proposed language—“forms a data structure”—will be less likely to confuse a 6 jury than Defendants’ proposed language. (Id.) Specifically, REC asserts that the word 7 “table,” found in Defendants’ proposed language, imputes rows and columns to the 8 structure of the “association,” which REC contends has no support in the record. (Id.) 9 Defendants disagree that the word “table” is more likely to confuse a jury than the term 10 “data structure,” and further argue that the specification supports a construction including 11 the word “table.” (Microsoft Resp. Br. at 18.) Here, the court agrees with REC. 12 As an initial matter, Defendants reliance on the specification is wholly misplaced. 13 Defendants direct the court to various portions of the specification which reference the 14 word “table.” (Id. at 17-18.) Each and every one of Defendants’ citations refer to the 15 code module information table, found in the claim language. (Id.) The code module 16 information table is certainly a table, but it is also certainly distinct from the 17 “association,” that is formed. Indeed, it is the code module information table which 18 assists in creating the “association” by the “first program” or user. (See ’936 Patent at 19 Claim 1 (“(c) in response to finding said module information in said module information 20 table, reading said module information; (d) providing said module information in a 21 response to said first program; and (e) forming an association of said multi-module by 22 said first program.”) (emphases added).) Therefore, that the specification describes the ORDER- 27 1 code module information table as a “table” is irrelevant to the correct structure of the 2 “association.” 3 It appears that once again the specification is of little guidance in determining the 4 structure of the association. As stated, in such a situation, the court will adopt a 5 “construction that stays true to the claim language and most naturally aligns with the 6 patent’s description of the invention.” Phillips, 415 F.3d at 1316. Here, the claim 7 language leaves little doubt that the “association” is formed by the first program (the user 8 program). Having already defined the word “program” as a set of computer instructions, 9 it is logical that any creation of a computer program will be some sort of “data structure,” 10 as set forth by REC. Moreover, such a description of “association” aligns with the 11 overall nature of the Patent-in-Suit. 12 iii “one or more modules of the program” vs. “every module that the program will ever need” 13 The major issue between the parties turns on whether an “association,” as recited 14 in the claim language, must include linkage information “for every module that the 15 second multi-module program will ever need,” or may include linkage information for 16 “just parts of” the second multi-module program. REC argues that the claim language 17 and specification support a construction of “association” including linkage information 18 for only parts of a complete second multi-module program (as well as linkage 19 information for the entire second multi-module program). (REC Opening Br. at 12.) 20 Defendants respond that the prosecution history dictates a limiting construction of 21 “association” requiring an “association” to include linkage information for every module 22 ORDER- 28 1 the second multi-module program will ever need. (Microsoft Opening Br. at 18-19.) The 2 court addresses the parties’ arguments in turn. 3 The court agrees with REC that the claim language supports a construction of 4 “association” including linkage information for only parts of a complete second multi5 module program. Claim 1 of the’936 Patent recites a method “for forming an 6 association” comprised of five distinct steps, (a) through (e). (See ’936 Patent at Claim 7 1.) The method begins with step (a) and “receiving . . . a request associated with said 8 discrete module.” The claim language of step (a) describes one discrete module, as 9 opposed to a request for every module the second multi-module program will ever need. 10 Next, step (b) is “searching . . . for module information in response to said requested 11 associated with said discrete module.” The court has already construed this term (supra § 12 III.C) to require only a search for linkage information related to the discrete module (and 13 not also a search for information of modules referenced by the discrete module). In 14 response to finding module information through the search of step (b), step (c) reads the 15 module information. Again, step (c) relates to only reading information related to the 16 discrete module. Then, step (d) provides the module information to the first program. 17 Logically, the module information provided by step (d) is only that of the discrete 18 module. Finally, in step (e) the first program forms an association of the second multi19 module program. Because each of the aforementioned steps (a) through (d) pertain only 20 to a discrete module, the only conclusion is that the formed “association” also pertains 21 only to the discrete module. Thus, the claim language supports a construction of 22 ORDER- 29 1 “association” including linkage information for only parts of a complete second multi2 module program, indeed, only a discrete module of the second multi-module program. 3 Consistent with the claim language, the specification expressly contemplates an 4 “association” comprised of less than a complete second multi-module program. REC 5 aptly directs the court to the following two passages from the specification (REC 6 Opening Br. at 12.): 7 8 “The code server . . . includes an information storage table containing linkage information needed to form an association between discrete modules of code forming at least parts of a coded program.” 9 (’936 Patent at 2:12-18 (emphasis added).) And, also: 10 11 “[T]hese modules contain linkage information which point to additional modules and which collectively forms an association linking together at least parts of a complete program.” 12 (Id. at 3:14-16 (emphasis added).) These passages make clear that the “association” need 13 not constitute the entire second multi-module program, but can be something less, such as 14 “parts of a complete program.” Thus, the court finds that the specification supports 15 REC’s position. 9 16 17 9 The parties partake in a dispute as to the iterative nature of the invention. Defendants 18 argue that the iterative nature of the invention indicates that the “association” created constitutes 19 20 21 22 all the linkage information the second multi-module program will ever need. Principally, the parties argue over Figure 3 of the ’936 Patent. The court has examined Figure 3 and the portions of the specification explaining Figure 3 and finds them ambiguous as the iterative nature of the invention. On one hand, the flow chart in Figure 3 may be interpreted such that the “user” program continues a search until it knows all of the linkage information of the second multimodule program. On the other hand, as the claim language and specification indicate that the “user” program may request discrete modules or only part of the complete second multi-module program, the Figure may be interpreted to mean that the “user” program continues a search until it knows all of the linkage information that it seeks via its current search, which could be less ORDER- 30 1 Nevertheless, Defendants assert, again without citing the relevant law, that the 2 prosecution history dictates a limited scope for the term-in-dispute requiring an 3 “association” to include linkage information “for every module that the second multi4 module program will ever need.” (Microsoft Opening Br. at 18-19.) Here, again, 5 Defendants seek to limit the scope of a term based on the prosecution history, thereby 6 invoking the doctrine of prosecution disclaimer set forth above. Defendants again 7 principally rely on the same passage from the prosecution history (supra § III.D.i), and 8 particularly on the following sentence: “As used in the specification and claims, 9 applicant refers to the creation by the operating system of the dynamic link tables 10 necessary for the execution of a multi-mode program as ‘association’.” (Microsoft 11 Opening Br. at 18-19.) Keying on the word “necessary,” Defendants assert that the 12 “association” must include “all dynamic links necessary for the execution of the 13 program.” (Id.) 14 The court has examined Defendants’ cited sentence within the context of the 15 prosecution history and does not find that it amounts to a clear disavowal of claim scope. 16 In Defendants cited prosecution reference, the patentee was generally arguing to 17 overcome a rejection of the Tennant and Terada prior art. (See generally Prosecution 18 History.) The patentee made two general arguments to overcome that prior art. First (as 19 explained, supra § III.D.i), the patentee argued that the prior art did not teach any tool, 20 such as a code server and code module information table, for assisting in the formation of 21 than a completed second multi-module program. Thus, because of this ambiguity, the court finds 22 that Figure 3 has little relevance to its construction of the term “association.” ORDER- 31 1 an association. (See Prosecution History at 8 (“Tennant only teaches the linking and 2 loading of programs . . . distinguished from applicant’s claimed system which assists in 3 the formation of an association.”).) Second, the patentee argued that in the prior art the 4 operating system itself read code modules directly in order to extract the module 5 information for creating the association. (Prosecution History at 6 (in the prior art, “code 6 modules are simply read into memory by the operating system . . . in order to extract 7 module information so as to determine the multi-module program’s interrelationships 8 between the code modules”).) But, in the patented invention, the code modules are not 9 accessed directly to determine linkage information, but instead through internal tables 10 which contain information about the relationships between the code modules. (Id. at 6-7 11 (“The code modules, unlike the process of linking do not address other code modules 12 directly, but instead address internal tables built within the operating system itself, i.e., 13 tables of dynamic links.”).) Importantly, at no point did the patentee distinguish the prior 14 art on the basis that its invention provides for an association containing all the linkage 15 information the second program will ever need, whereas the prior art only taught creating 16 an association for less than all of the linkage information the second program will ever 17 need. In fact, at no point in the prosecution history did the patentee even distinguish the 18 prior art based on the amount of module information that constitutes an “association.” 19 Here, Defendants only argue that the patentee’s description of “association” as 20 “necessary for the execution of a multi-mode program” limited the scope of the term to 21 “every module that the second multi-module program will ever need.” The court 22 disagrees. This statement by the patentee did not disclaim an association that includes ORDER- 32 1 some linkage information necessary for execution of the multi-module program. 2 Certainly, an association including only some of the linkage information for an entire 3 multi-module program will still be necessary for execution of the multi-module program. 4 At most this statement is ambiguous as to the amount of module information constituting 5 an association. Sandisk Corp. v. Memorex Prods., 415 F.3d 1278, 1287 (Fed. Cir 2005 6 (“There is no ‘clear and unmistakable’ disclaimer if a prosecution argument is subject to 7 more than on reasonable interpretation.”); Golight, Inc. v. Wal-Mart Stores, Inc., 355 8 F.3d 1327, 1332 (Fed. Cir. 2004) (holding that statements in the prosecution history 9 subject to multiple interpretations do not constitute a clear and unmistakable disavowal). 10 And, as explained, the statement in question was not made to distinguish the invention 11 from the prior art. Thus, the court cannot find that REC clearly disavowed the scope of 12 the term “association” as Defendants suggest. See Computer Docking Station., 519 F.3d 13 at 1374-75. 14 In accord with the foregoing, the court construes the term “forming an association 15 of said multi-module program by said first program” to mean “the first program forms a 16 data structure with information (such as dynamic links) concerning how one or more 17 modules of a second multi-module program link to one or more other modules.” 18 IT IS SO ORDERED. 19 Dated this 1st day of May, 2012. 21 A 22 JAMES L. ROBART United States District Judge 20 ORDER- 33

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?