Opinion
2022-2291
07-03-2024
IMPACT ENGINE, INC., Plaintiff-Appellant v. GOOGLE LLC, Defendant-Appellee IMPACT ENGINE, INC., Plaintiff-Appellant v. GOOGLE LLC, Defendant-Appellee
JASON M. WILCOX, Kirkland &Ellis LLP, Washington, DC, argued for plaintiff-appellant. Also represented by STEPHEN DESALVO; GARRET A. LEACH, Chicago, IL; SHARRE LOTFOLLAHI, Los Angeles, CA. ANDREW DUFRESNE, Perkins Coie LLP, Madison, WI, argued for defendant-appellee. Also represented by DAN L. BAGATELL, Hanover, NH; JONATHAN IRVIN TIETZ, Washington, DC; DAVID A. NELSON, Quinn Emanuel Urquhart & Sullivan, LLP, Chicago, IL; DAVID ANDREW PERLSON, ANTONIO R. SISTOS, San Francisco, CA.
This disposition is nonprecedential.
Appeal from the United States District Court for the Southern District of California in No. 3:19-cv-01301-CAB-DEB, Judge Cathy Ann Bencivengo.
JASON M. WILCOX, Kirkland &Ellis LLP, Washington, DC, argued for plaintiff-appellant. Also represented by STEPHEN DESALVO; GARRET A. LEACH, Chicago, IL; SHARRE LOTFOLLAHI, Los Angeles, CA.
ANDREW DUFRESNE, Perkins Coie LLP, Madison, WI, argued for defendant-appellee. Also represented by DAN L. BAGATELL, Hanover, NH; JONATHAN IRVIN TIETZ, Washington, DC; DAVID A. NELSON, Quinn Emanuel Urquhart &
Sullivan, LLP, Chicago, IL; DAVID ANDREW PERLSON, ANTONIO R. SISTOS, San Francisco, CA.
Before REYNA, TARANTO, and HUGHES, Circuit Judges.
OPINION
TARANTO, CIRCUIT JUDGE
In the action now before us, Impact Engine, Inc. alleges infringement by Google LLC of a family of Impact Engine's patents. Several orders of the district court are central to addressing the disputes on appeal. First, the district court entered two claim-construction orders: one that, e.g., construed "compiling engine" to reflect the ordinary meaning of "compiler," Impact Engine, Inc. v. Google LLC, No. 19-cv-01301, 2021 WL 5541942, at *4 (S.D. Cal. Feb. 5, 2021) (First Claim Construction Order); the other that construed "project viewer" elements in several asserted claims to be means-plus-function elements under 35 U.S.C. § 112(f), Impact Engine, Inc. v. Google LLC, No. 19-cv-01301, 2021 WL 9525522, at *3 (S.D. Cal. May 14, 2021) (Supplemental Claim Construction Order). Second, acting under Fed.R.Civ.P. 12(c), the district court held some asserted claims to be invalid under 35 U.S.C. § 101. Impact Engine, Inc. v. Google LLC, No. 19-cv-01301, 2021 WL 5234415, at *3-6 (S.D. Cal. Nov. 10, 2021) (Rule 12(c) Order). Third, acting under Fed.R.Civ.P. 56, the district court held that (a) additional asserted claims are invalid under § 101, (b) Impact Engine had presented no basis on which a reasonable jury could find infringement of two asserted claims containing the "project viewer" phrase, and (3) one asserted claim is invalid under § 112(a)'s written-description and enablement requirements. Impact Engine, Inc. v. Google LLC, 624 F.Supp.3d 1190, 1193-96 (S.D. Cal. 2022) (Summary Judgment Order). Under those rulings, all asserted claims were either invalid or not infringed, so the district court entered final judgment for Google. Impact Engine appeals. We have jurisdiction under 28 U.S.C. § 1295(a)(1), and we affirm.
I
A
Seven patents are at issue here: U.S. Patent No. 7,870,497 and six others that, descending from the '497 patent through continuation applications, have the same specification, named inventors, and April 2005 priority date as the '497 patent. J.A. 29-215. The patents describe and claim "systems and methods for creating, editing, sharing and distributing high-quality, media-rich web-based communications"-i.e., "presentation[s], banner advertisement[s], website[s] or brochure[s]"-which "can be created in a layered fashion that integrates text, colors, background patterns, images, sound, music, and/or video." '497 patent, col. 1, lines 13-14, 30-35. The specification explains that such communications, in the prior art, were developed by a "professional graphic designer," "typically part of a professional agency," and that hiring such professionals was "usually cost-prohibitive for small enterprises . . . and can be unnecessarily costly for larger enterprises." Id., col. 1, lines 15-20. The specification describes, as a simplifying and cost-lowering advance, internet-accessible "software as a service" (SaaS) that "automates the process of creating and distributing professional quality, mediarich communications" in a "logical step-by-step, start-to-finish process that requires no programming intervention" and instead involves "auto-determining the 'look and feel' [and/or 'content'] of a communication based on a series of interview questions and/or other meta data." Id., col. 1, lines 24-26, 43-44; id., col. 2, lines 12-18, 49-50. The principal SaaS system described and claimed in the asserted patents is a "communication builder engine" that "includes a project builder . . . for generating a project viewer . . . via which a user can view and assemble various media components or assets into an integrated communication" and that "further includes a media repository . . . for storing communication project templates, media assets, communication project metadata, and any other data resources." Id., col. 3, lines 9-15; see also id., col. 2, line 65, through col. 3, line 29; id., fig.1.
By the time the district court entered final judgment, Impact Engine asserted the following sixteen claims from seven patents: claims 1 and 9 of U.S. Patent No. 7,870,497; claims 14, 16, 22, and 23 of U.S. Patent No. 10,565,618; claims 1, 7, and 12 of U.S. Patent No. 10,068,253; claims 14 and 18 (both dependent on claim 1) of U.S. Patent No. 8,930,832; claims 4, 21, and 25 (all dependent on claim 1) of U.S. Patent No. 9,361,632; claim 1 of U.S. Patent No. 8,356,253; and claim 30 of U.S. Patent No. 10,572,898. Impact Engine Opening Br. at 15.
Claims 1 and 9 of the '497 patent and claim 30 of the '898 patent are representative for purposes of appeal:
'497 patent, claim 1. A multimedia communication system comprising:
a media repository storing communication project templates and media assets of a number of content types, the project templates and media assets being accessible by a graphical user interface on a client computer via a network; and
a project builder providing the graphical user interface for the client computer via the network for local display of the graphical user interface on the client computer, the graphical user interface comprising controls to receive user input for selecting at least one communication project
template from the media repository and one or more media assets, and assembling a communication based on the at least one communication project template, the project builder further including an interactive interview for display on the graphical user interface, the interactive interview providing a plurality of questions to a user for eliciting a user response pertaining to user preferences, and further receiving the user preferences about the at least one communication project template and one or more media assets to assemble the communication.
'497 patent, claim 9. A multimedia communication system in accordance with claim 1, further comprising a project viewer that renders an assembled communication and transmits the rendered communication via the network to the client computer for viewing in the graphical user interface.
'898 patent, claim 30. An online advertisement generation system for autonomously generating and broadcasting a communication to a graphical user interface of a recipient device, the communication capable of being rendered, the online advertisement generation system comprising:
a media repository for storing media content comprising a plurality of online advertisement templates and a plurality of media assets;
a communications system server coupled to the media repository, the communications system server being connectable to an internet network, the communications system server being configured for receiving, via the internet network, one or more of
user data, keyword data, and geographic data, and comprising:
an advertisement generation engine for autonomously generating the communication, the advertisement generation engine for accessing the media repository and selecting, based on one or more of the user data, keyword data, and geographic data, at least one of the plurality of online advertisement templates and at least one of the plurality of media assets to generate the communication, the communication including a collection of slides comprising a grouping of design layers, design elements, and content containers;
a compiling engine for integrating the at least one selected media asset with the at least one selected online advertisement template, and for grouping the design layers, design elements, and content containers into the collection of slides so as to generate the communication capable of being rendered in a manner so as to be content specific to the user data, keyword data, and geographic data;
a formatting engine for formatting the communication; and
a distribution engine wherein once the communication is generated and formatted, the communications system server autonomously broadcasts the one or more communications via the distribution engine to the recipient device so as to be rendered at the graphical user interface thereof, the slides being displayable in an auto-play on or an auto-play off format.
B
In July 2019, Impact Engine filed a complaint against Google in the United States District Court for the Southern District of California alleging that Google was and is infringing six of Impact Engine's patents, J.A. 280-307, and in March 2020, Impact Engine added allegations of infringement of two more patents from the '497 patent family, J.A. 1250-80. As relevant here, the litigation produced rulings on claim construction, the invalidity of several asserted claims under § 101, infringement of certain surviving claims, and the invalidity of one claim under § 112.
1
The district court entered two claim-construction orders of relevance to this appeal. In a February 2021 order, the district court construed the "compiling engine" claim phrase-relying on the agreed-on "commonly understood meaning" of "compiler" (as used in the specification) to one "in the computer arts at the time the patent was filed"-as a program that does "back-end processing of source code into machine or object code." First Claim Construction Order, at *4. In the same order, the district court construed the "project builder" claim phrase as "server-side software and hardware that obtains user information, selects appropriate template(s) and asset(s) and obtains user formatting and transmission information," noting that "program constructs" that "provide this function of the system would be tools familiar to one of skill." Id. at *4-5.
In May 2021, the district court issued a supplemental claim-construction order addressing limitations containing the phrase "project viewer." The court explained that the "claims and the specification describe the patents' Project Viewer limitation as much more than an application to display a file created by another application." Supplemental Claim Construction Order, at *3. Rather, "the functions performed by the Project Viewer" across the asserted claims "include rendering [serializing] the communication [i.e., collection of slides]; displaying slides in auto-play on or auto-play off modes; sending the communication to the client computer; [and] allowing the user to view templates and media assets." Id. (first two alterations in original). In particular, rendering is something the project viewer does to material provided to the project viewer by the project builder (project slides and other content), and "render[ing]" means "serializing the project slides and content into a format that can be stored or transmitted." Id. at *1; see id. at *2 ("The Project Viewer renders, or serializes, the communication using the selected templates and assets provided by the Project Builder into the collection of slides and transmits or sends the rendered communication to the client user for viewing and editing."); '497 patent, col. 4, lines 27-30 ("The project viewer . . . is an application that renders or 'serializes' the communication project slides and content, and provides them with functionality.").
Because a "project viewer" performs more than display functions, the court concluded, "project viewer" would not be understood by a relevant artisan as itself identifying a structure. Supplemental Claim Construction Order, at *3 (emphasizing the lack of evidence that "known 'viewer' applications" could "render or serialize the communication project slides and provide them with functionality as described by the patents"). Accordingly, the presence of "project viewer" in relevant claims, accompanied by identification of functions it must perform, made the "project viewer" element at issue a means-plus-function element under 35 U.S.C. § 112(f). Id. The district court then stated that, in the aggregate, the corresponding "structures disclosed to perform the functions of the Project Viewer are described at Col. 4:27 through Col. 9:19." Id.
2
In November 2021, the district court, acting on Google's motion under Fed.R.Civ.P. 12(c) (framed and treated as a motion to dismiss), held that claims 14, 16, 22, and 23 of the '618 patent and claim 1 of the '497 patent-none of which contain "project viewer" language-are invalid under 35 U.S.C. § 101. Rule 12(c) Order, at *3-6, *8. The district court reasoned that those claims "are directed at the abstract idea of a system for generating customized or tailored computer communications based on user information," id. at *4 (citing Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1369-70 (Fed. Cir. 2015)), and "recite only generic computer components functioning in their known conventional manner," which "does not amount to inventive concept," id. at *6; see also id. at *5 (first citing Alice Corp. v. CLS Bank International, 573 U.S. 208, 225-26 (2014); and then citing Intellectual Ventures I LLC v. Symantec Corp., 838 F.3d 1307, 1316 (Fed. Cir. 2016)).
3
In August 2022, the district court granted summary judgment to Google on the remainder of Impact Engine's asserted claims, disposing of each remaining asserted claim under one of three rationales.
a
Certain remaining claims recite both a "project builder" that generates a communication and a "project viewer" that merely sends or displays, but does not "render," the communication: claims 1, 7, and 12 of the '8,253 patent; claims 1, 14, and 18 of the '832 patent; and claims 1, 4, 21, and 25 of the '632 patent. For those claims, the district court granted summary judgment of invalidity under § 101 for reasons similar to those expressed in its Rule 12(c) opinion. Summary Judgment Order, at 1194-96. The court reasoned that "in the scope of these asserted claims," the project viewer "operate[s] in its known and familiar capacity," which does not amount to an inventive concept. Id. at 1194-95; see also Supplemental Claim Construction Order, at *3 (distinguishing the project viewer's disclosed function "to render or serialize the communication project slides and provide them with functionality as described by the patents" as potentially nonconventional in the art, in contrast with the routine and well-known function of "display[ing] a file created by another application").
b
For claim 9 of the '497 patent and claim 1 of the '6,253 patent, each of which requires the "project viewer" to "render" a communication, the district court granted summary judgment of noninfringement. Impact Engine does not dispute that those claims are materially similar for present purposes, that the "project viewer" language is means-plus-function language, or that the analysis is properly focused on the "render" function those claims require the "project viewer" to perform. Accordingly, for its infringement case, Impact Engine had to identify structure in the specifica-tion-here, algorithms for what is undisputedly software- corresponding to the claimed rendering function.
Impact Engine relied on the analysis provided by its expert, Dr. Wicker. In its summary-judgment briefing, Impact Engine stated that "[t]he Court left it to the parties- and their experts-to determine which of those disclosed structures are necessary to perform each claimed function." J.A. 9856 (emphasis in original). Impact Engine explained that Dr. Wicker had therefore performed an infringement analysis that "organized the [five-column specification] passage identified by the Court [in the Supplemental Claim Construction Order] into nine algorithmic structures" and then "identified which structures are necessary to perform each claimed function." J.A. 9856 (citing J.A. 8352-54 ¶¶ 250-51, 253-54; J.A. 8393 ¶ 296; J.A. 8486 ¶ 379). Dr. Wicker asserted that, for the project viewer's rendering functionality, the corresponding structure consisted of three of the nine algorithmic structures he had identified, and those three were located in aggregate at fifteen lines of column 4 of the '497 patent, namely lines 27-42: "(1) receiving a project object as input, the project object containing information necessary for rendering; (2) loading and interpreting the project object; [and] (3) determining a load sequence for the communication project." J.A. 8352-53 ¶¶ 250, 253.
The district court held that Impact Engine had "based its infringement analysis on a construction that does not comport with the Court's claim construction" and therefore "[could not] sustain its burden to prove infringement." Summary Judgment Order, at 1194. The district court noted that it had earlier "identified a significant portion of the specification that describes how the project viewer renders a communication based on the user's selections, starting at Col. 4:27 through Col. 9:19" and explained that "[w]ithin these columns, the specification discloses in detail how the project viewer loads the content and design elements selected by the user into containers at various layers to render a communication." Id. at 1193-94 (citing '497 patent, col. 5, line 7, through col. 8, line 59). The court then observed that "Impact Engine's expert did not apply any of this detailed description of how the project viewer uses the information it is provided to render a communication" but instead relied for the rendering functionality only on one paragraph in column 4. Id. at 1194. The district court concluded, however, that all the cited passage discloses is "simply receipt by the project viewer of the 'project object,' the information necessary for the project viewer to render the communication as configured by the end user" and that the "receipt of the information to render a communication as configured by the end user is not the structure for the actual rendering of the communication as required by the claims and the Court's construction." Id. (emphasis added). For that reason, the district court granted Google summary judgment of noninfringement of the two claims at issue.
c
One more claim had to be addressed: claim 30 of the '898 patent, which recites a "compiling engine." For that claim, the district court granted Google summary judgment of invalidity under § 112(a), citing both the enablement and written-description requirements. Id. at 1195. The district court explained that the specification "does not disclose any information or mechanism that would inform a person of skill in the art how a compiler as construed"- "a program that translates source code into machine or object code"-also performs the claimed functions of the "compiling engine" of "group[ing] the claimed design layers, design elements and content containers into a collection of slides to generate a communication." Id. at 1195 (emphasis added).
II
On appeal, Impact Engine presents three issues for our review. First, Impact Engine challenges the district court's holding that several asserted claims are invalid for ineligibility under § 101. Second, Impact Engine challenges an aspect of the district court's "project viewer" claim construction, particularly as it relates to the claimed "rendering" functionality, and on that basis challenges the two noninfringement determinations. Third, Impact Engine challenges the district court's determination that claim 30 of the '898 patent is invalid under § 112(a).
Following Ninth Circuit law, we decide de novo whether the Rule 12(c) judgment and summary judgment before us are correct. OIP Technologies, Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1362 (Fed. Cir. 2015); Kaneka Corp. v. Xiamen Kingdomway Group Co., 790 F.3d 1298, 1303 (Fed. Cir. 2015); Fed.R.Civ.P. 12(c); Fed.R.Civ.P. 56(a). Subject-matter eligibility under § 101 is a legal issue that we decide de novo where, as here, there are no underlying material factual determinations to review. Natural Alternatives International, Inc. v. Creative Compounds, LLC, 918 F.3d 1338, 1342 (Fed. Cir. 2019). We review a district court's claim construction, including identification of any corresponding structure for a means-plus-function claim, without deference to the extent that it is based on intrinsic evidence, but we review subsidiary fact-finding for clear error. Teva Pharmaceuticals USA, Inc. v. Sandoz, Inc., 574 U.S. 318, 331-32 (2015); Williamson v. Citrix Online, LLC, 792 F.3d 1339, 1346 (Fed. Cir. 2015). Infringement is a factual issue. Lucent Technologies, Inc. v. Gateway, Inc., 580 F.3d 1301, 1309 (Fed. Cir. 2009). Invalidity under § 112(a) is a factual issue as to written description and a legal issue with subsidiary factual issues as to enablement. Vasudevan Software, Inc. v. MicroStrategy, Inc., 782 F.3d 671, 682, 684 (Fed. Cir. 2015).
We conclude that Impact Engine has identified no error that warrants setting aside the district court's judgment.
A
The district court ruled that the asserted claims invalidated as claiming patent-ineligible subject matter under § 101 are (1) "directed at the abstract idea of a system for generating customized or tailored computer communications based on user information" and (2) "recite only generic computer components functioning in their known, conventional manner" and therefore fail to recite an inventive concept. Rule 12(c) Order, at *4-6; see also Summary Judgment Order, at 1194-95. We see no error in those rulings and no need for additional claim construction to draw that conclusion.
"[W]e have explained that '[i]nformation as such is an intangible'; accordingly, 'gathering and analyzing information of a specified content, then displaying the results' without 'any particular assertedly inventive technology for performing those functions' is an abstract idea." In re Killian, 45 F.4th 1373, 1382 (Fed. Cir. 2022) (second alteration in original) (quoting Electric Power Group, LLC v. Alstom S.A., 830 F.3d 1350, 1353-54 (Fed. Cir. 2016)), cert. denied sub nom. Killian v. Vidal, 144 S.Ct. 100 (2023), reh'g denied, 144 S.Ct. 441 (2023); Trading Technologies International, Inc. v. IBG LLC, 921 F.3d 1378, 1385 (Fed. Cir. 2019) (same); Two-Way Media Ltd. v. Comcast Cable Communications, LLC, 874 F.3d 1329, 1338 (Fed. Cir. 2017) (same); Capital One, 792 F.3d at 1369 ("Providing this minimal tailoring [of website information content based on user-specific information] is an abstract idea.").
Here, the claims held ineligible are directed to an abstract idea in that well-established sense. Those claims recite systems comprising an unordered list of generically named elements (i.e., "project builder," "media repository," "[formatting/compiling/distribution] engine") each associated with high-level, broadly articulated, result-defined information-processing functionality. The focus of the claims is the abstract idea of processing information-turning user-provided input into user-tailored output-and not any improved concrete tools or methods by which that processing functionality is achieved. See FairWarning IP, LLC v. Iatric Systems, Inc., 839 F.3d 1089, 1095 (Fed. Cir. 2016) ("Thus here, as in Electric Power, 'the focus of the claims is not on . . . an improvement in computers as tools, but on certain independently abstract ideas that use computers as tools.'" (alteration in original) (quoting Electric Power, 830 F.3d at 1354)).
Nor do the relevant claims recite an inventive concept that transforms them into a patent-eligible application of that abstract idea. The relevant claims do not recite a specific improvement to computer components or standard functionality; they recite unordered arrangements of generic functional components that, at best, use generic computer-related components (i.e., "network[s]," "graphical user interface[s]," "server[s]") as tools in a routine and conventional sense to practice the above-defined abstract information-processing idea. See Hawk Technology Systems, LLC v. Castle Retail, LLC, 60 F.4th 1349, 1358-59 (Fed. Cir. 2023) ("Simply stated, '[n]othing in the claims, understood in light of the specification, requires anything other than off-the-shelf, conventional computer, network, and display technology for gathering, sending, and presenting the desired information.'" (alteration in original) (quoting Electric Power, 830 F.3d at 1355)); Symantec Corp., 838 F.3d at 1315 ("[T]hese claims use generic computers to perform generic computer functions.").
The claims also do not limit the arrangement of the claimed components in any way that recites an inventive concept. Although an "inventive concept can be found in the non-conventional and non-generic arrangement of known, conventional pieces," BASCOM Global Internet Services, Inc. v. AT&T Mobility LLC, 827 F.3d 1341, 1350 (Fed. Cir. 2016), the relevant claims before us merely list the constituent elements of the claimed systems without providing any concrete or specific nonconventional manner in which those constituent parts are arranged or a nonconventional mode of operation that the claimed arrangement might achieve. See Internet Patents Corp. v. Active Network, Inc., 790 F.3d 1343, 1348 (Fed. Cir. 2015).
Last, for those invalidated claims reciting a "project viewer" associated with the functionality of merely sending or displaying a communication but not "rendering" it, Summary Judgment Order, at 1194-95, no different conclusion is warranted. Although Impact Engine asserts that the project viewer, when performing the sending/displaying functionality, "limits the claims to a 'specific, discrete implementation' of the allegedly 'abstract idea,'" Impact Engine cites no material evidence demonstrating that the project viewer, in that context, performs anything other than well-known, routine, and conventional computer functionality. Impact Engine Opening Br. at 49-50 (quoting BASCOM, 827 F.3d at 1350). And Impact Engine's arguments on appeal are undercut by the positions it took before (and the evidence it provided to) the district court, where Impact Engine argued that the "project viewer" (at least where no rendering functionality is required) is a well-known, routine software construct. Compare J.A. 7561, 12533 (Impact Engine arguing that the "project viewer" should be construed as "a known program construct that would be familiar to one of skill in the art"), and J.A. 7609-11 (Dr. Wicker's report in support of Impact Engine's proposed claim constructions, stating that a "project viewer" as used in the asserted patents would be understood by a relevant artisan as "a known programming construct"), with J.A. 12379-80 (Impact Engine arguing that the rendering functionality associated with the "project viewer" potentially provides an inventive concept).
B
Impact Engine next challenges the district court's ruling, on Google's motion for summary judgment, that Impact Engine lacked evidence to permit a reasonable finding that claim 9 of the '497 patent and claim 1 of the '6,253 patent, both of which claim a "project viewer" that performs the function of "render[ing]" a communication, are infringed. Summary Judgment Order, at 1194. Impact Engine does not challenge the conclusion that the materially indistinguishable claim elements consisting of "project viewer" with the identified "render[ing]" function are means-plus-function elements. Impact Engine Opening Br. at 51, 66-67. Nor does Impact Engine dispute that the district court's noninfringement determination must stand if Impact Engine's relied-on passages of the specification fail to supply an algorithm for carrying out the claimed rendering function under our precedents governing "special purpose computer-implemented means-plus-function limitation[s]." Noah Systems, Inc. v. Intuit Inc., 675 F.3d 1302, 1312 (Fed. Cir. 2012). We conclude that the relied-on specification passages do fail to supply the required algorithm, and so we affirm on this issue without having to resolve other disputes about ultimately immaterial aspects of the course of litigation and adjudication regarding various "project viewer" claims.
On appeal, Impact Engine relies entirely on column 4, lines 27-42, as setting out the required algorithm. Impact Engine Opening Br. at 59-63, 66, 69-70; Impact Engine Reply Br. at 31-32. That passage reads:
Although Impact Engine argues that its expert addressed other specification passages assertedly reciting other algorithmic structures for the "project viewer," Impact Engine Opening Br. at 72-74, the only passages it relies on for the rendering function are those in column 4, lines 27-42, id. at 59, 66. Impact Engine recognizes, correctly, that the proper focus of analysis for these meansplus-function claims is on structures performing the claimed functions, not the "project viewer" without further qualification. Id. at 73 (noting that many specification details assertedly addressed by its expert are "not pertinent to any project viewer function claimed in the '497 and '6,253 patents"). The claims at issue for noninfringement require the rendering function. We therefore may focus on that requirement. Because we conclude that the infringement proof fails (under summary-judgment standards) regarding that requirement, and that conclusion requires no additional claim construction, we need not go further.
The project viewer, such as the project viewer 118 shown in FIG. 1, is an application that renders or "serializes" the communication project slides and content, and provides them with functionality. When the project viewer is launched, it is passed a data structure and associated software programs called the project object. The project object contains the information necessary for the communication project to render and playback as configured by the end user. Slides are represented in the project object as elements in an array. Once the project object is loaded and interpreted, the project viewer determines a load sequence for the communication project content. The project object is agnostic as to the type of file it is rendering and is,
therefore, able to produce a wide variety of communications such as websites, dynamically created websites, Flash' banner ads, presentations, brochures, advertisements on third party websites, and/or the like.'497 patent, col. 4, lines 27-42. As noted, the specification proceeds beyond that paragraph to add several columns' worth of specifics, see id., cols. 4-9, but Impact Engine insists on disregarding those additional descriptions and instead relying entirely on the paragraph quoted above. We therefore limit our analysis to the adequacy of that paragraph.
The paragraph is inadequate. Recognizing the need for genuine structure in the specification over and above the claimed function, we have repeatedly explained that "purely functional language, which simply restates the function associated with the means-plus-function limitation, is insufficient to provide the required corresponding structure." Noah Systems, 675 F.3d at 1317; see Blackboard, Inc. v. Desire2Learn, Inc., 574 F.3d 1371, 1384 (Fed. Cir. 2009); Aristocrat Technologies Australia Pty Ltd. v. International Game Technology, 521 F.3d 1328, 1333-35 (Fed. Cir. 2008). In this case, the specification paragraph Impact Engine relies on for the required algorithm adds nothing of substance to what the claim-expressed function of "render[ing]" the communication itself requires under the unchallenged construction of that claim term.
The district court, construing the rendering language, ruled that "render[ing]" means "serializing the project slides and content into a format that can be stored or transmitted," Supplemental Claim Construction Order, at *1, adding: "The Project Viewer renders, or serializes, the communication using the selected templates and assets provided by the Project Builder into the collection of slides and transmits or sends the rendered communication to the client user for viewing and editing," id. at *2. The function-defining language of the claim, as construed, itself requires presentation of material from the project builder to the project viewer for the latter to take in and process into a form for a serial output for storage or transmission to the user for the latter's viewing or editing. Impact Engine has provided no basis for us to read the above-quoted paragraph- including its general reference to receiving a project object from the project builder, which is loaded and interpreted by the project viewer and then processed into an output- as saying anything substantial beyond what is required by the construction of the claimed rendering function. The district court so concluded, Summary Judgment Order, at 1194, and we agree. As Google argues, "those sixteen lines contain no specific algorithm, just a high-level description of the rendering function as an introduction to the detailed algorithmic structure in the following columns." Google Response Br. at 53. Those lines are not enough. And Impact Engine eschews reliance on the succeeding columns containing actual how-to algorithms, thus avoiding the § 112(f) inquiry into whether the accused Google processes are equivalents to the specifics of those columns.
See, e.g., '497 patent, col. 5, lines 14-18 ("All of the complex programming needed to govern content loading, playback, and functionality has been incorporated into the project viewer and container components. The system includes a number of core design files."); id., col. 4, line 4546 ("[T]he project viewer . . . loads the content into the containers."); id., col. 7, lines 11-13 ("The image component is a multimedia module that is used inside the core design files to load and display images and/or .swf files."); id., col. 7, lines 36-37 ("The video component is used inside the core design files to load and display .flv video."); id., col. 8, lines 8-9 ("The text component is used inside the core design files to load and display HTML formatted text.").
Arguing for a contrary conclusion, Impact Engine points to our decision in University of Pittsburgh of Commonwealth System of Higher Education v. Varian Medical Systems, Inc., 561 Fed.Appx. 934, 941 (Fed. Cir. 2014). Even aside from the fact that the decision is not precedential, University of Pittsburgh does not save Impact Engine's case. At most, the decision indicates that one specification passage can suffice to serve as corresponding structure if it adequately discloses structure itself, even if other passages in the specification provide additional implementation details. Here, Impact Engine's problem is that the sole specification passage it relies on is an inadequate disclosure of corresponding structure, for the reasons stated. We therefore affirm the district court's ruling that claim 9 of the '497 patent and claim 1 of the '6,253 patent are not infringed.
C
We also affirm the district court's ruling that claim 30 of the '898 patent is invalid under § 112(a) for lack of written-description support (so we need not reach the enablement issue). For the '898 patent's written description to be adequate for claim 30, the written description itself must show a relevant artisan that the inventors were in possession of the subject matter claimed in claim 30, where "[o]ne shows that one is in possession of the invention by describing the invention, with all its claimed limitations." Lockwood v. American Airlines, Inc., 107 F.3d 1565, 1572 (Fed. Cir. 1997) (emphasis in original) (internal quotation marks omitted); see Ariad Pharmaceuticals, Inc. v. Eli Lilly & Co., 598 F.3d 1336, 1351 (Fed. Cir. 2010) (en banc) ("[T]he hallmark of written description is disclosure. Thus, 'possession as shown in the disclosure' is a more complete formulation."). On appeal, Impact Engine does not challenge the district court's construction of a "compiler" or a "compiling engine" as a program for "back-end processing of source code into machine or object code." First Claim Construction Order, at *4. For the written description to be adequate, therefore, it must describe the claimed "compiling engine," under that construction, as performing the claimed functions of "integrating the at least one selected media asset with the at least one selected online advertisement template" and "grouping the design layers, design elements, and content containers into the collection of slides so as to generate the communication capable of being rendered in a manner so as to be content specific to the user data, keyword data, and geographic data." '898 patent, col. 19, line 39, through col. 20, line 27.
The '898 patent's specification nowhere contains that description. Impact Engine identifies sections of the '898 patent's specification that, at best, treat a "compiler" as a black-box functionality, see Impact Engine Opening Br. at 76-77 (citing '898 patent, figs.1, 3; id., col. 12, lines 52-54), and otherwise provide no description of a "compiling engine" that processes source code into machine code and also performs the claimed functions. To the extent that the specification refers to "compil[ing]" a communication, it is merely referring to putting "customized communication project(s) . . . into a format suitable for transmission," not to compiling source code into machine code. '898 patent, col. 12, lines 52-54. Impact Engine has identified nothing in the specification that describes a program that performs the defining function of a "compiling engine" (source-code-into-machine-code processing) as also performing the other functions required by claim 30. That deficiency is a sufficient basis for affirming the district court's invalidity determination.
A contrary conclusion is not supported by the testimony of Dr. Wicker that a skilled artisan "would have understood how to implement this functionality in software." J.A. 10494-95 ¶ 1192 (cited by Impact Engine Opening Br. at 77-78). Our precedents rejecting the notion that an enabling disclosure always suffices to meet § 112(a)'s written-description requirement make clear that, even if a skilled artisan "would have understood how to implement" the claimed functionality in software if the specification described a compiler containing the functionality, that does not mean that the written description itself demonstrates to a relevant artisan that the inventors possessed the invention of that functionality in a compiler. See, e.g., Ariad, 598 F.3d at 1344-45, 1351-53; Boston Scientific Corp. v. Johnson &Johnson, 647 F.3d 1353, 1366 (Fed. Cir. 2011); University of Rochester v. G.D. Searle & Co., 358 F.3d 916, 927 (Fed. Cir. 2004); In re Barker, 559 F.2d 588, 591 (CCPA 1977) ("A specification may contain a disclosure that is sufficient to enable one skilled in the art to make and use the invention and yet fail to comply with the description of the invention requirement."). Because the specification fails to describe any instance of the claimed "compiling engine," as construed, performing the claimed "integrating," "grouping," and "generat[ing]" functions, we conclude, as a matter of law, that claim 30 is invalid for lack of written-description support.
III
We have considered Impact Engine's remaining arguments and find them unpersuasive. For the foregoing reasons, the district court's judgment is affirmed.
AFFIRMED.
REYNA, Circuit Judge, concurring-in-part, dissenting-in-part.
I concur in part with the majority opinion. I dissent only to the majority's non-infringement and ineligibility determinations as to the "project viewer" claims. I would vacate the district court's summary judgment grant of (1) non-infringement of claim 9 of the '497 patent and claim 1 of the '6,253 patent, and (2) Section 101 ineligibility of the claims in the '8,253 patent, '832 patent, and '632 patent, and remand for further proceedings.
I
The district court erred in granting summary judgment of non-infringement and ineligibility as to the "project viewer" claims. These determinations were based on the district court's legally insufficient and underdeveloped claim construction of "project viewer," a term that no party disputes is a means-plus-function claim term. As a result, the district court left the parties, and us, with no basis to determine whether the "project viewer" claims of the '497 patent and the '6,253 patent are infringed by Google's accused products and whether the "project viewer" claims of the '8,253 patent, '832 patent, and '632 patent are ineligible under Section 101. I would vacate the district court's summary judgment grants, vacate the district court's legally insufficient claim construction order, and remand for further proceedings, to include a new construction of "project viewer" in line with our means-plus-function claim construction case law. Playtex Prods., Inc. v. Procter & Gamble Co., 400 F.3d 901, 909-10 (Fed. Cir. 2005) (vacating summary judgment determination based on flawed claim construction); Nazomi Commc'ns, Inc. v. Arm Holdings, PLC, 403 F.3d 1364, 1366 (Fed. Cir. 2005) (same); Liquid Dynamics Corp. v. Vaughan Co., 355 F.3d 1361, 1371 (Fed. Cir. 2004) (same); Pickholtz v. Rainbow Techs., Inc., 284 F.3d 1365, 1374 (Fed. Cir. 2002) (same).
Our case law compels my dissent. Our case law is clear that in order to review a district court's claim construction, this court "must be furnished sufficient findings and reasoning to permit meaningful appellate scrutiny." Nazomi Commc'ns, 403 F.3d at 1371 (citation omitted); Anchor Wall Sys., Inc. v. Rockwood Retaining Walls, Inc., 340 F.3d 1298, 1311 (Fed. Cir. 2003); Gechter v. Davidson, 116 F.3d 1454, 1458 (Fed. Cir. 1997); Graco, Inc. v. Binks Mfg. Co., 60 F.3d 785, 791 (Fed. Cir. 1995); Shuffle Master, Inc. v. VendingData Corp., 163 Fed.Appx. 864, 868-69 (Fed. Cir. 2005). For a means-plus-function claim term, this means that a court must provide sufficient analysis under a two- step inquiry. First, a court must identify the claimed function. Williamson v. Citrix Online, LLC, 792 F.3d 1339, 1351 (Fed. Cir. 2015). Second, the court must determine what structure, if any, disclosed in the specification corresponds to the claimed function. Id. Stated differently, the written description must recite corresponding structure for the claimed function, otherwise the claim fails as indefinite. Id. at 1352. At step two, courts must clearly identify the structure in the specification that corresponds to the claimed function. A court's failure to do so may result in a construction that inadvertently and inappropriately imports structure that is not required for the claimed function. Northrop Grumman Corp. v. Intel Corp., 325 F.3d 1346, 1352 (Fed. Cir. 2003) ("A court may not import into the claim features that are unnecessary to perform the claimed function.").
The district court did not provide a sufficient analysis under this two-step inquiry in its claim construction order, resulting in a seriously deficient and confusing construction of "project viewer." Impact Engine, Inc. v. Google LLC, No. 19-cv-01301, 2021 WL 9525522, at *3 (S.D. Cal. May 14, 2021) (Claim Construction Order). At step 1, and in one sentence, the district court summarily concluded that a "project viewer" performed the following four functions across all ten asserted "project viewer" claims: rendering a communication, displaying slides, sending a communication; and allowing a user to view templates. Id. This analysis was in error because it was divorced from the claims at issue. The analysis, or lack thereof, did not specify which function was associated with each of the "project viewer" claims but rather associated all four functions with all asserted "project viewer" claims. No party disputes that the function of a "project viewer" differed depending on the claim. Appellant Br. 17; Appellee Br. 21.
The district court also erred at step 2. Rather than identify which structure in the specification corresponded to each of the four functions, the district court pointed to over three hundred lines of specification, spanning five columns, as the corresponding structure for "project viewer" across all asserted claims. Id. (citing '497 patent, 4:27-9:19). Based on this summary conclusion, the parties nor this court can tell whether the five columns of structure are required for all four functions or whether certain portions of these five columns correspond to a specific function. In other words, the district court left it to the parties, and even worse, this court, to sort out which structure corresponds to each of the four functions. This is not the parties' job nor ours. As the majority even noted at oral argument, "[w]hat the district court did here was really confusing by identifying a whole bunch of material without specifically mapping the structure in that to the functions.... It is [] not [our] job to read this and figure out what the structure is in the first instance." Oral Arg. 16:40-17:25 (emphasis added).
In sum, the district court's construction of "project viewer" is inadequate. The district court does not set out any basis for its reasoning sufficient for meaningful appellate review. This court must therefore vacate and remand for further claim construction and subsequent infringement and Section 101 analyses of the "project viewer" claims.
II
The district court's grant of summary judgment of noninfringement of the "project viewer" claims is also improper for a separate, independent reason. Setting aside its underdeveloped and insufficient construction of "project viewer," the district court also conducted a flawed infringement analysis, providing this court with no basis to determine whether there is a genuine factual dispute as to whether Google's accused products infringed the "project viewer" claims at issue.
An infringement analysis involves a two-step framework in which the court construes the disputed claim terms and then compares the properly construed claims to the accused devices. Markman v. Westview Instruments, Inc., 52 F.3d 967, 976 (Fed. Cir. 1995). Infringement is a question of fact. Medgraph, Inc. v. Medtronic, Inc., 843 F.3d 942, 949 (Fed. Cir. 2016). Thus, a grant of summary judgment of non-infringement is proper when no reasonable factfinder could find that the accused product contains every claim limitation or its equivalent. Id.
Following the district court's Claim Construction Order, Google moved for summary judgment of non-infringe-ment of two "project viewer" claims: claim 9 of the '497 patent and claim 1 of the '6,253 patent. In opposing this motion, Impact Engine proposed two separate, alternative infringement theories. The first theory relied on a construction of "project viewer" which identified only a portion of the five columns of specification as corresponding structure for the "project viewer" claims at issue. J.A. 9857-60 (summary judgment brief); Appellant Br. 66-67. The district court rejected this theory because it did not identify all five columns of specification as structure and entered judgment of non-infringement on this ground. Impact Engine, Inc. v. Google LLC, 624 F.Supp.3d 1190, 1193-94 (S.D. Cal. 2022) (Summary Judgment Order). In an effort to retroactively clarify its Claim Construction Order, the district court noted in its Summary Judgment Order that the required structure for all "project viewer" claims was contained in the five columns of specification at columns 4:27-9:19 of the '497 patent. Id.
Impact Engine's second theory, however, relied on a construction of "project viewer" that identified all five columns of specification as required structure. J.A. 9860-63 (summary judgment brief). Specifically, Impact Engine's expert noted that while all five columns of specification were not necessary for the "project viewer" claims at issue, Google's accused products embodied the claimed "project viewer" "even assuming that each of the nine algorithmic structures described in the identified columns is required to be present." J.A. 8354 ¶255; see also J.A. 8352-53 ¶¶249-51; J.A. 8388-91 ¶¶283-87; J.A. 8395 ¶301; J.A. 8660-69 ¶¶512-21; J.A. 8886-90 ¶¶744-54; J.A. 10217-219 ¶¶151-52. Without explanation, the district court did not consider this second theory, or the evidence submitted by Impact Engine, which was in line with its newly announced construction of "project viewer." Summary Judgment Order, at 1193-94. This was error.
Given that Impact Engine's second theory aligned with the district court's construction of "project viewer," the district court should have then evaluated the evidence in the record and compared Google's accused devices to the "project viewer" claims at issue. The district court's failure to do so resulted in an incomplete infringement analysis, precluding a grant of summary judgment of non-infringement. Additionally, without any analysis by the district court as to this second step of the infringement analysis, this court has no basis to determine whether there is a factual dispute as to whether Google's accused products infringe the "project viewer" claims at issue. Remand is required under these circumstances. Nazomi Commc'ns, 403 F.3d at 1372.
The majority errs by not acknowledging Impact Engine's second theory of infringement. The majority mistakenly believes that Impact Engine's infringement case turns solely on its first theory, which applied a construction of "project viewer" that relied on a subset of the five columns of specification. The majority considers Impact Engine's proposed claim construction in the first instance, rejects it, and affirms the district court's summary judgment grant of non-infringement. Maj. Op. at 16-20. The majority also errs in asserting that Impact Engine does not dispute affirmance of non-infringement if its proposed construction of "project viewer" is incorrect. Maj. Op. at 16. Impact Engine clearly argued in its briefing on appeal and at oral argument that a remand is required in light of its second theory of infringement (which relies on all five columns of specification). Appellant Br. 72-74; Reply Br. 35-37; Oral Arg. 8:20-41; Oral Arg. 42:20-43:10.
For these reasons, I respectfully concur in part and dissent in part.