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

Filing 326

ORDER setting forth provisional claim constructions for disputed claim terms in US Patent No 5,893,120. Signed by Magistrate Judge John D. Love on 10/29/10. cc:attys 10-29-10(mll, )

Bedrock Computer Technologies, LLC v. Softlayer Technologies, Inc. et al Doc. 326 IN THE UNITED STATES DISTRICT COURT FOR THE EASTERN DISTRICT OF TEXAS TYLER DIVISION BEDROCK COMPUTER, TECHNOLOGIES, LLC v. SOFTLAYER TECHNOLOGIES, INC., ET AL. No. 6:09cv269 LED-JDL JURY DEMANDED ORDER This provisional claim construction Order sets forth the Court's initial constructions for the disputed claim terms in U.S. Patent No. 5,893,120 ("the `120 patent"), asserted by Plaintiff Bedrock Computer Technologies, LLC ("Bedrock"). The Court will issue a Memorandum Opinion and Order, including a full analysis of the disputed claim terms, at a later date. The Court may modify these provisional constructions when it issues the Memorandum Opinion and Order. This Order is intended to serve as a guideline and framework with which the parties may proceed at an earlier point in the litigation. BACKGROUND Bedrock alleges Softlayer Technologies, Inc., Citiware Technology Solutions, LLC, Google, Inc., Yahoo! Inc., MySpace Inc., Amazon.com Inc., Match.com, Inc., and AOL Inc.1 (collectively, "Defendants") infringe the `120 patent. The parties have presented their claim construction positions (Doc. Nos. 275, 284 & 300). On October 7, 2010, the Court held a claim construction hearing and heard argument. 1 Defendants CME Group Inc. and PayPal, Inc. settled earlier in the litigation. See (Doc. Nos. 168 and 2 0 2 ). Dockets.Justia.com DISCUSSION I. "a linked list to store and provide access to records"2 Defendants' Proposed Construction Two or more records in which each record contains a pointer to the next record in the list or information indicating that there is no next record. Plaintiff's Proposed Construction A list in which each record contains a pointer to the next record or information indicating that there is no next record. The parties have agreed to the construction of this term at the October 7, 2010 claim construction hearing and the Court provisionally adopts the agreed construction, "a list, capable of containing two or more records, in which each record contains a pointer to the next record or information indicating there is no next record." II. "automatically expiring"/ "expired"3 Defendants' Proposed Construction Becoming obsolete and no longer needed or desired in the storage system by comparing some portion of the contents of the record to some external condition / obsolete and no longer needed or desired in the storage system because of some external condition Plaintiff's Proposed Construction After a limited period of time or after the occurrence of some event, becoming obsolete and therefore no longer needed or desired in the storage system / obsolete and therefore no longer needed or desired in the storage system The Court provisionally construes "automatically expiring" as, "becoming obsolete and therefore no longer needed or desired in the storage system because of some condition, event, or period of time." The Court finds that internal and external events and conditions are encompassed by the construction. 2 The term "a linked list to store and provide access to records" is contained in claims 1 and 3. Claims 5 a n d 7 discuss a "linked list of records." The provisional construction applies to claims 1, 3, 5, and 7. 3 This term is contained in claims 1, 3, 5, and 7. 2 In addition, the Court provisionally construes "expired" as, "obsolete and therefore no longer needed or desired in the storage system because of some condition, event, or period of time." Again, internal and external events and conditions are encompassed by the construction. III. "removing . . . from the linked list"4 Plaintiff's Proposed Construction Bedrock believes that this term language is properly construed pursuant to 35 U.S.C. 112(6)5 no construction necessary; however, should the Court construe this term; "removing at least some of the automatically expiring records from the linked list when the linked list is accessed for a purpose other than garbage collection, using the same linked list traversal performed for the purpose other than garbage collection." 6 Defendants' Proposed Construction While traversing the linked list, both adjusting the pointers in the linked list to bypass the previously identified expired records and deallocating the memory occupied by these records The Court finds the proper construction of the term "removing . . . from the linked list" is "adjusting the pointer in the linked list to bypass the previously identified expired records." IV. "dynamically determining"7 The parties dispute the phrase "identifying and removing at least some of the expired ones of the records fr o m the linked list when the linked list is accessed." The Court chooses to define certain terms within the disputed p h r a s e . The term the Court chooses to construe is contained in claims 1, 3, 5, and 7. Each of the claims differs s lig h tly as to what is removed from the linked list, but the issue concerns what the removal step entails. 5 4 Bedrock's proposed construction applies to claims 1 and 5. This proposed construction applies to claims 3 and 7. 6 This term is contained in claims 2, 4, 6, and 8. The parties dispute the phrase, "dynamically determining a m a x im u m number of expired ones of the records to remove when the linked list is accessed." The Court chooses to d e fin e certain terms within the disputed phrase separately. 7 3 Plaintiff's Proposed Construction Bedrock believes that this term language is properly construed pursuant to 35 U.S.C. 112(6)8 Determining, during the program execution, maximum number of expired ones of the records to remove when the linked list is accessed9 Defendants' Proposed Construction Immediately before the linked list is traversed, determining a single number that serves as an upper limit on the number of records to remove while the linked list is traversed The Court finds the term "dynamically determining" means "making a decision based on factors internal or external to the information storage and retrieval system." V. "maximum number"10 Plaintiff's Proposed Construction Bedrock believes that this term language is properly construed pursuant to 35 U.S.C. 112(6)11 Determining, during the program execution, maximum number of expired ones of the records to remove when the linked list is accessed12 Defendants' Proposed Construction Immediately before the linked list is traversed, determining a single number that serves as an upper limit on the number of records to remove while the linked list is traversed The Court finds that no construction is necessary for the term "maximum number." The Court, however, does find that the term "maximum number" is not limited to a single number. 8 Bedrock's proposed construction applies to claims 2 and 6. This proposed construction applies to claims 4 and 8. 9 This term is contained in claims 2, 4, 6, and 8. The parties disputed the phrase, "dynamically d e te r m in in g a maximum number of expired ones of the records to remove when the linked list is accessed." The C o u r t chooses to define certain terms within the disputed phrase separately. 11 10 Bedrock's proposed construction applies to claims 2 and 6. This proposed construction applies to claims 4 and 8. 12 4 VI. "external chaining" The parties have agreed that the term "external chaining" means "a technique for resolving hash collisions using a linked list(s). VII. "when the linked list is accessed"13 and Ordering of Method Steps14 Claim Term or Phrase when the linked list is accessed Plaintiff's Proposed Construction Bedrock believes that this term language is properly construed pursuant to 35 U.S.C. 112(6)15 No construction necessary16 Defendants' Proposed Construction Both identification and removal of the automatically expired record(s) occurs during the same traversal of the linked list. 13 This term is contained in claims 1, 3, 4, 5, 7, and 8. The Ordering of Method Steps applies to claims 3 and 7. Bedrock's proposed construction applies to claims 1 and 5. This proposed construction applies to claims 3 and 7. 14 15 16 5 Order of Method Steps No construction necessary. If the Court is inclined to address this issue, then it should hold that the steps of claim 3 may be performed in a consecutive manner, in a repeating manner, in an overlapping manner, or a combination of the three. If the Court is inclined to address this issue, then it should hold that the steps of claim 7 may be performed in a consecutive manner, in a repeating manner, in an overlapping manner, or a combination of the three, except that the ultimate step of claim 7 must follow or at least partially follow the penultimate step of claim 7. The elements of claim 3 and 7 must be executed in order. Moreover, "when the linked list is accessed" in the removing step refers to the accessing step, and the identifying and removing steps must occur during the same traversal of the linked list of records. The Court provisionally finds the term "when the linked list is accessed" to mean "both identification and removal of the automatically expired record(s) occurs during the same access of the linked list." The Court finds that the identification and removal steps occur during the same access. The "access" referred to in "removing at least some of the automatically expired records from the linked list when the linked list is accessed"17 is the same "access" of "accessing the linked list of records." In addition, the "identifying" step must start before "removal" can begin. However, identification need not be completed before removal can begin. The identification step may overlap with the 17 Claims 3 and 7, emphasis added. 6 removal step. Furthermore, the ultimate step of claim 7 must follow or at least partially follow the penultimate step of claim 7. VIII. "the record search means utilizing a search key to access the linked list"18 Plaintiff's Proposed Construction Function: The recited function is record searching utilizing a search key to access the linked list Structure: The corresponding structure is: (1) Portions of the application software, user access software or operating system software, as described at col. 4, lines 30-48 and illustrated in FIG. 2, of a computer system that includes at least a CPU 10 and RAM 11, see FIG. 1 and col. 3 lines 52-56; and (2) Executable software instructions as illustrated in Boxes 31-36 and Boxes 39-41 of FIG. 3, or as portions of the pseudo-code of Search Table Procedure (cols. 11 and 12) or Alternate Version of Search Table Procedure (cols. 11, 12, 13, and 14), and described in col. 5, line 57-col. 6 line 4 and col. 6 lines 1520, or the equivalents thereof. The Court finds that section 112(6) applies, and the Court will construe "the record search means utilizing a search key to access the linked list" as a means-plus-function term. The function is "utilizing a search key to access the linked list." The corresponding structure is: CPU 10 and RAM 11 of FIG. 1 and col. 3 lines 52-56 and portions of the application software, user access software or operating system software, as described at col. 4 lines 22-48, programmed with software instructions as described in Boxes 31-36 and Boxes 39-41 of FIG. 3 and in col. 5 line 53-col. 6 line 18 Defendants' Proposed Construction Indefinite This term is contained in claims 1 and 5. 7 4 and col. 6 lines 14-20, and/or programmed with software instructions as described in the pseudocode of Search Table Procedure (cols. 11 and 12) or Alternate Version of Search Table Procedure (cols. 11, 12, 13, and 14), or the equivalents thereof. IX. "the record search means including a means for identifying and removing at least some of the expired ones of the records from the linked list when the linked list is accessed"19 Plaintiff's Proposed Construction Function: record searching including identifying and removing at least some of the expired ones of the records from the linked list when the linked list is accessed. Structure: (1) Portions of the application software, user access software or operating system software, as described at col. 4, lines 30-48 and illustrated in FIG. 2, of a computer system that includes at least a CPU 10 and RAM 11, see FIG. 1 and col. 3 lines 52-56. (2) Executable software instructions as illustrated in Boxes 33-42 of FIG. 3, or as pseudo-code of Search Table Procedure (cols. 11 and 12) or Alternate Version of Search Table Procedure (cols. 11-14), starting at the line "while . . . /*HEART OF THE TECHNIQUE . . ." and ending at the end of each procedure, and/or as described in col. 5, line 63 - col. 6, line 34, or the equivalents thereof. Defendants' Proposed Construction Function: identifying and removing at least some [of the] expired ones of the records from the linked list [of records] when the linked list is accessed. For the construction of this function, see proposed constructions above, as further described in Joint Claim Construction Statement [Dkt. 251]. Structure: Boxes 10 and 11 of Fig. 1, Boxes 38 and 42 of Fig. 3, Fig 4, pseudocode in the Search Procedure (cols. 11-14) and Remove Procedure (cols. 13-14), and corresponding portions of the specification. The Court finds section 112(6) applies, and the term "the record search means including a means for identifying and removing at least some of the expired ones of the records from the linked list when the linked list is accessed" will be construed as a means-plus-function term. The function is "identifying and removing at least some of the expired ones of the records from the linked list 19 This term is contained in claims 1 and 5. 8 when the linked list is accessed." The corresponding structure is: CPU 10 and RAM 11 of FIG. 1 and col. 3 lines 52-56 and portions of the application software, user access software or operating system software, as described at col. 4 lines 22-48, programmed with software instructions as described in Boxes 33-42 of FIG. 3 and in col. 5 line 53-col. 6 line 34, and/or programmed with software instructions as described in the pseudo-code of Search Table Procedure (cols. 11 and 12) or Alternate Version of Search Table Procedure (cols. 11, 12, 13, and 14), or the equivalents thereof. X. "means, utilizing the record search means, for accessing the linked list and, at the same time, removing at least some of the expired ones of the records in the linked list"20 Plaintiff's Proposed Construction Defendants' Proposed Construction 20 This term is contained in claim 1. 9 Function: utilizing the record search means, accessing the linked list, and at the same time, removing at least some of the expired ones of the records in the linked list. Structure: (1) Portions of the application software, user access software or operating system software, as described at col. 4, lines 30-48 and illustrated in FIG. 2, of a computer system that includes at least a CPU 10 and RAM 11, see FIG. 1 and col. 3 lines 52-56. (2) Executable software which provides the insert, retrieve, or delete record capability illustrated in the flowchart of FIG. 5, FIG. 6, or FIG. 7, respectively, and/or as pseudo-code of Insert Procedure (cols. 9 and 10), Retrieve Procedure (cols. 9, 10, 11, and 12), or Delete Procedure (cols. 11 and 12), respectively, and/or described in col. 7, line 65 - col.8, line 32, col. 8, lines 33-44, or the equivalents thereof. Function: utilizing the record search means, [accessing the linked list / inserting, retrieving, and deleting from the system] and, at the same time, removing at least some of the expired ones of the records in the linked list. "At the same time" means during the same traversal of the linked list as [accessing the linked list / inserting, retrieving, and deleting records from the system]. For the construction of "removing ...", see proposed construction above, as further described in Joint Claim Construction Statement [Dkt. 251]. Structure: Boxes 10 and 11 of Fig. 1; Figs. 4-7, pseudocode in the Search Procedure (cols. 11-14), Insert Procedure (cols. 9 and 10), Retrieve Procedure (cols. 9 and 10), Delete Procedure (cols. 11-12), and Remove Procedure (cols. 13-14), and corresponding portions of the specification. Inserting, retrieving, and deleting are all required. The Court finds the term falls under section 112(6), and will construe the term as a meansplus-function term. The function is "utilizing the record search means, accessing the linked list and, at the same time, removing at least some of the expired ones of the records in the linked list." The corresponding structure is: CPU 10 and RAM 11 of FIG. 1 and col. 3 lines 52-56 and portions of the application software, user access software or operating system software, as described at col. 4, lines 22-48, programmed with software instructions that provide the insert, retrieve, or delete record 10 capability as described in the flowchart of FIG. 5 and col. 7 line 65 col. 8 line 32, FIG. 6 and col. 8 lines 33-44, or FIG. 7 and col. 8 lines 45-59, respectively, and/or programmed with software instructions that provide the insert, retrieve or delete record capability as described in the pseudocode of Insert Procedure (cols. 9 and 10), Retrieve Procedure (cols. 9, 10, 11, and 12), or Delete Procedure (cols. 11 and 12), respectively, or the equivalents thereof. XI. "a hashing means to provide access . . ."21 Plaintiff's Proposed Construction Function: The recited function is using hashing 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. Structure: The corresponding structure is: (1) Portions of the application software, user access software or operating system software, as described at col. 4, lines 30-48 and illustrated in FIG. 2, of a computer system that includes at least a CPU 10 and RAM 11, see FIG. 1 and col. 3 lines 52-56; and (2) Executable software instructions corresponding to pseudo-code "var table: array [0 . . . table_size - 1] of list_element_pointer /* Hash table.*/" which point to records of type "list_element" in cols. 9-10 that allocates in memory an external chaining hash table, and/or as described in col. 5, lines 16-41, or the equivalents thereof. The Court finds section 112(6) applies, and will construe the term "a hashing means to provide access . . ." as a means-plus-function term. The function is "to provide access to records Defendants' Proposed Construction Indefinite 21 This term is contained in claim 5. 11 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." The corresponding structure is: CPU 10, and RAM 11 of FIG. 1 and col. 3 lines 52-56 and portions of the application software, user access software or operating system software, as described at col. 4, lines 22-48, programmed with software instructions to provide a hash table having a pointer to the head of a linked list of externally chained records as described in col. 5 lines 16-26 and/or programmed with software instructions as described in the pseudo-code of Definitions, definition number 4, or the equivalents thereof. XII. "means for dynamically determining maximum number"22 Plaintiff's Proposed Construction Defendants' Proposed Construction 22 This term is contained in claims 2 and 6. 12 Function: The recited function is dynamically determining maximum number of records for the record search means to remove in the accessed linked list of records. Structure: The corresponding structure is: (1) Portions of the application software, user access software or operating system software, as described at col. 4, lines 30-48 and illustrated in FIG. 2, of a computer system that includes at least a CPU 10 and RAM 11, see FIG. 1 and col. 3 lines 52-56; and (2) Executable software, as described in col. 6, line 56 - col. 7, line 15, that dynamically chooses among removal strategies (e.g., chooses whether to execute Search Table Procedure [cols. 11-12] or Alternate Version of Search Table Procedure [cols. 11-14]) "at the time the record search means is invoked by the caller, thus sometimes removing all expired records, at other times removing some but not all of them, and yet at other times choosing to remove none of them. Such a dynamic decision can be based on factors such as, for example, how much memory is available in the system storage pool, general system load, time of day, the number of records currently residing in the information system, and other factors both internal and external to the information storage and retrieval system itself" (col. 7, lines 1-10), or the equivalent thereof. Indefinite The Court finds the term falls under section 112(6) and will construe the term as a meansplus-function term. The function of the term "means for dynamically determining maximum number" is "dynamically determining maximum number for the record search means to remove in the accessed linked list of records." The corresponding structure is: CPU 10, and RAM 11 of FIG. 1 and col. 3 lines 52-56 and portions of the application software, user access software or operating 13 system software, as described at col. 4, lines 22-48, programmed with software instructions to dynamically determine a maximum number of records to remove by choosing a search strategy of removing all expired records from a linked list or removing some but not all of the expired records as described in col. 6 line 56 col. 7 line 15 and/or programmed with software instructions to dynamically determine a maximum number of records to remove by choosing between the pseudocode of the Search Table Procedure (cols. 11 and 12) or Alternative Version of Search Table Procedure (cols. 11, 12, 13, and 14), or the equivalents thereof. XIII. "mea[n]s, utilizing the record search means, for inserting, retrieving, and deleting from the system and, at the same time, removing at least some of the expired ones of the records in the accessed linked list of records"23 Plaintiff's Proposed Construction Defendants' Proposed Construction 23 This term is contained in claim 5. 14 Function: utilizing the record search means, 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. Structure: (1) Portions of the application software, user access software or operating system software, as described at col. 4, lines 30-48 and illustrated in FIG. 2, of a computer system that includes at least a CPU 10 and RAM 11, see FIG. 1 and col. 3 lines 52-56. (2) Executable software which provides the insert, retrieve, or delete record capability illustrated in the flowchart of FIG. 5, FIG. 6, or FIG. 7, respectively, and/or as pseudo code of Insert Procedure (cols. 9 and 10), Retrieve Procedure (cols. 9, 10, 11, and 12), or Delete Procedure (cols. 11 and 12), respectively, and/or described in col. 7, line 65 - col. 8, line 32, col. 8, lines 33-44, or col. 8 lines 45-59, or the equivalents thereof. Function: utilizing the record search means, [accessing the linked list / inserting, retrieving, and deleting from the system] and, at the same time, removing at least some of the expired ones of the records in the linked list. "At the same time" means during the same traversal of the linked list as [accessing the linked list / inserting, retrieving, and deleting records from the system]. For the construction of "removing ...", see proposed construction above, as further described in Joint Claim Construction Statement [Dkt. 251]. Structure: Boxes 10 and 11 of Fig. 1; Figs. 4-7, pseudocode in the Search Procedure (cols. 11-14), Insert Procedure (cols. 9 and 10), Retrieve Procedure (cols. 9 and 10), Delete Procedure The claim term is governed by section 112(6), and will be construed as a means-plus-function term. The function of the term "mea[n]s utilizing the record search means, for inserting, retrieving and deleting" is "utilizing the record search means, 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." The corresponding structure is: CPU 10 and RAM 11 of FIG. 1 and col. 3 lines 52-56 and portions of the application software, user access software or operating system software, as described at col. 4, lines 22-48, programmed with software instructions that provide the insert, retrieve, and delete record capability as described in the flowchart of FIG. 5 and col. 7 line 65 col. 8 line 32, FIG. 6 and col. 8 lines 33-44, or FIG. 7 and col. 8 lines 45-59, respectively, and/or programmed with software instructions that provide the insert, retrieve and delete record 15 capability as described in the pseudo-code of Insert Procedure (cols. 9 and 10), Retrieve Procedure (cols. 9, 10, 11, and 12), and Delete Procedure (cols. 11 and 12), respectively, or the equivalents thereof. CONCLUSION The Court sets forth the foregoing constructions on a provisional basis. The Court may . modify these provisional constructions when a full Memorandum Opinion and Order on the disputed claim terms is issued. So ORDERED and SIGNED this 29th day of October, 2010. ___________________________________ JOHN D. LOVE UNITED STATES MAGISTRATE JUDGE 16