
    ORACLE CORPORATION and Oracle U.S.A., Inc., Plaintiffs-Appellees, v. PARALLEL NETWORKS, LLC, Defendant-Appellant.
    No. 2009-1183.
    United States Court of Appeals, Federal Circuit.
    April 28, 2010.
    Rehearing Denied June 10, 2010.
    James G. Gilliland, Jr., Townsend and Townsend and Crew LLP, of San Francisco, CA, argued for plaintiffs-appellees. With him on the brief were Theodore T. Herhold, Joseph A. Greco, Robert J. Artuz and Eric M. Hutchins, of Palo Alto, CA.
    Kevin J. Meek, Baker Botts LLP, of Dallas, TX, argued for defendant-appellant. With him on the brief were Larry D. Carlson and Samara L. Kline; and Darryl J. Adams, of Austin, TX.
    Before RADER, PLAGER, and PROST, Circuit Judges.
   RADER, Circuit Judge.

The United States District Court for the District of Delaware granted Oracle Corporation’s and Oracle U.S.A., Inc.’s (collectively, “Oracle”) motion for summary judgment of non-infringement on the ground that the accused products do not meet the “releasing” limitation of the asserted claims. Oracle Corp. v. Parallel Networks, LLP, 588 F.Supp.2d 549, 563-67 (D.Del.2008). Because a reasonable jury could find that the accused devices satisfy the “releasing” limitation, this court vacates the district court’s grant of summary judgment and remands.

I.

Oracle filed an action against epicRealm Licensing, L.P. (“epicRealm”) seeking a declaratory judgment that Oracle does not infringe U.S. Patent Nos. 5,894,554 (“'554 patent”) and 6,415,335 (“'335 patent”) and that both patents are invalid and/or unenforceable. epicRealm counterclaimed that certain Oracle products infringe the '554 patent and the '335 patent. epicRealm later assigned the patents to Parallel Networks, LLC (“Parallel Networks”). Parallel Networks replaced epicRealm in this action.

The '554 patent is entitled “System for Managing Dynamic Web Page Generation Requests by Intercepting Request at Web Server and Routing to Page Server Thereby Releasing Web Server to Process Other Requests.” The '554 patent issued on April 13, 1999, based on an April 23, 1996 application. The '335 patent is entitled “System and Method for Managing Dynamic Web Page Generation Requests.” The '335 patent issued on July 2, 2002, based on a January 19, 1999 application. The '335 patent is a divisional of the '554 patent.

The patents claim systems and methods for efficiently managing dynamic web page requests. Specifically, the claimed invention seeks to lighten a web server’s processing load by allowing it to off-load dynamic web page requests to one or more page servers. Figure 4 illustrates one embodiment of the invention:

'554 patent fig.4. In this embodiment, a web client (200) initiates a request for a web page. A web server (201) receives the request. Instead of a web server executable (201(E)) processing the request, an interceptor (400) diverts the request to a dispatcher (402). The dispatcher selects one of a number of page servers (404(1)— (n)) based on a predetermined criteria. The selected page server retrieves the requisite data from one or more data sources (406, 408, 410) and incorporates the data into a web page. The page server transmits the web page to the web server or to a machine that is accessible to the web server for later retrieval. Thus, while the page server processes the request, the web server “can concurrently process other Web client requests.” Id. at col. 6 ll. 21-24. This “partitioned architecture” allows both the page server and the web server “to simultaneously process different requests, thus increasing the efficiency of the Web site.” Id. at col. 6 ll. 24-27.

Parallel Networks asserts that certain Oracle products infringe claims 1-5 and 7-11 of the '554 patent and claims 2 and 16 of the '335 patent. Claim 11 of the '554 patent is representative:

A machine readable medium having stored thereon data representing sequences of instructions, which when executed by a computer system, cause said computer system to perform the steps of:
routing a dynamic web page generation request from a Web server to a page server, said page server receiving said request and releasing said Web server to process other requests wherein said routing step further includes the steps of intercepting said request at said Web server, routing said request from said Web server to a dispatcher, and dispatching said request to said page server;
processing said request, said processing being performed by said page server while said Web server concurrently processes said other requests; and
dynamically generating a Web page, said Web page including data retrieved from one or more data sources.

'554 patent col. 10 11.24-41 (emphases added). All asserted claims have the “releasing” limitation, the “intercepting” limitation, and the “dispatching” limitation.

Parallel Networks accuses the following Oracle products of infringement: (1) Web Cache products; (2) Internet Application Server products; and (3) Database products with Real Application Clusters. The parties do not dispute the physical characteristics of the accused products.

Web Cache is a software program designed to store or “cache” frequently requested web pages. Web Cache creates a front end fiber for each web page request. The front end fiber checks to see if the cache has already stored the requested web page. If it is cached, Web Cache returns the cached web page to the client. Otherwise, Web Cache creates a back end fiber, which stores the data associated with the request in a memory buffer and then forwards the request to a server called Oracle HTTP Server (“OHS”). The back end fiber deletes the data packets upon receiving an ACK from OHS indicating that OHS has received the request. Once OHS locates the requested web page, Web Cache stores it in its cache and returns it to the client via the front end and back end fibers. Web Cache then normally destroys the fibers it used to process the request.

Internet Application Server products contain multiple software programs such as OHS and Oracle Containers for Java (“OC4J”), the latter of which runs Java-based software applications. An OHS instance runs a program called HTTP Listener and has a collection of modules. HTTP Listener receives the web page requests from Web Cache and forwards them to the appropriate module for processing. For example, when a client requests a web page that requires processing by a Java-based software application, HTTP Listener uses a module called mod_oc4j to route the request to OC4J. The OHS instance completes its process when it either sends the requested web page or an error message to Web Cache. Database products consist primarily of a package of data management software called Relational Database Management System (“RDBMS”). Real Application Clusters (“RAC”) is a database option in which multiple instances on multiple computers can access a single database. A RAC database instance can generate a web page.

Parallel Networks presents two contentions of infringement. The first contention treats Web Cache as the “Web server” and OHS as the “page server.” The second contention treats OHS as the “Web server” and either OC4J or a RAC database instance as the “page server.” Parallel Networks asserts that, under both theories, the “page server” releases the “Web server” to process other requests.

Oracle moved for summary judgment of non-infringement of all asserted claims based on the “releasing,” “intercepting,” and “dispatching” limitations. Parallel Networks also moved for summary judgment that Oracle literally infringes claim 11 of the '554 patent. On December 4, 2008, 2008 WL 5156117, the district court granted Oracle’s motion solely based on the ground that the accused products did not meet the “releasing” limitation. Oracle, 588 F.Supp.2d at 563-67. The district court denied Parallel Network’s motion. Id. On December 23, 2008, the district court entered a final judgment. Parallel Networks appeals both the grant of Oracle’s summary judgment motion of non-infringement and the denial of Parallel Networks’s summary judgment motion of infringement. This court has jurisdiction under 28 U.S.C. § 1295(a)(1).

II.

This court reviews a district court’s grant of summary judgment of non-infringement without deference. Pause Tech,. LLC v. TiVo Inc., 419 F.3d 1326, 1329 (Fed.Cir.2005). This court reviews a denial of summary judgment for an abuse of discretion. Little Six, Inc. v. United States, 280 F.3d 1371, 1373 (Fed.Cir.2002).

III.

Summary judgment is appropriate when “the pleadings, depositions, answers to interrogatories, and admissions on file, together with the affidavits, if any, show that there is no genuine issue as to any material fact and that the moving party is entitled to a judgment as a matter of law.” Fed.R.Civ.P. 56. Thus, a court may grant summary judgment “when no ‘reasonable jury could return a verdict for the nonmov-ing party.’ ” Revolution Eyewear, Inc. v. Aspex Eyewear, Inc., 563 F.3d 1358, 1365 (Fed.Cir.2009) (citing Anderson v. Liberty Lobby, Inc., 477 U.S. 242, 248, 106 S.Ct. 2505, 91 L.Ed.2d 202 (1986)). To establish literal infringement, “every limitation set forth in a claim must be found in an accused product, exactly.” Southwall Tech., Inc. v. Cardinal IG Co., 54 F.3d 1570, 1575 (Fed.Cir.1995).

As noted, the district court granted summary judgment of non-infringement solely based on the “releasing” limitation. The district court construed “releasing said Web server to process other requests” to mean “freeing the Web server to process other requests.” Oracle Corp. v. Parallel Networks, LLP, No. 06-CV-414, 2008 WL 5156117, at *1, 2008 U.S. Dist. LEXIS 98155, at *2 (D.Del. Dec. 4, 2008). “[T]he page server does not ‘release’ the Web server unless the Web server is free to process other requests.” Id. at *1, 2008 U.S. Dist. LEXIS 98155, at *3. “Web server” is defined as “[sjoftware, or a machine having software, that receives Web page requests and returns Web pages in response to the requests.” Id. at *1, 2008 U.S. Dist. LEXIS 98155, at *4-5.

Because “Web server” can be “software, or a machine having software,” Parallel Networks may prove infringement by showing that either: (1) the page server releases the fiber or instance running on the Web server (“software infringement”); or (2) the page server releases the hardware resources (e.g., memory, microprocessor cycles) of the Web server (“hardware infringement”). The district court centered its analysis on software infringement. For example, the district court found that “Web Cache functions as a Web server’ only through [the front end and bank end] fibers.” Oracle, 588 F.Supp.2d at 565. Also, the district found that “OHS functions as a Web server’ only through these [OHS] instances....” Id. at 566. The district court concluded that the accused products do not infringe because they do not free particular fibers or instances. The district court did not, however, address whether hardware resources are freed. A reasonable jury could find that the accused Oracle products meet the “releasing” limitation under the hardware infringement theory.

The “releasing” limitation is met as long as the page server makes available the Web server’s hardware resources for other uses, one of which might be the processing of another web page request. Oracle contends that the freed resources must be used for processing a new web page request. However, the district court’s claim construction does not require such a narrow reading of the claims. Also, nothing in the specification requires the Web server to use the freed resources only for processing a new request. The specification simply recognizes the shortcoming of processing many web page requests on a_ single processor and explains that routing the requests to a different computer allows the processor to continue servicing other requests. '554 patent col. 5 ll. 9-19.

Oracle’s page servers free the Web servers’ buffer memory. When Web Cache is the “Web server,” a back end fiber stores the data associated with the web page request before forwarding the request to OHS. Upon receiving an ACK or an error signal from OHS, the back end fiber frees the memory. The freed memory is deallo-cated so that it may be used elsewhere, such as for processing another web page request. When OHS is the “Web server,” OHS similarly stores data about the web page request in its memory and deletes it upon receiving an ACK from OC4J or a RAC instance. OHS can later use the freed memory to process a different web page request.

In addition, Oracle’s page servers free the Web servers’ processors. When Web Cache is the “Web server,” the back end fiber waits while OHS processes the forwarded web page request. When OHS is the “Web server,” an OHS instance will wait for a response from OC4J or a RAC database. Processor time is a shared resource of the Web server for which the fibers and instances compete. Therefore, while a fiber or an instance idly waits for a response, the Web servers’ processors can handle other tasks. Because the Web server handles multiple web page requests at the same time, it can use the freed processor cycles to process other web page requests. Accordingly, this court finds that a reasonable jury could find that the accused Oracle products meet the “releasing” limitation.

This court may affirm a district court’s judgment on any ground supported by the record, even though that was not the basis of the district court’s decision. Hydril Co. LP v. Grant Prideco LP, 474 F.3d 1344, 1351 (Fed.Cir.2007). However, that authority* is discretionary, not mandatory. Id. In the present case, this court declines to consider the additional grounds for af-firmance — “dispatching” and “intercepting” limitations — because they involve a technical analysis of the accused products and a careful analysis of the patent specification. The two contested limitations would therefore be more appropriately addressed in the first instance by the district court.

IV.

Because a reasonable jury could find that the accused Oracle products meet the “releasing” limitation, this court vacates the district court’s grant of Oracle’s motion for summary judgment of non-infringement and its denial of Parallel Networks’ motion for summary judgment of infringement. This court remands the case for further proceedings consistent with the opinion.

VACATED AND REMANDED.

COSTS

Costs are taxed against Oracle.  