From Casetext: Smarter Legal Research

MATHWORKS, INC. v. COMSOL AB COMSOL, INC.

United States District Court, E.D. Texas, Tyler Division
Feb 12, 2008
CASE NO. 6:06CV334 PATENT CASE (E.D. Tex. Feb. 12, 2008)

Opinion

CASE NO. 6:06CV334 PATENT CASE.

February 12, 2008


MEMORANDUM OPINION


This Memorandum Opinion construes the terms in United States Patent No. 7,051,338 (the "`338 Patent").

BACKGROUND

The `338 Patent issued on May 23, 2006 and claims a method and apparatus that facilitate invoking object methods defined within an object-oriented environment from an array-based technical computing environment, the type of environment often used in conventional mathematical tools. The invention first retrieves a set of method signatures from object methods, where each method signature includes the method's name and lists the data types of the method's input parameters. The invention then compares the data types of each method's input parameters to the data types of the input parameters the array-based environment will pass to the method. The invention executes this comparison to determine the suitability of each method to receive the input parameters from the array-based environment. Based upon the determined suitability of each method, the invention ranks the method signatures and selects one method signature according to the ranking. Finally, the invention invokes the method that corresponds to the selected method signature.

The Math Works, Inc. ("Math Works") alleges Comsol AB and Comsol, Inc. (collectively, "Comsol") infringe various claims of the `338 Patent. At the Markman hearing, counsel for Comsol agreed to Math Works's construction for the remaining disputed terms except for "rank[s] [ranking] the method signatures" and "the ranking."

APPLICABLE LAW

"It is a `bedrock principle' of patent law that `the claims of a patent define the invention to which the patentee is entitled the right to exclude.'" Phillips v. AWH Corp., 415 F.3d 1303, 1312 (Fed. Cir. 2005) (en banc) (quoting Innova/Pure Water Inc. v. Safari Water Filtration Sys., Inc., 381 F.3d 1111, 1115 (Fed. Cir. 2004)). In claim construction, courts examine the patent's intrinsic evidence to define the patented invention's scope. See id.; C.R. Bard, Inc. v. U.S. Surgical Corp., 388 F.3d 858, 861 (Fed. Cir. 2004); Bell Atl. Network Servs., Inc. v. Covad Commc'ns Group, Inc., 262 F.3d 1258, 1267 (Fed. Cir. 2001). This intrinsic evidence includes the claims themselves, the specification, and the prosecution history. See Phillips, 415 F.3d at 1314; C.R. Bard, Inc., 388 F.3d at 861. Courts give claim terms their ordinary and accustomed meaning as understood by one of ordinary skill in the art at the time of the invention in the context of the entire patent. Phillips, 415 F.3d at 1312-13; Alloc, Inc. v. Int'l Trade Comm'n, 342 F.3d 1361, 1368 (Fed. Cir. 2003).

The claims themselves provide substantial guidance in determining the meaning of particular claim terms. Phillips, 415 F.3d at 1314. First, a term's context in the asserted claim can be very instructive. Id. Other asserted or unasserted claims can also aid in determining the claim's meaning because claim terms are typically used consistently throughout the patent. Id. Differences among the claim terms can also assist in understanding a term's meaning. Id. For example, when a dependent claim adds a limitation to an independent claim, it is presumed that the independent claim does not include the limitation. Id. at 1314-15.

"[C]laims `must be read in view of the specification, of which they are a part.'" Id. (quoting Markman v. Westview Instruments, Inc., 52 F.3d 967, 979 (Fed. Cir. 1995) (en banc)). "[T]he specification `is always highly relevant to the claim construction analysis. Usually, it is dispositive; it is the single best guide to the meaning of a disputed term.'" Id. (quoting Vitronics Corp. v. Conceptronic, Inc., 90 F.3d 1576, 1582 (Fed. Cir. 1996)); Teleflex, Inc. v. Ficosa N. Am. Corp., 299 F.3d 1313, 1325 (Fed. Cir. 2002). This is true because a patentee may define his own terms, give a claim term a different meaning than the term would otherwise possess, or disclaim or disavow the claim scope. Phillips, 415 F.3d at 1316. In these situations, the inventor's lexicography governs. Id. Also, the specification may resolve ambiguous claim terms "where the ordinary and accustomed meaning of the words used in the claims lack sufficient clarity to permit the scope of the claim to be ascertained from the words alone." Teleflex, Inc., 299 F.3d at 1325. But, "`[a]lthough the specification may aid the court in interpreting the meaning of disputed claim language, particular embodiments and examples appearing in the specification will not generally be read into the claims.'" Comark Commc'ns, Inc. v. Harris Corp., 156 F.3d 1182, 1187 (Fed. Cir. 1998) (quoting Constant v. Advanced Micro-Devices, Inc., 848 F.2d 1560, 1571 (Fed. Cir. 1988)); see also Phillips, 415 F.3d at 1323. The prosecution history is another tool to supply the proper context for claim construction because a patent applicant may also define a term in prosecuting the patent. Home Diagnostics, Inc., v. Lifescan, Inc., 381 F.3d 1352, 1356 (Fed. Cir. 2004) ("As in the case of the specification, a patent applicant may define a term in prosecuting a patent.").

Although extrinsic evidence can be useful, it is "`less significant than the intrinsic record in determining the legally operative meaning of claim language.'" Phillips, 415 F.3d at 1317 (quoting C.R. Bard, Inc., 388 F.3d at 862). Technical dictionaries and treatises may help a court understand the underlying technology and the manner in which one skilled in the art might use claim terms, but technical dictionaries and treatises may provide definitions that are too broad or may not be indicative of how the term is used in the patent. Id. at 1318. Similarly, expert testimony may aid a court in understanding the underlying technology and determining the particular meaning of a term in the pertinent field, but an expert's conclusory, unsupported assertions as to a term's definition is entirely unhelpful to a court. Id. Generally, extrinsic evidence is "less reliable than the patent and its prosecution history in determining how to read claim terms." Id.

RANK

Claims 1, 2, 15, and 16 contain the terms "rank[s] [ranking] the method signatures" and "the ranking." Math Works contends "rank[s] [ranking] the method signatures" means "to assign to a particular class the method signatures" and "the ranking" means "assignment to a particular class." Comsol contends "rank[s] [ranking] the method signatures" means "place[s] [placing] the method signatures in an ordered manner relative to one another" and "the ranking" means "the list of method signatures placed in an ordered manner relative to one another."

The ordinary meaning of "rank" requires an ordinal relationship between ranked items and allows items to have an equal rank. The claims use the terms "rank[s] [ranking]" and "the ranking" in accordance to their ordinary meanings and require the "rank[s] [ranking]" step to do more than simply determine whether a method is "suitable" or "unsuitable."

The claims require a determination of each method's suitability before execution of the "rank[s] [ranking]" step. Courts generally do not construe method claims to require the method be performed in the order written. Altiris, Inc. v. Symantec Corp., 318 F.3d 1363, 1369 (Fed. Cir. 2003) (quoting Interactive Gift Express, Inc. v. Compuserve Inc., 256 F.3d 1323, 1342-43 (Fed. Cir. 2001)). However, courts limit a method claim to cover only methods performed in the order written if the method steps actually recite an order. Id. If the method steps do not actually recite an order, courts may limit a method claim to cover only methods performed in the order written if the method steps implicitly require that they be performed in the order written. Id.

Method steps implicitly require performance in the order written in two instances. First, method steps implicitly require sequential performance if the claim language, as a matter of logic, requires the steps be performed in the order written. Id. at 1369-70. (citing Interactive Gift, 256 F.3d at 1343). Second, if, as a matter of logic, the claim language does not require the steps be performed in the order written, method steps implicitly require sequential performance if the specification "directly or implicitly requires such a narrow construction." Id. at 1370 (quoting Interactive Gift, 256 F.3d at 1343).

Claim 1 claims, in part, a method that comprises the following steps: "retrieving a set of method signatures for a method referenced in a requested method invocation"; "comparing the data types of input parameters of each method represented by the signatures to data types of input parameters passed by the requested method invocation to determine suitability of each method to receive input parameters passed by the requested method invocation"; "ranking the method signatures based on the determined suitability of each method represented by the signatures to receive the input parameters passed by the requested method invocation"; and "selecting one of the method signatures according to the ranking." `338 Patent, col. 8:56-col. 9:15. Claim 15, which claims a computer program comprising instructions operable to cause a programmable processor to perform a method, contains similar limitations. Id. at col. 10:12-43.

The method steps do not recite an actual order. However, logic requires performance of the "comparing" and "ranking" steps in the order written. The method requires "comparing . . . to determine suitability of each method" and "ranking the method signatures based on the determined suitability of each method." The "comparing" step "determine[s] suitability" and thus requires performance before the claimed method can "rank the method signatures based on the determined suitability."

As the "comparing" and "ranking" steps must be performed in the order written, claim 1 indicates the "ranking" step is not so broad to cover assignment of method signatures to a "suitable" or "unsuitable" class because the claimed method has already determined suitability. Hyperion Solutions Corp. v. OutlookSoft Corp., 422 F. Supp. 2d 760, 772 (E.D. Tex. 2006) (Ward, J.) (rejecting both parties' proposed constructions and noting "[b]edrock principles of claim construction counsel against a construction that renders additional limitations superfluous") (citing Merck Co., Inc. v. Teva Pharma. USA, Inc., 395 F.3d 1364, 1372 (Fed. Cir. 2005); see also Primos, Inc. v. Hunter's Specialties, Inc., 451 F.3d 841, 847-48 (rejecting proposed construction of claim term where proposed construction would render another claim term superfluous). As such, the "ranking" step must do more than assign each method signature a "suitable" or "not suitable" ranking.

The parties additionally dispute whether the doctrine of claim differentiation applies and requires a broad construction of "rank[s] [ranking]" and "the ranking." Courts presume a difference in meaning and scope when a patentee uses different phrases in separate claims. Phillips, 415 F.3d at 1314-15. Where a party seeks to limit an independent claim with language that appears in a dependant claim, the presumption is especially strong. Liebel-Flarsheim Co. v. Medrad, Inc., 358 F.3d 898, 910 (Fed. Cir. 2004). However, the doctrine of claim differentiation is not a "hard and fast rule," and courts cannot use the doctrine to broaden claims beyond their correct scope, determined in light of the intrinsic record and relevant extrinsic evidence. Seachange Int'l, Inc. v. C-COR, Inc., 413 F.3d 1361, 1369 (Fed. Cir. 2005); see also Phillips, 415 F.3d at 1312-15.

Claim 2 claims the method of claim 1 "wherein the ranking the method signatures comprises calculating a fitness ranking representative of a level of suitability of the data types of the input parameters of the method represented by the signature to use the input parameters passed by the requested method invoked." `338 Patent, col. 9:16-21. Claim 16, which depends on claim 15, contains an identical limitation. Id. at col. 10:43-49.

The parties agree "fitness ranking" requires no construction. Claims 2 and 16 themselves define the term, as the "fitness ranking" is "representative of a level of suitability of each of the data types of the input parameters of the method represented by the signature to use the input parameters passed by the requested method invocation." Id. at col. 9:16-21, col. 10:43-49. Mathworks contends the doctrine of claim differentiation requires a broader construction of "rank[ing]" and "the ranking," as "fitness ranking" is a narrower form of "the ranking."

The doctrine of claim differentiation does not mandate a broad construction of "rank[ing]" and "the ranking." Claims 2 and 16 narrow claims 1 and 15 on the basis that the "rank[ing]" step comprises "calculating a fitness ranking." The doctrine of claim differentiation presumes the "rank[ing]" steps in claim 1 and 15 are broader than "calculating a fitness ranking for each method signature, the fitness ranking representative of a level of suitability of each of the data types of the input parameters of the method represented by the signature to use the input parameters passed by the requested method invocation."

The requirement of an ordinal relationship amongst ranked items is different than "calculating a fitness ranking . . . representative of a level of suitability of each of the data types of the input parameters of the input parameters of the method represented by the signature to use the input parameters passed by the requested method invocation." Thus, the doctrine of claim differentiation does not broaden the terms "rank[ing]" and "the ranking" beyond their ordinary meanings.

The remainder of the intrinsic evidence supports a construction of "rank[s] [ranking]" that requires an ordinal relationship between the ranked items. The specification broadly discloses a system that ranks method signatures based upon a comparison of the method signatures' data types with the data types the array-based computing environment will pass to a selected method within the object-oriented environment. Id. at col. 2:11 — 49. Similarly, during prosecution, the applicant used the term "rank[s] [ranking]" to require an ordinal relationship between the ranked items. Comsol's Claim Construction Brief, Ex. 5 at TMW-PAT 00000336 ("The ranking referred to in step 3 [of claim 1] is the ranking of the method signatures in order of suitability for handling the input parameters from the array-based computing environment."); id. at TMW-PAT 00000279, TMW-PAT 00000333 ("The methods are ranked based on which methods can best accept the input parameters of the data from the calling array-based computing environment.").

The `338 Patent uses the terms "rank[s] [ranking]" and "the ranking" consistent with their ordinary meanings. Thus, "ranking the method signatures" means "placing the method signatures in an ordered manner relative to one another," "rank[s] the method signatures" means "place[s] the method signatures in an ordered manner related to one another," and "the ranking" means "the list of method signatures placed in an ordered manner relative to one another."

CONCLUSION

For the foregoing reasons, the Court interprets the claim language in this case in the manner set forth above. For ease of reference, the Court's claim interpretations are set forth in a table as Appendix B. The claims with the disputed terms in bold are set forth in Appendix A.

So ORDERED and SIGNED.

APPENDIX A U.S. Pat. No. 7,051,338

1. A method for invoking a method defined with an object-oriented computing environment comprising: retrieving a set of method signatures for a method referenced in a requested method invocation, where each method signature corresponds to a method provided by an object within an object-oriented environment, and further wherein each signature includes a method name and lists any data types of input parameters to be received by the corresponding method;

comparing the data types of input parameters of each method represented by the signatures to data types of input parameters passed by the requested method invocation to determine suitability of each method to receive input parameters passed by the requested method invocation;

ranking the method signatures based on the determined suitability of each method represented by the signatures to receive the input parameters passed by the requested method invocation;

selecting one of the method signatures according to the ranking;

and invoking, in response to the requested method invocation, the method of the object-oriented computing environment corresponding to the selected method signature;

wherein the request method invocation is requested by an array-based computing environment provided by a mathematical tool.

2. The method of claim 1, wherein ranking the method signatures comprises calculating a fitness ranking for each signature, the fitness ranking representative of a level of suitability of the data types of the input parameters of the method represented by the signature to use the input parameters passed by the requested method invocation.

3. The method of claim 2, wherein calculating a fitness ranking for each signature includes generating a preference value for each data type of the signature and adjusting the fitness ranking of the corresponding signature as a function of the comparison.

4. The method of claim 2, wherein calculating a fitness ranking for each signature includes calculating a difference in a number of dimensions between the signature data type and the input parameter received from the computing environment.

11. The method of claim 1, wherein comparing each data type of the signature to the data type of the corresponding input parameter includes accessing a data structure storing data types of the object-oriented environment ordered by preference.

12. The method of claim 1, wherein invoking the method includes: converting the input parameters to data types supported by the object-oriented environment; and converting return values from the method to data types supported by the computing environment.

13. The method of claim 1, wherein the object-oriented environment includes a virtual machine, and further wherein invoking the method includes interpreting the method via the virtual machine.

14. The method of claim 1, wherein each signature includes a method name comprising the name of the method in the requested method invocation, and wherein each method represented by the signature corresponds to a method provided by the same object.

15. A computer program, tangibly stored on a computer-readable medium, for invoking a method defined within an object-oriented environment, the computer program comprising instructions operable to cause a programmable processor to:

retrieve a set of method signatures for a method referenced in a requested method invocation, where each method signature corresponds to a method provided by an object within an object-oriented environment, and further wherein each signature includes a method name and a data type for each input parameter received by the corresponding method; compare the data types of each input parameter of each method represented by the signatures to data types of input parameters passed by the requested method invocation to determine suitability of each method to receive the input parameters passed by the requested method invocation;

rank the method signatures based on the determined suitability of each method represented by the signatures to receive the input parameters passed by the requested method invocation;

select one of the method signatures according to the ranking;

and invoke, in response to the requested method invocation, the method of the object-oriented computing environment corresponding to the selected method signature;

wherein the request method invocation is requested by an array-based computing environment provided by a mathematical tool.

16. The computer program of claim 15, wherein the computer program ranks the method signatures by calculating a fitness ranking for each signature, the fitness ranking representative of a level of suitability of the data types of the input parameters of the method represented by the signature to use the input parameters passed by the requested method invocation.

17. The computer program of claim 16, wherein the computer program calculates a fitness ranking for each signature by generating a preference value for each data type of the signature and adjusting the fitness ranking of the corresponding signature as a function of the comparison.

19. The computer program of claim 15, wherein the computer program calculates a fitness-ranking for each signature by calculating a difference in a number of dimensions between the signature data type and the input parameter received from the computing environment.

20. The computer program of claim 15, wherein the computer program compares each data type of the signature to the data type of the corresponding input parameter includes by accessing a data structure storing data types of the object-oriented environment ordered by preference.

22. The computer program of claim 15, wherein each signature includes a method name comprising the name of the method in the requested method invocation, and wherein each method represented by the signature corresponds to a method provided by the same object.

APPENDIX B

Ref. Term or Phrase to be Construed Court's Construction Nos. (Claims) no construction required no construction required 1 ranking the method signatures placing the method signatures in an ordered manner relative to (claim 1, 2) one another rank[s] the method signatures place[s] the method signatures in an ordered manner related to (claim 15, 16) one another the ranking the list of method signatures placed in an ordered manner relative (claim 1, 15) to one another 2 fitness ranking/fitness-ranking AGREED — (claims 2, 3, 4, 16, 17, 19) 3 array-based computing environment AGREED — computing environment in which the data types are (claims 1, 15) primarily represented as arrays of at least two dimensions 4 mathematical tool AGREED — (claims 1, 15) 5 data type(s) AGREED — category of data characterized by a set of values and (claims 1, 3, 4, 11, 12, 15, 16, 17, operations that can be applied to them 19, 20) 6 method AGREED — operation or procedure associated with an object (claims 1, 2, 12, 13, 14, 15, 16, 22) 7 object AGREED — modules of computer code that specify the data types (claims 1, 11, 14, 15, 22) of a data structure, and the methods that can be applied to the data structure 8 signature(s)/method signature(s) AGREED — representation of the method's name and the number (claim 1, 2, 3, 4, 11, 14, 15, 16, 17, and types of parameter(s) of the method 19, 20, 22) 9 object-oriented environment/ AGREED — a computing environment, such as Java, that supports object-oriented computing code defined as objects environment (claims 1, 12, 13, 15, 20)


Summaries of

MATHWORKS, INC. v. COMSOL AB COMSOL, INC.

United States District Court, E.D. Texas, Tyler Division
Feb 12, 2008
CASE NO. 6:06CV334 PATENT CASE (E.D. Tex. Feb. 12, 2008)
Case details for

MATHWORKS, INC. v. COMSOL AB COMSOL, INC.

Case Details

Full title:THE MATHWORKS, INC. Plaintiff v. COMSOL AB and COMSOL, INC. Defendants

Court:United States District Court, E.D. Texas, Tyler Division

Date published: Feb 12, 2008

Citations

CASE NO. 6:06CV334 PATENT CASE (E.D. Tex. Feb. 12, 2008)