IP Library › Patent Application 19257747
Patent Application
App. No. 19/257,747

METHOD AND SYSTEM FOR PARALLEL CONTENT DOWNLOAD

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 None
App. No.
19/257,747
Abstract

A computer-implemented method for parallel downloading of content includes connecting to a server through which a content is available, starting to download the content from the server to a client computer, determining whether to split the downloading of the content based on a set of factors, the set of factors comprising a network latency metric and a remaining download time to download a remaining amount of the content and based on a determination to split the downloading of the content, and in parallel to downloading a first part of the content from the server to the client computer, connecting to the server and downloading an additional part of the content from the server to the client computer.

Claims (41)

1 . A computer-implemented method for parallel downloading, the method comprising:

downloading at least one part of a content from a server to a client computer using n threads, wherein n is equal to or greater than one;

determining to split the downloading of the content;

calculating an estimated download time for n+1 threads to download the remaining amount of the content, wherein the determination to split the downloading of the content comprises a determination that the remaining download time for the n threads to download the remaining amount of content exceeds the estimated download time for n+1 threads to download the remaining amount of the content; and

based on the determination to split the downloading of the content, and in parallel to downloading the at least one part of the content using the n threads, using an additional thread to download an additional part of the content to the client computer.

2 . The computer-implemented method of claim 1 , where the additional thread is created based on the determination to split the downloading of the content.

3 . The computer-implemented method of claim 1 , further comprising:

maintaining a thread pool, wherein an idle thread from the thread pool is used as the additional thread.

4 . The computer-implemented method of claim 2 , wherein the determination to split the downloading of the content comprises a determination that the remaining download time for the n threads to download the remaining amount of the content exceeds a threshold download time.

5 . The computer-implemented method of claim 4 , wherein the computer-implemented method further comprises using a connection time for the n threads as the threshold download time.

6 . The computer-implemented method of claim 5 , wherein the connection time for the n threads is an average connection time.

7 . The computer-implemented method of claim 1 , wherein determining the split is based on at least one of a network latency metric and a remaining download time for the n threads to download a remaining amount of the content.

8 . A computer-implemented method for parallel downloading, the method comprising:

connecting to a server through which a content is available and starting to download the content from the server to a client computer using a first thread;

determining to split the downloading of the content;

calculating an estimated download time for the first thread and a second thread to download the first remaining amount of the content, wherein the determination to split the downloading of the content comprises a determination that the remaining download time for the first thread to download the first remaining amount of content exceeds the estimated download time for the first thread and the second thread to download the first remaining amount of content; and

based on the determination to split the downloading of the content, and in parallel to downloading a first part of the content from the server to the client computer using the first thread, using a second thread to download a second part of the content to the client computer.

9 . The computer-implemented method of claim 8 , further comprising creating the second thread based on the determination to split the downloading of the content.

10 . The computer-implemented method of claim 8 , further comprising:

maintaining a thread pool; and

selecting an idle thread from the thread pool to use as the second thread.

11 . The computer-implemented method of claim 8 , wherein the determination to split the downloading of the content comprises a determination that the remaining download time for the first thread to download a first remaining amount of the content exceeds a threshold download time.

12 . The computer-implemented method of claim 11 , wherein the computer-implemented method further comprises using a connection time for the first thread as the threshold download time.

13 . The computer-implemented method of claim 8 , wherein determining the split is based on at least one of a network latency metric and a remaining download time for n threads to download a remaining amount of the content.

14 . The computer-implemented method of claim 8 , wherein the first part of the content is downloaded from a first server and the second part of the content is downloaded from a second server.

15 . The computer-implemented method of claim 8 , further comprising:

determining an average connection time for the first thread and the second thread;

determining an average download speed for the first thread and the second thread;

determining a download time for the first thread and the second thread to download a second remaining amount of the content;

determining an estimated download time for the first thread, the second thread, and a third thread to download the second remaining amount of the content;

determining that the download time for the first thread and the second thread to download the second remaining amount of the content exceeds the estimated download time for the first thread, the second thread, and the third thread to download the second remaining amount of the content;

based on the determination the download time for the first thread and the second thread to download the second remaining amount of the content exceeds the estimated download time for the first thread, the second thread, and the third thread to download the second remaining amount of the content, using the third thread to download a third part of the content.

16 . The computer-implemented method of claim 8 , wherein the first part of the content is downloaded from a first server and the second part of the content is downloaded from a second server.

17 . A non-transitory, computer-readable medium storing thereon an application that is executable by a processor, the application comprising instructions for:

connecting to a server through which a content is available and starting to download the content from the server to a client computer using a first thread;

determining whether to split the downloading of the content;

calculating an estimated download time for the first thread and a second thread to download a first remaining amount of the content, wherein the determination to split the downloading of the content comprises a determination that the remaining download time for the first thread to download the first remaining amount of content exceeds the estimated download time for the first thread and the second thread to download the first remaining amount of content; and

based on a determination to split the downloading of the content, and in parallel to downloading a first part of the content from the server to the client computer using the first thread, using a second thread to download a second part of the content to the client computer.

18 . The non-transitory, computer-readable medium of claim 17 , wherein the application further comprises instructions for creating the second thread based on the determination to split the downloading of the content.

19 . The non-transitory, computer-readable medium of claim 17 , wherein the determination to split the downloading of the content comprises a determination that the remaining download time to download the remaining amount of the content exceeds a threshold download time.

20 . The non-transitory, computer-readable medium of claim 19 , wherein a connection time for the first thread is used as the threshold download time.

Assignments (2)
MERGER Recorded Jun 23, 2026
From: OPEN TEXT HOLDINGS, INC.
To: OPEN TEXT INC.
Reel/Frame 075055/0107 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2025
From: GIRIYAPPA, VENKATESH NANDIKALKERE; BALASUBRAMANIAN, ROGINY; VISWANATHAN, SUMI
To: OPEN TEXT HOLDINGS, INC.
Reel/Frame 072336/0112 →