Mastermine Software, Inc. v. Microsoft Corporation

United States Court of Appeals for the Federal Circuit ______________________ MASTERMINE SOFTWARE, INC., Plaintiff-Appellant v. MICROSOFT CORPORATION, Defendant-Appellee ______________________ 2016-2465 ______________________ Appeal from the United States District Court for the District of Minnesota in No. 0:13-cv-00971-PJS-TNL, Judge Patrick J. Schiltz. ______________________ Decided: October 30, 2017 ______________________ ADAM ROGER STEINERT, Fredrikson & Byron, PA, Minneapolis, MN, argued for plaintiff-appellant. Also represented by KURT JOHN NIEDERLUECKE, NIKOLA DATZOV, GRANT DAVID FAIRBAIRN, LORA MITCHELL FRIEDEMANN. ERICA D. WILSON, Walters Wilson LLP, Redwood City, CA, argued for defendant-appellee. Also represented by ERIC STEPHEN WALTERS. ______________________ Before NEWMAN, O’MALLEY, and STOLL, Circuit Judges. 2 MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. STOLL, Circuit Judge. MasterMine Software, Inc. appeals from a stipulated judgment of noninfringement and invalidity following adverse claim construction and indefiniteness rulings from the United States District Court for the District of Minnesota. Because the district court’s construction is supported by the intrinsic evidence, and the claims do not improperly claim both an apparatus and a method of using the apparatus, we affirm the court’s claim construc- tion, reverse the court’s indefiniteness determination, and remand for proceedings consistent with this opinion. BACKGROUND MasterMine sued Microsoft Corporation for infringe- ment of its two related patents, U.S. Patent Nos. 7,945,850 and 8,429,518. MasterMine asserted claims 1, 8, 10, and 12 of the ’850 patent and claims 1, 2, and 3 of the ’518 patent. Both patents disclose methods and systems “that allow[] a user to easily mine and report data maintained by a customer relationship management (CRM) applica- tion.” ’850 patent, Abstract. 1 CRM applications “are used to manage all aspects of customer relations by integrating a company’s sales force, processes, sales channels and customers into one environment.” Id. at col. 1 ll. 11–14. The patents describe a process by which an electronic worksheet is automatically created. Within this electron- ic worksheet, a multi-dimensional analysis table, known as a pivot table, “allows the user to quickly and easily 1 Because the ’850 and ’518 patents share the same specification, we cite only to the ’850 patent, unless oth- erwise indicated, with the understanding that these citations also refer to the corresponding sections of the ’518 patent. MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. 3 summarize[] or view large amounts of CRM data.” Id. at col. 2 ll. 22–24. “For example, the user can rotate the rows and columns of [a pivot table] to see different sum- maries of the CRM data, filter the data by displaying different pages, or display the details for [an] area of interest.” Id. at col. 2 ll. 24–27. The patents further describe that a user is able to “analyze the captured CRM data and ‘mine’ the data for important insights” upon generation of the pivot table. Id. at col. 3 ll. 5–6. Following briefing and argument, the district court entered a claim construction order, construing, inter alia, the term “pivot table.” MasterMine Software, Inc. v. Microsoft Corp., No. 13-CV-0971, 2016 WL 8292205, at *2 (D. Minn. May 6, 2016) (“Claim Construction Order”). The district court construed “pivot table,” the term Mas- terMine now contests on appeal, to mean “an interactive set of data displayed in rows and columns that can be rotated and filtered to summarize or view the data in different ways.” Id. Claim 1 of the ’850 patent is illustrative and repro- duced below in pertinent part: 1. A method comprising: executing a customer relationship management (CRM) software application on a computer, where- in the CRM software application includes custom- ized settings and local field names, and further wherein the CRM software application includes a CRM database that stores CRM data; .... invoking a spreadsheet application from the re- porting module installed within the CRM software application using an application programming in- terface (API) of the spreadsheet application to au- tomatically generate an electronic worksheet viewable by the spreadsheet software application, 4 MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. wherein the automatically generating the elec- tronic worksheet comprises directing the spread- sheet application with the reporting module installed within the CRM software application to create a new workbook having the electronic worksheet; further invoking the spreadsheet application from the reporting module installed within the CRM software application using the API to automatical- ly generate a pivot table within the electronic worksheet according to the database query, where- in the pivot table contains the CRM data from the CRM database, and wherein invoking the spread- sheet application includes communicating report parameters from the reporting module installed within the CRM software application to the spreadsheet software application based on the schema and data structures of the CRM database and the customized settings including the local field names within the CRM software application; presenting the pivot table to a user with the spreadsheet application in accordance with the report parameters received from the reporting module installed within the CRM software appli- cation; .... Id. at col. 7 l. 65 – col. 8 l. 67 (emphasis added). Microsoft additionally sought a declaration that claims 8 and 10 of the ’850 patent and claims 1, 2, and 3 of the ’518 patent are invalid for indefiniteness, which the district court addressed in its claim construction order. Claim Construction Order, 2016 WL 8292205, at *6–9. The district court agreed with Microsoft, holding the claims indefinite for improperly claiming two different subject-matter classes. Id. at *9. Following the district MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. 5 court’s construction of “pivot table,” the parties stipulated to final judgments of noninfringement and invalidity for indefiniteness, with MasterMine reserving the right to appeal the district court’s claim construction order. Pursuant to the stipulation, the district court entered final judgment, and MasterMine now appeals. We have jurisdiction under 28 U.S.C. § 1295(a)(1). DISCUSSION MasterMine challenges both the district court’s claim construction and its indefiniteness determination. We address these issues in turn. I. “The ultimate construction of the claim is a legal question and, therefore, is reviewed de novo.” Info-Hold, Inc. v. Applied Media Techs. Corp., 783 F.3d 1262, 1265 (Fed. Cir. 2015). We review a district court’s claim con- struction based solely on intrinsic evidence de novo, while we review subsidiary factual findings regarding extrinsic evidence for clear error. Teva Pharm. USA, Inc. v. Sandoz, Inc., 135 S. Ct. 831, 841 (2015). Claim construction seeks to ascribe the “ordinary and customary meaning” to claim terms as a person of ordi- nary skill in the art would have understood them at the time of invention. Phillips v. AWH Corp., 415 F.3d 1303, 1312–14 (Fed. Cir. 2005) (en banc) (citing Vitronics Corp. v. Conceptronic, Inc., 90 F.3d 1576, 1582 (Fed. Cir. 1996)). “[T]he claims themselves provide substantial guidance as to the meaning of particular claim terms.” Id. at 1314. In addition, “the person of ordinary skill in the art is deemed to read the claim term not only in the context of the particular claim in which the disputed term appears, but in the context of the entire patent, including the specifica- tion.” Id. at 1313. But “[w]hile we read claims in view of the specification, of which they are a part, we do not read limitations from the embodiments in the specification into 6 MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. the claims.” Hill-Rom Servs., Inc. v. Stryker Corp., 755 F.3d 1367, 1371 (Fed. Cir. 2014). MasterMine argues that the district court improperly construed the term “pivot table,” which it proposes should be construed as a “computer software object [or structure] defining an interactive table that can show the same data from a list or a database in more than one arrangement.” Appellant Br. 19 (alteration in original) (quoting J.A. 1338). In other words, MasterMine contends that the district court’s construction is incorrect because it ex- cludes tables that do not display data. According to MasterMine, its proposed construction is consistent with the patents’ specification and “fits easily when read into the claims.” Id. We disagree. First, the claim language supports the district court’s construction. Each time the claims recite the generation of a pivot table, they further recite within the same limi- tation that the generated pivot table contains data or presents data. For example, claim 1 of the ’850 patent recites “automatically generat[ing] a pivot table within the electronic worksheet according to the database query, wherein the pivot table contains the CRM data from the CRM database.” ’850 patent col. 8 ll. 44–47; see also id. at col. 12 ll. 5–7 (“[W]herein the pivot table contains CRM data from the CRM database and presents the CRM data in accordance with the report parameters.”) (claim 12). Additionally, claim 8 of the ’850 patent requires “the spreadsheet software application generat[ing] the pivot table within the electronic worksheet to present the CRM data in accordance with the report parameters.” Id. at col. 10 ll. 22–25; see also ’518 patent col. 8 ll. 51–52 (claim 1). The patents’ identical specification further supports the district court’s construction. For example, the ab- stract explains the purpose of a pivot table: “[T]he report is automatically generated to include a pivot table for MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. 7 displaying the data.” ’850 patent, Abstract (emphasis added). The specification further explains that multi- dimensional analysis table 14, which “represents an analytical function, commonly referred to as a pivot table . . . allows the user to quickly and easily summa- rize[] or view large amounts of CRM data.” Id. at col. 2 ll. 19–24 (emphasis added). The specification adds that, “[a]fter table 14 is generated, the user can interact with spreadsheet application 6 to manipulate table 14 in order to analyze the captured CRM data and ‘mine’ the data for important insights.” Id. at col. 3 ll. 3–10. Thus, the specification explains that the purpose of pivot tables in the context of the invention is to display data that can be viewed, summarized, and manipulated by users, and such user action is available upon the generation of the pivot tables. This understanding comports with the district court’s construction—tables containing data “that can be rotated and filtered to summarize or view the data in different ways.” Claim Construction Order, 2016 WL 8292205, at *2. Finally, the prosecution history of the patents pro- vides additional support for the district court’s construc- tion. During prosecution of a related parent patent, 2 the applicant, in an attempt to overcome prior art rejections, distinguished a prior art reference, referred to as Conlon, and emphasized that a pivot table is created when filled with data: 2 We have often held that the meaning of claim terms in one patent can be informed by statements made during prosecution of other patents in the same family. We have explained, for example, that “past and future prosecution of related patents may be relevant to the construction of a given claim term.” Teva Pharm. USA, Inc. v. Sandoz, Inc., 789 F.3d 1335, 1343 n.5 (Fed. Cir. 2015). 8 MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. Conlon describes a user interface for a spread- sheet application that allows a user to drag and drop fields to manually create a pivot table on a spreadsheet. Conlon requires that the user inter- acts with the spreadsheet application directly, and that the user manually selects each of the fields. J.A. 1500. We agree with the district court, which found that this statement demonstrates a “represent[ation] to the PTO that a pivot table is ‘create[d]’ when the user selects fields by dragging and dropping them into the spreadsheet—i.e., when the user populates the table.” Claim Construction Order, 2016 WL 8292205, at *3. We further agree with the district court, however, that this statement is not “so clear as to show reasonable clarity and deliberateness, and so unmistakable as to be unam- biguous evidence of disclaimer.” Id. (quoting Dealertrack, Inc. v. Huber, 674 F.3d 1315, 1322 (Fed. Cir. 2012)). Nevertheless, this explanation presented by the inventor during patent examination is relevant to claim construc- tion, “for the role of claim construction is to ‘capture the scope of the actual invention’ that is disclosed, described, and patented.” Fenner Invs., Ltd. v. Cellco P’ship, 778 F.3d 1320, 1323 (Fed. Cir. 2015) (quoting Retractable Techs., Inc. v. Becton, Dickinson & Co., 653 F.3d 1296, 1305 (Fed. Cir. 2011)). Thus, while this statement does not amount to disclaimer, it does, at a minimum, further support the district court’s construction. MasterMine’s arguments in support of its contrary claim construction are not compelling. MasterMine first argues that the specification contains excerpts of comput- er code that would generate a pivot table with an empty data display area. See ’850 patent col. 5 ll. 1–39. This code, however, does not support MasterMine’s construc- tion on its face. As both parties conceded at the claim construction hearing, the code provided in the specifica- tion is not operable on its own. Indeed, MasterMine emphasized that it “never suggested that this code is a MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. 9 standalone application; it isn’t. This code is part of an application.” J.A. 2151. Accordingly, it is unclear what exactly would be created once this sample code was in- cluded within the entirety of code sufficient to execute the application. Neither party presented expert testimony on this point. MasterMine additionally argues that its proposed construction properly accounts for the claims’ recitation of additional steps that occur after a pivot table is generat- ed. These steps include “presenting the pivot table to a user,” ’850 patent col. 8 l. 55 (claim 1), and “format[ting] the pivot table,” id. at col. 9 ll. 11–12 (claim 3). Master- Mine contends that the district court’s construction ren- ders these additional limitations superfluous, as presentation to the user and formatting would be simul- taneous implications of a table that must display data upon generation. We disagree. MasterMine’s position finds no support in the specification. Though the district court’s construction requires that a pivot table be popu- lated with data upon its generation, such population does not prevent the table from being subsequently presented to the user or formatted. These additional steps could be independent of the table’s population of data—e.g., the table could be displayed to the user and formatted after it is created. Accordingly, the district court’s construction does not render them superfluous. In light of the claim language, specification, and prosecution history, we conclude that the district court properly construed “pivot table” to mean “an interactive set of data displayed in rows and columns that can be rotated and filtered to summarize or view the data in different ways.” II. MasterMine also challenges the district court’s de- termination that claims 8 and 10 of the ’850 patent and claims 1, 2, and 3 of the ’518 patent are invalid for indefi- 10 MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. niteness. Pursuant to 35 U.S.C. § 112, ¶ 2, a patent specification must “conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his inven- tion.” 3 The Supreme Court has held this definiteness provision “to require that a patent’s claims, viewed in light of the specification and prosecution history, inform those skilled in the art about the scope of the invention with reasonable certainty.” Nautilus, Inc. v. Biosig In- struments, Inc., 134 S. Ct. 2120, 2129 (2014). “Indefinite- ness is a question of law that we review de novo, subject to a determination of underlying facts.” Akzo Nobel Coatings, Inc. v. Dow Chem. Co., 811 F.3d 1334, 1343 (Fed. Cir. 2016) (internal citation omitted). In IPXL Holdings, L.L.C. v. Amazon.com, Inc., a case of first impression, we held that a single claim covering both an apparatus and a method of use of that apparatus is indefinite under section 112, paragraph 2. 430 F.3d 1377 (Fed. Cir. 2005). The concern underlying our hold- ing in IPXL Holdings was that claiming both an appa- ratus and method of using the apparatus within a single claim can make it “unclear whether infringe- ment . . . occurs when one creates a[n infringing] system, or whether infringement occurs when the user actually uses [the system in an infringing manner].” Ultimate- Pointer, L.L.C. v. Nintendo Co., 816 F.3d 816, 826 (Fed. Cir. 2016) (alteration in original) (quoting IPXL Holdings, 430 F.3d at 1384). 3 Because the ’850 and ’518 patents were filed be- fore the adoption of the Leahy-Smith America Invents Act, Pub. L. No. 112-29, § 4(e), 125 Stat. 284, 296–97 (2011), the pre-AIA version of § 112 governs. See AbbVie Deutschland GmbH & Co., KG v. Janssen Biotech, Inc., 759 F.3d 1285, 1290 n.3 (Fed. Cir. 2014). MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. 11 Following IPXL Holdings, we have been called on to review applications of this holding to numerous different claims. As we have explained, while a claim directed to both a method and an apparatus may be indefinite, “ap- paratus claims are not necessarily indefinite for using functional language.” Microprocessor Enhancement Corp. v. Tex. Instruments Inc. (MEC), 520 F.3d 1367, 1375 (Fed. Cir. 2008). “Indeed, functional language in a means-plus- function format is explicitly authorized by statute,” and “[f]unctional language may also be employed to limit the claims without using the means-plus-function format.” Id. Here, the district court determined that claims 8 and 10 of the ’850 patent and claims 1, 2, and 3 of the ’518 patent are invalid for indefiniteness for introducing method elements into system claims. We disagree. In our view, these claims are simply apparatus claims with proper functional language. A review of our case law addressing this issue is in- structive. For example, at issue in IPXL Holdings was the following dependent claim 25: The system of claim 2 [including an input means] wherein the predicted transaction information comprises both a transaction type and transaction parameters associated with that transaction type, and the user uses the input means to either change the predicted transaction information or accept the displayed transaction type and transaction parameters. 430 F.3d at 1384 (alteration in original). We held that this claim recites both the system of claim 2 and a method for using that system because it is unclear whether in- fringement of claim 25 occurs “when one creates a system that allows the user to change the predicted transaction information or accept the displayed transaction, or whether infringement occurs when the user actually uses 12 MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. the input means to change transaction information or uses the input means to accept a displayed transaction.” Id. Thus, we concluded that, “[b]ecause claim 25 recites both a system and the method for using that system, it does not apprise a person of ordinary skill in the art of its scope, and it is invalid under section 112, paragraph 2.” Id. In In re Katz Interactive Call Processing Patent Litiga- tion, the claims at issue covered a “system with an ‘inter- face means for providing automated voice messages . . . to certain of said individual callers, wherein said certain of said individual callers digitally enter data.’” 639 F.3d 1303, 1318 (Fed. Cir. 2011) (emphasis added). While Katz tried to distinguish IPXL Holdings on the ground that the term “wherein” does not signify a method step but instead defines a functional capability, we disagreed, holding Katz’s claims indefinite as they “create confusion as to when direct infringement occurs because they are directed both to systems and to actions performed by ‘individual callers.’” Id. We also applied this doctrine in Rembrandt Data Techs., LP v. AOL, LLC, where, unlike the claims in IPXL Holdings and Katz, the claims at issue did not claim user action. 641 F.3d 1331 (Fed. Cir. 2011). At issue in Rem- brandt was the following independent claim 3: 3. A data transmitting device for transmitting signals corresponding to an incoming stream of bits, comprising: first buffer means for partitioning said stream in- to frames of unequal number of bits and for sepa- rating the bits of each frame into a first group and a second group of bits; fractional encoding means for receiving the first group of bits of each frame and performing frac- MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. 13 tional encoding to generate a group of fractionally encoded bits; second buffer means for combining said second group of bits with said group of fractionally encod- ed bits to form frames of equal number of bits; trellis encoding means for trellis encoding the frames from said second buffer means; and transmitting the trellis encoded frames. Id. at 1339 (emphasis added). We held this claim invalid for indefiniteness. We explained that “[t]he first four elements of claim 3 of the ’236 patent recite apparatus elements: buffer means, fractional encoding means, second buffer means, and trellis encoding means,” where- as “[t]he final element is a method: ‘transmitting the trellis encoded frames.’” Id. Conversely, in HTC Corp. v. IPCom GmbH & Co., KG, we held apparatus claims not invalid for indefiniteness despite their use of functional language. 667 F.3d 1270 (Fed. Cir. 2012). At issue in HTC was, inter alia, the following independent claim 1: A mobile station for use with a network including a first base station and a second base station that achieves a handover from the first base station to the second base station by: storing link data for a link in a first base station, holding in reserve for the link resources of the first base station, and when the link is to be handed over to the second base station: initially maintaining a storage of the link data in the first base station, initially causing the resources of the first base station to remain held in reserve, and 14 MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. at a later timepoint determined by a fixed period of time predefined at a beginning of the handover, deleting the link data from the first base station and freeing up the resources of the first base sta- tion, the mobile station comprising: an arrangement for reactivating the link with the first base station if the handover is unsuccessful. Id. at 1273 (first six emphases added). We held that, unlike the IPXL Holdings claim, this claim does not “recite a mobile station and then have the mobile station perform the six enumerated functions,” but rather, this claim “merely establish[es] those functions as the under- lying network environment in which the mobile station operates.” Id. at 1277. Accordingly, we held that the “unconventional format” of this claim did not preclude it from being definite because it makes clear “that infringe- ment occurs when one makes, uses, offers to sell, or sells the claimed apparatus: the mobile station—which must be used in a particular network environment.” Id. Similarly, at issue in MEC was the following inde- pendent claim 7: 7. A pipelined processor for executing instructions comprising: a conditional execution decision logic pipeline stage . . . ; .... the conditional execution decision logic pipeline stage performing a boolean algebraic evaluation of the condition code and said conditional execution specifier and producing an enable-write with at least two states, true and false; said enable-write when true enabling and when false disabling the writing of instruction results at said write pipeline stage; MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. 15 .... the conditional execution decision logic pipeline stage, when specified by the conditional execution specifier, determining the enable-write using the boolean algebraic evaluation; .... 520 F.3d at 1371–72 (emphases added). We concluded that this claim “is clearly limited to a pipelined processor possessing the recited structure and capable of perform- ing the recited functions, and is thus not indefinite under IPXL Holdings.” Id. at 1375. Most recently, in UltimatePointer, the claims at issue claimed “‘a handheld device including: an image sensor, said image sensor generating data’ and other similar ‘generating data’ limitations.” UltimatePointer, 816 F.3d at 826 (quoting UltimatePointer, LLC v. Nintendo Co., 73 F. Supp. 3d 1305, 1308 (W.D. Wash. 2014)). We held that these claims were unlike those in IPXL Holdings and Katz because they “make clear that the ‘generating data’ limitation reflects the capability of that structure rather than the activities of the user,” and “do not reflect an attempt to claim both an apparatus and a method, but instead claim an apparatus with particular capabilities.” Id. at 827–28. The claims at issue here are similar to those in MEC, HTC, and UltimatePointer. The district court focused, inter alia, on claim 8 of the ’850 patent, which discloses in pertinent part, “[a] system comprising”: .... a reporting module installed within the CRM software application . . . ; .... 16 MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. wherein the reporting module installed within the CRM software application presents a set of user- selectable database fields as a function of the se- lected report template, receives from the user a se- lection of one or more of the user-selectable database fields, and generates a database query as a function of the user selected database fields; .... ’850 patent col. 9 ll. 39–67 (emphases added). Though claim 8 includes active verbs—presents, receives, and generates—these verbs represent permissi- ble functional language used to describe capabilities of the “reporting module.” Like the claims in MEC, HTC, and UltimatePointer, the claims at issue here merely claim that the system “possess[es] the recited structure [which is] capable of performing the recited functions.” MEC, 520 F.3d at 1375. These claims are also distinguishable from those at issue in IPXL Holdings and Katz, as the claims here do not claim activities performed by the user. While these claims make reference to user selection, they do not explicitly claim the user’s act of selection, but rather, claim the system’s capability to receive and respond to user selection. The limitations at issue here (“receiv[ing] from the user a selection” and “generat[ing] a database query as a function of the user selected database fields”) focus on the capabilities of the system, whereas the claims in IPXL Holdings (“the user uses the input means”) and Katz (“said individual callers digitally enter data”) focus on specific actions performed by the user. Moreover, unlike the claims in Rembrandt, the functional language here does not appear in isolation, but rather, is specifical- ly tied to structure: the reporting module installed within the CRM software application. MASTERMINE SOFTWARE, INC. v. MICROSOFT CORP. 17 As noted above, this Court in IPXL Holdings was con- cerned that claiming both an apparatus and a method of using the apparatus within a single claim can make it “unclear whether infringement . . . occurs when one creates a[n infringing] system, or whether infringement occurs when the user actually uses [the system in an infringing manner].” UltimatePointer, 816 F.3d at 826 (alteration in original) (quoting IPXL Holdings, 430 F.3d at 1384). The claims at issue here do not pose this prob- lem. Because the claims merely use permissible function- al language to describe the capabilities of the claimed system, it is clear that infringement occurs when one makes, uses, offers to sell, or sells the claimed system. Accordingly, because these claims inform those skilled in the art about the scope of the invention with reasonable certainty, we reverse the district court’s determination that claims 8 and 10 of the ’850 patent and claims 1, 2, and 3 of the ’518 patent are invalid as indefinite. CONCLUSION We have considered MasterMine’s remaining argu- ments and find them unpersuasive. Accordingly, we affirm the district court’s construction of “pivot table,” reverse the district court’s indefiniteness determination, and remand to the district court for further proceedings consistent with this opinion. AFFIRMED-IN-PART, REVERSED-IN-PART, AND REMANDED COSTS No costs.