Bedrock Computer Technologies, LLC v. Softlayer Technologies, Inc. et al

Filing 283

MOTION for Summary Judgment of Indefiniteness by AOL Inc, Amazon.com Inc., Google Inc., Match.Com LLC, MySpace Inc., Softlayer Technologies, Inc., Yahoo! Inc.. (Attachments: # 1 Decl. of Antonio Sistos ISO Defendants' MSJ of Indefiniteness, # 2 Exhibit A, # 3 Exhibit B, # 4 Text of Proposed Order)(Sistos, Antonio)

Bedrock Computer Technologies, LLC v. Softlayer Technologies, Inc. et al Doc. 283 UNITED STATES DISTRICT COURT EASTERN DISTRICT OF TEXAS TYLER DIVISION BEDROCK COMPUTER TECHNOLOGIES LLC, Plaintiff, v. SOFTLAYER TECHNOLOGIES, INC., et al., Defendants. ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) CASE NO. 6:09­CV­00269 Hon. Leonard E. Davis JURY TRIAL DEMANDED DEFENDANTS' MOTION FOR SUMMARY JUDGMENT OF INDEFINITENESS AS TO CLAIMS 1, 2, 5, AND 6 OF U.S. PATENT NO. 5,893,120 Dockets.Justia.com TABLE OF CONTENTS Page I. II. INTRODUCTION ...............................................................................................................1 STATEMENT OF UNDISPUTED MATERIAL FACTS ..................................................1 A. B. C. III. IV. Hashing Functions ...................................................................................................2 Accessing a Linked List ...........................................................................................3 Dynamically Determining Maximum Number to Remove .....................................4 LEGAL STANDARDS .......................................................................................................5 ARGUMENT .......................................................................................................................7 A. B. Claim 5 Is Indefinite For Failure To Disclose A Corresponding Algorithm For The "Hashing Means." ......................................................................................7 Claims 1 And 5 Are Indefinite For Failure To Disclose A Corresponding Algorithm For The "Record Search Means Utilizing A Search Key To Access The Linked List." .........................................................................................8 Claims 2 And 6 Are Indefinite For Failure To Disclose A Corresponding Structure For "Dynamically Determining Maximum Number." .............................9 C. V. CONCLUSION ..................................................................................................................10 i TABLE OF AUTHORITIES Page Cases Aristocrat Techs. Austl. Pty. Ltd. v. Int'l Game Tech., 521 F.3d 1328 (Fed. Cir. 2008)..........................................................................................6, 7, 8 B. Braun Med. Inc. v. Abott Labs., 124 F.3d 1419 (Fed. Cir. 1997)..................................................................................................5 Biomedino, LLC v. Waters Technologies Corp., 490 F.3d 946 (Fed. Cir. 2007)............................................................................................6, 8, 9 Blackboard, Inc. v. Desire2Learn, Inc., 574 F.3d 1371 (Fed. Cir. 2009)..............................................................................................6, 9 Harris Corp. v. Ericsson Inc., 417 F.3d 1241 (Fed. Cir. 2005)..................................................................................................6 WMS Gaming, Inc. v. Int'l Game Tech., 184 F.3d 1339 (Fed. Cir. 1999)..................................................................................................6 ii I. INTRODUCTION Bedrock contends that Defendants infringe all eight claims of U.S. Patent No. 5,893,120 ("the '120 patent"). Independent claims 1 and 5 and dependent claims 2 and 6 include means-plusfunction limitations implemented by a general purpose computer. All four claims are indefinite under 35 U.S.C. § 112 ¶ 2 because the specification of the '120 patent does not contain algorithms that correspond to functions in one or more means-plus-function elements in each of these claims. Consequently, Defendants are entitled to summary judgment of invalidity as to claims 1, 2, 5, and 6. II. STATEMENT OF UNDISPUTED MATERIAL FACTS 1. The asserted claims include claims 1, 2, 5, and 6. Representative claims 5 and 6 are reproduced below with the means-plus-function limitations relevant to this motion underlined. Plaintiff agrees that the underlined terms are subject to 35 U.S.C. § 112 ¶ 6. (Dkt. 251 at 2-3): 5. An information storage and retrieval system, the system comprising: a hashing means to provide access to records stored in a memory of the system and using an external chaining technique to store the records with same hash address, at least some of the records automatically expiring, a record search means utilizing a search key to access a linked list of records having the same hash address, the record search means including means for identifying and removing at least some expired ones of the records from the linked list of records when the linked list is accessed, and means, utilizing the record search means, for inserting, retrieving, and deleting records from the system and, at the same time, removing at least some expired ones of the records in the accessed linked list of records. 6. The information storage and retrieval system according to claim 5 further including means for dynamically determining maximum number for the record search means to remove in the accessed linked list of records. 1 A. 2. Hashing Functions The '120 patent is directed to a technique for performing on-the-fly removal of expired records in a hash table which uses linked lists. As described in the "Background of the Invention," retrieving a specific record from a stored set of records can be inefficient if the data set is large, as many of those records may need to be examined. (1:23-32.) Use of a hash table is a wellknown and faster way of storing and retrieving information than searching for key values stored in the records. Hashing functions are designed to convert keys into uniformly distributed storage addresses, which are then accessed directly. (1:47-49.) A hash function can be any series of mathematical operations that transforms the key into an index or storage address for a hash table. (5:3-5.) Claim 5 requires "a hashing means to provide access to records stored in a memory of the system." (13:60-61.) 3. The '120 patent does not provide any algorithm for performing hashing. Figure 3 merely states the function--"Hash Search Key"--without describing any corresponding algorithm: Portion of Figure 3 of the '120 Patent Similarly, the specification states that "the search key of the record being searched for is hashed in box 31 to provide the subscript of an array element," without providing any corresponding hashing algorithm for converting the key into a storage address, i.e., any integer greater than or equal to zero. (5:58-60.) Nor does the pseudocode disclose a hashing algorithm; it simply calls to a function 2 named "hash," without describing the structure or algorithm by which "hash returns a value in the range 0 ... table_size -1":1 4. Bedrock contends that the algorithm for the limitation is simply the code establishing the array of records. (Dkt. 275 at 24-25.) But Bedrock does not identify any hashing algorithm used to provide access to those records. (Id. 1-28.) B. 5. Accessing a Linked List A hash function translates keys to a storage address. When that function translates multiple keys into the same storage address, a "collision" occurs. (1:50-54.) One method for resolving collisions stores a pointer to the beginning of a linked list at each storage address. (1:5860.) All records which hash to that storage address are then stored within the linked list. (1:60-62.) That linked list is accessed when retrieving, inserting, or deleting a record from the hash table. (1:62-63.) Claims 1 and 5 require a "record search means utilizing a search key to access [the/a] linked list." (13:29-30; 14:25-26.) 6. The '120 patent does not disclose any function for accessing the linked list other than through a hash function. In Figure 3, the target list is obtained after performing the hashing function on the search key: Portion of Figure 3 of the '120 Patent The named inventor agrees that the pseudocode does not disclose a hash function. (Ex. A, 294:15-295:15.) 3 1 The accompanying description in the specification states that "the hash table array location indicated by the subscript generated in box 31 is accessed to provide a pointer to the target linked list," but does not provide an algorithm for generating that subscript. (5:60-63.) Similarly, the pseudocode shows that the "index" is obtained through the hash function, but the pseudocode itself does not disclose an algorithm for that hash function: 7. Bedrock claims that the algorithm for the limitation is disclosed in Figure 3 and in the pseudocode. (Dkt. 275 at 13-17.) But neither Figure 3 nor the pseudocode discloses any algorithm for accessing the linked list through a hashing function. C. 8. Dynamically Determining Maximum Number to Remove The alleged invention is directed to a technique for performing on-the-fly removal of expired records during normal data insertion or retrieval operations. (2:54-60.) In other words, expired records in the linked list are removed as part of a normal search procedure. (2:61-63.) Dependent claims 2 and 6 require that the maximum number of records which can be removed by the on-the-fly deletion technique be "dynamically determin[ed]." (13:40-43; 14:36-39.) 9. Only one paragraph in the entire specification relates to the "dynamically determining" function. (6:56-7:15.) The last sentence of this paragraph states that "[a] person skilled in the art will appreciate that the technique of removing all expired records while searching the linked list can be expanded to include techniques whereby not necessarily all expired records are removed, and that the decision regarding if and how many records to delete can be a dynamic one." (7:10-15.) This paragraph does not provide any algorithm for dynamically determining the 4 maximum number of records to be removed; it merely refers to the knowledge of one of skill in the art to supply an algorithm.2 10. Bedrock admits that the corresponding algorithm (structure) for "dynamically determining" is not disclosed in the flowcharts or pseudocode in the specification. (Dkt. 275 at 26.) Bedrock instead contends that the algorithm is disclosed in the single paragraph (6:56-7:15) that relates to this limitation. (Id.) Specifically, Bedrock contends this paragraph discloses an algorithm that "chooses whether to execute the Search Table Procedure or the Alternate Version of Search Table Procedure." (Id.) In both search table procedures, the algorithm removes expired records from the linked list while searching for a desired record. When that record is located, the Search Table Procedure continues through the rest of the list deleting expired records, while the Alternate Version of Search Table Procedure terminates immediately. (6:56-66; see also pseudocode and comments in the Appendix.) But neither algorithm performs the function of "dynamically determining [a] maximum number for the record search means to remove in the accessed linked list of records" or even determining any number of records in the linked list to remove. III. LEGAL STANDARDS As quid pro quo for the convenience of writing a claim in means-plus-function language, the specification must identify and clearly link a structure to the recited claim function and the structure must be sufficient to perform the recited claim function. B. Braun Med. Inc. v. Abott Labs., 124 F.3d 1419, 1424 (Fed. Cir. 1997). In a means-plus-function claim "in which the disclosed structure is a computer, or microprocessor, programmed to carry out an algorithm, the disclosed structure is not the general purpose computer, but rather the special purpose computer programmed to perform the The named inventor agrees that the specification does not disclose an algorithm for dynamically determining the maximum number. (Ex. A, 288:6-289:21.) 5 2 disclosed algorithm." WMS Gaming, Inc. v. Int'l Game Tech., 184 F.3d 1339, 1349 (Fed. Cir. 1999). This is because disclosing "a computer as the structure designed to perform a particular function does not limit the scope of the claim to the `the corresponding structure, material, or acts' that perform the function, as required by section 112 paragraph 6." Aristocrat Techs. Austl. Pty. Ltd. v. Int'l Game Tech., 521 F.3d 1328, 1333 (Fed. Cir. 2008). To avoid pure functional claiming, the applicant must disclose a particular algorithm that performs the claimed function. WMS Gaming, 184 F.3d at 1349. Thus, the corresponding structure for a computer-implemented means-plus-function term is "the algorithm disclosed in the specification." Harris Corp. v. Ericsson Inc., 417 F.3d 1241, 1249 (Fed. Cir. 2005). Absent any such algorithm, the claim lacks sufficient disclosure of structure under 35 U.S.C. § 112 ¶ 6 and is therefore indefinite under 35 U.S.C. § 112 ¶ 2. Aristocrat Techs., 521 F.3d at 1331. "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 that structure." Biomedino, LLC v. Waters Technologies Corp., 490 F.3d 946, 953 (Fed. Cir. 2007). Accordingly, "[i]t is not enough for the patentee simply to state or later argue that persons of ordinary skill in the art would know what structures to use to accomplish the claimed function." Aristocrat Techs., 521 F.3d at 1337. "To allow that form of claiming under section 112, paragraph 6, would allow the patentee to claim all possible means of achieving a function." Blackboard, Inc. v. Desire2Learn, Inc., 574 F. 3d 1371, 1385 (Fed. Cir. 2009) (emphasis added). Accordingly, "[t]hat ordinarily skilled artisans could carry out the recited function in a variety of ways is precisely why claims written in 'means-plus-function' form must disclose the particular structure that is used to perform the recited function." Id. 6 IV. ARGUMENT A. Claim 5 Is Indefinite For Failure To Disclose A Corresponding Algorithm For The "Hashing Means." Claim 5 requires "a hashing means to provide access to records stored in a memory of the system."3 The '120 patent provides no algorithm for performing the function of "hashing," i.e. converting a key into an index or storage location within the hash array. (5:3-5.) The named inventor and co-owner of Bedrock admitted the lack of hashing algorithm at his recent deposition, stating that the hash function is "[t]o be supplied by the implementer." (Ex. A, 294:15-295:15.) Accordingly, claim 5 lacks sufficient disclosure of structure under 35 U.S.C. § 112 ¶ 6 and is therefore indefinite under 35 U.S.C. § 112 ¶ 2. See Aristocrat Techs., 521 F.3d at 1331. Plaintiff asserts that the array of storage locations provides the algorithm for this limitation. (Dkt. 275 at 24-25.) This assertion cannot be squared with Plaintiff's own construction conceding that the function of the claim limitation is "using hashing to provide access to records stored in a memory of the system." (Id. 24.) An array does not provide an algorithm for "using hashing"; rather, that functionality is provided by the hash function which performs the function of converting a key into a storage address within that array. (See generally 1:23-42.) Plaintiff also suggests that the "hashing means" limitation covers any algorithm that outputs a number between 0 and the table size. This approach would result in a purely functional claim and was expressly rejected by the Federal Circuit in Aristocrat Technologies. See 521 F.3d at 1333. Accordingly, Plaintiff has failed to identify the required "hashing means to provide access to records" required by claim 5.4 3 4 The parties agree that this term is controlled by 35 U.S.C. § 112 ¶ 6. (Dkt. 251 at 2-3.) Plaintiff further argues that "[a]n ordinary artisan would understand the bounds of this disputed term in light of the disclosed structures cited above." (Dkt. 275 at 25.) Whether one of (footnote continued) 7 B. Claims 1 And 5 Are Indefinite For Failure To Disclose A Corresponding Algorithm For The "Record Search Means Utilizing A Search Key To Access The Linked List." Claim 1 requires "a record search means utilizing a search key to access the linked list." Claim 5 has a similar limitation, except that the linked list must contain records having the same hash address.5 Plaintiff further concedes that the function of the claim limitation is "record searching utilizing a search key to access the linked list." (Dkt. 275 at 13.) The figures, specification, and pseudocode of the '120 patent describe only one way of accessing the linked list utilizing a search key ­ through hashing on that key to locate a storage address within the array, then accessing that address directly. (1:38-42.) Hashing is a necessary function of this claim term. But the '120 patent does not provide any algorithm for "utilizing a search key to access the linked list" because as explained above, the specification fails to disclose a hash algorithm. Accordingly, claims 1 and 5 are both indefinite. Plaintiff points to nearly all of the boxes in Figure 3 and all of the pseudocode in the "Search Table Procedure" and the "Alternate Version of Search Table Procedure" as providing the structure for this claim element. (Dkt. 275 at 13-17.) This mass citation still fails to identify any algorithm for accessing a linked list utilizing a search key.6 To the extent Plaintiff contends that any hash function constitutes the corresponding algorithm, Plaintiff's argument fails for the reasons stated above. See Aristocrat Techs., 521 F.3d at 1333. skill would understand the metes and bounds of the claim limitation is not the issue here. Rather, the issue is whether the specification discloses an algorithm corresponding to a means-plusfunction claim as required by 35 U.S.C. § 112 ¶ 6. Biomedino, 490 F.3d at 953. 5 6 The parties agree the terms are controlled by 35 U.S.C. § 112 ¶ 6. (Dkt. 251 at 2.) Plaintiff again contends that "[a]n ordinary artisan would understand the bounds of the disputed terms" (Dkt. 275 at 17), but that contention does not address the issue it hand. See n. 4 supra. 8 C. Claims 2 And 6 Are Indefinite For Failure To Disclose A Corresponding Structure For "Dynamically Determining Maximum Number." Claims 2 and 6, which depend from claims 1 and 5 respectively, require a "means for dynamically determining maximum number for the record search means to remove in the accessed linked list of records."7 Plaintiff agrees that the function of the claim limitation is "dynamically determining maximum number of records for the record search means to remove in the accessed linked list of records." (Dkt. 275 at 25.) The specification fails to disclose any algorithm that determines the maximum number of records to remove. Indeed, during his recent deposition, the named inventor and co-owner of Bedrock admitted the specification does not disclose an algorithm for performing the "dynamically determining" function. (Ex. A, 288:6­289:21.) Instead, the specification merely states that "[a] person skilled in the art will appreciate that the technique of removing all expired records while searching the linked list can be expanded to include techniques whereby not necessarily all expired records are removed, and that the decision regarding if and how many records to delete can be a dynamic one." (7:10-15.) This observation is of no assistance to Plaintiff. "That ordinarily skilled artisans could carry out the recited function in a variety of ways is precisely why claims written in 'means-plus-function' form must disclose the particular structure that is used to perform the recited function." Blackboard, 574 F. 3d at 1385 (emphasis added); Biomedino, 490 F.3d at 953. Accordingly, claims 2 and 6 are indefinite. Plaintiff contends that the required algorithm is the portion of the software that "chooses whether to execute the Search Table Procedure or the Alternate Version of Search Table Procedure." (Dkt. 275 at 26.) But these procedures have nothing to do with the function of determining a maximum number of records to remove from the linked list. Neither procedure determines any 7 The parties agree this term is governed by 35 U.S.C. § 112 ¶ 6. (Dkt. 251 at 3.) 9 number of records to remove. The first algorithm traverses the linked list and removes all expired records, including expired records found after a key match is located. The second algorithm traverses the linked list and removes all expired records until it finds a key match and then terminates. (6:56-66.) The procedures simply remove every record identified as being expired until the linked list is exited for reaching the end of the list or locating the desired record, respectively. As such, neither algorithm determines "a single quantity that serves as an upper limit on the number of records removed from the linked list whenever the linked list is accessed." (See Defendants' Joint Response Brief On Claim Construction at Section IV.B; Ex. B at 4.) Plaintiff's citation is accordingly for a different, unclaimed function.8 V. CONCLUSION For the foregoing reasons, Defendants respectfully request that the Court grant Defendants' motion for summary judgment that claims 1, 2, 5, and 6 of the '120 patent are invalid for indefiniteness. In this regard, after describing Plaintiff's cited structure, the specification states that "the technique of removing ... can be expanded to include techniques whereby ... the decision regarding if and how many records to delete can be a dynamic one," thereby suggesting that the numerical determination is a separate matter from what was previously discussed. 10 8 DATED: September 10, 2010 Respectfully submitted, _/s/ Russell A. Korn________________ Steven Gardner E. Danielle T. Williams John C. Alemanni Kilpatrick Stockton LLP 1001 West 4th Street Winston-Salem, NC 27101 Telephone: (336) 607-7300 Fax: (336) 607-7500 William H. Boice Russell A. Korn Kilpatrick Stockton LLP Suite 2800 1100 Peachtree Street Atlanta, GA 30309-4530 Telephone: (404) 815-6500 Fax: (404) 815-6555 Thad Heartfield Law Offices of J. Thad Heartfield 2195 Dowlen Road Beaumont, TX 77706 Telephone: 409-866-2800 Fax 409-866-5789 ATTORNEYS FOR DEFENDANTS AMAZON.COM INC. AND SOFTLAYER TECHNOLOGIES, INC. _/s/ Todd M. Briggs________________ Claude M. Stern Todd M. Briggs Evette D. Pennypacker QUINN EMANUEL URQUHART & SULLIVAN, LLP 555 Twin Dolphin Dr., 5th Floor Redwood Shores, CA 94065 Telephone: 650­801­5000 Facsimile: 650­801­5100 Email: claudestern@quinnemanuel.com Email: toddbriggs@quinnemanuel.com Email: evettepennypacker@quinnemanuel.com Michael E. Jones State Bar No. 10929400 POTTER MINTON 110 N. College 11 Tyler, Texas 75702 Telephone: (903) 597­8311 Facsimile: (903) 593­0846 Email: mikejones@potterminton.com ATTORNEYS FOR DEFENDANTS MATCH.COM LLC AND GOOGLE, INC. _/s/ John A. Lee___________________ Yar R. Chaikovsky John A. Lee McDERMOTT WILL & EMERY 275 Middlefield Road, Suite 100 Menlo Park, CA 94025 Telephone: (650) 815-7400 Facsimile: (650) 815-7401 Email: ychaikovsky@mwe.com Email: jlee@mwe.com ATTORNEYS FOR DEFENDANT YAHOO! INC. __/s/ Thomas W. Davison ___________ Alan L. Whitehurst Thomas W. Davison ALSTON & BIRD LLP The Atlantic Building 950 F Street, N.W. Washington, DC 20004 Telephone: (202) 756-3300 Facsimile: (202) 756-3333 Email: alan.whitehurst@alston.com Email: tom.davison@alston.com ATTORNEYS FOR DEFENDANTS MYSPACE INC. AND AOL LLC 12 CERTIFICATE OF SERVICE The undersigned hereby certifies that a copy of the foregoing document was filed and served electronically on all counsel of record in compliance with Local Rule CV-5(a) on September 10, 2010. By: _/s/ Antonio Sistos_________ 13