← Back to Patent Explorer
US5857203A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for dividing, mapping and storing large digital objects in a client/server library system

Assignee: International Business Machines Corp
•
Filing: 1996-07-29
•
Granted: 1999-01-05
•
Expires: 2016-07-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention is directed to a method and apparatus for supporting large digital objects. More particularly it relates to a client/server library system in which a large digital object is divided into smaller pieces which are stored in the client/server library system. By dividing the large digital object into smaller pieces, system limitations regarding object size are avoided. In one embodiment of the present invention the pieces are stored as files of variable size. Moreover, the pieces can be stored on separate object servers which can be located remotely from one another.

Inventors

  • 👤 Steven Victor Kauffman
  • 👤 Lara Marie Lewis
  • 👤 Ronald Elliott Parrish

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 22:05
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/90; G06F16/901; G06F16/9017; G06F16/902

Claims Analysis

Total Claims: 41
Claim 1
Independent Claim 144 words
A method for storing and managing objects in a distributed information storage management system including a client, an object server for storing an object and a centralized server having information stored therein regarding the location of the object and the client, the method comprising the steps of: a) dividing a digital object into a plurality of pieces, wherein each of said pieces is smaller than said digital object; b) generating a piece map for storing piece identification information identifying each of said pieces, whereby access to the pieces is based on the piece identification information stored in the piece map; c) transmitting each of said pieces and said piece map from the client to the object server, storing the transmitted pieces and piece map in the object server and storing information about each of said pieces and said piece map in said centralized server.
Claim 2
Independent Claim 144 words
A method for storing and managing objects in a distributed information storage management system including a client, an object server for storing an object and a centralized server having information stored therein regarding the location of the object and the client, the method comprising the steps of: a) dividing a digital object into a plurality of pieces, wherein each of said pieces is smaller than said digital object; b) generating a piece map for storing piece identification information identifying each of said pieces, whereby access to the pieces is based on the piece identification information stored in the piece map; c) transmitting each of said pieces and said piece map from the client to the object server, storing the transmitted pieces and piece map in the object server and storing information about each of said pieces and said piece map in said centralized server.
Claim 3
Dependent Claim 219 words
The method recited in claim 1, wherein the centralized server includes a parts table and the object server includes an object server table, wherein step c) comprises the steps of: c1) storing in the object server, under control of the centralized server, said piece map and storing in the object server table piece map identification information identifying said piece map and location information identifying the storage location of said piece map; c2) storing in said parts table said piece map identification information of said piece map stored in step c1) and object server identification information indicating the object server in which said piece map is stored in step c1); c3) storing in the object server, under control of the centralized server, one of the transmitted pieces and storing in the object server table the piece identification information identifying the stored piece and location information identifying the storage location of the stored piece; c4) storing in said parts table the piece identification information for the piece stored in the object server in step c3) and object server identification information indicating the object server in which the piece is stored; c5) updating said piece map to include the piece identification information of the piece stored in step c3); and c6) repeating steps c3) through c5) for each of said transmitted pieces.
Claim 4
Dependent Claim 19 words
The method recited in claim 2, wherein said digital object and each of said pieces is a computer file.
Claim 5
Dependent Claim 18 words
The method recited in claim 2, wherein step a) is performed if said-digital object exceeds a predetermined size.
Claim 6
Dependent Claim 18 words
The method recited in claim 4, wherein said digital object is larger than or equal to 10 megabytes.
Claim 7
Independent Claim 146 words
A method for storing and managing objects in a distributed information storage management system, the method comprising the steps of: a) dividing a digital object into a plurality of pieces, wherein each of said pieces is smaller than said digital object; b) generating a piece map for storing therein piece identification information identifying each of said pieces; c) storing each of said plurality of pieces in one of a plurality of storage devices; and d) storing the piece identification information in said piece map for each of said plurality of pieces stored in step c) and storing said piece map in one of said plurality of storage devices, wherein at least two of said plurality of pieces are stored on different ones of said plurality of storage devices, and whereby access to the pieces is based on the piece identification information stored in the piece map.
Claim 8
Independent Claim 146 words
A method for storing and managing objects in a distributed information storage management system, the method comprising the steps of: a) dividing a digital object into a plurality of pieces, wherein each of said pieces is smaller than said digital object; b) generating a piece map for storing therein piece identification information identifying each of said pieces; c) storing each of said plurality of pieces in one of a plurality of storage devices; and d) storing the piece identification information in said piece map for each of said plurality of pieces stored in step c) and storing said piece map in one of said plurality of storage devices, wherein at least two of said plurality of pieces are stored on different ones of said plurality of storage devices, and whereby access to the pieces is based on the piece identification information stored in the piece map.
Claim 9
Dependent Claim 19 words
The method recited in claim 6, wherein step a) is performed if said digital object exceeds a predetermined size.
Claim 10
Dependent Claim 18 words
The method recited in claim 6, wherein said digital object is larger than or equal to 10 megabytes.
Claim 11
Dependent Claim 74 words
The method recited in claim 6, further comprising the steps of: e) retrieving from said one of said plurality of storage devices said piece map and extracting said piece identification information from said piece map; f) retrieving from said plurality of storage devices each of said plurality of pieces based on said piece identification information extracted in step e); and g) reconstituting said digital object from said plurality of pieces retrieved in step f).
Claim 12
Dependent Claim 29 words
The method recited in claim 9, wherein said digital object is a computer file, and each of said plurality of pieces is a computer file having a variable length.
Claim 13
Dependent Claim 38 words
The method recited in claim 9, wherein step f) comprises the step of simultaneously sending said plurality of pieces from at least one of said plurality of storage devices to the client over a plurality of communications paths.
Claim 14
Dependent Claim 82 words
The method recited in claim 6, wherein the distributed storage management system includes a client, an object server for storing an object and a centralized server having information stored therein regarding the client and the location of the object, the method further comprising the steps of: e) storing in the centralized server identification information identifying each of said plurality of pieces and said piece map, and identifying the storage devices upon which said plurality of pieces and said piece map are stored.
Claim 15
Dependent Claim 170 words
The method recited in claim 12, further comprising the steps of: f) sending a map retrieval request from the client to the centralized server to retrieve said piece map, wherein in response to said map retrieval request the centralized server sends a command to the object server which in response thereto sends a copy of said piece map to the client; g) extracting said piece identification information from said piece map sent to the client; h) sending a piece retrieval request from the client to the centralized server to retrieve one of said plurality of pieces as a requested piece according to said piece identification information extracted in step g), wherein in response to said piece retrieval request the centralized server sends a command to the object server which in response thereto sends a copy of said requested piece to the client; i) repeating step h) for each of said plurality of pieces; and j) reconstituting said digital object from said plurality of pieces retrieved in steps h) and i).
Claim 16
Dependent Claim 30 words
The method recited in claim 6, wherein step c) comprises the step of sending said plurality of pieces to said plurality of storage devices over a plurality of communications paths.
Claim 17
Dependent Claim 28 words
The method recited in claim 6, wherein the size of any one of said plurality of pieces is changed without affecting any other of said plurality of pieces.
Claim 18
Dependent Claim 25 words
The method recited in claim 6, wherein any one of said plurality of pieces is deleted without affecting any other of said plurality of pieces.
Claim 19
Independent Claim 128 words
A system for storing and managing objects, comprised of: a client for dividing a digital object into a plurality of pieces; one or more object servers for storing a piece map and said plurality of pieces, wherein said piece map includes piece identifying information identifying each of said plurality of pieces, whereby access to the pieces is based on the piece identification information in the piece map; and a centralized server having a parts table for storing said piece identifying information and piece location information identifying which one of said object servers each of said plurality of pieces is stored, and storing piece map identification information identifying said piece map and piece map location information identifying one of said object servers within which said piece map is stored.
Claim 20
Independent Claim 128 words
A system for storing and managing objects, comprised of: a client for dividing a digital object into a plurality of pieces; one or more object servers for storing a piece map and said plurality of pieces, wherein said piece map includes piece identifying information identifying each of said plurality of pieces, whereby access to the pieces is based on the piece identification information in the piece map; and a centralized server having a parts table for storing said piece identifying information and piece location information identifying which one of said object servers each of said plurality of pieces is stored, and storing piece map identification information identifying said piece map and piece map location information identifying one of said object servers within which said piece map is stored.
Claim 21
Dependent Claim 153 words
The system recited in claim 17, wherein said client sends a request to said centralized server for retrieval of said digital object, wherein in response thereto said centralized server sends a request to said object server to send said client a copy of said piece map and said object server in response to said request from said centralized server sends a copy of said piece map to said client, whereupon said client receives said copy of said piece map and extracts said piece identifying information from said piece map and sends requests to said centralized server for each of said plurality of pieces, whereupon said centralized server in response thereto sends requests to said one or more object servers to send copies of said plurality of pieces to said client, whereupon in response thereto each of said one or more object servers sends a copy of the pieces stored therein to said client.
Claim 22
Dependent Claim 32 words
The system recited in claim 18, wherein said client receives said copies of the pieces sent from said one or more object servers and reconstructs said digital object from the received pieces.
Claim 23
Dependent Claim 52 words
The system recited in claim 18, further comprising a plurality of communications paths between said client and one of said one or more object servers, wherein said one of said one or more object servers simultaneously sends a plurality of pieces stored therein to said client over said plurality of communications paths.
Claim 24
Dependent Claim 88 words
The system recited in claim 17, wherein said plurality of pieces includes a shared piece which is one of a plurality of pieces for another digital object, wherein the identifying information for said shared piece contained in the piece map for said digital object refers to another piece map which includes identifying information for only said shared piece and a use count, wherein the use count indicates the number of digital objects in which said shared piece is one of the plurality of pieces for said digital objects.
Claim 25
Dependent Claim 28 words
The system recited in claim 17, wherein the size of any one of said plurality of pieces is changed without affecting any other of said plurality of pieces.
Claim 26
Dependent Claim 25 words
The method recited in claim 17, wherein any one of said plurality of pieces is deleted without affecting any other of said plurality of pieces.
Claim 27
Dependent Claim 18 words
The method recited in claim 17, wherein said digital object is larger than or equal to 10 megabytes.
Claim 28
Dependent Claim 134 words
A computer-readable medium of instructions, comprising: program code for a client for dividing a digital object into a plurality of pieces; program code for one or more object servers for storing a piece map and said plurality of pieces, wherein said piece map includes piece identifying information identifying each of said plurality of pieces, whereby access to the pieces is based on the piece identifying information in the piece map; and program code for a centralized server having a parts table for storing said piece identifying information and piece location information identifying which one of said object servers each of said plurality of pieces is stored, and storing piece map identification information identifying said piece map and piece map location information identifying one of said object servers upon which said piece map is stored.
Claim 29
Dependent Claim 134 words
A computer-readable medium of instructions, comprising: program code for a client for dividing a digital object into a plurality of pieces; program code for one or more object servers for storing a piece map and said plurality of pieces, wherein said piece map includes piece identifying information identifying each of said plurality of pieces, whereby access to the pieces is based on the piece identifying information in the piece map; and program code for a centralized server having a parts table for storing said piece identifying information and piece location information identifying which one of said object servers each of said plurality of pieces is stored, and storing piece map identification information identifying said piece map and piece map location information identifying one of said object servers upon which said piece map is stored.
Claim 30
Dependent Claim 205 words
The computer-readable medium of instructions recited in claim 25, wherein said program code of the client causes a request to be sent to said centralized server for retrieval of said digital object, wherein in response thereto said program code for the centralized server causes a request to be sent to one of said object servers to send said client a copy of said map piece and said program code for the object server in response to said request from said centralized server causes a copy of said map piece to be sent to said client, whereupon said client receives said copy of said map piece and the program code for the client causes said piece identifying information to be extracted from said piece map and causes requests to be sent to said centralized server for each of said plurality of pieces, whereupon said program code for the centralized server in response thereto causes requests to be sent to said one or more object servers to send copies of said plurality of pieces to said client, whereupon in response thereto the program code for each of said one or more object servers causes a copy of the pieces stored therein to be sent to said client.
Claim 31
Dependent Claim 35 words
The computer-readable medium of instructions recited in claim 26, wherein said client receives said copies of the pieces sent from said one or more object servers and reconstructs said digital object from the received pieces.
Claim 32
Dependent Claim 54 words
The computer-readable medium of instructions recited in claim 26, wherein a plurality of communications paths connect said client and one of said one or more object servers, wherein said one of said one or more object servers simultaneously sends a plurality of pieces stored therein to said client over said plurality of communications paths.
Claim 33
Dependent Claim 91 words
The computer-readable medium of instructions recited in claim 25, wherein said plurality of pieces includes a shared piece which is one of a plurality of pieces for another digital object, wherein the identifying information for said shared piece contained in the piece map for said digital object refers to another piece map which includes identifying information for only said shared piece and a use count, wherein the use count indicates the number of digital objects in which said shared piece is one of the plurality of pieces for said digital objects.
Claim 34
Dependent Claim 31 words
The computer-readable medium of instructions recited in claim 25, wherein the size of any one of said plurality of pieces is changed without affecting any other of said plurality of pieces.
Claim 35
Dependent Claim 28 words
The computer-readable medium of instructions recited in claim 25, wherein any one of said plurality of pieces is deleted without affecting any other of said plurality of pieces.
Claim 36
Dependent Claim 21 words
The computer-readable medium of instructions recited in claim 25, wherein said digital object is larger than or equal to 10 megabytes.
Claim 37
Independent Claim 137 words
A method performed on or with the aid of a computer, comprising: a) dividing a digital object into a plurality of pieces, wherein each of said pieces is smaller than said digital object; b) generating a piece map for storing therein piece identification information identifying each of said pieces, whereby access to the pieces is based on the piece identifying information stored in the piece map; c) storing each of said plurality of pieces in one of a plurality of storage devices; and d) storing the piece identification information in said piece map for each of said plurality of pieces stored in step c) and storing said piece map in one of said plurality of storage devices, wherein at least two of said plurality of pieces are stored on different ones of said plurality of storage devices.
Claim 38
Independent Claim 137 words
A method performed on or with the aid of a computer, comprising: a) dividing a digital object into a plurality of pieces, wherein each of said pieces is smaller than said digital object; b) generating a piece map for storing therein piece identification information identifying each of said pieces, whereby access to the pieces is based on the piece identifying information stored in the piece map; c) storing each of said plurality of pieces in one of a plurality of storage devices; and d) storing the piece identification information in said piece map for each of said plurality of pieces stored in step c) and storing said piece map in one of said plurality of storage devices, wherein at least two of said plurality of pieces are stored on different ones of said plurality of storage devices.
Claim 39
Dependent Claim 17 words
The method recited in claim 1, wherein the object server and the centralized server are different servers.
Claim 40
Dependent Claim 17 words
The system recited in claim 17, wherein said object servers and said centralized server are different servers.
Claim 41
Dependent Claim 20 words
The computer-readable medium of instructions recited in claim 25, wherein said object servers and said centralized server are different servers.

References Cited (Backward Citations)

US4092732A Cited
US5175851A Cited
US5371885A Cited
US5375128A Cited
US5649185A Cited
US5448727A Cited
US5367698A Cited
US5555388A Cited
US5497463A Cited
US5454103A Cited
US5649196A Cited
US5522077A Cited
US5541911A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-01-04 2002-07-06 2003-01-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-01-04 2006-07-06 2007-01-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-01-04 2010-07-06 2011-01-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag