Methods and systems for rapid data acquisition over the internet

US9319345B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9319345-B2
Application numberUS-201414531859-A
CountryUS
Kind codeB2
Filing dateNov 3, 2014
Priority dateJun 28, 2007
Publication dateApr 19, 2016
Grant dateApr 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present invention includes apparatuses, methods, computer readable media and systems comprising means for rapid data acquisition from a server are discussed herein. This rapid data acquisition can be achieved using a combination of bulk data requests and small data requests. A hybrid approach that uses simultaneous bulk and small data requests can provide random access to data files while achieving the high download speeds of a large data transfer.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for downloading a data file from a server, the method comprising: by a computing device, performing operations for: receiving a request to access a portion of a data file; determining whether there is a pending bulk data request for the data file and when the requested portion of the data file is expected to be received from the pending bulk data request; and in response to determining that there is a pending bulk data request for the data file, issuing a further data request for the requested portion of the data file. 2. The method of claim 1 , wherein determining when the requested portion of the file is expected to be received comprises determining at least one of an amount of time until the requested portion will be downloaded, a time at which the requested portion of data will be consumed, a download speed of the pending bulk data request, an amount of data that is cached, a current location of a playhead or anchor for the file, a network latency, or a data block size. 3. The method of claim 1 , further comprising determining whether the requested portion of the data file is more important than data being received from the pending bulk data request. 4. The method of claim 3 , wherein determining whether the requested portion of the data file is more important is based on at least one of user provided information, user data request history information, and a current location of a playhead or anchor for the file. 5. The method of claim 1 , wherein issuing the further data request comprises stopping the pending bulk data request before the download of the data file is completed and issuing a further bulk data request. 6. The method of claim 1 , wherein issuing the further data request comprises issuing a new small data request, and wherein the method further comprises: receiving data from both the bulk data request and the small data request. 7. The method of claim 6 , further comprising determining there is appending small data request before issuing the new small data request. 8. A computing device, comprising: control circuitry; and communications circuitry; the control circuitry and communications circuitry performing operations for: receiving a request to access a portion of a data file; determining whether there is a pending bulk data request for the data file and when the requested portion of the data file is expected to be received from the pending bulk data request; and in response to determining that there is a pending bulk data request for the data file, issuing a further data request for the requested portion of the data file. 9. The client computing device of claim 8 , wherein determining when the requested portion of the file is expected to be received comprises determining at least one of: an amount of time until the requested portion will be downloaded, a time at which the requested portion of data will be consumed, a download speed of the pending bulk data request, an amount of data that is cached, a current location of a playhead or anchor for the file, a network latency, or a data block size. 10. The client computing device of claim 8 , wherein the control circuitry further performs operations for: determining whether the requested portion of the data file is more important than data being received from the pending bulk data request. 11. The client computing device of claim 10 , wherein the control circuitry further performs operations for: determining whether the requested portion of the data file is more important is based on at least one of user provided information, user data request history information, and a current location of a playhead or anchor for the file. 12. The client computing device of claim 8 , wherein issuing the further data request comprises: stopping the pending bulk data request before the download of the data file is completed and issuing a further bulk data request. 13. The client computing device of claim 8 , wherein issuing the further data request comprises issuing a new small data request, wherein the control circuitry and the communications circuitry further perform operations for receiving data from both the bulk data request and the small data request. 14. The client computing device of claim 13 , wherein the control circuitry and the communications circuitry further perform operations for: determining whether there is a pending small data request before issuing a new small data request. 15. A non-transitory computer-readable storage medium storing instructions that, when executed by a computing device, cause the computing device to perform a method, the method comprising: receiving a request to access a portion of a data file; determining whether there is a pending bulk data request for the data file and when the requested portion of the data file is expected to be received from the pending bulk data request; and in response to determining that there is a pending bulk data request for the data file, issuing a further data request for the requested portion of the data file. 16. The computer-readable storage medium of claim 15 , wherein determining when the requested portion of the file is expected to be received comprises determining at least one of: an amount of time until the requested portion will be downloaded, a time at which the requested portion of data will be consumed, a download speed of the pending bulk data request, an amount of data that is cached, a current location of a playhead or anchor for the file, a network latency, or a data block size. 17. The computer-readable storage medium of claim 15 , wherein the method further comprises: determining whether the requested portion of the data file is more important than data being received from the pending bulk data request. 18. The computer-readable storage medium of claim 15 , wherein issuing the further data request comprises: stopping the pending bulk data request before the download of the data file is completed and issuing a further bulk data request. 19. The computer-readable storage medium of claim 15 , wherein issuing the further data request comprises issuing a new small data request, and wherein the method further comprises: receiving data from the bulk data request and the small data request. 20. The computer-readable storage medium of claim 19 , further comprising determining whether there is a pending small data request before issuing the new small data request.

Assignees

Inventors

Classifications

  • H04L47/70Primary

    Admission control; Resource allocation · CPC title

  • H04L67/60Primary

    Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70) · CPC title

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • Electricity · mapped topic

  • specially adapted for file transfer, e.g. file transfer protocol [FTP] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9319345B2 cover?
The present invention includes apparatuses, methods, computer readable media and systems comprising means for rapid data acquisition from a server are discussed herein. This rapid data acquisition can be achieved using a combination of bulk data requests and small data requests. A hybrid approach that uses simultaneous bulk and small data requests can provide random access to data files while a…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/70. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).