From Casetext: Smarter Legal Research

NetFuel, Inc. v. Cisco Sys. Inc.

UNITED STATES DISTRICT COURT NORTHERN DISTRICT OF CALIFORNIA SAN JOSE DIVISION
Apr 11, 2019
Case No. 5:18-cv-02352-EJD (N.D. Cal. Apr. 11, 2019)

Opinion

Case No. 5:18-cv-02352-EJD

04-11-2019

NETFUEL, INC., Plaintiff, v. CISCO SYSTEMS INC., Defendant.


CLAIM CONSTRUCTION ORDER

NetFuel, Inc. has sued Cisco Systems, Inc. alleging infringement of two patents: U.S. Patent Nos. 7,747,730 (Dkt. 50-3; hereinafter the " '730 Patent") and 9,663,659 (Dkt. 50-3; hereinafter the " '659 Patent"). NetFuel and Cisco request the Court construe three claim terms from these patents. On February 28, 2019, the Court held a tutorial and then a Markman hearing. Having considered the patents, the extrinsic evidence, the submissions and oral arguments of the parties, and the tutorials, the Court rules as follows.

I. Background

The two patents in suit share the title "Managing Computer Network Resources." The invention here concerns a way of automating the management of computer networks to maintain network performance with little or no human oversight. '730 Patent, col. 1:6-24. The patents recognize that "[t]ypically, network management is performed by humans, or is, to a large extent, dependent on human input." '659 Patent, col. 1:20-21. Human management is "undesirable, particularly, for example, in the case of a network having a large number of nodes because of the time it would take a human to identify and fix each failed node." Id. at 1:21-24. It would be better for "networks [to] run themselves as much as possible." Id. at 1:25-26.

To this end, the invention uses programs called "agents" to monitor, maintain, and improve network performance. See '730 Patent, Abstract; 659 Patent, col. 2:30-31. The patents provide that "[e]ach agent has at least one assigned goal which is expressed in the form of policy and can be dynamically modified based on desired operational characteristics of the network." '730 Patent, col. 2:17-20. Entities called modelers create policy based, in part, on feedback from the agents and provide the policy to agents. See, e.g., '659 Patent, col. 3:3-15; 11:32-56; 23:54-66. As discussed below, the parties dispute the role and organizational structure of modelers.

II. Agreed-Upon Constructions

NetFuel and Cisco have agreed to the construction of several terms. Dkt. 68-1. The Court approves and adopts the following agreed-upon constructions:

Term

Patent and Claims

Agreed-Upon Construction

clone itself

'730 Patent, claims 1, 7, 30

Plain and ordinary meaning.No construction necessary.

computer network

'730 Patent, claims 1, 7, 30

Plain and ordinary meaning.No construction necessary.

load balancing operation

'659 Patent, claims 2, 8, 14

Plain and ordinary meaning.No construction necessary.

agent

'659 Patent, claims 1, 7, 13

A program that performssome type of operation, whichmay be information gatheringor some processing task, inthe background.

software agent

'730 Patent, claims 1, 7, 30

Plain and ordinary meaning.No construction necessary.

runtime environment

'659 Patent, claims 1, 7, 13;'730 Patent, claims 1, 7, 30

Plain and ordinary meaning.No construction necessary.

topological representation

'730 Patent, claims 3, 9, 32

A representation of the logicaland/or physical arrangementof devices in a network.

secure communicationsprotocol

'730 Patent, claims 12, 13, 14

A set of rules or standardsdesigned to protect data fromaccidental or maliciousaccess, use, modification,destruction, or disclosure

autonomous agent

'730 Patent, claims 1, 7, 30

Plain and ordinary meaning.No construction necessary.

thread

'659 Patent, claims 1, 7, 13

the execution of a section ofcode independently within asoftware program

III. Legal Standard

Claim construction is a legal question decided by the courts. Markman v. Westview Instruments, Inc., 517 U.S. 370, 387 (1996). "[A] full understanding of what the inventors actually invented and intended to envelop" is necessary to properly interpret a claim. Phillips v. AWH Corp., 415 F.3d 1303, 1316 (Fed. Cir. 2005) (quoting Renishaw PLC v. Marposs Societa' per Azioni, 158 F.3d 1243, 1250 (Fed. Cir. 1998)). "It is a 'bedrock principle' of patent law that 'the claims of a patent define the invention to which the patentee is entitled the right to exclude." Phillips, 415 F.3d at 1312. Claim construction should begin with "the language of the asserted claim itself." Comark Commc'ns, Inc. v. Harris Corp., 156 F.3d 1182, 1186 (Fed. Cir. 1998). Courts should interpret claim terms to have "their ordinary and customary meaning . . . to a person of ordinary skill in the art in question at the time of the invention." Phillips, 415 F.3d at 1313 (citation omitted). "Because a patent is a fully integrated written instrument, [courts] have long emphasized the importance of the specification in claim construction." David Netzer Consulting Eng'r LLC v. Shell Oil Co., 824 F.3d 989, 993 (Fed. Cir. 2016) (citation omitted). It is "the single best guide to the meaning of a disputed term." Phillips, 415 F.3d at 1315. The prosecution history can provide further insight to understanding the proper meaning of disputed terms. Id. at 1316-17.

Though it carries less weight, a court may consider extrinsic evidence such as dictionary definitions or expert testimony, "if the court deems it helpful in determining the true meaning of language used in the patent claims." Id. at 1318. But, extrinsic evidence is "unlikely to result in a reliable interpretation of patent claim scope unless considered in the context of the intrinsic evidence." Id.

IV. The Disputed Terms

A. "optimal policy" '730 Patent, claims 1, 7, 30

NetFuel's ProposedConstruction

Cisco's ProposedConstruction

The Court's Construction

a superior policy for aparticular characteristic or setof characteristics

a policy that is the mosteffective for a particularcharacteristic or set ofcharacteristicsAlternatively: Indefinite

a policy that is the mosteffective for a particularcharacteristic or set ofcharacteristics

NetFuel and Cisco agree that the difference between their proposed constructions is whether there can be more than one optimal policy for a particular characteristic or set of characteristics. The '730 Patent claims use the term as follows:

creating test policy and modeling a behavior of the computer network based on the test policy to determine an optimal policy for the computer network . . . wherein said modeling comprises determining appropriate policy based on the prediction; and
dynamically modifying the assigned goal of the software agent by replacing the assigned goal based on the optimal policy . . . .
'730 Patent, Claim 1, col. 34:64-35:6,
a modeler embodied in hardware to create test policy and to model a behavior of the computer network based on the test policy thereby to determine an optimal policy for the computer network . . . wherein the modeler determines appropriate policy based on the prediction;
a network control mechanism to dynamically modify the assigned goal of the software agent by replacing the assigned goal based on the optimal policy . . . .
Id., Claim 7, col. 35:33-42,
creating test policy and modeling a behavior of the computer network based on the test policy to determine an optimal policy for the computer network . . . wherein said modeling comprises determining appropriate policy based on the prediction; and
dynamically modifying the assigned goal of the software agent according to a desired operational characteristic of the computer network by replacing the assigned goal based on the optimal policy.
Id., Claim 30, col. 36:54-64.

According to NetFuel, because the indefinite article "an" precedes the term when it is introduced, it should be construed as meaning one or more because "the use of the indefinite articles 'a' or 'an' means 'one or more.'" SanDisk Corp. v. Kingston Tech. Co., 695 F.3d 1348, 1360 (Fed. Cir. 2012) (citing Baldwin Graphic Systems, Inc. v. Siebert, 512 F.3d 1338, 1342 (Fed.Cir.2008)). In Baldwin Graphics, the Federal Circuit considered the phrase "a pre-soaked fabric roll" and ruled that the district court had erroneously limited the phrase to mean a single roll. 512 F.3d at 1343. The court found that the specification of the patent in question did not "require" the roll to be singular. Id. at 1343-44. In SanDisk, the Federal Circuit reversed a district court's claim construction of the term "at least a user data portion and an overhead portion" because it also improperly limited the claim to only one user data portion and only one overhead portion. 695 F.3d at 1360-61. The SanDisk Court reasoned that the phrase "at least" implied that the claim covered more than one user data portion and overhead portion. Both cases noted, though, this rule would not apply where "the language of the claims themselves, the specification, or the prosecution history necessitate[s] a departure." SanDisk, 695 F.3d at 1360 (quoting Baldwin Graphics, 512 F.3d at 1342-43). For this exception to apply, the patent "must evince a clear intent to limit 'a' or 'an' to 'one.'" Baldwin Graphic, 512 F.3d at 1342.

The Court finds that the exception applies here because the word "optimal" in the '730 patent indicates the term is superlative and singular—not plural. The claim language shows that optimal policy is specifically determined by using test policy to model a behavior of the computer network, so that the implemented policy is optimal for the computer network. The term does not use an adverb—like "more" or "less"—to modify "optimal," making it a comparison adjective. And "optimal" modifies a singular noun. In other words, optimal policy is specific to its context. The claim language does not contemplate any sort of comparison of optimal policy to an existing policy or other potential less-optimal policies. Rather, the policy is "optimal" for the characteristics of the network—not when compared against other policies. Indeed, optimal policy could be implemented where there is no prior or existing policy. "Optimal" in this context is a superlative and singular term, not a term of degree or a term of comparison.

NetFuel's proposed construction is inapplicable because the word "superior" implies a comparison to another policy. See Pl.'s Opening Br. at 13 (arguing that "optimal policy" may include "more than one policy that is superior to the existing policy"). As Cisco's counsel analogized at the hearing, determining which gear is the optimal gear for a car is entirely based on the road conditions and how the driver is driving. As those factors change, so does the optimal gear. Similarly, as the characteristics of the modeled behavior and the computer network change, so will the policy that is optimal. There may be multiple optimal policies for multiple sets of characteristics, but there can only be one optimal policy for "a particular characteristic or set of characteristics."

The written description supports this understanding. The term appears in only one paragraph of the specification:

The module 18.3 allows test policy to be written and the effects of such test policy on the system 10 may be determined by using numerical modeling techniques in the module 18.4. In this way, policy may be tested before implementation in order to determine optimal policy. The policy being implemented by the various agents may then be replaced dynamically with the optimal policy.
'730 Patent, col. 3:2-9 (emphasis added). Here, the Patent indicates that optimal policy is created by writing a test policy, and then modeling that test policy to determine its effects on the system. The outcome of that process is "optimal policy." This process does not consider creating or implementing multiple optimal policies, but instead states that the final product to be implemented is the optimal policy.

NetFuel's arguments to the contrary are not persuasive. First, NetFuel's references to the specification are off-point. They go to discussions of corrective actions by agents (id., col. 11:25-31), and corrective policies designed to fix abnormalities (id., col. 23:44-62). Neither portion of the specification references nor concerns optimal policy. Second, that Cisco owns patents that use adverbs to modify "optimal" supports the conclusion that "optimal" here should be understood as superlative and singular. If the inventor wanted optimal to be understood as a term of degree, the inventor would have used similar adverbs to modify optimal. Next, InfoGation Corporation. v. ZTE Corporation., is off-point because the term there was "optimal routes/optimal route." 2017 WL 1743870, at *11 (S.D. Cal. May 4, 2017). The claim expressly recited that the noun modified by "optimal" could be plural. Id. Here, "optimal" modifies a singular noun: policy. Moreover, the InfoGation court did not interpret "optimal" to always be a term of degree but interpreted it as such specifically "in claim 15" of that patent. Id. Here, the intrinsic evidence clearly evinces the intent that "optimal policy" be construed as superlative and singular.

The parties argue over various dictionaries' definitions of "optimized code," "optimize," and "optimization." The Court notes that none of those words are the word at issue here. The "multiple dictionary definitions . . . extend beyond the construction of the patent" and do not change the Court's analysis. Phillips, 415 F.3d at 1321-22.

Reading the patent as a whole, the Court finds Cisco's construction to be the correct construction.

B. "global modeler" '659 Patent, claims 1, 7, 13.

NetFuel's ProposedConstruction

Cisco's ProposedConstruction

The Court's Construction

software and/or hardware thatreceives information from andprovides direction to agents.

a module that enforcespolicies upon subordinatemodelers

a module that enforcespolicies upon subordinatemodelers

Neither party argues that "global modeler" has a plain and ordinary meaning outside of the patent. The claims refer to a "global modeler" in the following language:

performing the corrective action comprises first making a request for a corrective policy to correct a detected abnormality from an entity external to the first runtime environment if the corrective policy is not available to an agent operating within the first runtime environment, wherein . . .
the entity external to the first runtime environment is a global modeler configured to listen to events from a system comprising a plurality of runtime environments including the first runtime environment, each of the runtime environments running multiple threads.
'659 Patent, Claim 1, col. 36:35-49; Claim 7, col. 37:12-26; Claim 13, col. 38:13-27. The claimed modeler is not any modeler but, specifically, a "global" modeler.

The specification describes different types of modelers employed by or within the invention and gives particular attention to two types: "local modelers" and "global modelers." Id., col. 22:5-65. It states that "the primary function of local modelers is to deploy, coordinate, and control compound policy statements over multiple managed devices within the system 10." Id., col. 22:7-9. A global modeler, by contrast,

forms a master scheduler/planner/architect for one or more functional domains. It is responsible for analyzing, in real-time, a single functional domain and determining its optimal usage between various components given various global/regional/local policies applied to the system 10. It does this in real-time and manages by sending out commands to the local modelers.
Id., col. 22:44-50. So, local modelers focus on policy statements and receive commands from global modelers, while global modelers are the "master" scheduler, planner, or architect over one or more functional domains, for which they both determine its optimal usage and manage by sending commands to local modelers. Elsewhere, the specification states that a "global modeler breaks up and enforces policies upon subordinate modelers." Id., col. 20:21-24. These descriptions of global modelers are made in connection to a system—labeled "10" in Fig. 1—that is for "managing a network in accordance with the invention." Id., col. 2:25-26. In other words, these descriptions go to the invention, and not just a single embodiment of the invention. The patent then, when read as a whole, unambiguously differentiates global modelers from other modelers and specifies that global modelers can command other modelers.

The claims and the specification support Cisco's construction. NetFuel's construction would effectively delete the word "global" from the claim term. The "claim construction that gives meaning to all the terms of the claim is preferred over one that does not do so." Merck & Co. v. Teva Pharm. USA, Inc., 395 F.3d 1364, 1372 (Fed. Cir. 2005). NetFuel's argument that the word "global" simply "clarifies that the claimed modeler is not attached to an agent, not embedded within the agent runtime environment, and serves more than one agent and/or runtime environment" makes redundant that paragraph of the claims. Reply at 11. This is also why Cisco's construction does not improperly import a limitation from the specification into the claims. NetFuel's cases, Cadence Pharmaceuticals Inc. v. Exela PharmSci Inc., 780 F.3d 1364 (Fed. Cir. 2015), and Info-Hold, Inc. v. Applied Media Technologies Corp., 783 F.3d 1262 (Fed. Cir. 2015), are inapposite because they both considered whether it was proper to read the limitations of one or more embodiments into a claim that did not include said limitations. That is not the case here where the claims include the limitation of subordinate modelers by reciting "global" modelers. Giving meaning to every word of the claim requires subordinate modelers.

Where Cisco's construction borrows language from the specification, NetFuel's construction finds no support from the specification. NetFuel purports to cite to two portions of the specification showing that global modelers may provide policy directly to agents, but the citations do not withstand scrutiny. The first citation describes how agents report information to a global modeler, which then uses that information to write test policy, model network behavior and determine optimal policy. '659 Patent, col. 3:3-15. But the citation does not describe the global modeler directly providing or distributing policy to agents. Id. Rather, it uses the passive voice to state that the policy being implemented by agents "may then be replaced" with the optimal policy. Id., col. 3:12-14. NetFuel's second citation describes policy passing first "through the regional modelers and then secondly through one or more local modelers," so it actually undercuts NetFuel's position. Reply at 11-12 (citing '659 Patent, col. 21:47-49).

The prosecution history does not compel NetFuel's construction. NetFuel contends that the examiner concluded, in a non-final rejection, that the Lahey prior art referenced a "global modeler" in the form of a "workflow transition table" with no discussion of subordinate workflow transition tables. Dkt. 59-8 at 4. Cisco counters that the Lahey prior art refers to a "job status table" that is changed by the workflow transition table, and that, in turn, causes the Lahey equivalent of an agent to take an action. Dkt. 59-9 ¶ 67. This structure, Cisco contends, is a hierarchical system like the organization of modelers under Cisco's construction. The Court finds that the prosecution history on this point "lacks the clarity of the specification and thus is less useful for claim construction purposes." Phillips, 415 F.3d at 1317. The Court finds that the clear language of the claims and the specification outweigh this ambiguous portion of the prosecution history. HTC Corp. v. IPCom GmbH & Co., KG, 667 F.3d 1270, 1276 (Fed. Cir. 2012) ("Claim language and the specification generally carry greater weight than the prosecution history."). NetFuel's argument based on the prosecution history does not override the clear intent of the claims and the specification.

The Court does not agree that Cisco's construction introduces new terms that require their own construction. The parties have not proposed the term "modeler" for construction even though it appears in Claim 7 of the '730 Patent, and the adjective "subordinate" is commonly understood. Accordingly, the term "subordinate modeler" does not require further construction. The Court also finds that "module" is not a technical term "beyond the ken of a lay jury." Augme Techs. v. Yahoo!, Inc., 2012 WL 10528, at *14 (N.D. Cal. Jan. 3, 2012), aff'd sub nom. Augme Techs., Inc. v. Yahoo! Inc., 755 F.3d 1326 (Fed. Cir. 2014). In Augme, the court reasoned that the terms "XML" and "data store template" would require further construction for the jury. Neither of those terms is analogous to "module."

The Court approves and adopts Cisco's construction of "global modeler."

C. "first making a request for a corrective policy to correct a detected abnormality from an entity external to the first runtime environment if the corrective policy is not available to an agent operating within the first runtime environment" '659 Patent, Claims 1, 7, 13

NetFuel's ProposedConstruction

Cisco's ProposedConstruction

The Court's Construction

Plain and ordinary meaning.No construction necessary.

first determining whether acorrective policy to correct adetected abnormality isavailable to an agent operatingwithin the first runtimeenvironment, and when theagent lacks the correctivepolicy, then making a requestfor the corrective policy froman entity external to the firstruntime environment

if the corrective policy is notavailable to an agent operatingwithin the first runtimeenvironment, first making arequest for a corrective policyto correct a detectedabnormality from an entityexternal to the first runtimeenvironment

Cisco contends that this term, which makes up a full paragraph of three independent claims of the '659 Patent, is ambiguous as to whether the agent must first determine if it already has a corrective policy before it requests the corrective policy from an external entity. The three claims recite:

performing the corrective action comprises first making a request for a corrective policy to correct a detected abnormality from an entity external to the first runtime environment if the corrective policy is not available to an agent operating within the first runtime environment, wherein . . . .
'659 Patent, Claim 1, col. 36:35-40; Claim 7, col. 37:12-17; Claim 13, col. 38:13-18. Cisco argues that the plain meaning of the claim is that the agent will request the corrective policy from the external entity, only if the agent first makes a determination that the policy is not available. That is, the conditional clause requires that the agent must first make a determination before making a request. Cisco cites to portions of the specification that describe processes where agents do indeed determine whether a needed corrective policy is available before making the request. Id., 3:36-61, 3:61-4:3.

NetFuel argues that the phrase should not be construed by the Court, but rather should rest with its plain and ordinary meaning. NetFuel contends that Cisco's construction would impose limitations on the claim, such as requiring that the agent—instead of another entity—make the determination regarding the corrective policy's availability. NetFuel cites to a portion of the specification that describes the CCE-, a regional modeler, determining whether a policy is needed. Id., col. 10:22-26. Another limitation would be the creation of this determination step. Rather than add another step, NetFuel contends, the claims describe a single step for the determination-request process that is plain on its face. NetFuel illustrates this point by presenting the term with an explanatory appositive removed, so that it reads: "first making a request for a corrective policy . . . if the corrective policy is not available to an agent operating within the first runtime environment."

NetFuel's brief incorrectly states that the determination is made by a global modeler, not the CCE-. --------

The Court largely agrees with NetFuel. Cisco's construction would improperly limit the claim by requiring an agent to determine whether a corrective policy is available. However, the Court notes that NetFuel omitted 14 words to show that the term recites a single step. To provide clarity on the parties' point of disagreement without adding or removing any words from the term, the Court will construe the term so that the conditional clause precedes the main clause. The entire paragraph would read:

performing the corrective action comprises, if the corrective policy is not available to an agent operating within the first runtime environment, first making a request for a corrective policy to correct a detected abnormality from an entity external to the first runtime environment, wherein . . . .
This construction preserves and clarifies the claim without adding limitations or redrafting it.

V. Conclusion and Order

As set forth above, the Court construes the three disputed terms as follows:

Claim Term

Court's Construction

optimal policy

a policy that is the most effective for aparticular characteristic or set ofcharacteristics

global modeler

a module that enforces policies uponsubordinate modelers

first making a request for a corrective policy tocorrect a detected abnormality from an entityexternal to the first runtime environment if thecorrective policy is not available to an agentoperating within the first runtime environment

if the corrective policy is not available to anagent operating within the first runtimeenvironment, first making a request for acorrective policy to correct a detectedabnormality from an entity external to the firstruntime environment

IT IS SO ORDERED. Dated: April 11, 2019

/s/_________

EDWARD J. DAVILA

United States District Judge


Summaries of

NetFuel, Inc. v. Cisco Sys. Inc.

UNITED STATES DISTRICT COURT NORTHERN DISTRICT OF CALIFORNIA SAN JOSE DIVISION
Apr 11, 2019
Case No. 5:18-cv-02352-EJD (N.D. Cal. Apr. 11, 2019)
Case details for

NetFuel, Inc. v. Cisco Sys. Inc.

Case Details

Full title:NETFUEL, INC., Plaintiff, v. CISCO SYSTEMS INC., Defendant.

Court:UNITED STATES DISTRICT COURT NORTHERN DISTRICT OF CALIFORNIA SAN JOSE DIVISION

Date published: Apr 11, 2019

Citations

Case No. 5:18-cv-02352-EJD (N.D. Cal. Apr. 11, 2019)