throbber
Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 1 of 23
`
`
`
`
`
`
`
`
`
`
`
`UNITED STATES DISTRICT COURT
`
`NORTHERN DISTRICT OF CALIFORNIA
`
`FINJAN, INC.,
`
`Plaintiff,
`
`v.
`
`PROOFPOINT, INC., et al.,
`
`Defendants.
`
`Case No. 13-cv-05808-HSG
`
`
`CLAIM CONSTRUCTION ORDER
`
`
`
`
`
`Plaintiff Finjan, Inc. filed this patent infringement action against Defendants Proofpoint,
`
`Inc. and Armorize Technologies, Inc. The parties seek construction of seven claim terms found in
`
`six patents: Patent Nos. 6,154,844 (“the ’844 Patent”), 7,058,822 (“the ’822 Patent”), 7,647,633
`
`(“the ’633 Patent”), 7,975,305 (“the ’305 Patent”), 8,141,154 (“the ‘154 Patent”), and 8,225,408
`
`(“the ’408 Patent”). This order follows claim construction briefing, a technology tutorial, and a
`
`claim construction hearing.
`
`I. LEGAL STANDARD
`
`Claim construction is a question of law to be determined by the Court. See Markman v.
`
`Westview Instruments, Inc., 52 F.3d 967, 979 (Fed. Cir. 1995). “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)
`
`(internal quotation marks omitted).
`
`Generally, claim terms should be given their ordinary and customary meaning—i.e., the
`
`meaning that the terms 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). There are
`
`only two circumstances where a claim is not entitled to its plain and ordinary meaning: “1) when a
`
`patentee sets out a definition and acts as his own lexicographer, or 2) when the patentee disavows
`
`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
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 1
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 2 of 23
`
`
`
`the full scope of a claim term either in the specification or during prosecution.” Thorner v. Sony
`
`Computer Entm’t Am. LLC, 669 F.3d 1362, 1365 (Fed. Cir. 2012).
`
`When construing claim terms, the Federal Circuit emphasizes the importance of intrinsic
`
`evidence such as the language of the claims themselves, the specification, and the prosecution
`
`history. Phillips, 415 F.3d at 1312-17. The claim language can “provide substantial guidance as
`
`to the meaning of particular claim terms,” both through the context in which the claim terms are
`
`used and by considering other claims in the same patent. Id. at 1314. The specification is likewise
`
`a crucial source of information. Although it is improper to read limitations from the specification
`
`into the claims, the specification is “the single best guide to the meaning of a disputed term.”
`
`Id. at 1315 (“[T]he specification is always highly relevant to the claim construction analysis.
`
`Usually, it is dispositive.”) (internal quotation marks omitted); see also Merck & Co. v. Teva
`
`Pharms. USA, Inc., 347 F.3d 1367, 1371 (Fed. Cir. 2003) (“[C]laims must be construed so as to be
`
`consistent with the specification.”).
`
`Despite the importance of intrinsic evidence, courts may also consider extrinsic evidence—
`
`technical dictionaries, learned treatises, expert and inventor testimony, and the like—to help
`
`construe the claims. Phillips, 415 F.3d at 1317-18. For example, dictionaries may reveal what the
`
`ordinary and customary meaning of a term would have been to a person of ordinary skill in the art
`
`at the time of the invention. Frans Nooren Afdichtingssystemen B.V. v. Stopaq Amcorr Inc., 744
`
`F.3d 715, 722 (Fed. Cir. 2014) (“Terms generally carry their ordinary and customary meaning in
`
`the relevant field at the relevant time, as shown by reliable sources such as dictionaries, but they
`
`always must be understood in the context of the whole document—in particular, the specification
`
`(along with the prosecution history, if pertinent).”). Extrinsic evidence is, however, “less
`
`significant than the intrinsic record in determining the legally operative meaning of claim
`
`language.” Phillips, 415 F.3d at 1317 (internal quotation marks omitted).
`
`II.
`
`AGREED TERMS
`
`The parties have agreed to the construction of the following terms:
`
`
`Claim Term
`
`Agreed Claim Construction
`
`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
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 2
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 3 of 23
`
`
`
`downloadable
`
`security context
`
`CODE-A
`
`CODE-B
`CODE-C
`
`an executable application
`program, which is downloaded
`from a source computer and run
`on the destination computer
`an environment in which a
`software application is run,
`which may limit resources that
`the application is permitted to
`access or operations that the
`application is permitted to
`perform
`potentially malicious
`executable code
`executable wrapper code
`combined code
`
`See Dkt. No. 117. In light of the parties’ agreement on the construction of these terms, the Court
`
`adopts the parties’ constructions.
`
`III. DISPUTED TERMS
`
`A.
`
`’822 and ’633 Patents
`
`The ’822 and ’633 Patents share the same specification and are titled “Malicious Mobile
`
`Code Runtime Monitoring System and Methods.” The inventions provide protection from
`
`“undesirable downloadable operation.” ’822 Patent at 1:25-29; ’633 Patent at 1:30-33.
`
`Embodiments of the invention provide “for receiving downloadable-information and detecting
`
`whether the downloadable-information includes one or more instances of executable code.” ’822
`
`Patent at 5:34-39. Where there is executable code, the invention provides
`
`mobile protection code (“MPC”) and downloadable protection
`policies to be communicated to, installed and executed within one or
`more received information destinations in conjunction with a
`detected-Downloadable. Embodiments also provide, within an
`information-destination, for detecting malicious operations of the
`detected-Downloadable and causing responses thereto in accordance
`with the protection policies. . . .
`
`Id. at 5:44-51 (emphases added). The parties dispute the meaning of the two bolded phrases.
`
`1. “mobile protection code”
`
`
`
`Finjan’s Construction
`
`Proofpoint’s Construction
`
`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
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 3
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 4 of 23
`
`
`
`code capable of monitoring or intercepting
`potentially malicious code
`
`code communicated to at least one
`information-destination that, at runtime,
`monitors or intercepts actually or potentially
`malicious code operations
`
`The parties agree that “mobile protection code” is not a term known in the art. Dkt. No.
`
`142 at 5; Dkt. No. 170 at 57. Accordingly, the intrinsic record is the best evidence of the term’s
`
`meaning. Vitronics Corp. v. Conceptronic, Inc., 90 F.3d 1576, 1582 (Fed. Cir. 1996) (“[A]
`
`patentee may choose to be his own lexicographer and use terms in a manner other than their
`
`ordinary meaning, as long as the special definition of the term is clearly stated in the patent
`
`specification or file history.”).
`
`In support of its construction, Plaintiff directs the Court to a portion of the specification
`
`indicating that “[t]he sandboxed package includes mobile protection code (“MPC”) for causing
`
`one or more predetermined malicious operations or operation combinations of a Downloadable to
`
`be monitored or otherwise intercepted.” ’822 Patent at 3:6-10. Plaintiff argues that this passage
`
`provides an “explicit definition” of the term MPC, and demonstrates that MPC must merely be
`
`capable of monitoring or intercepting potentially malicious code. Dkt. No. 142 at 6.
`
`Defendants’ construction adds two limitations: (1) that MPC must monitor or intercept
`
`actually or potentially malicious code “at runtime” (i.e., that is, monitoring potentially malicious
`
`code as the code is being executed), Dkt. No. 143 at 1-3, and (2) that MPC is “code communicated
`
`to at least one information-destination,” id. at 4-5.
`
`a.
`
`“at runtime”
`
`The claims describe the execution of MPC as corresponding to “attempted operations” of
`
`the executable code at a downloadable-information destination. See ’822 Patent at 22:63-67
`
`(Claim 16); id. at 23:41-45 (Claim 27); ’633 Patent at 22:1-5 (Claim 14); id. at 22:17-22 (Claim
`
`20). Claim 28 of the ’633 Patent describes the MPC receiving “operations attempted by the
`
`Downloadable” and “initiating, by the MPC on the computer, a protection policy corresponding to
`
`the attempted operation.” ’633 Patent at 22:55-63. And Claim 41 of the ’633 Patent describes
`
`how the MPC initiates a “protection policy corresponding to the attempted operation.” Id. at
`
`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
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 4
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 5 of 23
`
`
`
`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
`
`24:30-34.1 The Court finds that the claims’ consistent description of correspondence with
`
`“attempted operations” by the downloadable indicates an “at runtime” limitation.
`
`The specifications support this “at runtime” construction. First, the title of the patents is
`
`“Malicious Mobile Code Runtime Monitoring Systems and Methods.” (emphasis added). The
`
`reference to “runtime” also is made in the first sentence of the “Detailed Description”: “In
`
`providing malicious mobile code runtime monitoring systems and methods, embodiments of the
`
`invention enable actually or potentially undesirable operations of even unknown malicious code to
`
`be efficiently and flexibly avoided.” ’822 Patent at 5:30-31; ’633 Patent at 5:30-31 (emphasis
`
`added).
`
`Second, the specifications’ description of when MPC is generated and initiated provides
`
`further support. The action generator generates MPC only when the protection engine determines
`
`that received downloadable information includes executable code, see ’822 Patent at 9:24-26, 30-
`
`34; 12:18-65; Figs. 3 and 4. Upon such a determination, the protection engine “causes [MPC] to
`
`be communicated to the Downloadable-destination” by way of the transfer engine. Id. at 9:63-67;
`
`14:38-43; 16:15-22. Figure 11 is instructive with regard to MPC’s protection method within the
`
`destination device. MPC installs its elements and policies in the device and “forms an access
`
`monitor or ‘interceptor’ for monitoring or ‘intercepting’ downloadable destination device access
`
`attempts within the destination device.” Id. at 20:21-30. When the monitored or intercepted
`
`information indicates that the downloadable is attempting to access the device in an undesirable
`
`way, MPC executes the protection policies. Id. at 20:33-40; see also id. at 20:54-56 (noting that
`
`MPC applies “suitable policies in accordance with an access attempt by a Downloadable”); id. at
`
`18:42-47 (discussing MPC’s resource access analyzer component “[d]uring downloadable
`
`operation”).
`
`The exemplary application of a sandbox package is further instructive:
`
`Upon receipt of sandboxed package by a compatible browser, email
`or other destination client and activating of the package by a user or
`
`
`1 See also ’822 Patent at 24:5-11 (Claim 28) (describing the execution of MPC as “such that one
`or more operations of the executable code at the destination, if attempted, will be processed by the
`[MPC].”); see also ’822 Patent at 24:39-43; ’633 Patent at 22:28-34, 46-51; Id. at 23:21-28.
`5
`
`Northern District of California
`
`United States District Court
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 5
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 6 of 23
`
`
`
`the destination-client, the operating system (or a suitable
`responsively initiated distributed component host) will attempt to
`initiate sandboxed package 340 as a single Downloadable. Such
`processing will, however, result in initiating the MPC 341 and-in
`accordance with further aspects of the invention-the MPC will
`initiate the Downloadable in a protected manner, further in
`accordance with any applicable included or further downloaded
`protection policies 342.
`
`Id. at 11:26-38 (emphasis added). Thus, the destination-client’s receipt and activation of the
`
`sandboxed package causes MPC to initiate. Figure 7a also shows how the client’s “attempt” to
`
`initiate the sandbox package in fact corresponds to “the beginning of the MPC”—the client
`
`recognizes the package as an executable and initiates the mobile code installer. Id. at 17:34-44.
`
`The mobile code installer then initiates MPC (not the downloadable), allowing MPC to form a
`
`protection “sandbox” around the downloadable, monitor the downloadable, and intercept
`
`malicious code. Id. at 17:45-59. These passages describing an illustrative embodiment of the
`
`invention confirm the Court’s construction of the claim.
`
`The Patents’ references to MPC’s monitoring functions in the present or past tense are also
`
`persuasive. See id. at 20:33-38 (MPC monitors whether “the Downloadable is attempting or has
`
`attempted a destination device access” (emphasis added)). The Abstract states the invention
`
`provides for “initiating the Downloadable [and] enabling malicious Downloadable operation
`
`attempts to be received by the MPC.” Id. at Abstract (emphasis added). And the claims imply
`
`MPC only operates upon an “attempt” of the executable code. See id. at Claims 16, 28 (describing
`
`method whereby “operations of the executable code at the destination, if attempted, will be
`
`processed by the [MPC]” (emphasis added)); ’633 Patent at Claim 14 (same). Defendants contend
`
`that there would be references to the future tense (i.e., “will attempt”) if MPC could monitor
`
`executable code before runtime and that the language shows that the executable code being
`
`monitored or intercepted must actually run (i.e., make an attempt) to be received by the MPC. In
`
`light of the intrinsic evidence, the Court agrees.2
`
`Plaintiff responds to Defendants’ proposed construction by contending the specification
`
`
`2 Although not binding on this Court, Finjan, Inc. v. Blue Coat Sys., Inc.’s construction of MPC—
`that it operates “at runtime”—is further persuasive support for this Court’s conclusion. See No.
`13-CV-03999-BLF, 2014 WL 5361976, at *3 (N.D. Cal. Oct. 20, 2014).
`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
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 6
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 7 of 23
`
`
`
`demonstrates that protection policies exist as part of the static code in MPC, citing the Patent’s
`
`“Summary of the Invention” in support:
`
`Embodiments also provide for delivering static, configurable and/or
`extensible remotely operable protection policies to a Downloadable-
`destination, more typically as a sandboxed package including the
`mobile protection code, downloadable policies and one or more
`received Downloadables.
`
`’822 Patent at 2:42-47 (emphasis added). But, the Court is required to construe the claim term “in
`
`a way that comports with the instrument as a whole.” See Markman, 517 U.S. at 389 (emphasis
`
`added). The invention’s “Detailed Description” clarifies that “static” refers to the linking engine’s
`
`formation of the sandboxed package, which includes initial and complete MPCs, other protection
`
`polices, and the downloadable. Id. at 13:31-36. The specification explains that the “[l]inking
`
`engine 405 is implementable in a static or configurable manner in accordance, for example, with
`
`characteristics of a particular user device/process stored intermittently or more persistently in
`
`storage 404.” Id. at 13:37-40. It goes on to explain that the linking engine is also configurable to
`
`form a protecting package that has more than one executable of the downloadable or to form
`
`an initial MPC, MPC-policy or sandboxed package (e.g. prior to
`upon receipt of a downloadable) or an additional MPC, MPC policy
`or sandboxed package (e.g. upon or following receipt of a
`downloadable), such that suitable MPCs/policies can be provided to
`a Downloadable-destination or other destination
`in a more
`distributed manner.
`
`Id. at 14:1-7. That the linking engine allows for such varying static and configurable packaging
`
`options does not negate the intrinsic evidence confirming that MPC operates “at runtime.”
`
`b.
`
`“code communicated to at least one information-destination”
`
`Defendants’ second limitation requires that MPC be construed as “code communicated to
`
`at least one information-destination.” Dkt. No. 142 at 4-5. Defendants argue the first word of the
`
`term MPC is “mobile,” which means MPC must move somewhere. Id. (“The Court should further
`
`conclude . . . that mobile protection code is mobile” (emphasis in original)). But the phrase
`
`“communicated to at least one information-destination” does not appear anywhere in the
`
`specification. Instead, it appears in some—but not all—of the patents’ claims. Compare ’633
`
`Patent at 21:48-55 (disclosing “[a] processor-based system . . . causing [MPC] to be
`
`7
`
`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
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 7
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 8 of 23
`
`
`
`communicated to at least one information-destination . . . .”) with id. at 21:58-22:5 (“[a] computer
`
`program product . . . causing [MPC] to be executed by the mobile code executor at a
`
`downloadable-information destination . . .”). If MPC, by definition, needed to be communicated
`
`to at least one information-destination, the inclusion of that language in any of the claims would
`
`be redundant.
`
`Moreover, the Court is not persuaded by Defendants’ argument that Plaintiff expressly
`
`disclaimed its preferred construction during the prosecution of the ’633 Patent. Dkt. No. 142 at 5
`
`(quoting language from ’633 Patent’s prosecution history in which Plaintiff stated that “[t]he
`
`claimed invention provides a packaging of mobile protection code with a downloadable intended
`
`for a destination computer . . . . In distinction with the claimed invention, Golan does not describe
`
`the packaging of protection code. Instead, Golan discusses a situation whereby a security monitor
`
`is already resident on a client computer . . . .”). It is not clear and unambiguous that Plaintiff’s
`
`distinction between Golan’s invention and the’633 Patent’s invention was based on the
`
`“communication” of MPC to an information-destination. See Verizon Servs. Corp. v. Vonage
`
`Holdings Corp., 503 F.3d 1295, 1306 (Fed. Cir. 2007) (“To operate as a disclaimer, the statement
`
`in the prosecution history must be clear and unambiguous, and constitute a clear disavowal of
`
`scope.”). Because the disavowal is not unambiguous, the Court declines to adopt Defendants’
`
`second limitation.
`
`Accordingly, the Court construes “mobile protection code” as “code that, at runtime,
`
`monitors or intercepts actually or potentially malicious code operations.”
`
`2. “information-destination/downloadable-information destination”
`
`
`
`Finjan’s Construction
`
`no construction necessary—
`Plain and ordinary meaning
`
`Proofpoint’s Construction
`a user device that receives and
`initiates (or otherwise hosts)
`execution of the downloadable
`information
`
`Plaintiff contends that these terms are explicitly defined in the ’822 Patent as “any server
`
`or computer where the information is communicated to, installed or executed.” Dkt. No. 142 at 23
`
`(citing ’822 Patent at 5:44-48). Contrary to Plaintiff’s description of the specification, the passage
`
`8
`
`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
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 8
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 9 of 23
`
`
`
`it cites does not provide that an information destination is “any server or computer where the
`
`information is communicated to, installed, or executed.” Instead, the passage uses the conjunctive
`
`“and”:
`
`Embodiments further provide for causing mobile protection code
`(“MPC”) and downloadable protection policies to be communicated
`to, installed and executed within one or more received information
`destinations in conjunction with a detected-Downloadable.
`
`’822 Patent at 5:44-48 (emphasis added). At the claim construction hearing when questioned
`
`about the difference between the specification and the quoted passage, Plaintiff insisted that under
`
`its construction an information-destination “does not have to be a location where it has be
`
`executed.” Dkt. No. 170 at 49.
`
`Defendants argue that the specification defines the terms more narrowly, requiring a “user
`
`device . . . that [is] capable of receiving and initiating or otherwise hosting a mobile code
`
`execution.” Dkt. No. 143 at 7 (quoting ’822 Patent 7:60-65).
`
`The Court finds that the passages the parties cited mostly support Defendants’
`
`construction. The specification’s language is dispositive:
`
` A
`
` suitable information-destination or ‘user device’ can further
`include one or more devices or processes (such as email, browser or
`other clients) that are capable of receiving and initiating or
`otherwise hosting a mobile code execution.
`
`’822 Patent at 7:60-65. Vitronics, 90 F.3d at 1582 (“The specification acts as a dictionary when it
`
`expressly defines terms used in the claims or when it defines terms by implication.”).
`
`Thus, consistent with the intrinsic evidence, the Court construes “information-destination”
`
`and “downloadable-information destination” as “a device or process that is capable of receiving
`
`and initiating or otherwise hosting a mobile code execution.”
`
`B.
`
`’408 Patent
`
`The ’408 Patent, titled “Method and System For Adaptive Rule-Based Content Scanners,”
`
`covers “a method and system for scanning content that includes mobile code, to produce a diagnostic
`
`analysis of potential exploits within the content.” ’408 Patent at 1:59-61. The invention uses an
`
`adaptive rule-based content (“ARB”) scanner, which dynamically scans and diagnoses incoming
`
`Internet content. Id. at 1:65-2:24. The system generates a parse tree based on tokens and patterns of
`
`9
`
`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
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 9
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 10 of 23
`
`
`
`tokens it identifies, then identifies exploits (the malicious portions of the code) within the parse tree.
`
`Id. at 2:25-57.
`
`3. “parse tree”
`
`
`
`Finjan’s Construction3
`
`Proofpoint’s Construction
`
`a way of organizing exploits in scanned
`content into a hierarchical structure
`with one root and several branches,
`much like a family tree or genealogy
`chart.
`
`a set of nodes linked in a hierarchy that
`represents a sequence of words and
`symbols according to a given syntax.
`
`The claim term appears in claims 1, 2, 9, 11, and 22-35 of the ’408 Patent. Independent claim
`
`1 describes:
`
`A computer processor-based multi-lingual method for scanning
`incoming program code, comprising:
`
`receiving, by a computer, an incoming stream of program code;
`determining, by the computer, any specific one of a plurality of
`programming languages in which the incoming stream is written;
`
`instantiating, by the computer, a scanner for the specific programming
`language, in response to said determining, the scanner comprising
`parser rules and analyzer rules for the specific programming language,
`wherein the parser rules define certain patterns in terms of tokens,
`tokens being lexical constructs for the specific programming language,
`and wherein the analyzer rules identify certain combinations of tokens
`and patterns as being indicators of potential exploits, exploits being
`portions of program code that are malicious;
`
`identifying, by the computer, individual tokens within the incoming
`stream;
`
`dynamically building, by the computer while said receiving receives
`the incoming stream, a parse tree whose nodes represent tokens and
`patterns in accordance with the parser rules;
`
`dynamically detecting, by the computer while said dynamically
`building builds the parse tree, combinations of nodes in the parse
`tree which are indicators of potential exploits, based on the analyzer
`rules;
`
`and indicating, by the computer, the presence of potential exploits
`within the incoming stream, based on said dynamically detecting.
`
`
`3 Plaintiff’s initial construction was “a tree data structure representing exploits in scanned
`content.” Defendants’ initial construction was “a set of linked nodes whose nodes represent tokens
`and patterns in accordance with the parser rules.” Each party revised its proposed construction in
`supplemental briefing filed after the claim construction hearing.
`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
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 10
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 11 of 23
`
`
`
`’408 Patent, 19:45-20:7 (emphases added).
`
`Plaintiff’s construction incorporates the limitation that a parse tree applies to “exploits in
`
`scanned content” whereas Defendants’ construction describes “a sequence of words and symbols
`
`according to a given syntax” without any mention of “scanned content” generally or exploits from
`
`the scanned content, specifically. The Court rejects both proposals.
`
`There are two problems with Plaintiff’s construction. First, although the parse tree can be
`
`used to identify exploits, it is not limited to this use. Parsing rules can be used to perform various
`
`actions, such as “setting internal variables; invoking a sub-scanner 270, . . . and searching the
`
`parse tree for nodes satisfying specific conditions.” Id. at 8:61-66. Second, while one action of
`
`the parse tree is to identify exploits, that action is not a requisite characteristic of a parse tree. The
`
`term’s construction does not need to include all of the parse tree’s uses; it only need describe what
`
`the parse tree is. At its core, the parse tree provides a means of organizing and presenting data—
`
`for example, each node preferably contains “data indicating inter alia an ID number, the token or
`
`rule that the node represents, a character string name as a value for the node, and a numerical list
`
`of attributes.” Id. at 8:38-41.
`
`Defendants’ construction is similarly flawed. The construction imports the limitation that
`
`nodes represent “a sequence of words and symbols according to a given syntax.” But, the
`
`definition of parse tree does not need to include an explanation of what the nodes represent. There
`
`is no evidence—intrinsic or extrinsic—that a parse tree stops being a parse tree if the nodes were
`
`to represent something other than a sequence of words and symbols.
`
`On the other hand, the claims impose three requirements that the Court concludes must be
`
`a part of the term’s construction. First, a parse tree is “built.” Claim 1 describes the actions of
`
`“dynamically building, by the computer while said receiving receives the incoming stream, a
`
`parse tree” and “dynamically detecting, by computer while said dynamically building builds the
`
`parse tree,” id. at 19:64-66; 20:1-3 (emphasis added); see id. at 20:8-9 (Claim 2) (describing a
`
`method “wherein said dynamically building a parse tree is based upon a shift-and-reduce
`
`algorithm”). Independent Claim 9 also describes the parser “dynamically building the parse tree.”
`
`Id. at 21:1-2. The specifications further confirm this construction—“the parse tree generated by
`
`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
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 11
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 12 of 23
`
`
`
`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
`
`parser 220 is dynamically built using a shift-and-reduce algorithm,” id. at 8:29-30, and “[i]t may
`
`thus be appreciated that the analyzer is called repeatedly, while the parse tree is being dynamically
`
`built up,” id. at 14:53-55; see id. at 9:64-66.
`
`Second, a parse tree is built from “scanned content.” Claim 1 describes the parse tree as
`
`“identifying . . . individual tokens within the incoming stream; dynamically building, by the
`
`computer while said receiving receives the incoming stream, a parse tree whose nodes represent
`
`tokens,” id. at 19:62-66 (emphases added). Claim 9 describes “a parser, for dynamically building
`
`while said receiver is receiving the incoming stream, a parse tree,” id. at 9:64-66 (emphasis
`
`added). The specifications also confirm this construction—“[T]he present invention is able to
`
`diagnose incoming content.” Id. at 2:20-21. The “parser controls the process of scanning
`
`incoming content,” id. at 8:19-20, and the “parser 220 uses a parse tree data structure to represent
`
`scanned content,” id. at 8:24-25.
`
`Third, a parse tree is a “hierarchical structure of interconnected nodes.” Claims 24 and 30
`
`illustrate the “interconnected” nature of the nodes—that the “parser positions nodes of the parse
`
`tree corresponding to rules as parent nodes, the children of which correspond to tokens within the
`
`patterns that correspond to the rules.” Id. at 22:28-32; 23:22-25. Figure 2 from the written
`
`description is instructive. The block diagram is an embodiment of the ARB scanner and shows the
`
`parse tree as a hierarchical structure with connected nodes.
`
`
`
`Here, both parties agree that a parse tree must be hierarchical, see Dkt. No. 166 at 2-3
`
`(citing extrinsic evidence); Dkt. No. 168 at 2-3 (same). Their understanding is consistent with the
`
`Patent’s specification. The specification describes an embodiment that builds the parse tree using
`
`a “shift-and-reduce algorithm,” id. at 8:29-30, invoking the image of a hierarchical structure with
`
`nodes that are shifted over and moved down depending on their relationships to each other. The
`
`parser automatically performs “a reduce operation by creating a new node and moving token
`
`nodes underneath the new node” whenever a pattern is matched within the parser rule. Id. at 8:66-
`
`9:2.
`
`Moreover, the specification describes the tokens’ relationships to each other and the fact
`
`that they are built on each other. For instance, the parser’s method describes connecting the
`
`12
`
`Northern District of California
`
`United States District Court
`
`Patent Owner Finjan, Inc. - Ex. 2003, p. 12
`
`

`

`Case 3:13-cv-05808-HSG Document 267 Filed 12/03/15 Page 13 of 23
`
`
`
`tokens based on parent-child and sibling relationships—
`
`Successive tokens provided to parser 220 by tokenizer 210 are
`positioned as siblings. When parser 220 discovers that a parsing
`rule identifies a group of siblings as a single pattern, the siblings are
`reduced to a single parent node by positioning a new parent node,
`which represents the pattern, in their place, and moving them down
`one generation un

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket