DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
General Remarks
1/ claims 1-2, and 4-13 are pending
2/ claims 1, 8, 10, 11, 12, and 13 are independent claim.
Response to Arguments
Applicant's arguments filed 05/23/2026 have been fully considered but they are not persuasive. -Applicant argued that combination does not teach” determining an overall transmission capacity of the plurality of threads as a second data volume;
receiving, in a case that the first data volume is greater than the second data volume, code stream data of the second data volume by means of the plurality of threads;
acquiring a difference data volume between the first data volume and the second data volume; and determining multiple threads according to the difference data volume, and receiving code stream data of the difference data volume by means of the multiple threads”.
Examiner respectfully disagrees:
Ther rejection for the above claims is an obviousness rejection. Cui in page 4, lines 4-60 discloses S101: Obtain a large file to be transmitted. In the embodiment of the present invention, the large file to be transmitted may be any file designated by the user, and the data volume thereof exceeds the data volume threshold value transmitted by the corresponding service system.S102: Fragment the large file to obtain multiple file fragments… In the embodiment of the present invention, when the large file is fragmented fixed length fragmentation can also be used… fixed length Fragmentation is performed according to the data volume of a large file. The data volume of each file fragmentation is the same (equal data volume)… S103. Invoke multiple first threads, and allocate file fragments to be transmitted to each first thread, so as to upload the allocated file fragments to the server through each first thread; Determining the received data volume being above the service capacity corresponds to determining the first volume. Determining the service capacity corresponds to determining the second volume; Fragmenting the received volume and dividing in multithread corresponds to acquiring;
Further Cui in page 5, lines 19-21 disclose the transmission performance of large files (total push stream volume) is limited by the network bandwidth (corresponds to sending threshold of a channel via multi-thread transmission or determining an overall transmission capacity of the plurality of threads as a second data volume). In order to solve this problem it discloses, the present invention divides (slicing) large files into pieces (excess data volume (extra pieces) more than the bandwidth threshold of the network (channel) corresponds to the difference data volume that is the difference of total data volume and data volume that can be transmitted first is queued to be transmitted in subsequent transmissions via subsequent multi-thread transmission) and adopts multi-threaded transmission to significantly accelerate the transmission speed of large files);
In light of the teaching of Cui, the above limitations would be obvious to a person having ordinary skill in the art.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wang (CN110493342A), further in view of Kritov (US pat. No. 7765307), further in view of Cui (CN112615899A).
Regarding claim 1. Wang discloses a data transmission method, applied to a sending server, the sending server communicating with a receiving server (page 4, lines 13-23 the sending end (sending server) obtains the file to be transferred, and reads the size of the file to be transferred; then, the sending end is based on each of the plurality of first threads. The preset transmission threshold of the thread and the size of the file to be transmitted determine a plurality of first threads required to transmit the file to be transmitted; page 3 lines 48-55 discloses Step S11: Obtain a file to be transmitted at the sending end, and determine a plurality of first threads required to transmit the file to be transmitted. In various embodiments of the present application, the sending end and the receiving end may be terminal devices or servers) and the method comprising:
acquiring a data transmission request (page 1, lines 36-40 discloses the file transmission system includes a sending end and a receiving end. The method includes: Acquiring the file to be transmitted at the sending end, and determining a plurality of first threads required to transmit the file to be transmitted. The request that initiated the transfer corresponds to request; page 3 lines 48-55 discloses Step S11: Obtain a file to be transmitted at the sending end, and determine a plurality of first threads required to transmit the file to be transmitted. In various embodiments of the present application, the sending end and the receiving end may be terminal devices or servers);
determining, according to the data transmission request, a first data volume of corresponding data (page 4, lines 13-23 the sending end obtains the file to be transferred, and reads the size of the file to be transferred; then, the sending end is based on each of the plurality of first threads. The preset transmission threshold of the thread and the size of the file to be transmitted determine a plurality of first threads required to transmit the file to be transmitted);
determining, in a case that the first data volume is greater than a target transmission threshold, a plurality of threads according to the first data volume (page 4, lines 13-23 the sending end obtains the file to be transferred, and reads the size of the file to be transferred; then, the sending end is based on each of the plurality of first threads. The preset transmission threshold of the thread and the size of the file to be transmitted determine a plurality of first threads required to transmit the file to be transmitted. Wherein, determining the plurality of first threads required to transmit the file to be transmitted refers to: determining the number of first threads that need to be started to transmit the file to be transmitted, and specifically, comparing the size value of the file to be transmitted with the file The ratio of the preset transmission threshold of a single first thread is taken as the number of first threads; where, if there is a remainder in the ratio, the number of the first threads is added by one; for example, the Assuming that the transmission threshold is 1024 bytes and the size of the file to be transmitted is 10240 bytes, for example, it is determined that the multiple first threads required to transmit the file to be transmitted are: 10240/1024 = 10, that is, the required There are 10 first threads… Step S12: The sending end divides the file to be transferred into multiple file blocks according to the multiple first threads) ; and
receiving the data by means of the plurality of threads, and sending the data to the receiving server ( page 4, lines 13-23 the sending end obtains the file to be transferred, and reads the size of the file to be transferred; then, the sending end is based on each of the plurality of first threads. The preset transmission threshold of the thread and the size of the file to be transmitted determine a plurality of first threads required to transmit the file to be transmitted. Wherein, determining the plurality of first threads required to transmit the file to be transmitted refers to: determining the number of first threads that need to be started to transmit the file to be transmitted, and specifically, comparing the size value of the file to be transmitted with the file The ratio of the preset transmission threshold of a single first thread is taken as the number of first threads; where, if there is a remainder in the ratio, the number of the first threads is added by one; for example, the Assuming that the transmission threshold is 1024 bytes and the size of the file to be transmitted is 10240 bytes, for example, it is determined that the multiple first threads required to transmit the file to be transmitted are: 10240/1024 = 10, that is, the required There are 10 first threads… Step S12: The sending end divides the file to be transferred into multiple file blocks according to the multiple first threads).
But, Wang does not explicitly disclose:
A data that is a code stream data;
acquiring a code stream transmission request;
However, in the same field of endeavor, Kritov disclose A data that is a code stream data (col. 7 lines 38-44 discloses The term “bulk data transfer (code stream data), as used herein, refers to a transfer of data …such as a transfer of a requested video or audio file, or a backup of a specified source data set, where the amount of data to be transferred for the task is sufficiently large that the data is typically transmitted in the network using multiple packets or messages).
acquiring a code stream transmission request (col. 7 lines 38-44 discloses The term “bulk data transfer (code stream data transmission), as used herein, refers to a transfer of data …such as a transfer of a requested (request) video or audio file, or a backup of a specified source data set, where the amount of data to be transferred for the task is sufficiently large that the data is typically transmitted in the network using multiple packets or messages; col. 10, lines 36-39 discloses the connection set 150 may be established in response to a request to initiate an application task, Such as a backup of a source data set, or a request to download a large file);
Therefore, it would have been obvious to a person having ordinary skill in the art at the time of the invention was effectively filed to combine the teaching of Wang with Kritov. The modification would allow effective system for bulk data transfer to enable speedy communication and aggregated throughput from multiple links bundled for faster communication.
But, the combination does not explicitly disclose:
wherein receiving the code stream data by means of the plurality of threads comprises:
determining an overall transmission capacity of the plurality of threads as a second data volume;
receiving, in a case that the first data volume is greater than the second data volume, code stream data of the second data volume by means of the plurality of threads;
acquiring a difference data volume between the first data volume and the second data volume; and determining multiple threads according to the difference data volume, and receiving code stream data of the difference data volume by means of the multiple threads;
However, in the same field of endeavor, Cui discloses wherein receiving the code stream data by means of the plurality of threads comprises: determining an overall transmission capacity of the plurality of threads as a second data volume (page 4, lines 4-60 discloses S101: Obtain a large file to be transmitted. In the embodiment of the present invention, the large file to be transmitted may be any file designated by the user, and the data volume thereof exceeds the data volume threshold value transmitted by the corresponding service system.S102: Fragment the large file to obtain multiple file fragments… In the embodiment of the present invention, when the large file is fragmented fixed length fragmentation can also be used… fixed length Fragmentation is performed according to the data volume of a large file. The data volume of each file fragmentation is the same (equal data volume)… S103. Invoke multiple first threads, and allocate file fragments to be transmitted to each first thread, so as to upload the allocated file fragments to the server through each first thread; page 5, lines 19-21 the transmission performance of large files (total push stream volume) is limited by the network bandwidth (corresponds to sending threshold of a channel via multi-thread transmission). In order to solve this problem, the present invention divides (slicing) large files into pieces (excess data volume (extra pieces) more than the bandwidth threshold of the network (channel) corresponds to the difference data volume that is the difference of total data volume and data volume that can be transmitted first is queued to be transmitted in subsequent transmissions via subsequent multi-thread transmission) and adopts multi-threaded transmission to significantly accelerate the transmission speed of large files);
receiving, in a case that the first data volume is greater than the second data volume, code stream data of the second data volume by means of the plurality of threads (page 4, lines 4-60 discloses S101: Obtain a large file to be transmitted. In the embodiment of the present invention, the large file to be transmitted may be any file designated by the user, and the data volume thereof exceeds the data volume threshold value transmitted by the corresponding service system.S102: Fragment the large file to obtain multiple file fragments… In the embodiment of the present invention, when the large file is fragmented fixed length fragmentation can also be used… fixed length Fragmentation is performed according to the data volume of a large file. The data volume of each file fragmentation is the same (equal data volume)… S103. Invoke multiple first threads, and allocate file fragments to be transmitted to each first thread, so as to upload the allocated file fragments to the server through each first thread; page 5, lines 19-21 the transmission performance of large files (total push stream volume) is limited by the network bandwidth (corresponds to sending threshold of a channel via multi-thread transmission). In order to solve this problem, the present invention divides (slicing) large files into pieces (excess data volume (extra pieces) more than the bandwidth threshold of the network (channel) corresponds to the difference data volume that is the difference of total data volume and data volume that can be transmitted first is queued to be transmitted in subsequent transmissions via subsequent multi-thread transmission) and adopts multi-threaded transmission to significantly accelerate the transmission speed of large files);
acquiring a difference data volume between the first data volume and the second data volume; and determining multiple threads according to the difference data volume, and receiving code stream data of the difference data volume by means of the multiple threads (page 4, lines 4-60 discloses S101: Obtain a large file to be transmitted. In the embodiment of the present invention, the large file to be transmitted may be any file designated by the user, and the data volume thereof exceeds the data volume threshold value transmitted by the corresponding service system.S102: Fragment the large file to obtain multiple file fragments… In the embodiment of the present invention, when the large file is fragmented fixed length fragmentation can also be used… fixed length Fragmentation is performed according to the data volume of a large file. The data volume of each file fragmentation is the same (equal data volume)… S103. Invoke multiple first threads, and allocate file fragments to be transmitted to each first thread, so as to upload the allocated file fragments to the server through each first thread; page 5, lines 19-21 the transmission performance of large files (total push stream volume) is limited by the network bandwidth (corresponds to sending threshold of a channel via multi-thread transmission). In order to solve this problem, the present invention divides (slicing) large files into pieces (excess data volume (extra pieces) more than the bandwidth threshold of the network (channel) corresponds to the difference data volume that is the difference of total data volume and data volume that can be transmitted first is queued to be transmitted in subsequent transmissions via subsequent multi-thread transmission) and adopts multi-threaded transmission to significantly accelerate the transmission speed of large files).
Therefore, it would have been obvious to a person having ordinary skill in the art at the time of the invention was effectively filed to combine the teaching of the combination with Cui. The modification would allow effectively slicing data according to channel capacity to manage congestion and segmenting data for multi-thread transmission to increase speed of transmission.
Regarding claim 2. The combination discloses data transmission method according to claim 1, wherein the method further comprising:
Wang discloses receiving, in a case that the first data volume is less than or equal to the target transmission threshold, the data by means of a single thread (page 4, lines 25-28 discloses if the size of the file to be transmitted is smaller than the preset transmission threshold, a new first thread is not enabled, and a single first thread is used for synchronous transmission; for example, the For example, the preset transmission threshold is 1024 bytes. If the size of the file to be transmitted is 1024 bytes, the current first thread is used for transmission, and no new first thread needs to be enabled).
Kritov discloses a data that is a code stream data (col. 7 lines 38-44 discloses The term “bulk data transfer (code stream data transmission), as used herein, refers to a transfer of data …such as a transfer of a requested video or audio file, or a backup of a specified source data set, where the amount of data to be transferred for the task is sufficiently large that the data is typically transmitted in the network using multiple packets or messages).
Regarding claim 4. The combination discloses data transmission method according to claim 1.
But, the combination does not explicitly disclose: wherein a data volume of the code stream data received by means of each thread of the plurality of threads is ;
However, in the same field of endeavor, Cui discloses wherein a data volume of the code stream data received by means of each thread of the plurality of threads is (page 4, lines 4-60 discloses S101: Obtain a large file to be transmitted. In the embodiment of the present invention, the large file to be transmitted may be any file designated by the user, and the data volume thereof exceeds the data volume threshold value transmitted by the corresponding service system.S102: Fragment the large file to obtain multiple file fragments… In the embodiment of the present invention, when the large file is fragmented fixed length fragmentation can also be used… fixed length Fragmentation is performed according to the data volume of a large file. The data volume of each file fragmentation is the same (equal data volume)… S103. Invoke multiple first threads, and allocate file fragments to be transmitted to each first thread, so as to upload the allocated file fragments to the server through each first thread).
Therefore, it would have been obvious to a person having ordinary skill in the art at the time of the invention was effectively filed to combine the teaching of the combination with Cui. The modification would allow effective segmentation of large data volume and per-thread load distribution and parallel transmission via multiple threads.
Regarding claim 5. The data transmission method according to claim 1.
But, the combination of prior arts does not explicitly disclose:
wherein prior to sending the code stream data to the receiving server, the method comprises: acquiring a total push stream volume and single-channel code stream information;
determining, according to the single-channel code stream information and the total push stream volume, a sending threshold;
slicing, in a case that the first data volume is greater than the sending threshold, the code stream data;
However, in the same field of endeavor, Cui discloses, wherein prior to sending the code stream data to the receiving server, the method comprises: acquiring a total push stream volume and single-channel code stream information (page 5, lines 19-21 the transmission performance of large files is limited by the network bandwidth (corresponds to sending threshold of a channel). In order to solve this problem, the present invention divides (slicing) large files into pieces (excess data volume (extra pieces) more than the bandwidth threshold is queued to be transmitted in subsequent transmission) and adopts multi-threaded transmission to significantly accelerate the transmission speed of large files);
determining, according to the single-channel code stream information and the total push stream volume, a sending threshold (page 5, lines 19-21 the transmission performance of large files (total push stream volume) is limited by the network bandwidth (corresponds to sending threshold of a channel). In order to solve this problem, the present invention divides (slicing) large files into pieces (excess data volume (extra pieces) more than the bandwidth threshold of the network (channel) is queued to be transmitted in subsequent transmissions via subsequent multi-thread transmission) and adopts multi-threaded transmission to significantly accelerate the transmission speed of large files); and
slicing, in a case that the first data volume is greater than the sending threshold, the code stream data (page 5, lines 19-21 the transmission performance of large files is limited by the network bandwidth (corresponds to sending threshold of a channel). In order to solve this problem, the present invention divides (slicing) large files into pieces (excess data volume (extra pieces) more than the bandwidth threshold is queued to be transmitted in subsequent transmission) and adopts multi-threaded transmission to significantly accelerate the transmission speed of large files).
Therefore, it would have been obvious to a person having ordinary skill in the art at the time of the invention was effectively filed to combine the teaching of the combination with Cui. The modification would allow effectively slicing data according to channel capacity to manage congestion and segmenting data for multi-thread transmission to increase speed of transmission.
Regarding claim 6. The combination discloses data transmission method according to claim 1.
Kritov discloses, wherein the method further comprising: acquiring a maximum transmission data volume corresponding to transmission paths between the sending server and the receiving server ( col. 15, lines 10-25 discloses links 140 may each have their own associated advertised bandwidth capacity (maximum transmission data volume corresponding to transmission paths). The actual bandwidth achieved from endpoint to endpoint may be substantially less than the advertised bandwidth of even the slowest device or link of the network path for a variety of reasons in different implementations. For example, several of the network devices 130 and/or links 140 may be shared among multiple tasks of a given application 120, between multiple applications 120, and/or between multiple endpoints 110), and current transmission data volume corresponding to the transmission paths between the sending server and the receiving server( col. 17 lined 62-67 discloses estimate of the bandwidth currently available for the outbound data transfer over the connection (current transmission data volumes corresponding to the transmission paths));
determining a minimum load path sequence by sorting the transmission paths according to the current transmission data volume (col. 21, lines 29-40 discloses threshold performance metric values (e.g., a minimum throughput) to be used in determining whether performance over a given connection is satisfactory or not may be indicated by input parameters in another embodiment. In one implementation, an input parameter may be used to specify how closely traffic manager 170 should attempt to match available bandwidth for a given application's data transfers, e.g., by modifying the number of connections in use during sub-transfers);
determining, according to the current transmission data volume and the maximum transmission data volume, a to-be-optimized path, wherein the current transmission data volume corresponding to the to-be-optimized path is greater than or equal to the maximum transmission data volume (col. 21, lines 29-40 discloses threshold performance metric values (e.g., a minimum throughput) to be used in determining whether performance over a given connection is satisfactory or not may be indicated by input parameters in another embodiment. In one implementation, an input parameter may be used to specify how closely traffic manager 170 should attempt to match available bandwidth for a given application's data transfers, e.g., by modifying the number of connections in use during sub-transfers; col. 19 lines 4-29 discloses for each sub-transfer, M of the N connections in the connection set 150 may be used in some embodiments, leaving (N-M) "spare" connections with their parameters set appropriately for the bulk data transfer; The application data to be transferred may be subdivided or partitioned into segments or stripes, and one or more stripes (e.g., consecutive stripes) may be transmitted over each connection during a given sub-transfer (block 820). For example, in one implementation where connection set 150 includes six connections C1-C6 of which four are to be used during each sub-transfer (i.e., N=6 and M=4)); and
selecting a target merging path from the minimum load path sequence and merging the target merging path into the to-be-optimized path to obtain final transmission paths (col. 19, lines 4-29 discloses for each sub-transfer, M of the N connections in the connection set 150 may be used in some embodiments, leaving (N-M) "spare" connections with their parameters set appropriately for the bulk data transfer; The application data to be transferred may be subdivided or partitioned into segments or stripes, and one or more stripes (e.g., consecutive stripes) may be transmitted over each connection during a given sub-transfer (block 820). For example, in one implementation where connection set 150 includes six connections C1-C6 of which four are to be used during each sub-transfer (i.e., N=6 and M=4), and the data of a file to be transferred is divided into a sequence of stripes S1-Sp);
Regarding claim 7. The combination discloses data transmission method according to claim 6.
, wherein selecting the target merging path from the minimum load path sequence and merging the target merging path into the to-be-optimized path to obtain the final transmission paths comprises (for each sub transfer, M of the N connections in the connection set 150 may be used):
acquiring a number of data channels and a total push stream volume (col. 19 lines 25-33 discloses in one implementation where connection set 150 includes six connections C1-C6 of which four are to be used during each sub-transfer (i.e., N=6 and M=4), and the data of a file to be transferred is divided into a sequence of stripes S1-Sp, the following mapping of stripes to connections may occur during the first Sub-transfer in one embodiment: S1 may be sent over C1, S2 over C2, S3 over C3, and S4 over C4, with C5 and C6 kept as spare connections);
determining, according to the total push stream volume and the maximum transmission data volume, a number of the final transmission paths, wherein the number of the final transmission paths is equal to a sum of a number of the target merging paths and a number of the to-be-optimized paths (col. 21, lines 29-40 discloses threshold performance metric values (e.g., a minimum throughput) to be used in determining whether performance over a given connection is satisfactory or not may be indicated by input parameters in another embodiment. In one implementation, an input parameter may be used to specify how closely traffic manager 170 should attempt to match available bandwidth for a given application's data transfers (push stream volume), e.g., by modifying the number of connections in use during sub-transfers); and
equally distributing the number of data channels according to the number of the final transmission paths, the number of data channels of each final transmission path being equal (col. 19 lines 25-32 discloses in one implementation where connection set 150 includes six connections C1-C6 of which four are to be used during each sub-transfer (i.e., N=6 and M=4), and the data of a file to be transferred is divided into a sequence of stripes S1-Sp, the following mapping of stripes to connections may occur during the first Sub-transfer in one embodiment: S1 may be sent over C1, S2 over C2, S3 over C3, and S4 over C4, with C5 and C6 kept as spare connections).
Kritov discloses a data that is a code stream data (col. 7 lines 38-44 discloses The term “bulk data transfer (code stream data transmission), as used herein, refers to a transfer of data …such as a transfer of a requested video or audio file, or a backup of a specified source data set, where the amount of data to be transferred for the task is sufficiently large that the data is typically transmitted in the network using multiple packets or messages).
Regarding claim 8. Wang discloses a data transmission method, applied to a receiving server, the receiving server communicating with a sending server (page 1, lines 35-45 discloses a first aspect of the embodiments of the present application provides a file transmission method. The method is applied to a file transmission system. The file transmission system includes a sending end (sending server) and a receiving end (receiving server). The method includes: Acquiring the file to be transmitted at the sending end, and determining a plurality of first threads required to transmit the file to be transmitted; The sending end divides the file to be transmitted into multiple file blocks according to the multiple first threads; The sending end asynchronously transmitting the plurality of file blocks; and the method comprising:
receiving data from the sending server, and storing the data, wherein the data is received by means of a plurality of threads after the sending server determines, according to a data transmission request, that a corresponding data volume is greater than a target transmission threshold (page 4, lines 13-23 the sending end obtains the file to be transferred, and reads the size of the file to be transferred; then, the sending end is based on each of the plurality of first threads. The preset transmission threshold of the thread and the size of the file to be transmitted determine a plurality of first threads required to transmit the file to be transmitted. Wherein, determining the plurality of first threads required to transmit the file to be transmitted refers to: determining the number of first threads that need to be started to transmit the file to be transmitted, and specifically, comparing the size value of the file to be transmitted with the file The ratio of the preset transmission threshold of a single first thread is taken as the number of first threads; where, if there is a remainder in the ratio, the number of the first threads is added by one; for example, the Assuming that the transmission threshold is 1024 bytes and the size of the file to be transmitted is 10240 bytes, for example, it is determined that the multiple first threads required to transmit the file to be transmitted are: 10240/1024 = 10, that is, the required There are 10 first threads… Step S12: The sending end divides the file to be transferred into multiple file blocks according to the multiple first threads).
But, Wang does not explicitly disclose: code stream transmission request;
However, in the same field of endeavor, Kritov discloses acquiring a code stream transmission request (col. 7 lines 38-44 discloses The term “bulk data transfer (code stream data transmission), as used herein, refers to a transfer of data …such as a transfer of a requested video or audio file, or a backup of a specified source data set, where the amount of data to be transferred for the task is sufficiently large that the data is typically transmitted in the network using multiple packets or messages; col. 10, lines 36-39 discloses the connection set 150 may be established in response to a request to initiate an application task, Such as a backup of a source data set, or a request to download a large file);
A data that is a code stream data (col. 7 lines 38-44 discloses The term “bulk data transfer (code stream data transmission), as used herein, refers to a transfer of data …such as a transfer of a requested video or audio file, or a backup of a specified source data set, where the amount of data to be transferred for the task is sufficiently large that the data is typically transmitted in the network using multiple packets or messages).
Therefore, it would have been obvious to a person having ordinary skill in the art at the time of the invention was effectively filed to combine the teaching of Wang with Kritov. The modification would allow effective system for bulk data transfer to enable speedy communication and aggregated throughput from multiple links aggregated for faster communication.
But, the combination does not explicitly disclose:
the code stream data is received by means of a plurality of threads comprises: determining an overall transmission capacity of the plurality of threads as a second data volume; receiving, in a case that the first data volume is greater than the second data volume, code stream data of the second data volume by means of the plurality of threads; acquiring a difference data volume between the first data volume and the second data volume; and determining multiple threads according to the difference data volume, and receiving code stream data of the difference data volume by means of the multiple threads.
However, in the same field of endeavor, Cui discloses the code stream data is received by means of a plurality of threads comprises: determining an overall transmission capacity of the plurality of threads as a second data volume (page 4, lines 4-60 discloses S101: Obtain a large file to be transmitted. In the embodiment of the present invention, the large file to be transmitted may be any file designated by the user, and the data volume thereof exceeds the data volume threshold value transmitted by the corresponding service system.S102: Fragment the large file to obtain multiple file fragments… In the embodiment of the present invention, when the large file is fragmented fixed length fragmentation can also be used… fixed length Fragmentation is performed according to the data volume of a large file. The data volume of each file fragmentation is the same (equal data volume)… S103. Invoke multiple first threads, and allocate file fragments to be transmitted to each first thread, so as to upload the allocated file fragments to the server through each first thread; page 5, lines 19-21 the transmission performance of large files (total push stream volume) is limited by the network bandwidth (corresponds to sending threshold of a channel via multi-thread transmission). In order to solve this problem, the present invention divides (slicing) large files into pieces (excess data volume (extra pieces) more than the bandwidth threshold of the network (channel) corresponds to the difference data volume that is the difference of total data volume and data volume that can be transmitted first is queued to be transmitted in subsequent transmissions via subsequent multi-thread transmission) and adopts multi-threaded transmission to significantly accelerate the transmission speed of large files);
receiving, in a case that the first data volume is greater than the second data volume, code stream data of the second data volume by means of the plurality of threads (page 4, lines 4-60 discloses S101: Obtain a large file to be transmitted. In the embodiment of the present invention, the large file to be transmitted may be any file designated by the user, and the data volume thereof exceeds the data volume threshold value transmitted by the corresponding service system.S102: Fragment the large file to obtain multiple file fragments… In the embodiment of the present invention, when the large file is fragmented fixed length fragmentation can also be used… fixed length Fragmentation is performed according to the data volume of a large file. The data volume of each file fragmentation is the same (equal data volume)… S103. Invoke multiple first threads, and allocate file fragments to be transmitted to each first thread, so as to upload the allocated file fragments to the server through each first thread; page 5, lines 19-21 the transmission performance of large files (total push stream volume) is limited by the network bandwidth (corresponds to sending threshold of a channel via multi-thread transmission). In order to solve this problem, the present invention divides (slicing) large files into pieces (excess data volume (extra pieces) more than the bandwidth threshold of the network (channel) corresponds to the difference data volume that is the difference of total data volume and data volume that can be transmitted first is queued to be transmitted in subsequent transmissions via subsequent multi-thread transmission) and adopts multi-threaded transmission to significantly accelerate the transmission speed of large files);
acquiring a difference data volume between the first data volume and the second data volume; and determining multiple threads according to the difference data volume, and receiving code stream data of the difference data volume by means of the multiple threads (page 4, lines 4-60 discloses S101: Obtain a large file to be transmitted. In the embodiment of the present invention, the large file to be transmitted may be any file designated by the user, and the data volume thereof exceeds the data volume threshold value transmitted by the corresponding service system.S102: Fragment the large file to obtain multiple file fragments… In the embodiment of the present invention, when the large file is fragmented fixed length fragmentation can also be used… fixed length Fragmentation is performed according to the data volume of a large file. The data volume of each file fragmentation is the same (equal data volume)… S103. Invoke multiple first threads, and allocate file fragments to be transmitted to each first thread, so as to upload the allocated file fragments to the server through each first thread; page 5, lines 19-21 the transmission performance of large files (total push stream volume) is limited by the network bandwidth (corresponds to sending threshold of a channel via multi-thread transmission). In order to solve this problem, the present invention divides (slicing) large files into pieces (excess data volume (extra pieces) more than the bandwidth threshold of the network (channel) corresponds to the difference data volume that is the difference of total data volume and data volume that can be transmitted first is queued to be transmitted in subsequent transmissions via subsequent multi-thread transmission) and adopts multi-threaded transmission to significantly accelerate the transmission speed of large files).
Therefore, it would have been obvious to a person having ordinary skill in the art at the time of the invention was effectively filed to combine the teaching of the combination with Cui. The modification would allow effectively slicing data according to channel capacity to manage congestion and segmenting data for multi-thread transmission to increase speed of transmission.
Regarding claim 9. The combination discloses data transmission method according to claim 8, Wang discloses wherein the method further comprising: receiving update information from the sending server by means of a s
specific thread, and updating system information according to the update information (page 3 lines 48-55 discloses Step S11: Obtain a file to be transmitted at the sending end, and determine a plurality of first threads required to transmit the file to be transmitted. In various embodiments of the present application, the sending end and the receiving end may be terminal devices or servers. Communication form the receiving end to the sending end using a thread read on this limitation. The devices are capable to communicate using a single thread or multi-thread both directions based on the amount of data to be exchanged. Dat from the receiving end corresponds to update information).
Regarding claim 10. In the combination, Wang discloses a sending server, comprising: a memory, a processor, and a computer program stored on the memory and is capable of running on the processor (page 3 lines 48-55 discloses Step S11: Obtain a file to be transmitted at the sending end, and determine a plurality of first threads required to transmit the file to be transmitted. In various embodiments of the present application, the sending end and the receiving end may be terminal devices or servers), wherein the processor, when running the computer program, executes the data transmission method according to claim 1.
All other limitations of claim 10 are similar with the limitations of claim 1 rejected above.
Regarding claim 11. In the combination Wang discloses a receiving server, comprising: a memory, a processor, and a computer program that is stored on the memory and is capable of running on the processor (page 3 lines 48-55 discloses Step S11: Obtain a file to be transmitted at the sending end, and determine a plurality of first threads required to transmit the file to be transmitted. In various embodiments of the present application, the sending end and the receiving end may be terminal devices or servers), wherein the processor, when running the computer program, executes the data transmission method according to claim 8.
All other limitations of claim 11 are similar with the limitations of claim 8 rejected above.
Regarding claim 12. Wang discloses a non-transitory computer readable storage medium, storing computer-executable instructions (page 3 lines 48-55 discloses Step S11: Obtain a file to be transmitted at the sending end, and determine a plurality of first threads required to transmit the file to be transmitted. In various embodiments of the present application, the sending end and the receiving end may be terminal devices or servers).
All other limitations of claim 12 are similar with the limitations of claim 1 rejected above.
Regarding claim 13. Wang discloses a non-transitory computer readable storage medium, storing computer-executable instructions, wherein the computer-executable instructions (page 3 lines 48-55 discloses Step S11: Obtain a file to be transmitted at the sending end, and determine a plurality of first threads required to transmit the file to be transmitted. In various embodiments of the present application, the sending end and the receiving end may be terminal devices or servers) are used to enable a computer to execute the data transmission method according to claim 8.
All other limitations of claim 13 are similar with the limitations of claim 8 rejected above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
-US pat. No. 10631186.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MESSERET F. GEBRE whose telephone number is (571)272-8272. The examiner can normally be reached 9:00 am-5:30PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Oscar Louie can be reached at 5712701684. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
MESSERET F. GEBRE
Primary Examiner
Art Unit 2445
/MESSERET F GEBRE/Primary Examiner, Art Unit 2445