From Casetext: Smarter Legal Research

Twin Peaks Software Inc. v. IBM Corp.

United States Court of Appeals for the Federal Circuit
May 26, 2017
2016-2177 (Fed. Cir. May. 26, 2017)

Opinion

2016-2177

05-26-2017

TWIN PEAKS SOFTWARE INC., A CALIFORNIA CORPORATION, Plaintiff-Appellant v. IBM CORPORATION, A NEW YORK CORPORATION, Defendant-Appellee

BRUCE JOSHUA WECKER, Hausfeld LLP, San Francisco, CA, argued for plaintiff-appellant. ANDREW J. BRAMHALL, Quinn Emanuel Urquhart & Sullivan, LLP, Redwood Shores, CA, argued for defendant-appellee. Also represented by ROBERT WILLIAM STONE, BRICE CLARK LYNCH.


NOTE: This disposition is nonprecedential. Appeal from the United States District Court for the Northern District of California in No. 3:14-cv-03933-JST, Judge Jon S. Tigar. BRUCE JOSHUA WECKER, Hausfeld LLP, San Francisco, CA, argued for plaintiff-appellant. ANDREW J. BRAMHALL, Quinn Emanuel Urquhart & Sullivan, LLP, Redwood Shores, CA, argued for defendant-appellee. Also represented by ROBERT WILLIAM STONE, BRICE CLARK LYNCH. Before PROST, Chief Judge, LOURIE and STOLL, Circuit Judges. LOURIE, Circuit Judge.

Twin Peaks Software Inc. ("Twin Peaks") appeals from a judgment of the United States District Court for the Northern District of California that claims 1 and 4 of U.S. Patent 7,418,439 ("the '439 patent") are invalid as indefinite following a claim construction order by the district court. See Twin Peaks Software Inc. v. IBM Corp., No. 3:14-cv-03933-JST, 2016 WL 1409748 (N.D. Cal. Apr. 11, 2016) ("Order"). Because the district court did not err in its claim construction or in concluding that the challenged claims are invalid as indefinite, we affirm.

BACKGROUND

Twin Peaks owns the '439 patent, which is directed to "a virtual file system that links two or more file systems together and mirrors between them in real time," which is called a "mirror file system," or "MFS." See '439 patent, Title, Abstract. According to the '439 patent, the invention provides "a new approach for mounting a file system on a directory" and allows two file systems to be "linked together and become a mirroring pair" so that "the previous contents of the [same] mounted directory are not hidden," and once the MFS mounting is accomplished, the mounted file systems are "under the management of" "the MFS." Id. col. 3 ll. 16-17, col. 10 ll. 44-51.

Twin Peaks asserted the '439 patent, including independent claims 1 and 4, against IBM Corp. ("IBM"), alleging that IBM's products using "a technology called both 'Panache' and 'Active File Management'" infringe the '439 patent. Order, 2016 WL 1409748, at *1. Claim 1 of the '439 patent reads as follows:

1. A virtual file system which provides mirroring and linking of two file systems, comprising:
means for mounting components of each of said two file systems on a single mount point constituting a single root directory for the components of both of said two file systems such that each mounted component of one of said two file systems is linked together with and becomes a mirroring pair with a corresponding mounted component in the other one of said two file systems, each of said two file systems having an application interface data structure constituting a programming interface for management thereof and access thereto; and

a virtual file system configured to manage the linking and mirroring of the corresponding mounted components of each of said two file systems, and including a super application interface data structure containing an application interface data structure of said virtual file system, and said application interface data structures of each of said two file systems.
'439 patent, col. 18 ll. 35-53 (emphasis added). Claim 4 of the '439 patent reads as follows:
4. A method for mirroring files and directories between file systems on a computer system or on two computer systems connected to each other via a network, comprising the steps of:

mounting components of each of two file systems on a single mount point constituting a single root directory to create a virtual file system in which each mounted component of one of said two file systems is linked together with a corresponding component in the other one of said two file
systems, each of said mounted components being one of a directory and a file;

configuring said virtual file system so that each component of said virtual file system has a super application interface data structure containing an application interface data structure of said component in said virtual file system, an application interface data structure of a linked component in said one of said two file systems, and an application interface data structure of said corresponding linked component in said other one of said two file systems, said application interface data structure of said component in said virtual file system providing a mechanism for managing said component within said virtual file system and the corresponding linked components within said two file systems;

upon receiving a request to perform a write operation on one of said mounted components, using said application interface data structure of said component in said virtual file system to perform the write operation on said linked component in said one of said two file systems and on the corresponding linked component in said other one of said two file systems in real time in response to said request.
Id. col. 19 ll. 1-33 (emphasis added).

The district court held a claim construction hearing and construed, inter alia, the two limitations highlighted above, which we will here refer to as the "means for mounting" limitation of claim 1 and the "mechanism for managing" limitation of claim 4, respectively. The district court analyzed both of the limitations as means-plus-function limitations under 35 U.S.C. § 112 ¶ 6. See Order, 2016 WL 1409748, at *5, *11.

The '439 patent was filed before the effective date of the Leahy-Smith America Invents Act, Pub. L. No. 112-29, § 3, 125 Stat. 284, 285-93 (2011), and it is governed by the prior version of § 112, see Fleming v. Escort, Inc., 774 F.3d 1371, 1374 n.1 (Fed. Cir. 2014). --------

As for the "means for mounting" limitation, Twin Peaks argued that relevant structure is disclosed in various parts of the specification, including a portion that discusses the "MFS mount protocol." See J.A. 122-25 (citing '439 patent, col. 10 l. 32-col. 12 l. 14). IBM responded that the specification only discloses the result of the "MFS mount protocol," without disclosing how to achieve that result, and that Twin Peaks failed to "identif[y] any specific algorithm." J.A. 651-52 (emphasis omitted).

The district court agreed with IBM. The court noted that, although the specification discusses "the outcome after a system administrator implements the MFS mounting protocol," it "only recites functional, rather than structural language" and fails to "disclose how to perform the command" so that the two file systems mounted on a single mounting point remain available and unhidden. Order, 2016 WL 1409748, at *7 (emphases in original). As such, the district court determined that the "means for mounting" limitation was indefinite. Id.

Regarding the "mechanism for managing" limitation, Twin Peaks argued that the specification provides sufficient disclosure of the limitation by way of an example of the "open" operation and explanations as to how other operations "follow the same procedure." J.A. 130-31. Twin Peaks further submitted to the district court expert declarations stating that "one skilled in the art would easily have been able to code these data structures and operations" and providing the "actual source code one skilled in the art would produce" for the close, read, and write operations. J.A. 1240-42. IBM responded that the '439 patent discloses only one operation, i.e., "open," out of 30-40 operations, although the '439 patent notes that implementing certain other operations, e.g., "write," would be different from the "open" operation. J.A. 655-56.

The district court rejected Twin Peaks's argument and agreed with IBM that the '439 patent discloses insufficient structure of the managing function. Order, 2016 WL 1409748, at *12. The court determined that the specification "discloses the code for one operation in the managing function—the open operation (mfs_open)," id.; however, the court noted that "the open operation is a partial but inadequate guide for other operations" and that "[t]he specification fails to delineate the operations encompassed by the managing function," id. at *13. Therefore, the district count concluded that the specification failed to provide sufficient disclosure "to render the bounds of the claim understandable to one of ordinary skill in the art" and that the "mechanism for managing" limitation was indefinite. Id. at *13-14 (citation and internal quotation marks omitted).

Twin Peaks timely appealed. We have jurisdiction pursuant to 28 U.S.C. § 1295(a)(1).

DISCUSSION

On appeal, Twin Peaks challenges the district court's indefiniteness determinations of claims 1 and 4. We review the district court's conclusion of indefiniteness de novo, see Interval Licensing LLC v. AOL, Inc., 766 F.3d 1364, 1370 (Fed. Cir. 2014), and underlying factual determinations that are based on extrinsic evidence for clear error, Williamson v. Citrix Online, LLC, 792 F.3d 1339, 1246 (Fed. Cir. 2015) (citing Teva Pharm. USA, Inc. v. Sandoz, Inc., 135 S. Ct. 831, 840-41 (2015)).

As an initial matter, the parties do not dispute that the "means for mounting" and "mechanism for managing" limitations are means-plus-function limitations governed by § 112 ¶ 6. Appellant's Br. 8; Appellee's Br. 27; see Order, 2016 WL 1409748, at *5, If a claim contains a means-plus-function limitation, and the written description lacks structure for those means, we have held that the claim is indefinite and hence invalid. E.g., Biomedino, LLC v. Waters Techs. Corp., 490 F.3d 946, 950-53 (Fed. Cir. 2007). Therefore, we proceed to "attempt to construe the disputed claim term by identifying the corresponding structure, material, or acts described in the specification to which the claim term will be limited." Robert Bosch, LLC v. Snap-On Inc., 769 F.3d 1094, 1097 (Fed. Cir. 2014) (citation and internal quotation marks omitted).

Twin Peaks contends that the '439 patent specification discloses sufficient structure for the respective means-plus-function limitations of claims 1 and 4. We discuss each limitation in turn.

I. "Means for Mounting"

Regarding claim 1, Twin Peaks argues that what the district court identified as a functional description of the "means for mounting" limitation is actually the structure corresponding to the limitation. Twin Peaks points to, inter alia, the '439 patent's disclosure of the "mfs_vfs" data structure, which is reproduced below: Struct mfs_vfs {

Struct vfs *mfs; /* mirror file system vfs */
Struct vfs *X_vfs; /* first file systems vfs */
int X_vfs_state; /* state of X_vfs file system */
Struct vfs *Y_vfs; /* second file system vfs */
int Y_vfs_state; /* state of Y_vfs file system */
Other fields
..............
}; Appellant's Br. 19-20 (citing '439 patent, col. 11 ll. 6-14). Twin Peaks also points to the '439 patent specification describing that "[t]he MFS mount operation sets up the data structure mfs_vfs to contain the vfs data structures" and that "[t]he MFS inherits all of the contents of the mounted directory into its mfs_vfs virtual file system data structure." Id. at 19-22 (citing '439 patent, col. 10 ll. 52-54, col. 11 ll. 43-45).

Based on these disclosures in the specification, Twin Peaks contends on appeal that what constitutes the structure corresponding to the "means for mounting" limitation is a two-step algorithm of: (1) "set[ting] up" the "mfs_vfs" data structure to link two "vfs" structures; and (2) "inherit[ing]" the content of the two linked "vfs" data structures. Id. at 36-37. With this understanding of the "means for mounting" limitation, according to Twin Peaks, claim 1 is not indefinite because "some structure is disclosed" and "the implementation of the steps of the algorithm [is] to be measured by the understanding and enablement of one skilled in the art." Id. at 44.

IBM responds that, although Twin Peaks refers to multiple columns and figures of the '439 patent, it fails to identify any algorithm that is clearly linked or associated with the "means for mounting" function, and that all of the descriptions identified by Twin Peaks disclose the outcome of, or what results from, the MFS mounting function. IBM also contends that Twin Peaks is improperly relying on the knowledge of one of ordinary skill in the art to "fill in gaps in disclosure." Id. at 35-36.

We agree with IBM that the '439 patent does not disclose a structure corresponding to the "means for mounting" limitation. Twin Peaks's argument focuses on the "MFS Mount Protocol" section of the '439 patent. Parts of the "MFS Mount Protocol" section, '439 patent, col. 10 l. 32-col. 12 l. 14, do appear to indicate that a detailed description of the MFS mount algorithm or structure would follow; the specification states that the MFS mounting protocol "provides a new approach for mounting a file system on a directory," id. col. 10 ll. 44-45, and what "the MFS can do" to "link up . . . two file structures and make them a mirroring pair," id. col. 11 ll. 31-33. However, the "means for mounting" limitation is circularly described by referring to the very term "mount" and the results of various "mount" operations, rather than by disclosing the identity of the "means for mounting."

Twin Peaks appears to argue that the "MFS Mount Protocol" involves multiple regular mount operations known in the art, but even assuming arguendo that that contention is accepted, the specification does not describe to what extent the MFS mount protocol involves the regular mount operations or to what extent the "MFS mount" operation is different from the regular "mount" operation. See Biomedino, 490 F.3d at 953 (holding that "a bare statement that known techniques or methods can be used does not disclose structure"); Med. Instrumentation & Diagnostics Corp. v. Elekta AB, 344 F.3d 1205, 1211 (Fed. Cir. 2003) (noting "[t]he requirement that a particular structure be clearly linked with the claimed function in order to qualify as corresponding structure").

Twin Peaks faults the district court for misunderstanding the MFS mount operation and argues that how the MFS mount operation is performed, rather than the result of it, is described by disclosing the data structure, "mfs_vfs," and its contents. Appellant's Br. 39. However, Twin Peaks cannot, and does not appear to, argue that the corresponding structure of the "means for mounting" limitation is the "mfs_vfs" data structure itself, which the district court determined describes another element of claim 1 and is not at issue on appeal. See Default Proof Credit Card Sys., Inc. v. Home Depot U.S.A., Inc., 412 F.3d 1291, 1299-1300 (Fed. Cir. 2005) (noting that the structure identified by the party corresponds to a sepa- rately claimed element and cannot correspond to the means-plus-function limitation in question).

Instead, Twin Peaks argues that the steps of "setting up" the "mfs_vfs" data structure and "inheriting" the contents according to the "mfs_vfs" data structure setup correspond to how the MFS mounting operation is performed. However, the '439 patent specification does not describe the MFS mounting algorithm as this two-step process or any other process. As discussed above, the '439 patent specification does not adequately disclose what algorithm or other structure corresponds to the "means for mounting" limitation. Biomedino, 490 F.3d at 952 (noting that "structure supporting a means-plus-function claim under § 112, ¶ 6 must appear in the specification" and that the proper analysis "asks first whether structure is described in the specification" (emphasis in original) (citation omitted)). In arguing that the "means for mounting" limitation is a two-step process of "setting up" and "inheriting" steps, Twin Peaks pieces together disparate portions of the specification to conjure up a corresponding structure. We find that argument unpersuasive.

Lastly, Twin Peaks argues that a person of ordinary skill in the art reading the specification would understand what structure corresponds to the "means for mounting" limitation and could implement it because "some structure is disclosed" and therefore, omitting certain details is "of no significance." Appellant's Br. 44. Twin Peaks cites our case law holding that, in some cases, disclosure of "some structure" can be sufficient, e.g., Atmel Corp. v. Info. Storage Devices, Inc., 198 F.3d 1374, 1382 (Fed. Cir. 1999), as supporting its proposition. However, the "some structure" in the specification that would be sufficient still should be "some structure corresponding to the means" recited in the claims "so that one can readily ascertain what the claim means and comply with the particularity requirement of ¶ 2." Atmel, 198 F.3d at 1382 (emphasis added). Indeed, the "interpretation of what is disclosed must be made in light of the knowledge of one skilled in the art," but "the understanding of one skilled in the art in no way relieves the patentee of adequately disclosing sufficient structure in the specification." Id. at 1380; see also Biomedino, 490 F.3d at 952. Here, as discussed above, other than the post hoc synthesis of what the "means for mounting" limitation corresponds to as proposed by Twin Peaks, the '439 patent specification itself does not adequately disclose the corresponding structure of the "means for mounting" limitation, and that inadequate disclosure cannot be cured simply by relying on the knowledge of a person skilled in the art. Biomedino, 490 F.3d at 953 ("The inquiry is whether one of skill in the art would understand the specification itself to disclose a structure, not simply whether that person would be capable of implementing a structure." (citation omitted)).

We therefore conclude that the "means for mounting" limitation of claim 1 is indefinite and that the district court did not err in so concluding.

II. "Mechanism for Managing"

Regarding claim 4, Twin Peaks argues that the district court misunderstood the claimed mechanism for managing, and according to the correct understanding, disclosure of source code for any file operations, much less for the entire set of file operations, is not necessary. Here, Twin Peaks points to, inter alia, a section of the '439 patent, entitled "File/Directory Operations," and contends that the structure corresponding to the claimed mechanism for managing entails the MFS system intercepting the system calls through the "mnode" structure, which is reproduced below: /*

* The mnode is the "vnode" mirror files. It contains
* all the information necessary to handle two real vnodes it links
*/
typedefstruct mnode {
struct vnode m_vnode; /* vnode for mirror file system */
struct mnode *m_next; /* link for hash chain */
struct vnode *m_Xvp; /* pointer to X vnode */
struct vnode *m_Yvp; /* pointer to Y vnode */
int state; /* state of the mnode */
} mnode_t; Appellant's Br. 22 (citing '439 patent, col. 12 ll. 47-56). Based on this disclosure, Twin Peaks argues that the structure corresponding to the "mechanism for managing" entails a two-step algorithm of: (1) receiving file operations through the "mnode" structure; and (2) directing or routing the file operations to the underlying file systems accordingly. Id. at 47-48. Furthermore, Twin Peaks contends that the '439 patent goes beyond what is necessary in disclosing the code for the "mfs_open" operation, which is reproduced below:
static int
mfs_open (register vnode_t **vpp,
int flag,
struct cred *cr)
{
struct mnode *mp; /* mnode for MFS */
vnode_t vp = vpp; /* vnode for MFS */
vnode_t *X_vp; /* vnode of X copy */
vnode_t *Y_vp; /* vnode ofY copy */
int X_error = -1, Y_error = -1;
/*
* process open for X vnode
*/
mp = vp- > v_data; /* get the mnode */
X_vp = mp- > X_vp; /* get X vnode */
/*
* send the request to vop_open( ) of X vnode
*/
X_error = VOP_OPEN(&X_vp, flag, cr);
/*
* process open for Y vnode
*/
Y_vp = mp- > Y_vp; /* get Y vnode */
/*
* send the request to vop_open( ) ofY vnode
*/
Y_error = VOP_OPEN(&Y_vp, flag, cr);
}
return (X_error | Y_error),
}
Id. at 23 (citing '439 patent, col. 13 ll. 26-50); id. at 51. According to Twin Peaks, this disclosure of the "mfs_open" operation and the '439 patent's explanation that "[a]ll other operations like mfs_read( ), mfs_write( ), mfs_setattr( ), mfs_close( ), etc., follow the same procedure as described in mfs_open( )" are "more than what would be necessary for one skilled in the art to understand the algorithm." Id. at 52-54 (citing '439 patent, col. 13 ll. 52-54). Therefore, Twin Peaks argues that the "mechanism for managing" limitation should be interpreted as a single function with a corresponding two-step process, and disclosure of particular file operations source code is not necessary; at any rate, the '439 patent discloses more than enough.

IBM responds that the district court correctly determined that the disclosure in the '439 patent is insufficient because the "mechanism for managing" function, although a single function, includes multiple file operations, the full scope of which are not disclosed in the specification. IBM also contends that the district court correctly found that the disclosure of the "mfs_open" operation and the accompanying explanation to "follow the same procedure" are inadequate. For example, IBM argues that the "write" operation source code provided by Twin Peaks's expert "follow[ing] the same procedure" is missing a key feature of the invention and demonstrates that inadequacy.

We agree with IBM that the '439 patent does not provide sufficient structure corresponding to the "mechanism for managing" limitation. To the extent that Twin Peaks contends that the "mechanism for managing" entails a two-step process of receiving and directing operations, we do not find that the '439 patent discloses such structure corresponding to the "mechanism for managing" function. Parts of the '439 patent specification mention that the linked and mirrored pair of file systems are "under the management of MFS," e.g., col. 9 ll. 56-57, col. 10, l. 14, col. 11 l. 18, col. 12 ll. 35-37; however, the '439 patent does not describe the "managing" function as the two-step process proposed by Twin Peaks.

Therefore we must consider Twin Peaks's further argument regarding the '439 patent's discussions of the "mfs_open" operation and other file operations. We conclude that those disclosures also do not adequately indicate what structure corresponds to the "mechanism for managing" limitation. Referring to the code for the "mfs_open" operation and the instructions to implement other operations likewise, Twin Peaks contends that a person of ordinary skill in the art would understand and could implement other file operations by merely replacing operation names and using known arguments of known file operations.

Similarly to claim 1, Twin Peaks relies on our case law to suggest that as long as a structure sufficient for one skilled in the art is disclosed, i.e., "critical" or "essential" structure, a structure to perform the entirety of the function need not be disclosed to satisfy the definiteness requirement for a means-plus-function claim. Appellant's Br. 10 (citing Creo Prods., Inc. v. Presstek, Inc., 305 F.3d 1337, 1347 (Fed. Cir. 2002); Cardiac Pacemakers, Inc. v. St. Jude Med., Inc., 296 F.3d 1106, 1119 (Fed. Cir. 2002)). Emphasizing the "interrelationship" between enablement and definiteness from a skilled artisan's perspective, Twin Peaks asserts that "[l]ogically, if one skilled in the art can build the invention and make it work, the scope of the invention must be understood as well," and that such logic "necessarily follows from the test applied to determine definiteness." Id. at 14-15 (citing Atmel, 198 F.3d at 1382). Twin Peaks's allegedly "logical" extrapolation, however, is misplaced.

"[T]he quid pro quo for the convenience of employing § 112, ¶ 6" is to clearly link or associate corresponding structure to the claimed function. B. Braun Med., Inc. v. Abbott Labs., 124 F.3d 1419, 1424 (Fed. Cir. 1997). The "corresponding structure need not include all things necessary to enable the claimed invention to work," Cardiac Pacemakers, 296 F.3d at 1119, because enablement is a separate inquiry, and by engaging in functional claiming under § 112 ¶ 6, a patentee is entering into the bargain of limiting its open-ended functional claim term to what is disclosed and their equivalents, which may not be coextensive with the full enabled scope, see, e.g., B. Braun Med., 124 F.3d at 1425 (limiting the scope of the means-plus-function limitation in question to what is disclosed in the specification). Indeed, Twin Peaks does not appear to argue that the scope of the "mechanism for managing" is limited to the "managing" function only having the "open" operation and other file operations that are considered its equivalents. Instead, Twin Peaks urges that, because a person of ordinary skill in the art would be able to understand other operations and implement them "follow[ing] the same procedure," the structure corresponding to the full scope of the "managing" function is disclosed. We decline to adopt such reasoning.

As discussed above, the '439 specification does not describe the "mechanism for managing" limitation as the two-step process proposed by Twin Peaks. Furthermore, as the district court noted, disclosure of the "open" operation is only a partial and inadequate disclosure of the file operations that constitute the alleged full scope of the "managing" function. We therefore conclude that the "mechanism for managing" limitation of claim 4 is indefinite and that the district court did not err in its conclusion.

Because we agree that the district court did not err in concluding that the two means-plus-function claims limitations are not supported by adequate structure in the specification, we also agree that the court did not err in concluding the challenged claims to be indefinite and hence invalid.

CONCLUSION

We have considered the remaining arguments, but find them unpersuasive. For the foregoing reasons, the decision of the district court is affirmed.

AFFIRMED


Summaries of

Twin Peaks Software Inc. v. IBM Corp.

United States Court of Appeals for the Federal Circuit
May 26, 2017
2016-2177 (Fed. Cir. May. 26, 2017)
Case details for

Twin Peaks Software Inc. v. IBM Corp.

Case Details

Full title:TWIN PEAKS SOFTWARE INC., A CALIFORNIA CORPORATION, Plaintiff-Appellant v…

Court:United States Court of Appeals for the Federal Circuit

Date published: May 26, 2017

Citations

2016-2177 (Fed. Cir. May. 26, 2017)

Citing Cases

Pers. Audio, LLC v. Google LLC

" (Id.) But as Google points out, the law requires that sufficient structure be disclosed for the full scope…

Pantech Corp. v. Oneplus Tech. (Shenzhen) Co.

Regarding the notion of “implicit disclosure” and Pantech's reliance on Atmel, OnePlus points to what it…