DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. This Office Action is sent in response to Applicant’s Communication received 9/18/2024 for application number 18/888,507. The Office hereby acknowledges receipt of the following and placed of record in file: Specification, Drawings, Abstract, Oath/Declaration, claims.
3. Claims 1 – 15 are presented for examination.
Claim Objections
4. Claim 7 is objected to because of the following informalities: the claim recites “is calculates” and should recite –calculates--. Appropriate correction is required.
Claim Rejections - 35 USC § 101
5. 35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
6. Claims 1 - 20 are directed to an abstract idea without significantly more.
Independent claim 1 recites a method implemented in a system comprising a server and a client device, the method comprising, at the client device: continuously receiving data; dividing the received data into M> 1 subsets of data, each subset of data being derived from sensor data captured by a sensor during a capture time interval at a plurality of points in time; determining for each subset whether the processing of the subset should be performed by the client device or by the server, and upon determining that the processing should be performed by the client device, processing the subset into processed data by applying a first algorithm to the subset, and transmitting the processed data to the server, and upon determining that processing should be performed by the server, transmitting the subset of data to the server; wherein determining comprises: determining, a time duration indicating a processing time of applying the first algorithm to a subset of data; determining a time ratio between the time duration and the capture time interval; upon the time ratio being less than or equal to a threshold time ratio, determining that the client device should perform processing of each subset of the M subsets of data; and upon the time ratio exceeding the threshold time ratio determining a portion N≤M of the M subsets, wherein N decreases with an increasing time ratio, and determining that the client device should perform processing of the N subsets of the M subsets; wherein the method further comprises, at the server:
receiving data from the client device, and upon determining that the data received from the client device has not been processed by the client device, processing the data received from the client device by applying the first algorithm to the data received from the client device.
The limitations, as drafted, describe a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. The abstract idea limitations are “dividing the received data into M> 1 subsets of data, each subset of data being derived from sensor data captured by a sensor during a capture time interval at a plurality of points in time,” “determining for each subset whether the processing of the subset should be performed by the client device or by the server, and upon determining that the processing should be performed by the client device, processing the subset into processed data by applying a first algorithm to the subset,” “determining, a time duration indicating a processing time of applying the first algorithm to a subset of data,” “determining a time ratio between the time duration and the capture time interval,” “upon the time ratio being less than or equal to a threshold time ratio, determining that the client device should perform processing of each subset of the M subsets of data,” “upon the time ratio exceeding the threshold time ratio determining a portion N≤M of the M subsets, wherein N decreases with an increasing time ratio,” “determining that the client device should perform processing of the N subsets of the M subsets” and “upon determining that the data received from the client device has not been processed by the client device, processing the data received from the client device by applying the first algorithm to the data received from the client device” in Prong I step 2A. Other limitations including “continuously receiving data,” “transmitting the processed data to the server,” “transmitting the subset of data to the server” and “receiving data from the client device” are considered as extra-activity solutions for gathering information which are insignificant and outputting information regarding the events is merely data collecting as transmitting/transferring data over the network and insignificantly amounts to the judicial exception. Thus, these claims are directed to an abstract idea under 35 USC 101.
That is, other than reciting “continuously receiving data,” “transmitting the processed data to the server,” “transmitting the subset of data to the server” and “receiving data from the client device” nothing in the claim elements preclude the steps from practically being performed in the mind such that the “dividing the received data into M> 1 subsets of data, each subset of data being derived from sensor data captured by a sensor during a capture time interval at a plurality of points in time,” “determining for each subset whether the processing of the subset should be performed by the client device or by the server, and upon determining that the processing should be performed by the client device, processing the subset into processed data by applying a first algorithm to the subset,” “determining, a time duration indicating a processing time of applying the first algorithm to a subset of data,” “determining a time ratio between the time duration and the capture time interval,” “upon the time ratio being less than or equal to a threshold time ratio, determining that the client device should perform processing of each subset of the M subsets of data,” “upon the time ratio exceeding the threshold time ratio determining a portion N≤M of the M subsets, wherein N decreases with an increasing time ratio,” “determining that the client device should perform processing of the N subsets of the M subsets” and “upon determining that the data received from the client device has not been processed by the client device, processing the data received from the client device by applying the first algorithm to the data received from the client device” limitations are mental processes under Prong I of step 2A. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claims recite an abstract idea.
This judicial exception is not integrated into a practical application. In particular, the components in the noted steps are recited at a high-level of generality (i.e., as a generic processor performing a generic computer function of receiving information, executing a function and making a decision) such that it amounts no more than mere instructions to apply the exception using a generic computer component.
Additionally, the step of “a method implemented in a system comprising a server and a client device” are considered as high level generic computer system/components or using generic computing equipment to perform the abstract idea and merely applies the abstract idea, that are insignificant under Prong II step 2A and 2B. See buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network) as noted in MPEP 2106.05(d)(II)(i). Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claims are directed to an abstract idea.
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional element of using a computer to perform the noted steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The claims are not patent eligible.
Independent claim 13 is rejected on the same basis as independent claim 1. Additionally, dependent claims 2 – 11, 14 and 15 are similarly rejected as being directed to an abstract idea since these claims are either further detailing the abstract idea by analyzing/processing the data or the elements are insignificant. More specifically, the dependent claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception.
As per claim 2, wherein determining a time duration comprises determining a processing time of applying the first algorithm to a subset of data and adding a margin to the determined processing time (abstract idea under mental process under Prong I step 2A).
As per claim 3, determining the margin based on a bit size of the subset of data, wherein the margin increases with an increasing bit size (abstract idea under mental process under Prong I step 2A).
As per claim 4, wherein N is determined by determining a number of subsets of data that can be stored in buffer memory of the client device, wherein N increases with an increasing number of subsets of data that can be stored in buffer memory of the client device (abstract idea under mental process under Prong I step 2A).
As per claim 5, wherein the data received at the client device comprises one of: video data or audio data, and wherein the data received at the client device is encoded using a compression standard (additional element under Prong II step 2A).
As per claim 6, at the server, using data received from the client device for streaming of media content using a streaming technique being one of: the HTTP Live Streaming, HLS, standard, or the Dynamic Adaptive Streaming over HTTP (DASH) standard, wherein a segment in the streamed media content is derived from a subset of data of the M subsets of data (additional element under Prong II step 2A).
As per claims 7 and 14, wherein the first algorithm is calculates a hash of a subset of data, and wherein the processed data comprises the subset of data and the hash calculated from the subset of data (abstract idea under mental process under Prong I step 2A).
As per claim 8, wherein the first algorithm is for encrypting a subset of data, and wherein the processed data comprises the encrypted subset of data (additional element under Prong II step 2A).
As per claim 9, wherein the first algorithm is a sensor data analytics algorithm, wherein the processed data comprises the subset of data and output from the sensor data analytics algorithm (additional element under Prong II step 2A).
As per claim 10, wherein the step of determining a time duration comprises applying a moving average algorithm on historical data comprising a plurality of data points, each data point indicating a processing time of applying the first algorithm on previously received data (abstract idea under mental process under Prong I step 2A).
As per claim 11, wherein the moving average algorithm is a weighted moving average algorithm (abstract idea under mental process under Prong I step 2A).
As per claim 12, wherein the step of determining a time duration comprises using a bit size of the subset of data (abstract idea under mental process under Prong I step 2A).
As per claim 15, wherein the client device is a monitoring camera (additional element under Prong II step 2A).
Claim Rejections - 35 USC § 103
7. 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.
8. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
9. This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
10. Claims 1 – 3, 5, 6, 8, 12, 13 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Qian et al. (U.S. Publication 2021/0018938) (Qian hereinafter) (Identified by Applicant in IDS) in view of Sahin (U.S. Publication 2021/0182118) (Sahin hereinafter).
11. As per claim 1, Qian teaches a method implemented in a system comprising a server [remote terminal 1030, fig. 10] and a client device [processor 1008, fig. 10], the method comprising, at the client device:
continuously receiving data [“The positioning module 40 may be configured to receive data regarding location of the mobile vehicle from a GPS receiver carried by the mobile vehicle. In some embodiments, the GPS receiver may identify the location of the mobile vehicle in real time … the GPS receiver may identify the location of the mobile vehicle at predetermined time intervals,” ¶ 0075];
dividing the received data into M> 1 subsets of data, each subset of data being derived from sensor data captured by a sensor during a capture time interval at a plurality of points in time; determining for each subset whether the processing of the subset should be performed by the client device or by the server [“The splitting module 1210 may be configured to split a processing task into a plurality of subtasks, and the assigning module 1220 may be configured to assign the plurality of subtasks to at least one of a mobile vehicle or a remote terminal for processing based on at least a characteristic of the plurality of subtasks,” ¶ 0126];
and upon determining that the processing should be performed by the client device, processing the subset into processed data by applying a first algorithm to the subset, and transmitting the processed data to the server, and upon determining that processing should be performed by the server, transmitting the subset of data to the server [“assigning the plurality of subtasks to at least one of the mobile vehicle or the remote terminal for processing based on at least the characteristic of the plurality of subtasks may include performing the first subtask at the mobile vehicle and sending the second subtask to the remote terminal,” ¶ 0114; “the first subtask may be processed at the mobile vehicle to generate a first subtask result. The first subtask result may be transmitted to the remote terminal through a transmission link between the mobile vehicle and the remote terminal,” ¶ 0116]; and
wherein the method further comprises, at the server: receiving data from the client device, and upon determining that the data received from the client device has not been processed by the client device, processing the data received from the client device by applying the first algorithm to the data received from the client device [“the second subtask may be processed at the remote terminal based on the first subtask result to generate a final processing result,” ¶ 0116; suggesting that the first algorithm is used to process tasks/subtasks locally and remotely].
Qian does not explicitly disclose but Sahin discloses wherein determining
comprises: determining, a time duration indicating a processing time of applying the first algorithm to a subset of data [“The local device may determine whether to retransmit the tasks for remote execution (e.g., with updated CPU resource and/or wireless transmission parameter configuration) or to execute the tasks locally. The determination may be based on the requirements of the tasks including, for example, latency, reliability, and/or system parameters (e.g., wireless channel conditions such as CSI, local and remote computation resources, etc.),” ¶ 0116; latency mapped to duration]; determining a time ratio between the time duration and the capture time interval; upon the time ratio being less than or equal to a threshold time ratio, determining that the client device should perform processing of each subset of the M subsets of data; and upon the time ratio exceeding the threshold time ratio determining a portion N≤M of the M subsets, wherein N decreases with an increasing time ratio, and determining that the client device should perform processing of the N subsets of the M subsets [“offload at least one task to a remote entity to execute, wherein a determination to offload a task comprises comparing a processing time of a task at the WTRU to a latency requirement of the task, and if the processing time of the WTRU would exceed the latency requirement of the task, determining to offload the task,” Cl. 35; “The local device may determine to partition the application into one or more tasks, and compare a processing time of a task at the local device to a latency requirement of the task. For example, the latency requirement of the task may ne determined by the local device (e.g., one or more of the functions described herein) and/or determined by the application. For example, the local device may obtain the latency requirement from the application (e.g., service level). The latency requirement of the task may include an amount of time incurred to upload the task to a remote entity, an amount of time incurred to process the task at the remote entity, and/or an amount of time incurred to download the executed task once processed by the remote entity,” ¶ 0029; “If the local device determines that the processing time of the local device would exceed the latency requirement of the task, then the local device may determine to offload the task,” ¶ 0030; thus the latency requirement of the task is mapped to the capture time interval and the processing time is mapped to the claimed time duration, where a determination that the processing time exceeds the latency requirement is analogous to determining a time ratio].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian and Sahin available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian to include the capability of offloading tasks as taught by Sahin, thereby providing a mechanism to improve system performance by evaluating where to execute subtasks to optimize efficient use of system resources.
12. As per claim 2, Qian and Sahin teach the method of claim 1. Sahin further teaches wherein determining a time duration comprises determining a processing time of applying the first algorithm to a subset of data and adding a margin to the determined processing time [“The latency requirement of the task may include an amount of time incurred to upload the task to a remote entity, an amount of time incurred to process the task at the remote entity, and/or an amount of time incurred to download the executed task once processed by the remote entity,” ¶ 0029; download/upload times mapped to margin].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian and Sahin available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian to include the capability of offloading tasks as taught by Sahin, thereby providing a mechanism to improve system performance by evaluating where to execute subtasks to optimize efficient use of system resources.
13. As per claim 3, Qian and Sahin teach the method of claim 2. Sahin further teaches determining the margin based on a bit size of the subset of data, wherein the margin increases with an increasing bit size [“The offloading framework may configure and / or utilize system parameters. An example offloading, which may include retransmission, may be initiated by the local device, where one or more of the following may be per formed. An offloading block may receive a Task i ( Ti ) from the output of the code partitioner. The Task i may be in raw format. The Offloading Block may convert the raw format into an offloading format. The conversion may involve converting the task into packets, which may be composition of bits transmittable over the wireless medium . The Off-loading Block may configure the transmission parameters based on system and/or medium related values,” ¶ 0035; “The local device may consider the bit size of the task . b, may represent the number of bits corresponding to Task i (Ti) in the offloading block,” ¶ 0036; considering task bit size in the context of configuration of transmission parameters based on system related values suggests an impact of bit size of transmission times].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian and Sahin available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian to include the capability of offloading tasks as taught by Sahin, thereby providing a mechanism to improve system performance by evaluating where to execute subtasks to optimize efficient use of system resources.
14. As per claim 5, Qian and Sahin teach the method of claim 1. Qian further teaches wherein the data received at the client device comprises one of: video data or audio data, and wherein the data received at the client device is encoded using a compression standard [“in order to alleviate the computation load on the processor of the remote terminal, a preliminary processing may be performed by using the processor of the mobile vehicle on the image before the image is transmitted to the remote terminal. As such, the computation load of the remote terminal may be partly distributed to the mobile vehicle. In some embodiments, the preliminary processing may include one or more of a compression, a resolution reduction, and split of the image. After the preliminary processing on the image is performed, the processed image may be transmitted to the remote terminal for further processing,” ¶ 0049].
15. As per claim 6, Qian and Sahin teach the method of claim 5. Sahin further teaches, at the server, using data received from the client device for streaming of media content using a streaming technique being one of: the HTTP Live Streaming, HLS, standard, or the Dynamic Adaptive Streaming over HTTP (DASH) standard, wherein a segment in the streamed media content is derived from a subset of data of the M subsets of data [“the WTRUs 102a, 102b, 102c, 102d may be configured to transmit and/or receive wireless signals and may include user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a pager, a cellular telephone, a personal digital assistant (PDA), a smartphone, a laptop, a netbook, a personal computer, a wireless sensor, consumer electronics, and the like. A DASH client may be run on a WTRU,” ¶ 0066].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian and Sahin available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian to include the capability of offloading tasks as taught by Sahin, thereby providing a mechanism to improve system performance by evaluating where to execute subtasks to optimize efficient use of system resources.
16. As per claim 8, Qian and Sahin teach the method of claim 1. Sahin further teaches wherein the first algorithm is for encrypting a subset of data, and wherein the processed data comprises the encrypted subset of data [“Each of the RNCs 142a, 142b may be configured to control the respective Node-Bs 140a, 140b, 140c to which it is connected. In addition, each of the RNCS 142a, 142b may be configured to carry out or support other functionality, such as outer loop power control, load control, admission control, packet scheduling, handover control, macrodiversity, security functions, data encryption, and the like,” ¶ 0087].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian and Sahin available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian to include the capability of offloading tasks as taught by Sahin, thereby providing a mechanism to improve system performance by evaluating where to execute subtasks to optimize efficient use of system resources.
17. As per claim 12, Qian and Sahin teach the method of claim 1. Sahin further teaches wherein the step of determining a time duration comprises using a bit size of the subset of data [“The local device may consider the bit size of the task. B, may represent the number of bits corresponding to Task i (Ti) in the offloading block,” ¶ 0036].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian and Sahin available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian to include the capability of offloading tasks as taught by Sahin, thereby providing a mechanism to improve system performance by evaluating where to execute subtasks to optimize efficient use of system resources.
18. As per claim 13, it is a system claim having similar limitations as cited in claim 1. Thus, claim 13 is also rejected under the same rationale as cited in the rejection of claim 1 above.
19. As per claim 15, Qian and Sahin teach the system of claim 13, Qian further teaches wherein the client device is a monitoring camera [“FIG . 3 is a flowchart of an application of the computation load distribution method according to an embodiment of the present disclosure. In this embodiment, the payload of the mobile vehicle may be a camera, and the processing task may be an image processing task. As shown in FIG. 3, at 301, an image is acquired via a camera carried by the mobile vehicle. At 302, it is determined that the processing task includes an image processing task,” ¶ 0043].
20. Claim 4 is rejected under 35 U.S.C. 103 as being unpatentable over Qian and Sahin in further view of Bhansali et al. (U.S. Publication 2018/0275898) (Bhansali hereinafter).
21. As per claim 4, Qian and Sahin teach the method of claim 1. Qian and Sahin do not explicitly disclose but Bhansali discloses wherein N is determined by determining a number of subsets of data that can be stored in buffer memory of the client device, wherein N increases with an increasing number of subsets of data that can be stored in buffer memory of the client device [“If/when the data object size is larger than the buffer size (e.g., a YES in block 606), the data object may be determined to be a non-conforming data object and may be divided (partitioned) into a plurality of data chunks (block 610). The data object may be divided into any desired number of data chunks and each data chunk may include any size suitable for storage in buffer memory 108/208, one or more of storage devices 102, and/or enterprise storage service 50, as discussed elsewhere herein,” ¶ 0129; chunks mapped to subsets].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian, Sahin and Bhansali available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian and Sahin to include the capability of managing storage of data objects as taught by Bhansali, thereby providing a mechanism to improve system performance by portioning storage of system data objects in light of capacity limitations.
22. Claims 7 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Qian and Sahin in further view of Leonard et al. (U.S. Publication 2019/0146849) (Leonard hereinafter).
23. As per claim 7, Qian and Sahin teach the method of claim 1. Qian and Sahin do not explicitly disclose but Leonard discloses wherein the first algorithm is calculates a hash of a subset of data, and wherein the processed data comprises the subset of data and the hash calculated from the subset of data [“wherein reading the input data by a given grid-computing device comprises reading a subset of the timestamped data by the given grid-computing device, wherein deterministically distributing the timestamped data occurs on each of the plurality of grid-computing devices, and wherein deterministically distributing the timestamped data on the given grid-computing device comprises: generating, for each group present in the subset of the timestamped data, a hash value using the time series criteria associated with the group; calculating a destination identifier for each group by performing a modulo operation using the hash value as a dividend and a number of grid-computing devices in the plurality of grid-computing devices as a divisor; and distributing timestamped data associated with each group by transmitting the timestamped data associated with the group to a destination grid-computing device identified by the destination identifier,” ¶ 0263].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian, Sahin and Leonard available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian and Sahin to include the capability of time series data analysis as taught by Leonard, thereby providing a mechanism to improve system performance by processing destinations for data subsets.
24. As per claim 14, it is a system claim having similar limitations as cited in claim 7. Thus, claim 14 is also rejected under the same rationale as cited in the rejection of claim 7 above.
25. Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Qian and Sahin in further view of Aparacio Ojea et al. (U.S. Publication 2017/0371311) (Aparacio Ojea hereinafter).
26. As per claim 9, Qian and Sahin teach the method of claim 1. Qian and Sahin do not explicitly disclose but Aparacio Ojea discloses wherein the first algorithm is a sensor data analytics algorithm, wherein the processed data comprises the subset of data and output from the sensor data analytics algorithm [“the Data Analytics Component 205 generates soft-sensor data 245 (“Data Analytics Soft-Sensors”) as algorithms and/or models are executed. For example, as a data analysis algorithm is executed by the Data Analytics Component 205, various variables may be generated and stored as Data Analytics Soft-Sensors 245. In some embodiments, all Data Analytics Soft-Sensors 245 may be written to the Process Image Component 225 during each scan cycle. In other embodiments, the data written to the Process Image Component 225 during each scan cycle may be limited a user-selected subset of the Data Analytics Soft-Sensors 245,” ¶ 0033].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian, Sahin and Varnavas available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian and Sahin to include the capability of determining resource utilization as taught by Varnavas, thereby providing a mechanism to improve system performance by evaluating and utilizing empirical data trends.
27. Claims 10 and 11 are rejected under 35 U.S.C. 103 as being unpatentable over Qian and Sahin in further view of Varnavas et al. (U.S. Publication 2022/0029901) (Varnavas hereinafter).
28. As per claim 10, Qian and Sahin teach the method of claim 1. Qian and Sahin do not explicitly disclose but Varnavas discloses wherein the step of determining a time duration comprises applying a moving average algorithm on historical data comprising a plurality of data points, each data point indicating a processing time of applying the first algorithm on previously received data [“The device 202 can apply a filter 228 to the processing load 210 of the server 260 to generate a moving average 230 for the processing load 210. The filter 228 can include, but not limited to, a moving average filter or exponentially weighted moving average (EWMA) algorithm. The moving average 230 can include or correspond to an average or mean of a set of data points 212 over a defined range of time 214, time period, or rolling window 220. For example, the moving average 230 can include a mean of a plurality of data points 212 of the processing load 210 for the first range of time 214 at a determined time interval (e.g., 1 hour intervals),” ¶ 0053].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian, Sahin and Varnavas available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian and Sahin to include the capability of determining resource utilization as taught by Varnavas, thereby providing a mechanism to improve system performance by evaluating and utilizing empirical data trends.
29. As per claim 11, Qian, Sahin and Varnavas teach the method of claim 10. Varnavas further teaches wherein the moving average algorithm is a weighted moving average algorithm [“The device 202 can apply a filter 228 to the processing load 210 of the server 260 to generate a moving average 230 for the processing load 210. The filter 228 can include, but not limited to, a moving average filter or exponentially weighted moving average (EWMA) algorithm. The moving average 230 can include or correspond to an average or mean of a set of data points 212 over a defined range of time 214, time period, or rolling window 220. For example, the moving average 230 can include a mean of a plurality of data points 212 of the processing load 210 for the first range of time 214 at a determined time interval (e.g., 1 hour intervals),” ¶ 0053].
It would have been obvious to one of ordinary skill in the art, having the teachings of Qian, Sahin and Varnavas available before the effective filing date of the claimed invention, to modify the capability of managing computation load distribution as disclosed by Qian and Sahin to include the capability of determining resource utilization as taught by Varnavas, thereby providing a mechanism to improve system performance by evaluating and utilizing empirical data trends.
Conclusion
30. Any inquiry concerning this communication or earlier communications from the examiner should be directed to WILLIAM C WOOD whose telephone number is (571)272-5285. The examiner can normally be reached Monday - Friday, 8:00 am - 4:30 pm.
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, Chat C Do can be reached at 571-272-3721. 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.
/WILLIAM C WOOD/Examiner, Art Unit 2193
/Chat C Do/Supervisory Patent Examiner, Art Unit 2193