`
`
`
`
`
`
`
`
`
`UNITED STATES DISTRICT COURT
`NORTHERN DISTRICT OF CALIFORNIA
`
`FINJAN, INC.
`Plaintiff,
`
`vs.
`
`QUALYS INC.,
`Defendant.
`
`CASE NO. 4:18-cv-07229-YGR
`
`
`CLAIM CONSTRUCTION ORDER
`Re: Dkt. Nos. 42, 65
`
`
`
`
`
`
`Plaintiff Finjan, Inc. (“Finjan”) brings this patent infringement action against Defendant
`Qualys Inc. (“Qualys”), alleging that Qualys infringes U.S. Patent Nos. 8,677,494 (the “’494
`Patent”). 6,154,844 (the “’844 Patent”), 8,141,154 (the “’154 Patent”), 6,965,968 (the “’968
`Patent”), 7,418,731 (the “’731 Patent”), 7,975,305 (the “’305 Patent), and 8,225,408 (the “’408
`Patent”). Now before the Court are the parties’ claim construction disputes. A technology tutorial
`was held on May 22, 2020.
`Having carefully considered the papers submitted, the parties’ arguments presented at the
`May 27, 2020 claim construction hearing, and the pleadings in this action, and for the reasons set
`forth below, the Court hereby adopts the constructions set forth herein.
`
`I.
`
`BACKGROUND
`Finjan asserts seven patents. Although each patent has different claims and specification,
`several of the patents are related. Specifically, the ’844, ’731, ’305, ’408, ’494 Patents are
`continuations-in-part of the same parent application: No. 08/694,388.1 All of the patents relate
`
`
`1 Because these patents are related, their common claim terms are interpreted consistently
`across patents unless distinctions are “necessary.” NTP, Inc. v. Res. In Motion, Ltd., 418 F.3d
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 2 of 30
`
`
`
`generally to computer network security, most commonly at the network gateway. (See ’494 Patent
`at 1:60-63; ’844 Patent at 1:23-26; ’154 Patent at 1:7-9; ’968 Patent at 1:63-67, 2:12-16; ’731
`Patent at 1:20-21; ’305 Patent at 1:24-25; ’408 Patent at 1:19-20.)
`Figure 1 of the ’408 Patent illustrates the basic architecture common to several patents
`below. A network gateway (or “gateway computer”) “acts as a conduit for content from the
`Internet entering into a corporate intranet, and for content from the corporate intranet exiting to the
`Internet.” (’408 Patent at 3:62-67.) The gateway contains a scanner that inspects incoming
`content to identify malicious code (e.g., viruses). (Id. at 4:54-56.) The scanner uses security
`policies to decide whether to block incoming content—for example, blocking “severely malicious”
`content but allowing “less malicious” content. (Id. at 4:53-5:2.) The intranet is also coupled to a
`cache that stores content to avoid re-retrieval and re-scanning. (Id. at 5:10-15.) The Court
`addresses patent-specific implementations in the body of this Order.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1282, 1293 (Fed. Cir. 2005), abrogated on other grounds as stated in IRIS Corp. v. Japan Airlines
`Corp., 769 F.3d 1359, 1361 n.1 (Fed. Cir. 2014)
`2
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 3 of 30
`
`
`
`II.
`
`LEGAL PRINCIPLES
`Claim construction is a question of law for the court. Markman v. Westview Instruments,
`Inc., 517 U.S. 370, 384 (1996). “The purpose of claim construction is to determine the meaning
`and scope of the patent claims asserted to be infringed.” O2 Micro Int’l Ltd. v. Beyond Innovation
`Tech. Co., 521 F.3d 1351, 1360 (Fed. Cir. 2008). “When the parties raise an actual dispute
`regarding the proper scope of the[] claims, the court, not the jury, must resolve the dispute.” Id.
`However, claim construction needs only “resolve the controversy”; it is not “an obligatory
`exercise in redundancy” where no dispute exists. See id. at 1361-62; U.S. Surgical Corp. v.
`Ethicon, Inc., 103 F.3d 1554, 1568 (Fed. Cir. 1997).
`
`A.
`The Ordinary Meaning Construction
`Claim terms are generally given the “ordinary and customary meaning” that they would
`have to a person of ordinary skill in the art at the time of the invention. Phillips v. AWH Corp.,
`415 F.3d 1303, 1312-13 (Fed. Cir. 2005) (en banc). The ordinary and customary meaning is not
`the meaning of the claim term in the abstract. Id. at 1321. Rather, it is “the meaning to the
`ordinary artisan after reading the entire patent.” Id.; see also Trs. of Columbia U. v. Symantec
`Corp., 811 F.3d 1359, 1364 (Fed. Cir. 2016) (“The only meaning that matters in claim
`construction is the meaning in the context of the patent.”).
`To determine the ordinary meaning, the court examines the claims, specification, and
`prosecution history of the patent, which form the “intrinsic evidence” for claim construction.
`Phillips, 415 F.3d at 1313; Vitronics Corp. v. Conceptronic, Inc., 90 F.3d 1576, 1582 (Fed. Cir.
`1996). “[T]he context in which a term is used in the asserted claim can be highly instructive.”
`Phillips, 415 F.3d at 1314. Additionally, “[d]ifferences among claims can also be a useful guide
`in understanding the meaning of particular claim terms.” Id. However, a 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 specification.” Id.
`at 1313. The specification “is always highly relevant to the claim construction analysis” and
`usually “dispositive.” Id. at 1315 (quoting Vitronics, 90 F.3d at 1582). Nevertheless, it is
`improper to limit the claimed invention to the preferred embodiments or to import limitations from
`
`3
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 4 of 30
`
`
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`the specification unless the patentee has demonstrated a clear intent to limit claim scope. Martek
`Biosci. Corp. v. Nutrinova, Inc., 579 F.3d 1363, 1380-81 (Fed. Cir. 2009).
`In addition to the claims and specification, the prosecution history may be used “to
`provide[] evidence of how the PTO and the inventor understood the patent.” Philips, 415 F.3d. at
`1317. “Any explanation, elaboration, or qualification presented by the inventor during patent
`examination is relevant, for the role of claim construction is to ‘capture the scope of the actual
`invention’ that is disclosed, described and patented.” Fenner Inv., Ltd. v. Cellco P’ship, 778 F.3d
`1320, 1323 (Fed. Cir. 2015). Finally, a court may consider extrinsic evidence—such as
`dictionaries, inventor testimony, and expert opinion—if it is helpful. Phillips, 415 F.3d at 1319.
`However, extrinsic evidence “is unlikely to result in a reliable interpretation of patent claim scope
`unless considered in the context of the intrinsic evidence.” Id.
`There are two exceptions to the ordinary meaning construction: “1) when a patentee sets
`out a definition and acts as his own lexicographer,” and “2) when the patentee disavows the full
`scope of a claim term either in the specification or during prosecution.” Thorner v. Sony Comp.
`Entm’t Am. LLC, 669 F.3d 1362, 1365 (Fed. Cir. 2012) (citing Vitronics, 90 F.3d at 1580). To act
`as a lexicographer, the patentee “must ‘clearly set forth a definition of the disputed claim term’
`other than its plain and ordinary meaning.” Id. (quoting CCS Fitness, Inc. v. Brunswick Corp.,
`288 F.3d 1359, 1366 (Fed. Cir. 2002)). To disavow claim scope, the specification or prosecution
`history must “make[] clear that the invention does not include a particular feature” even though
`the language of the claims “might be considered broad enough to encompass the feature in
`question.” Id. at 1366 (quoting SciMed Life Sys., Inc. v. Adv. Cardiovascular Sys., Inc., 242 F.3d
`1337, 1341 (Fed. Cir. 2001)).
`
`B. Means-Plus-Function Terms
`Under 35 U.S.C. § 112 ¶ 6, a patentee may express claim terms as means or steps for
`performing a specified function “without the recital of structure, material, or acts in support
`thereof.” Such means-plus-function claims must be construed “to cover the corresponding
`structure, material, or acts described in the specification and equivalents thereof.” 35 U.S.C. § 112
`¶ 6. To construe means-plus-function claims, the court must first determine if Section 112
`4
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 5 of 30
`
`
`
`paragraph 6 applies. Williamson v. Citrix Online, LLC, 792 F.3d 1339, 1348 (Fed. Cir. 2015).
`Generally, the use of the term “means” creates a presumption that it does. See id. at 1349. The
`absence of the term “means” creates the opposite presumption. Id. A party may overcome the
`presumption by showing that the claims recite (or do not recite) “sufficiently definite structure” to
`adequately perform the claimed function. Id.
`If means-plus-function applies, the court engages in a two-step inquiry to construe the
`claims: first, “[t]he court must identify the claimed function,” and second, “the court must
`determine what structure, if any, disclosed in the specification corresponds to the claimed
`function.” Id. at 1351. A structure corresponds to the claimed function if “the specification or
`prosecution history clearly links or associates that structure to the function recited in the claim.”
`Noah Sys., Inc. v. Intuit Inc., 675 F.3d 1302, 1311 (Fed. Cir. 2012) (quoting B. Braun Med., Inc. v.
`Abbott Labs., 124 F.3d 1419, 1424 (Fed. Cir. 1997)). The structure must be adequate to perform
`the function; if the intrinsic evidence fails to disclose adequate corresponding structure, the claim
`is indefinite. Id.
`
`III. CLAIM CONSTRUCTION
`A.
`Disputed Terms in the ’408 Patent
`By way of background, the ’408 Patent is directed to scanning network content for exploits
`(e.g., viruses). (’408 Patent at 1:19-20.) Unlike traditional anti-virus software, which focuses on
`discrete “signatures” of viruses, the ’408 Patent focuses on patterns of tokens indicating exploits.
`(Id. at 1:34-55.) It does so using adaptive rule-based (ARB) scanners. (Id. at 1:65-66.) Each
`ARB scanner may contain three modules: (1) a tokenizer, (2) a parser, and (3) an analyzer. (Id. at
`2:35-46, Fig. 2.) The tokenizer receives incoming source material and identifies specific
`“tokens”—lexical constructs such as keywords or names for variables. (Id. at 6:51-59.) The
`parser creates a tree out of the tokens to identify groups of tokens that form a pattern. (Id. at 8:18-
`28.) Finally, the analyzer uses a set of rules to identify which patterns indicate exploits. (Id. at
`9:19-21.)
`
`5
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 6 of 30
`
`
`
`1.
`
`“instantiating, by the computer, a scanner for the specific programming
`language”
`
`
`
`Finjan’s Proposed
`Construction
`No construction necessary –
`Plain and ordinary meaning
`
`Court’s
`Construction
`generating or requesting a
`scanner that can scan the
`programming language by
`providing a generic scanner
`instance with language-
`specific data, rules, or both
`
`The term “instantiating, by the computer, a scanner for the specific programming
`
`language” appears in asserted claim 1 and unasserted claim 22 of the ’408 Patent. Claim 1 and 22
`recite methods that involve first determining the programming language of an incoming stream of
`program code and then instantiating a scanner “comprising parser rules and analyzer rules for the
`specific programming language” in response to the aforementioned determining. (’408 Patent at
`claims 1, 22; see also id. at claims 9 (claim reciting a “scanner instantiator” that performs the
`instantiating step).)
`
`The parties’ dispute stems from an unclear relationship between two parts of the
`specification. On the one hand, the specification states that “[t]he content scanners of the present
`invention are referred to as adaptive rule-based (ARB) scanners.” (’408 Patent at 1:65-66; see
`also id. at 6:35-40.) ARB scanners differ from other types of scanner because they are not “hard-
`coded for one particular type of content,” but can instead be “enabled to scan any specific type of
`content by providing appropriate rule files, without the need to modify source code.” (’408 Patent
`at 1:66-2:6.) Thus, in ARB scanners, “[r]ules files” for a particular language “serve as adaptors, to
`adapt an ARB content scanner to a specific type of content.” (Id. at 2:14-15; see also id. at 6:17-
`20 (“An ARB scanner system is preferably designed as a generic architecture that is language-
`independent, and is customized for a specific language through use of a set of language-specific
`rules.”), 6:35-40 (“[T]he present invention provides a flexible content scanning method and
`system, which can be adapted to any language by means of a set of rules.”).) These disclosures
`describe the “present invention” and suggest that the claimed “instantiating” does not require
`
`Qualys’ Proposed
`Construction
`substituting specific data,
`instructions, or both into a
`scanner to make it usable for
`scanning the programming
`language
`
`6
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 7 of 30
`
`
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`creating new scanners for different languages. Rather, the same scanner can be adapted to
`different programming languages simply by substituting new rules files. Qualys thus proposes
`construing this limitation as “substituting specific data, instructions, or both into a scanner to make
`it usable for scanning the programming language.” 2
`
`On the other hand, the specification also describes an embodiment where a “scanner
`factory module” creates an ARB scanner repository containing a “multitude of content scanners,”
`one for each possible language. (See id. at 14:65-15:67.) In this embodiment, rules files for
`different languages are combined into an “archive file.” (Id. at 15:5-14.) An “ARB scanner
`factory module” then uses the archive file to instantiate a scanner repository that “produces a
`single instance of each ARB scanner defined in the archive file.” (Id. at 15:15-33.) For example,
`Figure 6 shows a scanner repository containing an HTML scanner, a JavaScript scanner, and a
`URI scanner. (Id. at Fig. 6; see also id. at 15:39-41, Fig. 7.) When the client device downloads
`content from the Internet, the computer requests an appropriate scanner from the ARB scanner
`factory to process the content. (Id. at 15:49-63.) This embodiment suggests that new instances of
`a scanner really are created for different languages by the “ARB scanner factory.” Finjan thus
`proposes construing the term according to its “plain and ordinary meaning,” which online
`dictionaries define as “the realization of a predefined object” in which “a class of object is
`defined” and “[a]n instance of that object may then be declared.”
`
`The differing treatment in the specification has led different courts to adopt different
`constructions for this term. In Finjan, Inc. v. Rapid7, Inc., Judge Noreika in the District of
`Delaware adopted Finjan’s plain meaning construction of “instantiating” as “generating or
`requesting a scanner that can scan the specific programming language,” citing the column 15
`
`
`2 Qualys’ proposed construction stems from the IPR proceedings for the ’408 Patent. The
`Court takes sua sponte notice of those proceedings. There, the U.S. Patent and Trial Appeals
`Board (“PTAB”) rejected both parties’ proposed constructions—which were similar to Finjan’s—
`because they were broader than the specification allows. Palo Alto Networks, Inc. v. Finjan, Inc.,
`Nos. IPR2015-02001, IPR2016-00157, Paper 10 at 10-12 (PTAB Mar. 29, 2016). Instead, it
`adopted a dictionary definition based on “substituting,” which was closer to the specification. Id.
`(citing ’408 Patent at 15:30-34.) Although the PTAB applies a different claim construction
`standard than the district courts, the PTAB’s standard is broader than the Phillips standard.
`Accordingly, the PTAB’s finding that even under the broadest reasonable interpretation, Finjan’s
`construction is too broad has persuasive value.
`
`7
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 8 of 30
`
`
`
`disclosure that “[a]n advantage of the present invention is the ability to generate . . . a multitude of
`content scanners within a unified framework.” No. 18-1519 (MN), 2020 WL 565377, at **12-13
`(D. Del. Feb. 5, 2020) (citing ’408 Patent at 15:56-58). But in Finjan, Inc. v. Sonicwall, Inc.,
`Judge Freeman in this District adopted Qualys’ construction, relying on the disclosures that ARB
`scanners adopt to different languages through rules files. No. 17-cv-04467-BLF, 2019 WL
`1369938, at **15-17 (N.D. Cal. Mar. 26, 2019) (citing ’408 Patent at 1:65-2:24, 6:17-20). Both
`parties argue that their preferred decision is entitled to deference, but neither substantively
`addresses the other court’s construction.
`
`Despite the differing treatment, a thorough analysis reveals no real tension between the
`constructions. The “scanner factory module” embodiment makes clear that the “factory”
`instantiates different ARB scanners using the “archive file” that contains rules for different
`languages. Read in conjunction with the column three and six disclosures, the ARB scanner
`factory instantiates the ARB scanner repository by creating generic ARB scanners and then
`substituting (or inputting) language-specific rules from the archive file. Accordingly, both parties
`are correct. Finjan is correct in that the ’408 Patent uses “instantiating” according to its ordinary
`meaning of creating a specific instance of a scanner based on a pre-defined template.3 And Qualys
`is correct that the descriptions of the “present invention” limit the way in which scanners are
`instantiated by requiring the ABH scanner to remain the same while language-specific rules are
`input to adapt to different content. See Verizon Serv. Corp. v. Vonage Holdings Corp., 503 F.3d
`1295, 1308 (Fed. Cir. 2007) (“When a patent [] describes the features of the ‘present invention’ as
`a whole, this description limits the scope of the invention.”); see also Techtronic Indus. Co. v. Int’l
`Trade Comm’n, 944 F.3d 901, 907 (Fed. Cir. 2019) (“It is axiomatic that, where the specification
`describes the present invention as having a feature, that representation may disavow contrary
`embodiments.”). Accordingly, the appropriate construction combines both parties’ proposals.4
`
`
`3 Judge Freeman did not find otherwise: Sonicwall found that “the patentee’s use of
`‘instantiating’ . . . describes a procedure of customizing or setting up ‘a scanner for the specific
`programming language,’” which was consistent with its construction. 2019 WL 1369938, at *16.
` In the preferred embodiment, ARB scanners are created prior to the determination of the
`incoming content language. (See ’408 Patent at 15:30-35, 15:56-58.) The PTAB noted the
`8
`
` 4
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 9 of 30
`
`
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`The Court makes three adjustments to the combined construction. First, “specific data,
`
`instructions, or both” is changed to “specific data, rules, or both.” The term “instructions” could
`be interpreted to mean “source code,” but the specification makes clear that source code does not
`change in adapting the ARB scanner. (’408 Patent at 2:4-6.) Second, the Court changes
`“substituting” to “providing.” As Judge Noreika noted, the term “substitution” could be read to
`exclude embodiments where scanners are created from scratch. Rapid7, 2020 WL 565377, at *13.
`Although this Court does not believe there is an inconsistency, the term “providing” better reflects
`the intrinsic evidence that rule files may be provided without substitution. (See ’408 Patent at 2:3-
`6.) Finally, the Court adds that the scanner is a “generic instance” that receives “language-
`specific” rules files. Although (as Judges Freeman and Noreika both noted) the term “generic” is
`used in a preferred embodiment, the change here clarifies that the source code and basic operation
`of the scanner do not change when adapting to different languages, making it “generic” as to
`language, as described for the “present invention.” (See id. at 2:2-6, 6:35-43.) These changes are
`made for purposes of clarity and do not alter the substantive scope of the combined constructions
`previously adopted in the district courts.
`Accordingly, the Court construes “instantiating, by the computer, a scanner for the specific
`programming language” as “generating or requesting a scanner that can scan the programming
`language by providing a generic scanner instance with language-specific data, rules, or both.”
`
`B.
`Disputed Terms in the ’968 Patent
`The ’968 Patent is directed to “management of a single cache so as to control content
`relative to a plurality of policies.” (Id. at 1:64-67.) “Conventional caching is used to avoid
`repeating the same computations or the same data transmission” by caching content “after it is
`received from a web server” so that “the second time around,” the content is “already available on
`
`
`inconsistency with the claim language—which requires instantiating an ARB scanner “in response
`to said determining [of the programming language]”— in adopting a construction based on
`substitution.” IPR2016-00157, Paper 10 at 10-12. However, substitution of language-specific
`rules also appears to take place prior to the determination step. (See ’408 Patent at 15:1-4, Fig. 6
`(showing language-specific scanners prior to serialization to a user device).) Accordingly, the
`Court agrees with Judge Noreika’s construction of “instantiating” as “generating or requesting a
`scanner,” to reflect the Figure 6 embodiment where scanners are generated prior to a request based
`on specific content.
`
`9
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 10 of 30
`
`
`
`the user’s computer for rendering.” (Id. at 1:10-23.) In addition to storing recently used content
`and calculations, caching may be used in conjunction with “content control” to “control what
`content is delivered to client computers.” (Id. at 1:38-39.) Such operations “filter[] incoming
`content according to a ‘policy’ that includes one or more rules.” (Id. at 1:40-42.)
`The ’968 Patent addresses the problem of different users having different policies. (Id. at
`4:14-18.) Conventional cache managers cannot enforce more than one policy. (Id. at 4:18-19.)
`Accordingly, if one user requests content that is allowable under her policy, the content becomes
`available through the cache to a second user, even if the second user’s policy forbids it. (Id. at
`4:20-32.) To solve this problem, the ’968 Patent proposes the use of a “policy-based index,”
`which is “a data structure indicating allowability of cached content relative to a plurality of
`policies.” (Id. at 2:3-6, 4:33-38.) The policy-based index allows the system to “check whether
`cached content is allowable for a different user than the original user who requested it, and thus
`block cached content from being delivered to users for whom it is not allowed.” (Id. at 2:6-11.)
`
`2.
`
` “dynamically generating a policy index”
`
`
`
`Finjan’s Proposed
`Construction
`No construction necessary –
`plain and ordinary meaning
`
`Qualys’ Proposed
`Construction
`creating or updating a policy
`index in response to user
`requests for cached or non-
`cached content
`
`
`Court’s
`Construction
`adding allowability
`information to a policy index
`in response to requests for
`cached or non-cached content
`
`
`
`The term “dynamically generating a policy index” appears in asserted claims 26, 32, and
`
`33, as well as unasserted claims 24 and 25 of the ’968 Patent. In claims 26 and 32, dynamically
`generating the policy index comprises the steps of: (1) “determining . . . whether the piece of
`digital content is allowable for a given policy,” and (2) “storing an indication of the results . . .
`within the policy index,” either by “adding an entry in the policy index” or by “modifying an
`already existing entry.”5 (’968 Patent at claims 26, 32.)
`
`
`5 Finjan interprets claim 26 to indicate that the “dynamically generating” is accomplished
`by “indicating pieces of cached content known to be allowable relative to a given policy.” The
`better interpretation is that the “indicating” clause modifies how the policy index “relate[s] cached
`10
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 11 of 30
`
`
`
`The parties dispute whether a policy index may be created or updated in response to
`something other than user requests.6 Qualys argues that “dynamic” generation refers to creating or
`updating the policy index “in response to user requests for cached or non-cached content.” As
`support, Qualys points out that the specification states that “the present invention allows for
`policy-based cache index 190 to be updated dynamically as user requests for cached and non-
`cached content arrive.” (’968 Patent at 5:66-6:2.) Qualys further points out that every
`embodiment disclosed in the specification involves creating policy index entries in response to
`user requests. (See id. at Fig. 2, 6:22, 6:31-35, 9:17-18, 8:33-40.) Qualys thus argues that this
`description of “the present invention” disavows other types of “dynamic” generation of the policy
`index. See Techtronic, 944 F.3d at 907.
`
`Finjan disputes that every embodiment involves creating or updating a policy index in
`response to user requests and points to contrary embodiments. For example, the specification
`describes initially creating an empty policy index—not apparently in response to user requests—
`which is then filled in with policy entries in response to user requests. (See ’968 Patent at 6:12-
`13.) The specification also describes an embodiment of “resetting” the policy index by deleting
`policy index entries (or setting them to “null”) when policies are changed to avoid mistakenly
`delivering content that is not allowed. (See id. at 7:57-67; see also id. at 8:1-7.) Accordingly,
`Finjan argues that the descriptions of dynamically generating the policy index are “not uniform,”
`which prevents the term “present invention” from creating disclaimer. See Absolute Software, Inc.
`v. Stealth Signal, Inc., 659 F.3d 1121, 1136-37 (Fed. Cir. 2011).
`
`As an initial matter, the Court agrees that the description of “the present invention” at
`5:55-6:2 does not indicate disavowal. Descriptions of the “present invention” only limit claim
`scope when they describe the invention, not the embodiments of that invention. See David Netzer
`
`
`content and policies,” not how the index is generated.
` The parties also dispute whether the term requires construction. Finjan proposes “plain
`and ordinary meaning” for this and all other terms. However, a “plain and ordinary meaning”
`construction is only appropriate when a single “ordinary” meaning exists and fully resolves the
`parties’ disputes. See O2 Micro, 521 F.3d at 1361. Unless otherwise noted, the Court finds that
`disputes exist and preclude a plain and ordinary meaning construction in this Order.
`
`
` 6
`
`11
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 12 of 30
`
`
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`
`Consulting Eng. LLC v. Shell Oil Co., 824 F.3d 989, 994 (Fed. Cir. 2016) (requiring clear and
`unmistakable statements, like “the present invention includes,” “the present invention is,” or “all
`embodiments of the present invention are”). Here, the specification states that the invention
`“allows” for updating content in response to user requests—permissive language that implies that
`such updating is not essential or critical to the invention. Cf. Blackbird Tech LLC v. ELB Elecs.,
`Inc., 895 F.3d 1374, 1377-78 (Fed. Cir. 2018). Moreover, not all claims require “dynamic”
`generation of the policy index, which means that dynamic generation cannot be required for the
`invention as a whole. (Compare ’968 Patent at claims 1, 13, with id. at claims 24, 25.)
`
`Notwithstanding the lack of disclaimer, the Court finds that Qualys’ construction accords
`with the ordinary meaning of “dynamically generating a policy index,” as used in the ’968 Patent.
`The specification distinguishes “dynamic” generation of the policy index from creating a complete
`policy index at the start to “include all allowability links from [each policy] to [all] allowable
`content.” (Id. at 5:52-6:2.) A complete policy index would “conclusively determine whether or
`not the given content is allowable relative to the given policy.” (Id. at 5:55-63.) However, it
`would “require an exponential amount of computations . . . as the size of the cache and the number
`of policies increase.” (Id. at 6:2-6.) To avoid expanding such resources, “it is not necessary for
`policy-based cache index 190 to be complete” in the ’968 Patent, and it may instead “be updated
`dynamically as user requests for cached and non-cached content arrive.” (Id. at 5:64-6:2.) Thus,
`in the preferred embodiment, the policy index is inconclusive for a given policy-content
`combination until a user governed by that policy requests the content, at which point its
`allowability or non-allowability information is added to the policy index. (See id. at 6:7-7:2.)
`Accordingly, the purpose of “dynamic” generation in the ’968 Patent is to leave the policy index
`incomplete—thus avoiding unnecessary expenditure of resources—until a user request for content
`makes a determination of allowability necessary.7
`
`
`7 Finjan argues that content may be retrieved without user requests—e.g., “push” content.
`However, Finjan provides no evidence that content could be retrieved without a request at the time
`of the ’968 Patent. Moreover, the parties disagree about the technical operation of push content.
`In light of the largely-unbriefed technical dispute, and given the state of the record, the Court
`construes the term in light of the intrinsic evidence to require requests. Cf.
`https://www.twilio.com/docs/ (defining push notifications to involve server-side requests).
`12
`
`Northern District of California
`United States District Court
`
`
`
`Case 4:18-cv-07229-YGR Document 74 Filed 06/11/20 Page 13 of 30
`
`
`
`Finjan is correct, however, that the policy index itself may exist independent of user
`
`requests. (Id. at 6:12-13.) Finjan is also correct that policy index entries may be updated to delete
`allowability information or to create null entries in response to other changes (such as policy
`updates). (See id. at 7:57-8:7, 9:20-22.) However, allowability (or non-allowability) information
`is only added in response to user requests, in order to avoid unnecessary computations. (See id. at
`4:42-51, 5:52-7:2.) Accordingly, “generating” the policy index properly refers to filling out the
`policy index with allowability information, not creating the index itself. The term “adding” also
`better aligns with the claim language,