IP Library Granted Patent US 8,762,775
Granted Patent B2
US 8,762,775 · App. 12/789,504 · Granted Jun 24, 2014

Efficient method for handling storage system requests

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,762,775
App. No.
12/789,504
Granted
Jun 24, 2014
Kind
B2
Abstract

A method of storing and retrieving digital files from a storage system comprising requesting one or more files through a server which compares the timestamp of each file to the present time to determine an elapsed time for each file. The server then requests a storage system for each file having an elapsed time less than or equal to a pre-determined time limit using an internal-retry request and requests from the storage system each file having an elapsed time greater than a pre-determined time limit using a fail-fast request.

Claims (63)

1. A method of managing file resource requests over a computer network, comprising:

providing, by a server, timestamps for a plurality of file records, wherein each timestamp indicates the time at which a request was made to create a file;

receiving, by the server, a client request for one or more files from a client;

comparing, by the server, the timestamp of each file to a present time to determine an elapsed time for each file;

requesting, by the server, each file having an elapsed time less than or equal to a pre-determined time limit from a storage system with an internal-retry request; and

requesting, by the server, each file having an elapsed time greater than the pre-determined time limit from the storage system with a fail fast request.

2. The method of claim 1 , further comprising constructing a universal resource indicator (URI) with a query parameter for each file having an elapsed time less than or equal to a pre-determined time limit, and constructing a URI without the query parameter for each file having an elapsed time greater than a pre-determined time limit.

3. The method of claim 2 , further comprising requesting a file from the storage system with an internal re-try request if the URI associated with the file has a query parameter and requesting a file from the storage system with a fail-fast request if the URI associated with the file does not have a query parameter.

4. The method of claim 3 , further comprising:

receiving a request for a group of files from the client by the server;

forming URIs for each file in the group; communicating the URI for each file in the group to the client from the server;

receiving a request for one or more files from the client by the server; and

requesting each of the files from the storage system using an internal re-try request if the URI associated with the file has a query parameter and requesting each of the files from the storage system using a fail-fast request if the URI associated with the file does not have a query parameter.

5. The method of claim 1 , further comprising returning the requested file from the storage system to the server and from the server to the client.

6. The method of claim 1 , further comprising forming a universal resource indicator for the requested file.

7. The method of claim 1 , further comprising receiving a client request to create a file storage structure, forming a file record including a time stamp, and forming a file storage structure in the storage system in response.

8. The method of claim 7 , wherein forming a file storage structure in the storage system includes forming the file storage structure in a human-perceptible amount of time.

9. The method of claim 8 , wherein forming a file storage structure in the storage system further includes forming the file storage structure in more than one second.

10. The method of claim 1 , further including a remote client communicating with the server over a network.

11. The method of claim 10 , further including a remote client communicating with the server through a user agent interface.

12. The method of claim 1 , further including providing a database for storing file access and timestamp information.

13. The method of claim 12 , further including requesting information about a plurality of files from the database in a single request.

14. A method comprising:

receiving, by a server, a digital file, and an electronic request for storing the digital file, over a communication network from a network connected computer;

forwarding, by a server, the digital file to a storage system that is coupled to the communication network, including starting a process for storing the digital file in the storage system;

receiving, by a server, a request to retrieve the digital file over the communication network from the network connected computer;

determining, by a server, an elapsed time from the time of receiving the request for storing the digital file to the time of receiving the request to retrieve the digital file; and

requesting, by a server, the storage system retrieve the digital file file and, in response to receiving a no-file response from the storage system, if the elapsed time is determined to exceed a programmed time-out value, forwarding the network connected computer the no-file response, and, if the elapsed time is determined to be less than the programmed time-out value, retrying the request.

15. The method of claim 14 , wherein determining an elapsed time includes determining an elapsed time from the time of receiving the request for storing the digital file to the time of the last retry, and wherein determining whether to retry the requesting repeatedly results in a retry each time that the elapsed time is determined to be less than the programmed time-out value and the storage system sends a no-file message.

16. The method of claim 14 , further comprising waiting for a programmed wait time before performing the retry.

17. An apparatus comprising:

a computer interface configured to:

receive a digital file and an electronic request for storing the digital file over a communication network from a network connected computer; and

forward the digital file to a storage system that is coupled to the communication network; and

a processing system configure to:

upon receiving a request to retrieve the digital file over the communication network from the network connected computer, determine an elapsed time from the time of receiving the request for storing the digital file to the time of receiving the request to retrieve the digital file;

request the storage system retrieve the digital file; and

in response to receiving a no-file response from the storage system, if the elapsed time is determined to exceed a programmed time-out value, forward the network connected computer the no-file response, and, if the elapsed time is determined to be less than the programmed time-out value, retry the request.

18. The apparatus of claim 17 , wherein the processing system is configured to determine whether to retry the request repeatedly and, if so, the repeated request results in a retry each time that the elapsed time is determined to be less than the programmed time-out value and the storage system sends a no-file message.

19. A system comprising:

a server computer configured to receive a digital file and an electronic request for storing the digital file over a communication network from a network connected computer;

a storage system configured to store the received digital file;

a processing system configured to:

determine an elapsed time from the time of receiving a request for storing the digital file to a time of receiving a request to retrieve the digital file;

request the digital file be retrieved from the storage system; and

in response to receiving a no-file response from the storage system,

if the elapsed time is determined to exceed a programmed time-out value,

forward the network connected computer the no-file response; and

if the elapsed time is determined to be less than the programmed time-out value, retry the request.

20. The server of claim 19 , wherein the processing system is further configured to construct a universal resource indicator (URI) with a query parameter for each file having an elapsed time less than or equal to a pre-determined time limit, and to construct a URI without the query parameter for each file having an elapsed time greater than a pre-determined time limit.

21. A non-transitory computer-readable medium having instructions stored thereon that, upon execution by a computing device, cause the computing device to perform operations comprising:

providing timestamps for a plurality of file records, wherein each timestamp indicates the time at which a request was made to create a file;

receiving a client request for one or more files from a client;

comparing the timestamp of each file to a present time to determine an elapsed time for each file;

requesting each file having an elapsed time less than or equal to a pre-determined time limit from a storage system with an internal-retry request; and

requesting, by the server, each file having an elapsed time greater than the pre-determined time limit from the storage system with a fail fast request.

22. A non-transitory computer-readable medium having instructions stored thereon that, upon execution by a computing device, cause the computing device to perform operations comprising:

receiving a digital file, and an electronic request for storing the digital file, over a communication network from a network connected computer;

forwarding the digital file to a storage system that is coupled to the communication network, including starting a process for storing the digital file in the storage system;

receiving a request to retrieve the digital file over the communication network from the network connected computer;

determining an elapsed time from the time of receiving the request for storing the digital file to the time of receiving the request to retrieve the digital file; and

requesting the storage system retrieve the digital file; and

in response to receiving a no file response from the storage system, if the elapsed time is determined to exceed a programmed time-out value, forwarding the network connected computer the no-file response, and, if the elapsed time is determined to be less than the programmed time-out value, retrying the request.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Aug 15, 2023
From: INTELLECTUAL VENTURES FUND 83 LLC
To: MONUMENT PEAK VENTURES, LLC
Reel/Frame 064599/0304 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: INTELLECTUAL VENTURES FUND 83 LLC
To: MONUMENT PEAK VENTURES, LLC
Reel/Frame 041941/0079 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2013
From: EASTMAN KODAK COMPANY
To: INTELLECTUAL VENTURES FUND 83 LLC
Reel/Frame 029962/0508 →
PATENT RELEASE Recorded Feb 1, 2013
From: CITICORP NORTH AMERICA, INC.; WILMINGTON TRUST, NATIONAL ASSOCIATION
To: EASTMAN KODAK COMPANY; EASTMAN KODAK INTERNATIONAL CAPITAL COMPANY, INC.; FAR EAST DEVELOPMENT LTD.; KODAK (NEAR EAST), INC.; KODAK AMERICAS, LTD.; KODAK PORTUGUESA LIMITED; KODAK REALTY, INC.; LASER-PACIFIC MEDIA CORPORATION; KODAK AVIATION LEASING LLC; KODAK PHILIPPINES, LTD.; NPEC INC.; FPC INC.; KODAK IMAGING NETWORK, INC.; PAKON, INC.; QUALEX INC.; CREO MANUFACTURING AMERICA LLC
Reel/Frame 029913/0001 →
SECURITY INTEREST Recorded Feb 21, 2012
From: EASTMAN KODAK COMPANY; PAKON, INC.
To: CITICORP NORTH AMERICA, INC., AS AGENT
Reel/Frame 028201/0420 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2010
From: HSU, FELIX S.; BARZEL, RON
To: EASTMAN KODAK COMPANY
Reel/Frame 024624/0669 →