DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office Action is in response to claims filed on 10/28/2025.
Claims 1-20 are pending.
Claim Objections
Claims 1, 8, and 15 are objected to because they fail to comply with 37 CFR 1.121(c). 37 CFR 1.121(c)(2) requires that “All claims being currently amended in an amendment paper shall be presented in the claim listing, indicate a status of "currently amended," and be submitted with markings to indicate the changes that have been made relative to the immediate prior version of the claims. The text of any added subject matter must be shown by underlining the added text”. In the instant application, Claims 1, 8, and 15 include the limitation “to initiate proactive data transfer operations” which was not present in the original claim filling; however, this limitation is not presented with an underlined marking to designate it as a newly added limitation.
Examiner suggests canceling claims 1, 8, and 15 and adding new claims to replace them in order to provide clarity and update the claims in compliance with 37 CFR 1.121(c). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action.
Claims 2-7, 9-14, and 16-20 depend, directly or indirectly, from objected to claims and do not resolve the deficiencies thereof and are therefore objected to for at least the same reasons.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1-20 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention.
Claims 1, 8, and 15 recite(s) the limitation(s): “computing an expected connectivity window for a respective computing device based on travel information and network connectivity prediction data associated with the respective computing device and comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration, and the estimated data transfer duration, wherein the expected connectivity window comprises a predicted time interval of sufficient connectivity for the respective computing device to complete one or more data transfers” and “determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur when a remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration,”. However, upon review of the initial application filing, proper support in the written description for these limitations was not found. The specification states: “For example, the computer task offload program 108A, 108B may determine how much time is necessary for downloading the computer task. In turn, according to one embodiment, the computer task offload program 108A, 108B may use the location and travel information to coordinate pre-fetching the downloadable content associated with the computer task at a time before the computer task is scheduled, and/or at time before the nonstationary computing device loses connectivity with the cloud data center 206…” in paragraph 41. While travel information and connectivity prediction data are determined and the travel information is utilized to coordinate pre-fetching of downloadable content, there is not found support for the use of this information to compute an expected connectivity window. Explicit support for an expected connectivity window is not found in the initial filling; however, in paragraph 41 of the instant specification, there is a determination that a moving edge device will lose connectivity at a point in time, this can be considered reasonable support for a connectivity window. When considering the further elements of these limitations, there is not found to be support for a comparison between such an expected connectivity window and any other value including a scheduled time, a predicted processing duration, or an estimated data transfer duration, especially because the expected connectivity window is a concept that is never explicitly stated. In the same vein, there is not found to be support for a determination that a remaining portion of the expected connectivity window is less than the estimated data transfer duration. Thus, there is a lack of support in the initial filing for these limitations of claims 1, 8, and 15. If applicant disagrees that there is support within the written description, please provide citation to where the support can be found within the specification.
Claims 5-7, 12-14, and 19-20 recite(s) the limitation(s): “wherein in response to determining that the predicted connectivity loss will occur when the remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, causing, by the server, the selected moving edge computing device to further perform a proactive measure comprising:”. However, upon review of the initial application filing, proper support in the written description for this limitation was not found. Explicit support for an expected connectivity window is not found in the initial filling; however, in paragraph 41 of the instant specification, there is a determination that a moving edge device will lose connectivity at a point in time, this can be considered reasonable support for a connectivity window. When considering the further elements of these limitations, there is not found to be support for a comparison between such an expected connectivity window and an estimated data transfer duration, especially because the expected connectivity window is a concept that is never explicitly stated. In the same vein, there is not found to be support for a determination that a remaining portion of the expected connectivity window is less than the estimated data transfer duration. Thus, there is a lack of support in the initial filing for this limitation of claims 5-7, 12-14, and 19-20. If applicant disagrees that there is support within the written description, please provide citation to where the support can be found within the specification.
Claims 2-7, 9-14, and 16-20 depend, directly or indirectly, from rejected claims and do not resolve the deficiencies thereof and are therefore rejected for at least the same reasons.
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.
Claims 1-2, 5, 8-9, 12, 15-16, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Garcia Morchon (US 2024/0373312 A1) in view of O’Grady (US 11,638,133 B1) in view of Rawat (US 2019/0098532 A1) in view of Gil (US 2017/0207926 A1).
With regard to claim 1, Garcia Morchon teaches:
A computer-implemented method for automatically selecting a computing device, among a plurality of computing devices in a collaborative computing environment, to offload and process a computer task, comprising: “The MEC network architecture concept enables cloud computing capabilities and an IT service environment at the edge of a cellular network (e.g. 5G network) or any other network. The basic idea behind MEC is that by running applications and performing related processing tasks closer to the cellular customer, network congestion is reduced and applications perform better” [Garcia Morchon ¶ 167]. “the network system may be able to provide a means to perform load balancing among mobile base station relays (this requirement is intended to provide the capability for the network system (UEs and mobile base stations) to be able to optimize the load of network resources whenever possible…” [Garcia Morchon ¶ 246].
automatically identifying an off-loadable computer task to be offloaded from a first computing device to a second computing device from the plurality of computing devices, “For instance, a user, Tom, is waiting for bus number 23. While doing so, Tom is watching his preferred series of a video streaming service via his UE 10. He is also having a call with a friend. However, Tom's network connectivity at his current location is insufficient, in particular, to handle the video streaming service, since the donor gNB 20 is far away from his UE 10. In this example, it is beneficial if the UE 10 can request the download of the series and schedule their delivery through a suitable mobile relay in the vicinity of the user, e.g., bus number 45 that is arriving at the bus stop in a few instants. The data transfer 220 from bus number 45 with mobile base station (gNB) 30 to UE 10 is performed at time T3 and location L3” [Garcia Morchon ¶ 74].
wherein the plurality of computing devices comprises a combination of stationary edge computing devices and moving edge computing devices; “the network system may be able to provide a means to perform load balancing among mobile base station relays (this requirement is intended to provide the capability for the network system (UEs and mobile base stations) to be able to optimize the load of network resources whenever possible…” [Garcia Morchon ¶ 246]. “The donor access device might be a macro cell or any other cell, e.g., pico/femto/small cell, stationary or mobile, capable of providing connectivity to the mobile access device” [Garcia Morchon ¶ 21]. “FIG. 4 schematically shows a signaling and processing diagram for a data distribution in a mobile edge or multi-access edge computing (MEC) environment according to an embodiment” [Garcia Morchon ¶ 166].
determining a scheduled time for processing the identified off-loadable computer task “It is noted that the CN 50, DN 60 and streaming application can also predict the behavior of the user and his needs. For instance, if a user watches an episode of a television (TV) series every evening, the DN 60 can identify the communication needs of the user. This might also apply to users who commute, since some of those users usually consume some data resources in a predictable way, e.g., watch such TV series during their commuting times and communication needs can thus be predicted based on their commuting behavior. If the DN 60 knows the requirements of the user and the CN 50 is aware of the mobility pattern of the user, then the cooperation between the DN 60 and the CN 50 can allow placing the requested resources at the right place and time so that the user can efficiently consume them” [Garcia Morchon ¶ 95]. “In step 309, the UE 10 may schedule the handover in advance” [Garcia Morchon ¶ 106]. “For instance, if the user is willing to watch a 2 h-long movie in a streaming service (e.g. a content platform (CP)) the UE 10 can expect that the whole data file will need to be streamed in the next 2 hours. This is data that needs to be delivered from the streaming service through the mobile network (i.e. CN 50 and RAN)” [Garcia Morchon ¶ 94].
the determining comprising accessing historical data “It is noted that the CN 50, DN 60 and streaming application can also predict the behavior of the user and his needs. For instance, if a user watches an episode of a television (TV) series every evening, the DN 60 can identify the communication needs of the user. This might also apply to users who commute, since some of those users usually consume some data resources in a predictable way, e.g., watch such TV series during their commuting times and communication needs can thus be predicted based on their commuting behavior. If the DN 60 knows the requirements of the user and the CN 50 is aware of the mobility pattern of the user, then the cooperation between the DN 60 and the CN 50 can allow placing the requested resources at the right place and time so that the user can efficiently consume them” [Garcia Morchon ¶ 95]. “This historical data can be used to select the best location for the mobile base station 30 to perform future data transfers” [Garcia Morchon ¶ 225].
and estimating a data transfer duration for the identified off-loadable computer task; “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226].
based on the identified off-loadable computer task, the scheduled time, “The CN 50 plans which of the mobile base stations will be in close vicinity of the user taking into account their current schedules. Based thereon, the CN 50 can identify which mobile base station can deliver which load to which UE taking into account at least one of the positions of each UE at time t, the positions of each mobile base station at time t, and the communication requirements of a user at time t” [Garcia Morchon ¶ 97].
and the estimated data transfer duration, “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226].
automatically identifying one or more available computing devices from the plurality of computing devices for processing the identified off-loadable computer task, “The CN 50 plans which of the mobile base stations will be in close vicinity of the user taking into account their current schedules. Based thereon, the CN 50 can identify which mobile base station can deliver which load to which UE taking into account at least one of the positions of each UE at time t, the positions of each mobile base station at time t, and the communication requirements of a user at time t” [Garcia Morchon ¶ 97].
by computing an expected connectivity window for a respective computing device “A simple exemplary strategy may consist in checking which mobile base station is going to be close to the UE 10 next, and whether the available communication link between the UE 10 and a potential mobile base station will be enough to handle the communication requirements of the UE 10. The available communication link refers to the available communication resources when the UE 10 and the potential mobile base station encounter taking into account the distance and expected duration (expected connectivity window) of the communication link” [Garcia Morchon ¶ 98].
based on travel information and network connectivity prediction data associated with the respective computing device and comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration, and the estimated data transfer duration, wherein the expected connectivity window comprises a predicted time interval of sufficient connectivity for the respective computing device to complete one or more data transfers associated with the identified off-loadable computer task; “This historical data can be used to select the best location for the mobile base station 30 to perform future data transfers. The selection can be based on information from a specific mobile base station or from multiple base stations. Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 225-226]. “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229]. “In this example, it is beneficial if the UE 10 can request the download of the series and schedule their delivery through a suitable mobile relay in the vicinity of the user, e.g., bus number 45 that is arriving at the bus stop in a few instants. The data transfer 220 from bus number 45 with mobile base station (gNB) 30 to UE 10 is performed at time T3 and location L3” [Garcia Morchon ¶ 74].
and in response to automatically identifying the one or more available computing devices for processing the identified off-loadable computer task, selecting the computing device from the one or more available computing devices for processing the off-loadable computer task, “In step 304, the CN 50 informs a chosen mobile base station 30 about a presence of a user along the route of the mobile base station 30, data requirements of the user of the UE 10, and/or the position of the UE 10, so that the mobile base station 30 can pre-optimize transmission parameters, e.g., beamforming or frequency or pre-allocate transmission resources” [Garcia Morchon ¶ 99].
wherein, in response to selecting a moving edge computing device as the selected computing device, causing, by a server, the selected moving edge computing device to initiate proactive data transfer operations “In step 305, the CN 50 allocates resources at the mobile base station 30, e.g., triggered by the DN request. These resources can be storage resources to cache the data transfer or communication resources to perform the data transfer. The CN 50 starts a local download of the resources required by the user to the mobile base station 30 (e.g. caching, as in a content delivery network). In step 306, data caching or local storage might be performed at the mobile base station 30” [Garcia Morchon ¶ 100-101]. “As the above optimization is based on positioning information of the mobile access device, the communication can be prepared in advance in such a way that data communication is not affected, the upload or download of a related file is put on hold in the macro cell e.g. since it is currently overloaded, the mobile access device starts caching the upload or download of the requested data, and the target and mobile access devices can be made aware of their positions/trajectories to adapt and plan their radio access network (RAN) communication settings” [Garcia Morchon ¶ 22].
determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur “The cell switch conditions delivered to the UE in the CHO configuration message may include at least one of … the timing at which the mobile base station is predicted to be in communication range taking into account its positioning information (e.g., current location, speed, acceleration, rotation, ... ), and the timing at which the mobile base station is predicted to be outside of communication range taking into account its positioning information (e.g., current location and speed)” [Garcia Morchon ¶ 126]. “Here, a total signal loss may be predicted based on knowledge of the location, dimension and parameters for every tree or building and terrain feature in the area to be covered” [Garcia Morchon ¶ 220].
when a remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229 Examiner notes the determination that a moving edge computing device should reduce its speed in order to allow the whole data transfer to complete is considered a determination that a remaining portion of the connectivity window is less than the estimated data transfer duration].
to execute the identified off-loadable computer task “The basic idea behind MEC is that by running applications and performing related processing tasks closer to the cellular customer, network congestion is reduced and applications perform better” [Garcia Morchon ¶ 167].
and upload results upon connectivity restoration. “The data transfer finishes at location pc2, i.e., pc2<pb2, so that the end-to-end latency can be minimized since as soon as the macro base station 20 has the uploaded data from the mobile base station 30, the macro base station 20 can forward this data further towards the UE 10 (or towards the CN 50 in the case of an uplink communication)” [Garcia Morchon ¶ 231]. “The idea of this embodiment is that the downlink communication is routed through the mobile base station (gNB) 30 and the data is cached at the mobile base station 30 until it can be delivered … In step 607, data is cached at the mobile base station 30 since the UE 10 is not connected yet. In step 608, the UE 10 is connected and the cached data is transferred to the UE 10, e.g., when the mobile base station 30 is at location L3 of FIG. 2” [Garcia Morchon ¶ 192, 200-201].
Garcia Morchon fails to explicitly teach and an amount of time necessary for processing the identified off-loadable computer task, to predict a processing duration; the predicted processing duration, comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration.
However, O’Grady teaches:
and an amount of time necessary for processing the identified off-loadable computer task, “The vehicle range predictor 140 can determine the threshold length of time by predicting a length of time for the available computational resources of the second electric vehicle 110 to perform the operation or the process that results from splitting the operation into multiple processes” [O’Grady Col. 12 Lines 16-21].
to predict a processing duration “The vehicle range predictor 140 can determine the threshold length of time by predicting a length of time for the available computational resources of the second electric vehicle 110 to perform the operation or the process that results from splitting the operation into multiple processes” [O’Grady Col. 12 Lines 16-21].
the predicted processing duration, “The vehicle range predictor 140 can determine the threshold length of time by predicting a length of time for the available computational resources of the second electric vehicle 110 to perform the operation or the process that results from splitting the operation into multiple processes” [O’Grady Col. 12 Lines 16-21].
comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration, “The vehicle range predictor 140 can predict a length of time that the first electric vehicle 105 and the second electric vehicle 110 will be within a predefined distance from each other. The predefined distance may be a distance for the radio communication circuit 150 to communicate with the radio communication circuit 205.… The vehicle range predictor 140 can compare the length of time to a threshold length of time. The threshold length of time can be based on a predicted length of time for the second electric vehicle 110 to perform a process for distributed processing” [O’Grady Col. 11 Lines 48-51, 60-64].
O’Grady is considered to be analogous to the claimed invention because it is in the same field of techniques for rebalancing the load in a distributed system. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon to incorporate the teachings of O’Grady and include an amount of time necessary for processing the identified off-loadable computer task, to predict a processing duration; the predicted processing duration, comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration. Doing so would allow for the system to take into account a predicted processing duration in the offloading of tasks. “A first electric vehicle can receive a message from at least one second electric vehicle, or multiple messages from multiple vehicles, and determine whether a particular resource intensive operation of the first vehicle should be distributed to the second electric vehicle” [O’Grady Col. 1 Lines 30-35].
Garcia Morchon in view of O’Grady fails to explicitly teach initiate proactive data transfer operations responsive to determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur.
However, Rawat teaches initiate proactive data transfer operations responsive to determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur “The exemplary embodiments are related to a user equipment (UE) performing a pre-fetch operation to download data in a preparatory (or anticipatory) manner for one or more select applications over a first data exchange rate connection prior to disconnecting therefrom and subsequently connecting to a second, lower data exchange rate connection. Specifically, the exemplary embodiments are described herein where the pre-fetch operation is performed upon a determination that the UE may imminently disconnect from a WiFi connection, e.g., within a predetermined amount of time and connect to a cellular network.” [Rawat ¶ 10].
Rawat is considered to be analogous to the claimed invention because it is in the same field of indexing scheme relating to proximity. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady to incorporate the teachings of Rawat and include initiate proactive data transfer operations responsive to determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur. Doing so would allow for the timing of data transfer operations to be further optimized. “As will be described in further detail below, the pre-fetch operation may enable the UE to exchange data over the WiFi connection, where the cellular connection would have otherwise been used” [Rawat ¶ 10].
Garcia Morchon in view of O’Grady in view of Rawat fails to explicitly teach to execute the identified off-loadable computer task during lost connectivity and upload results upon connectivity restoration.
However, Gil teaches to execute the identified off-loadable computer task during lost connectivity and upload results upon connectivity restoration. “The device-side Playbooks can run data collection case tasks offline repeatedly until the sensor-based collection node is reconnected with the server for transfer using secure communication channels from wearable devices 1020 or other devices 1015.” [Gil ¶ 68].
Gil is considered to be analogous to the claimed invention because it is in the same field of techniques for rebalancing the load in a distributed system. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady in view of Rawat to incorporate the teachings of Gil and include execute the identified off-loadable computer task during lost connectivity and upload results upon connectivity restoration. Doing so would allow for the timing of data transfer operations to be further optimized. “The central processing unit for the multitude of sensor inputs is shifted from data centers with servers to handheld portable devices or onboard computers running the Playbook logic offline and disconnected from the network. The data only synchronizes with the network when there is a connection and when it is necessary to exchange data with other devices or update the device code over the air” [Gil ¶ 101].
With regard to claim 2, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer-implemented method of claim 1, as referenced above. Garcia Morchon further teaches:
wherein determining the scheduled time for processing the identified off-loadable computer task and the amount of time necessary for processing the identified off-loadable computer task further comprises: determining a size of a data associated with the identified off-loadable computer task “From this point of view, the CN should be in charge of balancing the load on the mobile base stations based on the amount of data they can handle and also the timing and quality of the communication link that the mobile base stations can establish” [Garcia Morchon ¶ 281]. “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226].
and whether processing the identified off-loadable computer task requires downloading and uploading data. “When the mobile base station 30 receives the request for transferring data to the UE 10 in its downlink, the mobile base station 30 may check the location of the UE 10 to select the "throughput curve" that suits the UE 10 best. This may be based on historical data, a propagation model, a combination thereof, etc. With the selected "throughput curve", the mobile base station 30 can select when data upload/download should start depending on the optimization goals, similar to the middle and lower curves of FIG. 8” [Garcia Morchon ¶ 235]. “In step 301, the UE 10 announces bandwidth/processing needs. This can be notified to the CN 50 or the UE 10 might notify a third-party application at a given data network. For instance, the UE 10 can announce that it requires the download of a specific data file” [Garcia Morchon ¶ 94]. “For instance, this can apply to use cases in which it is desired to optimize the upload of data from the UE towards the CN” [Garcia Morchon ¶ 128].
With regard to claim 5, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer-implemented method of claim 1, as referenced above. Garcia Morchon further teaches:
wherein in response to determining that the predicted connectivity loss will occur when the remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, causing, by the server, the selected moving edge computing device to further perform a proactive measure comprising: pre-fetching downloadable content associated with the identified off-loadable computer task for the selected moving edge computing device before the scheduled time for processing the identified off-loadable computer task. “As another option, allocated resources may be deployed in advance to the mobile base station 30 by means of a semi-persistent scheduling approach in which the allocated resources are deployed by means of an RRC message” [Garcia Morchon ¶ 218]. “However, the network connectivity at his current location---the accident area---is insufficient, in particular, to download some bulkier files in the EHR of the patients. In this situation, it is beneficial if Tom's UE could schedule the download of the EHR. This could be done by means of a relay mounted on one of the ambulances that are already approaching the accident area. This example can also be illustrated by means of FIG. 2. At location L0 and time T0 the EHR data transfer is requested by the UE. The AMR caches this EHR data. When the AMR is at location L3 at time T3, the AMR can rapidly deliver the requested EHR data to Tom's UE” [Garcia Morchon ¶ 85].
With regard to claim 8, Garcia Morchon teaches:
A computer system for automatically selecting a computing device, among a plurality of computing devices in a collaborative computing environment, to offload and process a computer task, comprising: “The MEC network architecture concept enables cloud computing capabilities and an IT service environment at the edge of a cellular network (e.g. 5G network) or any other network. The basic idea behind MEC is that by running applications and performing related processing tasks closer to the cellular customer, network congestion is reduced and applications perform better” [Garcia Morchon ¶ 167]. “the network system may be able to provide a means to perform load balancing among mobile base station relays (this requirement is intended to provide the capability for the network system (UEs and mobile base stations) to be able to optimize the load of network resources whenever possible…” [Garcia Morchon ¶ 246].
one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising: “It is noted that the above apparatus may be implemented based on discrete hardware circuitries with discrete hardware components, integrated chips, or arrangements of chip modules, or based on signal processing devices or chips controlled by software routines or programs stored in memories, written on a computer readable media, or downloaded from a network, such as the Internet” [Garcia Morchon ¶ 40]. “A single processor or other unit may fulfil the functions of several items recited in the claims” [Garcia Morchon ¶ 296].
automatically identifying an off-loadable computer task to be offloaded from a first computing device to a second computing device from the plurality of computing devices, “For instance, a user, Tom, is waiting for bus number 23. While doing so, Tom is watching his preferred series of a video streaming service via his UE 10. He is also having a call with a friend. However, Tom's network connectivity at his current location is insufficient, in particular, to handle the video streaming service, since the donor gNB 20 is far away from his UE 10. In this example, it is beneficial if the UE 10 can request the download of the series and schedule their delivery through a suitable mobile relay in the vicinity of the user, e.g., bus number 45 that is arriving at the bus stop in a few instants. The data transfer 220 from bus number 45 with mobile base station (gNB) 30 to UE 10 is performed at time T3 and location L3” [Garcia Morchon ¶ 74].
wherein the plurality of computing devices comprises a combination of stationary edge computing devices and moving edge computing devices; “the network system may be able to provide a means to perform load balancing among mobile base station relays (this requirement is intended to provide the capability for the network system (UEs and mobile base stations) to be able to optimize the load of network resources whenever possible…” [Garcia Morchon ¶ 246]. “The donor access device might be a macro cell or any other cell, e.g., pico/femto/small cell, stationary or mobile, capable of providing connectivity to the mobile access device” [Garcia Morchon ¶ 21]. “FIG. 4 schematically shows a signaling and processing diagram for a data distribution in a mobile edge or multi-access edge computing (MEC) environment according to an embodiment” [Garcia Morchon ¶ 166].
determining a scheduled time for processing the identified off-loadable computer task “It is noted that the CN 50, DN 60 and streaming application can also predict the behavior of the user and his needs. For instance, if a user watches an episode of a television (TV) series every evening, the DN 60 can identify the communication needs of the user. This might also apply to users who commute, since some of those users usually consume some data resources in a predictable way, e.g., watch such TV series during their commuting times and communication needs can thus be predicted based on their commuting behavior. If the DN 60 knows the requirements of the user and the CN 50 is aware of the mobility pattern of the user, then the cooperation between the DN 60 and the CN 50 can allow placing the requested resources at the right place and time so that the user can efficiently consume them” [Garcia Morchon ¶ 95]. “In step 309, the UE 10 may schedule the handover in advance” [Garcia Morchon ¶ 106]. “For instance, if the user is willing to watch a 2 h-long movie in a streaming service (e.g. a content platform (CP)) the UE 10 can expect that the whole data file will need to be streamed in the next 2 hours. This is data that needs to be delivered from the streaming service through the mobile network (i.e. CN 50 and RAN)” [Garcia Morchon ¶ 94].
the determining comprising accessing historical data “It is noted that the CN 50, DN 60 and streaming application can also predict the behavior of the user and his needs. For instance, if a user watches an episode of a television (TV) series every evening, the DN 60 can identify the communication needs of the user. This might also apply to users who commute, since some of those users usually consume some data resources in a predictable way, e.g., watch such TV series during their commuting times and communication needs can thus be predicted based on their commuting behavior. If the DN 60 knows the requirements of the user and the CN 50 is aware of the mobility pattern of the user, then the cooperation between the DN 60 and the CN 50 can allow placing the requested resources at the right place and time so that the user can efficiently consume them” [Garcia Morchon ¶ 95]. “This historical data can be used to select the best location for the mobile base station 30 to perform future data transfers” [Garcia Morchon ¶ 225].
and estimating a data transfer duration for the identified off-loadable computer task; “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226].
based on the identified off-loadable computer task, the scheduled time, “The CN 50 plans which of the mobile base stations will be in close vicinity of the user taking into account their current schedules. Based thereon, the CN 50 can identify which mobile base station can deliver which load to which UE taking into account at least one of the positions of each UE at time t, the positions of each mobile base station at time t, and the communication requirements of a user at time t” [Garcia Morchon ¶ 97].
and the estimated data transfer duration, “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226].
automatically identifying one or more available computing devices from the plurality of computing devices for processing the identified off-loadable computer task, “The CN 50 plans which of the mobile base stations will be in close vicinity of the user taking into account their current schedules. Based thereon, the CN 50 can identify which mobile base station can deliver which load to which UE taking into account at least one of the positions of each UE at time t, the positions of each mobile base station at time t, and the communication requirements of a user at time t” [Garcia Morchon ¶ 97].
by computing an expected connectivity window for a respective computing device “A simple exemplary strategy may consist in checking which mobile base station is going to be close to the UE 10 next, and whether the available communication link between the UE 10 and a potential mobile base station will be enough to handle the communication requirements of the UE 10. The available communication link refers to the available communication resources when the UE 10 and the potential mobile base station encounter taking into account the distance and expected duration (expected connectivity window) of the communication link” [Garcia Morchon ¶ 98].
based on travel information and network connectivity prediction data associated with the respective computing device and comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration, and the estimated data transfer duration, wherein the expected connectivity window comprises a predicted time interval of sufficient connectivity for the respective computing device to complete one or more data transfers associated with the identified off-loadable computer task; “This historical data can be used to select the best location for the mobile base station 30 to perform future data transfers. The selection can be based on information from a specific mobile base station or from multiple base stations. Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 225-226]. “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229]. “In this example, it is beneficial if the UE 10 can request the download of the series and schedule their delivery through a suitable mobile relay in the vicinity of the user, e.g., bus number 45 that is arriving at the bus stop in a few instants. The data transfer 220 from bus number 45 with mobile base station (gNB) 30 to UE 10 is performed at time T3 and location L3” [Garcia Morchon ¶ 74].
and in response to automatically identifying the one or more available computing devices for processing the identified off-loadable computer task, selecting the computing device from the one or more available computing devices for processing the off-loadable computer task, “In step 304, the CN 50 informs a chosen mobile base station 30 about a presence of a user along the route of the mobile base station 30, data requirements of the user of the UE 10, and/or the position of the UE 10, so that the mobile base station 30 can pre-optimize transmission parameters, e.g., beamforming or frequency or pre-allocate transmission resources” [Garcia Morchon ¶ 99].
wherein, in response to selecting a moving edge computing device as the selected computing device, causing, by a server, the selected moving edge computing device to initiate proactive data transfer operations “In step 305, the CN 50 allocates resources at the mobile base station 30, e.g., triggered by the DN request. These resources can be storage resources to cache the data transfer or communication resources to perform the data transfer. The CN 50 starts a local download of the resources required by the user to the mobile base station 30 (e.g. caching, as in a content delivery network). In step 306, data caching or local storage might be performed at the mobile base station 30” [Garcia Morchon ¶ 100-101]. “As the above optimization is based on positioning information of the mobile access device, the communication can be prepared in advance in such a way that data communication is not affected, the upload or download of a related file is put on hold in the macro cell e.g. since it is currently overloaded, the mobile access device starts caching the upload or download of the requested data, and the target and mobile access devices can be made aware of their positions/trajectories to adapt and plan their radio access network (RAN) communication settings” [Garcia Morchon ¶ 22].
determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur “The cell switch conditions delivered to the UE in the CHO configuration message may include at least one of … the timing at which the mobile base station is predicted to be in communication range taking into account its positioning information (e.g., current location, speed, acceleration, rotation, ... ), and the timing at which the mobile base station is predicted to be outside of communication range taking into account its positioning information (e.g., current location and speed)” [Garcia Morchon ¶ 126]. “Here, a total signal loss may be predicted based on knowledge of the location, dimension and parameters for every tree or building and terrain feature in the area to be covered” [Garcia Morchon ¶ 220].
when a remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229 Examiner notes the determination that a moving edge computing device should reduce its speed in order to allow the whole data transfer to complete is considered a determination that a remaining portion of the connectivity window is less than the estimated data transfer duration].
to execute the identified off-loadable computer task “The basic idea behind MEC is that by running applications and performing related processing tasks closer to the cellular customer, network congestion is reduced and applications perform better” [Garcia Morchon ¶ 167].
and upload results upon connectivity restoration. “The data transfer finishes at location pc2, i.e., pc2<pb2, so that the end-to-end latency can be minimized since as soon as the macro base station 20 has the uploaded data from the mobile base station 30, the macro base station 20 can forward this data further towards the UE 10 (or towards the CN 50 in the case of an uplink communication)” [Garcia Morchon ¶ 231]. “The idea of this embodiment is that the downlink communication is routed through the mobile base station (gNB) 30 and the data is cached at the mobile base station 30 until it can be delivered … In step 607, data is cached at the mobile base station 30 since the UE 10 is not connected yet. In step 608, the UE 10 is connected and the cached data is transferred to the UE 10, e.g., when the mobile base station 30 is at location L3 of FIG. 2” [Garcia Morchon ¶ 192, 200-201].
Garcia Morchon fails to explicitly teach and an amount of time necessary for processing the identified off-loadable computer task, to predict a processing duration; the predicted processing duration, comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration.
However, O’Grady teaches:
and an amount of time necessary for processing the identified off-loadable computer task, “The vehicle range predictor 140 can determine the threshold length of time by predicting a length of time for the available computational resources of the second electric vehicle 110 to perform the operation or the process that results from splitting the operation into multiple processes” [O’Grady Col. 12 Lines 16-21].
to predict a processing duration “The vehicle range predictor 140 can determine the threshold length of time by predicting a length of time for the available computational resources of the second electric vehicle 110 to perform the operation or the process that results from splitting the operation into multiple processes” [O’Grady Col. 12 Lines 16-21].
the predicted processing duration, “The vehicle range predictor 140 can determine the threshold length of time by predicting a length of time for the available computational resources of the second electric vehicle 110 to perform the operation or the process that results from splitting the operation into multiple processes” [O’Grady Col. 12 Lines 16-21].
comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration, “The vehicle range predictor 140 can predict a length of time that the first electric vehicle 105 and the second electric vehicle 110 will be within a predefined distance from each other. The predefined distance may be a distance for the radio communication circuit 150 to communicate with the radio communication circuit 205.… The vehicle range predictor 140 can compare the length of time to a threshold length of time. The threshold length of time can be based on a predicted length of time for the second electric vehicle 110 to perform a process for distributed processing” [O’Grady Col. 11 Lines 48-51, 60-64].
O’Grady is considered to be analogous to the claimed invention because it is in the same field of techniques for rebalancing the load in a distributed system. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon to incorporate the teachings of O’Grady and include an amount of time necessary for processing the identified off-loadable computer task, to predict a processing duration; the predicted processing duration, comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration. Doing so would allow for the system to take into account a predicted processing duration in the offloading of tasks. “A first electric vehicle can receive a message from at least one second electric vehicle, or multiple messages from multiple vehicles, and determine whether a particular resource intensive operation of the first vehicle should be distributed to the second electric vehicle” [O’Grady Col. 1 Lines 30-35].
Garcia Morchon in view of O’Grady fails to explicitly teach initiate proactive data transfer operations responsive to determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur.
However, Rawat teaches initiate proactive data transfer operations responsive to determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur “The exemplary embodiments are related to a user equipment (UE) performing a pre-fetch operation to download data in a preparatory (or anticipatory) manner for one or more select applications over a first data exchange rate connection prior to disconnecting therefrom and subsequently connecting to a second, lower data exchange rate connection. Specifically, the exemplary embodiments are described herein where the pre-fetch operation is performed upon a determination that the UE may imminently disconnect from a WiFi connection, e.g., within a predetermined amount of time and connect to a cellular network.” [Rawat ¶ 10].
Rawat is considered to be analogous to the claimed invention because it is in the same field of indexing scheme relating to proximity. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady to incorporate the teachings of Rawat and include initiate proactive data transfer operations responsive to determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur. Doing so would allow for the timing of data transfer operations to be further optimized. “As will be described in further detail below, the pre-fetch operation may enable the UE to exchange data over the WiFi connection, where the cellular connection would have otherwise been used” [Rawat ¶ 10].
Garcia Morchon in view of O’Grady in view of Rawat fails to explicitly teach to execute the identified off-loadable computer task during lost connectivity and upload results upon connectivity restoration.
However, Gil teaches to execute the identified off-loadable computer task during lost connectivity and upload results upon connectivity restoration. “The device-side Playbooks can run data collection case tasks offline repeatedly until the sensor-based collection node is reconnected with the server for transfer using secure communication channels from wearable devices 1020 or other devices 1015.” [Gil ¶ 68].
Gil is considered to be analogous to the claimed invention because it is in the same field of techniques for rebalancing the load in a distributed system. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady in view of Rawat to incorporate the teachings of Gil and include execute the identified off-loadable computer task during lost connectivity and upload results upon connectivity restoration. Doing so would allow for the timing of data transfer operations to be further optimized. “The central processing unit for the multitude of sensor inputs is shifted from data centers with servers to handheld portable devices or onboard computers running the Playbook logic offline and disconnected from the network. The data only synchronizes with the network when there is a connection and when it is necessary to exchange data with other devices or update the device code over the air” [Gil ¶ 101].
With regard to claim 9, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer system of claim 8, as referenced above. Garcia Morchon further teaches:
wherein determining the scheduled time for processing the identified off-loadable computer task and the amount of time necessary for processing the identified off-loadable computer task further comprises: determining a size of a data associated with the identified off-loadable computer task “From this point of view, the CN should be in charge of balancing the load on the mobile base stations based on the amount of data they can handle and also the timing and quality of the communication link that the mobile base stations can establish” [Garcia Morchon ¶ 281]. “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226].
and whether processing the identified off-loadable computer task requires downloading and uploading data. “When the mobile base station 30 receives the request for transferring data to the UE 10 in its downlink, the mobile base station 30 may check the location of the UE 10 to select the "throughput curve" that suits the UE 10 best. This may be based on historical data, a propagation model, a combination thereof, etc. With the selected "throughput curve", the mobile base station 30 can select when data upload/download should start depending on the optimization goals, similar to the middle and lower curves of FIG. 8” [Garcia Morchon ¶ 235]. “In step 301, the UE 10 announces bandwidth/processing needs. This can be notified to the CN 50 or the UE 10 might notify a third-party application at a given data network. For instance, the UE 10 can announce that it requires the download of a specific data file” [Garcia Morchon ¶ 94]. “For instance, this can apply to use cases in which it is desired to optimize the upload of data from the UE towards the CN” [Garcia Morchon ¶ 128].
With regard to claim 12, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer system of claim 8, as referenced above. Garcia Morchon further teaches:
wherein in response to determining that the predicted connectivity loss will occur when the remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, causing, by the server, the selected moving edge computing device to further perform a proactive measure comprising: pre-fetching downloadable content associated with the identified off-loadable computer task for the selected moving edge computing device before the scheduled time for processing the identified off-loadable computer task. “As another option, allocated resources may be deployed in advance to the mobile base station 30 by means of a semi-persistent scheduling approach in which the allocated resources are deployed by means of an RRC message” [Garcia Morchon ¶ 218]. “However, the network connectivity at his current location---the accident area---is insufficient, in particular, to download some bulkier files in the EHR of the patients. In this situation, it is beneficial if Tom's UE could schedule the download of the EHR. This could be done by means of a relay mounted on one of the ambulances that are already approaching the accident area. This example can also be illustrated by means of FIG. 2. At location L0 and time T0 the EHR data transfer is requested by the UE. The AMR caches this EHR data. When the AMR is at location L3 at time T3, the AMR can rapidly deliver the requested EHR data to Tom's UE” [Garcia Morchon ¶ 85].
With regard to claim 15, Garcia Morchon teaches:
A computer program product for automatically selecting a computing device, among a plurality of computing devices in a collaborative computing environment, to offload and process a computer task, comprising: “The MEC network architecture concept enables cloud computing capabilities and an IT service environment at the edge of a cellular network (e.g. 5G network) or any other network. The basic idea behind MEC is that by running applications and performing related processing tasks closer to the cellular customer, network congestion is reduced and applications perform better” [Garcia Morchon ¶ 167]. “the network system may be able to provide a means to perform load balancing among mobile base station relays (this requirement is intended to provide the capability for the network system (UEs and mobile base stations) to be able to optimize the load of network resources whenever possible…” [Garcia Morchon ¶ 246].
one or more tangible computer readable storage devices and program instructions stored on at least one of the one or more tangible computer readable storage devices, the program instructions executable by a processor, the program instructions comprising: “It is noted that the above apparatus may be implemented based on discrete hardware circuitries with discrete hardware components, integrated chips, or arrangements of chip modules, or based on signal processing devices or chips controlled by software routines or programs stored in memories, written on a computer readable media, or downloaded from a network, such as the Internet” [Garcia Morchon ¶ 40]. “A single processor or other unit may fulfil the functions of several items recited in the claims” [Garcia Morchon ¶ 296].
automatically identifying an off-loadable computer task to be offloaded from a first computing device to a second computing device from the plurality of computing devices, “For instance, a user, Tom, is waiting for bus number 23. While doing so, Tom is watching his preferred series of a video streaming service via his UE 10. He is also having a call with a friend. However, Tom's network connectivity at his current location is insufficient, in particular, to handle the video streaming service, since the donor gNB 20 is far away from his UE 10. In this example, it is beneficial if the UE 10 can request the download of the series and schedule their delivery through a suitable mobile relay in the vicinity of the user, e.g., bus number 45 that is arriving at the bus stop in a few instants. The data transfer 220 from bus number 45 with mobile base station (gNB) 30 to UE 10 is performed at time T3 and location L3” [Garcia Morchon ¶ 74].
wherein the plurality of computing devices comprises a combination of stationary edge computing devices and moving edge computing devices; “the network system may be able to provide a means to perform load balancing among mobile base station relays (this requirement is intended to provide the capability for the network system (UEs and mobile base stations) to be able to optimize the load of network resources whenever possible…” [Garcia Morchon ¶ 246]. “The donor access device might be a macro cell or any other cell, e.g., pico/femto/small cell, stationary or mobile, capable of providing connectivity to the mobile access device” [Garcia Morchon ¶ 21]. “FIG. 4 schematically shows a signaling and processing diagram for a data distribution in a mobile edge or multi-access edge computing (MEC) environment according to an embodiment” [Garcia Morchon ¶ 166].
determining a scheduled time for processing the identified off-loadable computer task “It is noted that the CN 50, DN 60 and streaming application can also predict the behavior of the user and his needs. For instance, if a user watches an episode of a television (TV) series every evening, the DN 60 can identify the communication needs of the user. This might also apply to users who commute, since some of those users usually consume some data resources in a predictable way, e.g., watch such TV series during their commuting times and communication needs can thus be predicted based on their commuting behavior. If the DN 60 knows the requirements of the user and the CN 50 is aware of the mobility pattern of the user, then the cooperation between the DN 60 and the CN 50 can allow placing the requested resources at the right place and time so that the user can efficiently consume them” [Garcia Morchon ¶ 95]. “In step 309, the UE 10 may schedule the handover in advance” [Garcia Morchon ¶ 106]. “For instance, if the user is willing to watch a 2 h-long movie in a streaming service (e.g. a content platform (CP)) the UE 10 can expect that the whole data file will need to be streamed in the next 2 hours. This is data that needs to be delivered from the streaming service through the mobile network (i.e. CN 50 and RAN)” [Garcia Morchon ¶ 94].
the determining comprising accessing historical data “It is noted that the CN 50, DN 60 and streaming application can also predict the behavior of the user and his needs. For instance, if a user watches an episode of a television (TV) series every evening, the DN 60 can identify the communication needs of the user. This might also apply to users who commute, since some of those users usually consume some data resources in a predictable way, e.g., watch such TV series during their commuting times and communication needs can thus be predicted based on their commuting behavior. If the DN 60 knows the requirements of the user and the CN 50 is aware of the mobility pattern of the user, then the cooperation between the DN 60 and the CN 50 can allow placing the requested resources at the right place and time so that the user can efficiently consume them” [Garcia Morchon ¶ 95]. “This historical data can be used to select the best location for the mobile base station 30 to perform future data transfers” [Garcia Morchon ¶ 225].
and estimating a data transfer duration for the identified off-loadable computer task; “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226].
based on the identified off-loadable computer task, the scheduled time, “The CN 50 plans which of the mobile base stations will be in close vicinity of the user taking into account their current schedules. Based thereon, the CN 50 can identify which mobile base station can deliver which load to which UE taking into account at least one of the positions of each UE at time t, the positions of each mobile base station at time t, and the communication requirements of a user at time t” [Garcia Morchon ¶ 97].
and the estimated data transfer duration, “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226].
automatically identifying one or more available computing devices from the plurality of computing devices for processing the identified off-loadable computer task, “The CN 50 plans which of the mobile base stations will be in close vicinity of the user taking into account their current schedules. Based thereon, the CN 50 can identify which mobile base station can deliver which load to which UE taking into account at least one of the positions of each UE at time t, the positions of each mobile base station at time t, and the communication requirements of a user at time t” [Garcia Morchon ¶ 97].
by computing an expected connectivity window for a respective computing device “A simple exemplary strategy may consist in checking which mobile base station is going to be close to the UE 10 next, and whether the available communication link between the UE 10 and a potential mobile base station will be enough to handle the communication requirements of the UE 10. The available communication link refers to the available communication resources when the UE 10 and the potential mobile base station encounter taking into account the distance and expected duration (expected connectivity window) of the communication link” [Garcia Morchon ¶ 98].
based on travel information and network connectivity prediction data associated with the respective computing device and comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration, and the estimated data transfer duration, wherein the expected connectivity window comprises a predicted time interval of sufficient connectivity for the respective computing device to complete one or more data transfers associated with the identified off-loadable computer task; “This historical data can be used to select the best location for the mobile base station 30 to perform future data transfers. The selection can be based on information from a specific mobile base station or from multiple base stations. Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 225-226]. “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229]. “In this example, it is beneficial if the UE 10 can request the download of the series and schedule their delivery through a suitable mobile relay in the vicinity of the user, e.g., bus number 45 that is arriving at the bus stop in a few instants. The data transfer 220 from bus number 45 with mobile base station (gNB) 30 to UE 10 is performed at time T3 and location L3” [Garcia Morchon ¶ 74].
and in response to automatically identifying the one or more available computing devices for processing the identified off-loadable computer task, selecting the computing device from the one or more available computing devices for processing the off-loadable computer task, “In step 304, the CN 50 informs a chosen mobile base station 30 about a presence of a user along the route of the mobile base station 30, data requirements of the user of the UE 10, and/or the position of the UE 10, so that the mobile base station 30 can pre-optimize transmission parameters, e.g., beamforming or frequency or pre-allocate transmission resources” [Garcia Morchon ¶ 99].
wherein, in response to selecting a moving edge computing device as the selected computing device, causing, by a server, the selected moving edge computing device to initiate proactive data transfer operations “In step 305, the CN 50 allocates resources at the mobile base station 30, e.g., triggered by the DN request. These resources can be storage resources to cache the data transfer or communication resources to perform the data transfer. The CN 50 starts a local download of the resources required by the user to the mobile base station 30 (e.g. caching, as in a content delivery network). In step 306, data caching or local storage might be performed at the mobile base station 30” [Garcia Morchon ¶ 100-101]. “As the above optimization is based on positioning information of the mobile access device, the communication can be prepared in advance in such a way that data communication is not affected, the upload or download of a related file is put on hold in the macro cell e.g. since it is currently overloaded, the mobile access device starts caching the upload or download of the requested data, and the target and mobile access devices can be made aware of their positions/trajectories to adapt and plan their radio access network (RAN) communication settings” [Garcia Morchon ¶ 22].
determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur “The cell switch conditions delivered to the UE in the CHO configuration message may include at least one of … the timing at which the mobile base station is predicted to be in communication range taking into account its positioning information (e.g., current location, speed, acceleration, rotation, ... ), and the timing at which the mobile base station is predicted to be outside of communication range taking into account its positioning information (e.g., current location and speed)” [Garcia Morchon ¶ 126]. “Here, a total signal loss may be predicted based on knowledge of the location, dimension and parameters for every tree or building and terrain feature in the area to be covered” [Garcia Morchon ¶ 220].
when a remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229 Examiner notes the determination that a moving edge computing device should reduce its speed in order to allow the whole data transfer to complete is considered a determination that a remaining portion of the connectivity window is less than the estimated data transfer duration].
to execute the identified off-loadable computer task “The basic idea behind MEC is that by running applications and performing related processing tasks closer to the cellular customer, network congestion is reduced and applications perform better” [Garcia Morchon ¶ 167].
and upload results upon connectivity restoration. “The data transfer finishes at location pc2, i.e., pc2<pb2, so that the end-to-end latency can be minimized since as soon as the macro base station 20 has the uploaded data from the mobile base station 30, the macro base station 20 can forward this data further towards the UE 10 (or towards the CN 50 in the case of an uplink communication)” [Garcia Morchon ¶ 231]. “The idea of this embodiment is that the downlink communication is routed through the mobile base station (gNB) 30 and the data is cached at the mobile base station 30 until it can be delivered … In step 607, data is cached at the mobile base station 30 since the UE 10 is not connected yet. In step 608, the UE 10 is connected and the cached data is transferred to the UE 10, e.g., when the mobile base station 30 is at location L3 of FIG. 2” [Garcia Morchon ¶ 192, 200-201].
Garcia Morchon fails to explicitly teach and an amount of time necessary for processing the identified off-loadable computer task, to predict a processing duration; the predicted processing duration, comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration.
However, O’Grady teaches:
and an amount of time necessary for processing the identified off-loadable computer task, “The vehicle range predictor 140 can determine the threshold length of time by predicting a length of time for the available computational resources of the second electric vehicle 110 to perform the operation or the process that results from splitting the operation into multiple processes” [O’Grady Col. 12 Lines 16-21].
to predict a processing duration “The vehicle range predictor 140 can determine the threshold length of time by predicting a length of time for the available computational resources of the second electric vehicle 110 to perform the operation or the process that results from splitting the operation into multiple processes” [O’Grady Col. 12 Lines 16-21].
the predicted processing duration, “The vehicle range predictor 140 can determine the threshold length of time by predicting a length of time for the available computational resources of the second electric vehicle 110 to perform the operation or the process that results from splitting the operation into multiple processes” [O’Grady Col. 12 Lines 16-21].
comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration, “The vehicle range predictor 140 can predict a length of time that the first electric vehicle 105 and the second electric vehicle 110 will be within a predefined distance from each other. The predefined distance may be a distance for the radio communication circuit 150 to communicate with the radio communication circuit 205.… The vehicle range predictor 140 can compare the length of time to a threshold length of time. The threshold length of time can be based on a predicted length of time for the second electric vehicle 110 to perform a process for distributed processing” [O’Grady Col. 11 Lines 48-51, 60-64].
O’Grady is considered to be analogous to the claimed invention because it is in the same field of techniques for rebalancing the load in a distributed system. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon to incorporate the teachings of O’Grady and include an amount of time necessary for processing the identified off-loadable computer task, to predict a processing duration; the predicted processing duration, comparing the expected connectivity window for the respective computing device to the scheduled time, the predicted processing duration. Doing so would allow for the system to take into account a predicted processing duration in the offloading of tasks. “A first electric vehicle can receive a message from at least one second electric vehicle, or multiple messages from multiple vehicles, and determine whether a particular resource intensive operation of the first vehicle should be distributed to the second electric vehicle” [O’Grady Col. 1 Lines 30-35].
Garcia Morchon in view of O’Grady fails to explicitly teach initiate proactive data transfer operations responsive to determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur.
However, Rawat teaches initiate proactive data transfer operations responsive to determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur “The exemplary embodiments are related to a user equipment (UE) performing a pre-fetch operation to download data in a preparatory (or anticipatory) manner for one or more select applications over a first data exchange rate connection prior to disconnecting therefrom and subsequently connecting to a second, lower data exchange rate connection. Specifically, the exemplary embodiments are described herein where the pre-fetch operation is performed upon a determination that the UE may imminently disconnect from a WiFi connection, e.g., within a predetermined amount of time and connect to a cellular network.” [Rawat ¶ 10].
Rawat is considered to be analogous to the claimed invention because it is in the same field of indexing scheme relating to proximity. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady to incorporate the teachings of Rawat and include initiate proactive data transfer operations responsive to determining, based on the travel information and the network connectivity prediction data associated with the selected moving edge computing device, that a predicted connectivity loss will occur. Doing so would allow for the timing of data transfer operations to be further optimized. “As will be described in further detail below, the pre-fetch operation may enable the UE to exchange data over the WiFi connection, where the cellular connection would have otherwise been used” [Rawat ¶ 10].
Garcia Morchon in view of O’Grady in view of Rawat fails to explicitly teach to execute the identified off-loadable computer task during lost connectivity and upload results upon connectivity restoration.
However, Gil teaches to execute the identified off-loadable computer task during lost connectivity and upload results upon connectivity restoration. “The device-side Playbooks can run data collection case tasks offline repeatedly until the sensor-based collection node is reconnected with the server for transfer using secure communication channels from wearable devices 1020 or other devices 1015.” [Gil ¶ 68].
Gil is considered to be analogous to the claimed invention because it is in the same field of techniques for rebalancing the load in a distributed system. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady in view of Rawat to incorporate the teachings of Gil and include execute the identified off-loadable computer task during lost connectivity and upload results upon connectivity restoration. Doing so would allow for the timing of data transfer operations to be further optimized. “The central processing unit for the multitude of sensor inputs is shifted from data centers with servers to handheld portable devices or onboard computers running the Playbook logic offline and disconnected from the network. The data only synchronizes with the network when there is a connection and when it is necessary to exchange data with other devices or update the device code over the air” [Gil ¶ 101].
With regard to claim 16, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer program product of claim 15, as referenced above. Garcia Morchon further teaches:
wherein determining the scheduled time for processing the identified off-loadable computer task and the amount of time necessary for processing the identified off-loadable computer task further comprises: determining a size of a data associated with the identified off-loadable computer task “From this point of view, the CN should be in charge of balancing the load on the mobile base stations based on the amount of data they can handle and also the timing and quality of the communication link that the mobile base stations can establish” [Garcia Morchon ¶ 281]. “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226].
and whether processing the identified off-loadable computer task requires downloading and uploading data. “When the mobile base station 30 receives the request for transferring data to the UE 10 in its downlink, the mobile base station 30 may check the location of the UE 10 to select the "throughput curve" that suits the UE 10 best. This may be based on historical data, a propagation model, a combination thereof, etc. With the selected "throughput curve", the mobile base station 30 can select when data upload/download should start depending on the optimization goals, similar to the middle and lower curves of FIG. 8” [Garcia Morchon ¶ 235]. “In step 301, the UE 10 announces bandwidth/processing needs. This can be notified to the CN 50 or the UE 10 might notify a third-party application at a given data network. For instance, the UE 10 can announce that it requires the download of a specific data file” [Garcia Morchon ¶ 94]. “For instance, this can apply to use cases in which it is desired to optimize the upload of data from the UE towards the CN” [Garcia Morchon ¶ 128].
With regard to claim 19, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer program product of claim 15, as referenced above. Garcia Morchon further teaches:
wherein in response to determining that the predicted connectivity loss will occur when the remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, causing, by the server, the selected moving edge computing device to further perform a proactive measure comprising: pre-fetching downloadable content associated with the identified off-loadable computer task for the selected moving edge computing device before the scheduled time for processing the identified off-loadable computer task. “As another option, allocated resources may be deployed in advance to the mobile base station 30 by means of a semi-persistent scheduling approach in which the allocated resources are deployed by means of an RRC message” [Garcia Morchon ¶ 218]. “However, the network connectivity at his current location---the accident area---is insufficient, in particular, to download some bulkier files in the EHR of the patients. In this situation, it is beneficial if Tom's UE could schedule the download of the EHR. This could be done by means of a relay mounted on one of the ambulances that are already approaching the accident area. This example can also be illustrated by means of FIG. 2. At location L0 and time T0 the EHR data transfer is requested by the UE. The AMR caches this EHR data. When the AMR is at location L3 at time T3, the AMR can rapidly deliver the requested EHR data to Tom's UE” [Garcia Morchon ¶ 85].
Claims 3-4, 10-11, and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over Garcia Morchon (US 2024/0373312 A1) in view of O’Grady (US 11,638,133 B1) in view of Rawat (US 2019/0098532 A1) in view of Gil (US 2017/0207926 A1) in view of Cadambi (US 2014/0237477 A1).
With regard to claim 3, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer-implemented method of claim 1, as referenced above. Garcia Morchon further teaches wherein the historical data associated with the identified off-loadable computer task includes stored data based on previous processing “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226]. “The mobile base station 30 may need to be aware of the position of the UE 10 since then the mobile base station 30 can check historical data from previous UEs that were located at that the current UE position” [Garcia Morchon ¶ 234].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach wherein the historical data associated with the identified off-loadable computer task includes stored data based on previous processing of the identified off-loadable computer task.
However, Cadambi teaches wherein the historical data associated with the identified off-loadable computer task includes stored data based on previous processing of the identified off-loadable computer task. “To predict the processing time of the next offload of a task, a history-based method examines that the previous H offloads, where H is a configuration parameter specified by the cluster administrator. At the beginning when no historical information is available for a task, the offload's predicted processing time defaults to the task's processing time specified by the user. If the history has fewer than H entries, all available entries are used. The current method uses simple linear interpolation of the task's previous offloads' measured times in order to predict the processing time of the task's next offload” [Cadambi ¶ 111-112].
Cadambi is considered to be analogous to the claimed invention because it is in the same field of multiprogramming arrangements. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady in view of Rawat in view of Gil to incorporate the teachings of Cadambi and include that the historical data associated with the identified off-loadable computer task includes stored data based on previous processing of the identified off-loadable computer task. Doing so would allow for improved processing predictions to achieve a fulfilled quality of service to users. “Achieving QoS List scheduling. Penalize processes or offloads that under-request time on resources. Use criticality function to ensure processes or offloads that have been waiting are preferentially scheduled” [Cadambi Table 1].
With regard to claim 4, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer-implemented method of claim 1, as referenced above. Garcia Morchon further teaches:
and tracking a computer resource information, the travel information, and the network connectivity prediction data associated with each of the plurality of computing devices in the list of the plurality of computing devices based on real-time data and the historical data associated with each of the plurality of computing devices. “Another option for optimizing the connectivity can be to select the best location for the data transfer. This selection can be done by collecting data regarding the communication quality (throughput, latency, ...) from one or multiple mobile base stations along their route by keeping track of the data and by using it to select the most suitable starting time for the uplink/downlink communication between mobile base station 30 and the macro base station” [Garcia Morchon ¶ 220]. “In general, data regarding QCI, throughput, latency, signal strength, signal to noise ratio, etc. is monitored by the macro base station 20, e.g., by using feedback from the mobile base station 30. The macro base station 20 keeps track of historical data” [Garcia Morchon ¶ 223]. “When the donor gNB measures a suitable communication link with the UE through the RF repeater, the donor gNB will transmit/receive data to/from the UE through the RF repeater mounted on the vehicle while the donor gNB controls its communication parameters (e.g., beam forming) to keep tracking the RF repeater and controls the communication parameters of the RF repeater so that the communication parameters (e.g., beam forming) of the RF repeater are aligned with the UE and donor gNB based on the mobility pattern of the vehicle including measurements/ information from the RF repeater mounted on the vehicle reported to the donor gNB related to its (e.g., current/real-time/future) mobility pattern” [Garcia Morchon ¶ 144]. “The CN 50 plans which of the mobile base stations will be in close vicinity of the user taking into account their current schedules (travel information). Based thereon, the CN 50 can identify which mobile base station can deliver which load to which UE taking into account at least one of the positions of each UE at time t, the positions of each mobile base station at time t, and the communication requirements of a user at time t” [Garcia Morchon ¶ 97]. “A simple exemplary strategy may consist in checking which mobile base station is going to be close to the UE 10 next, and whether the available communication link between the UE 10 and a potential mobile base station will be enough to handle the communication requirements (network connectivity data) of the UE 10. The available communication link refers to the available communication resources (computer resource information) when the UE 10 and the potential mobile base station encounter taking into account the distance and expected duration of the communication link” [Garcia Morchon ¶ 98].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach wherein automatically identifying the one or more available computing devices from the plurality of computing devices for processing the identified off-loadable computer task further comprises: maintaining a list of the plurality of computing devices in the collaborative computing environment.
However, Cadambi teaches wherein automatically identifying the one or more available computing devices from the plurality of computing devices for processing the identified off-loadable computer task further comprises: maintaining a list of the plurality of computing devices in the collaborative computing environment; “Next, the method determines criticalities for all elements in the process or offload list, and sorts the list based on criticality (criticality is any function of priority, age, waiting time, QoS and credits)… To do this, it checks a device in a list of devices in block 532, determines whether the processor D has enough memory to complete the task in block 532, and continues down the list until either block 536 determines that all of the devices have been checked or until a processor is found with enough memory in block 534” [Cadambi ¶ 94].
With regard to claim 10, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer system of claim 8, as referenced above. Garcia Morchon further teaches wherein the historical data associated with the identified off-loadable computer task includes stored data based on previous processing “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226]. “The mobile base station 30 may need to be aware of the position of the UE 10 since then the mobile base station 30 can check historical data from previous UEs that were located at that the current UE position” [Garcia Morchon ¶ 234].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach wherein the historical data associated with the identified off-loadable computer task includes stored data based on previous processing of the identified off-loadable computer task.
However, Cadambi teaches wherein the historical data associated with the identified off-loadable computer task includes stored data based on previous processing of the identified off-loadable computer task. “To predict the processing time of the next offload of a task, a history-based method examines that the previous H offloads, where H is a configuration parameter specified by the cluster administrator. At the beginning when no historical information is available for a task, the offload's predicted processing time defaults to the task's processing time specified by the user. If the history has fewer than H entries, all available entries are used. The current method uses simple linear interpolation of the task's previous offloads' measured times in order to predict the processing time of the task's next offload” [Cadambi ¶ 111-112].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady in view of Rawat in view of Gil to incorporate the teachings of Cadambi and include that the historical data associated with the identified off-loadable computer task includes stored data based on previous processing of the identified off-loadable computer task. Doing so would allow for improved processing predictions to achieve a fulfilled quality of service to users. “Achieving QoS List scheduling. Penalize processes or offloads that under-request time on resources. Use criticality function to ensure processes or offloads that have been waiting are preferentially scheduled” [Cadambi Table 1].
With regard to claim 11, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer system of claim 8, as referenced above. Garcia Morchon further teaches:
and tracking a computer resource information, the travel information, and the network connectivity prediction data associated with each of the plurality of computing devices in the list of the plurality of computing devices based on real-time data and the historical data associated with each of the plurality of computing devices. “Another option for optimizing the connectivity can be to select the best location for the data transfer. This selection can be done by collecting data regarding the communication quality (throughput, latency, ...) from one or multiple mobile base stations along their route by keeping track of the data and by using it to select the most suitable starting time for the uplink/downlink communication between mobile base station 30 and the macro base station” [Garcia Morchon ¶ 220]. “In general, data regarding QCI, throughput, latency, signal strength, signal to noise ratio, etc. is monitored by the macro base station 20, e.g., by using feedback from the mobile base station 30. The macro base station 20 keeps track of historical data” [Garcia Morchon ¶ 223]. “When the donor gNB measures a suitable communication link with the UE through the RF repeater, the donor gNB will transmit/receive data to/from the UE through the RF repeater mounted on the vehicle while the donor gNB controls its communication parameters (e.g., beam forming) to keep tracking the RF repeater and controls the communication parameters of the RF repeater so that the communication parameters (e.g., beam forming) of the RF repeater are aligned with the UE and donor gNB based on the mobility pattern of the vehicle including measurements/ information from the RF repeater mounted on the vehicle reported to the donor gNB related to its (e.g., current/real-time/future) mobility pattern” [Garcia Morchon ¶ 144]. “The CN 50 plans which of the mobile base stations will be in close vicinity of the user taking into account their current schedules (travel information). Based thereon, the CN 50 can identify which mobile base station can deliver which load to which UE taking into account at least one of the positions of each UE at time t, the positions of each mobile base station at time t, and the communication requirements of a user at time t” [Garcia Morchon ¶ 97]. “A simple exemplary strategy may consist in checking which mobile base station is going to be close to the UE 10 next, and whether the available communication link between the UE 10 and a potential mobile base station will be enough to handle the communication requirements (network connectivity data) of the UE 10. The available communication link refers to the available communication resources (computer resource information) when the UE 10 and the potential mobile base station encounter taking into account the distance and expected duration of the communication link” [Garcia Morchon ¶ 98].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach wherein automatically identifying the one or more available computing devices from the plurality of computing devices for processing the identified off-loadable computer task further comprises: maintaining a list of the plurality of computing devices in the collaborative computing environment.
However, Cadambi teaches wherein automatically identifying the one or more available computing devices from the plurality of computing devices for processing the identified off-loadable computer task further comprises: maintaining a list of the plurality of computing devices in the collaborative computing environment; “Next, the method determines criticalities for all elements in the process or offload list, and sorts the list based on criticality (criticality is any function of priority, age, waiting time, QoS and credits)… To do this, it checks a device in a list of devices in block 532, determines whether the processor D has enough memory to complete the task in block 532, and continues down the list until either block 536 determines that all of the devices have been checked or until a processor is found with enough memory in block 534” [Cadambi ¶ 94].
With regard to claim 17, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer program product of claim 15, as referenced above. Garcia Morchon further teaches wherein the historical data associated with the identified off-loadable computer task includes stored data based on previous processing “Since the macro base station 20 and the mobile base station 30 know the amount of data to transfer and are aware of the expected transfer rate based on the historical data (and the positioning information reported by the mobile base station 30), the macro base station 20 can select the best starting time (based on the positioning data reported by the mobile base station 30) of the data transfer to finish the whole data transfer according to a given optimization goal” [Garcia Morchon ¶ 226]. “The mobile base station 30 may need to be aware of the position of the UE 10 since then the mobile base station 30 can check historical data from previous UEs that were located at that the current UE position” [Garcia Morchon ¶ 234].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach wherein the historical data associated with the identified off-loadable computer task includes stored data based on previous processing of the identified off-loadable computer task.
However, Cadambi teaches wherein the historical data associated with the identified off-loadable computer task includes stored data based on previous processing of the identified off-loadable computer task. “To predict the processing time of the next offload of a task, a history-based method examines that the previous H offloads, where H is a configuration parameter specified by the cluster administrator. At the beginning when no historical information is available for a task, the offload's predicted processing time defaults to the task's processing time specified by the user. If the history has fewer than H entries, all available entries are used. The current method uses simple linear interpolation of the task's previous offloads' measured times in order to predict the processing time of the task's next offload” [Cadambi ¶ 111-112].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady in view of Rawat in view of Gil to incorporate the teachings of Cadambi and include that the historical data associated with the identified off-loadable computer task includes stored data based on previous processing of the identified off-loadable computer task. Doing so would allow for improved processing predictions to achieve a fulfilled quality of service to users. “Achieving QoS List scheduling. Penalize processes or offloads that under-request time on resources. Use criticality function to ensure processes or offloads that have been waiting are preferentially scheduled” [Cadambi Table 1].
With regard to claim 18, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer program product of claim 15, as referenced above. Garcia Morchon further teaches:
and tracking a computer resource information, the travel information, and the network connectivity prediction data associated with each of the plurality of computing devices in the list of the plurality of computing devices based on real-time data and the historical data associated with each of the plurality of computing devices. “Another option for optimizing the connectivity can be to select the best location for the data transfer. This selection can be done by collecting data regarding the communication quality (throughput, latency, ...) from one or multiple mobile base stations along their route by keeping track of the data and by using it to select the most suitable starting time for the uplink/downlink communication between mobile base station 30 and the macro base station” [Garcia Morchon ¶ 220]. “In general, data regarding QCI, throughput, latency, signal strength, signal to noise ratio, etc. is monitored by the macro base station 20, e.g., by using feedback from the mobile base station 30. The macro base station 20 keeps track of historical data” [Garcia Morchon ¶ 223]. “When the donor gNB measures a suitable communication link with the UE through the RF repeater, the donor gNB will transmit/receive data to/from the UE through the RF repeater mounted on the vehicle while the donor gNB controls its communication parameters (e.g., beam forming) to keep tracking the RF repeater and controls the communication parameters of the RF repeater so that the communication parameters (e.g., beam forming) of the RF repeater are aligned with the UE and donor gNB based on the mobility pattern of the vehicle including measurements/ information from the RF repeater mounted on the vehicle reported to the donor gNB related to its (e.g., current/real-time/future) mobility pattern” [Garcia Morchon ¶ 144]. “The CN 50 plans which of the mobile base stations will be in close vicinity of the user taking into account their current schedules (travel information). Based thereon, the CN 50 can identify which mobile base station can deliver which load to which UE taking into account at least one of the positions of each UE at time t, the positions of each mobile base station at time t, and the communication requirements of a user at time t” [Garcia Morchon ¶ 97]. “A simple exemplary strategy may consist in checking which mobile base station is going to be close to the UE 10 next, and whether the available communication link between the UE 10 and a potential mobile base station will be enough to handle the communication requirements (network connectivity data) of the UE 10. The available communication link refers to the available communication resources (computer resource information) when the UE 10 and the potential mobile base station encounter taking into account the distance and expected duration of the communication link” [Garcia Morchon ¶ 98].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach wherein automatically identifying the one or more available computing devices from the plurality of computing devices for processing the identified off-loadable computer task further comprises: maintaining a list of the plurality of computing devices in the collaborative computing environment.
However, Cadambi teaches wherein automatically identifying the one or more available computing devices from the plurality of computing devices for processing the identified off-loadable computer task further comprises: maintaining a list of the plurality of computing devices in the collaborative computing environment; “Next, the method determines criticalities for all elements in the process or offload list, and sorts the list based on criticality (criticality is any function of priority, age, waiting time, QoS and credits)… To do this, it checks a device in a list of devices in block 532, determines whether the processor D has enough memory to complete the task in block 532, and continues down the list until either block 536 determines that all of the devices have been checked or until a processor is found with enough memory in block 534” [Cadambi ¶ 94].
Claims 6-7, 13-14, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Garcia Morchon (US 2024/0373312 A1) in view of O’Grady (US 11,638,133 B1) in view of Rawat (US 2019/0098532 A1) in view of Gil (US 2017/0207926 A1) in view of Mondragon (US 11,012,873 B1).
With regard to claim 6, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer-implemented method of claim 1, as referenced above. Garcia Morchon further teaches wherein in response to determining that the predicted connectivity loss will occur when the remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, causing, by the server, the selected moving edge computing device to further perform a proactive measure comprising: (reduce the speed of) rerouting the selected moving edge computing device to maintain connectivity for processing the identified off-loadable computer task. “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach rerouting the selected moving edge computing device.
However, Mondragon teaches rerouting the selected moving edge computing device. “As further shown in FIG. 6, process 600 may include causing the one or more autonomous vehicles to be deployed for the portion of the wireless network, wherein the one or more autonomous vehicles are to provide a temporary wireless network for the portion of the wireless network (block 680)” [Mondragon Col. 20 Lines 19-24]. “For example, coverage platform 115 may provide, to the first quantity of autonomous vehicles, navigation instructions to a destination associated with the 5G coverage gap. The instructions may cause the first quantity of autonomous vehicles to autonomously travel to the destination. In this way, coverage platform 115 may provide comprehensive 5G coverage between gNBs 110 (e.g., for communication with user devices 105) in order to close the 5G coverage gap” [Mondragon Col. 5 Lines 37-45].
Mondragon is considered to be analogous to the claimed invention because it is in the same field of arrangements for system (re)configuration to improve network performance. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady in view of Rawat in view of Gil to incorporate the teachings of Mondragon and include rerouting the selected moving edge computing device. Doing so would allow for moving edge devices to complete computing tasks located away from their scheduled routes. “In some implementations, coverage platform 115 may provide any appropriate combination of autonomous vehicles capable of handling different ranges of traffic demands. In this way, coverage platform 115 may provide sufficient 5G coverage in the most efficient manner possible” [Mondragon Col. 6 Lines 48-53].
With regard to claim 7, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer-implemented method of claim 1, as referenced above. Garcia Morchon further teaches wherein in response to determining that the predicted connectivity loss will occur when the remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, causing, by the server, the selected moving edge computing device to further perform a proactive measure comprising: (reduce the speed) implementing a travel freeze at a point in time before the scheduled time for processing the identified off-loadable computer task. “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach implementing a travel freeze at a point in time before the scheduled time for processing the identified off-loadable computer task.
However, Mondragon teaches implementing a travel freeze at a point in time before the scheduled time for processing the identified off-loadable computer task. “As further shown in FIG. 1H, and by reference number 165, coverage platform 115 may cause the second quantity of the autonomous vehicles to be on standby at the location associated with the portion of the wireless network. For example, coverage platform 115 may instruct the second quantity of autonomous vehicles to be on standby (e.g., in case they need to be utilized for the 5G coverage gap), and the second quantity of autonomous vehicles cannot be utilized for another purpose until released from standby” [Mondragon Col. 5 Lines 58-66 Examiner notes this interpretation of a travel freeze is consistent with the description given in ¶ 43 of the instant specification].
With regard to claim 13, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer system of claim 8, as referenced above. Garcia Morchon further teaches wherein in response to determining that the predicted connectivity loss will occur when the remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, causing, by the server, the selected moving edge computing device to further perform a proactive measure comprising: (reduce the speed of) rerouting the selected moving edge computing device to maintain connectivity for processing the identified off-loadable computer task. “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach rerouting the selected moving edge computing device.
However, Mondragon teaches rerouting the selected moving edge computing device. “As further shown in FIG. 6, process 600 may include causing the one or more autonomous vehicles to be deployed for the portion of the wireless network, wherein the one or more autonomous vehicles are to provide a temporary wireless network for the portion of the wireless network (block 680)” [Mondragon Col. 20 Lines 19-24]. “For example, coverage platform 115 may provide, to the first quantity of autonomous vehicles, navigation instructions to a destination associated with the 5G coverage gap. The instructions may cause the first quantity of autonomous vehicles to autonomously travel to the destination. In this way, coverage platform 115 may provide comprehensive 5G coverage between gNBs 110 (e.g., for communication with user devices 105) in order to close the 5G coverage gap” [Mondragon Col. 5 Lines 37-45].
Mondragon is considered to be analogous to the claimed invention because it is in the same field of arrangements for system (re)configuration to improve network performance. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady in view of Rawat in view of Gil to incorporate the teachings of Mondragon and include rerouting the selected moving edge computing device. Doing so would allow for moving edge devices to complete computing tasks located away from their scheduled routes. “In some implementations, coverage platform 115 may provide any appropriate combination of autonomous vehicles capable of handling different ranges of traffic demands. In this way, coverage platform 115 may provide sufficient 5G coverage in the most efficient manner possible” [Mondragon Col. 6 Lines 48-53].
With regard to claim 14, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer system of claim 8, as referenced above. Garcia Morchon further teaches wherein in response to determining that the predicted connectivity loss will occur when the remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, causing, by the server, the selected moving edge computing device to further perform a proactive measure comprising: (reduce the speed) implementing a travel freeze at a point in time before the scheduled time for processing the identified off-loadable computer task. “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach implementing a travel freeze at a point in time before the scheduled time for processing the identified off-loadable computer task.
However, Mondragon teaches implementing a travel freeze at a point in time before the scheduled time for processing the identified off-loadable computer task. “As further shown in FIG. 1H, and by reference number 165, coverage platform 115 may cause the second quantity of the autonomous vehicles to be on standby at the location associated with the portion of the wireless network. For example, coverage platform 115 may instruct the second quantity of autonomous vehicles to be on standby (e.g., in case they need to be utilized for the 5G coverage gap), and the second quantity of autonomous vehicles cannot be utilized for another purpose until released from standby” [Mondragon Col. 5 Lines 58-66 Examiner notes this interpretation of a travel freeze is consistent with the description given in ¶ 43 of the instant specification].
With regard to claim 20, Garcia Morchon in view of O’Grady in view of Rawat in view of Gil teaches the computer program product of claim 15, as referenced above. Garcia Morchon further teaches wherein in response to determining that the predicted connectivity loss will occur when the remaining portion of the expected connectivity window associated with the selected moving edge computing device is less than the estimated data transfer duration, causing, by the server, the selected moving edge computing device to further perform a proactive measure comprising: (reduce the speed of) rerouting the selected moving edge computing device to maintain connectivity for processing the identified off-loadable computer task. “However, if the macro base station 20 determines that the data transfer cannot be completed due to an excessive speed of the mobile base station 30, the macro base station 20 might command the mobile base station to adapt, e.g. reduce, its speed so that the transmission time between locations pb1 and pb2 is higher, and the whole data transfer can be completed” [Garcia Morchon ¶ 229].
Garcia Morchon in view of O’Grady in view of Rawat in view of Gil fails to explicitly teach rerouting the selected moving edge computing device.
However, Mondragon teaches rerouting the selected moving edge computing device. “As further shown in FIG. 6, process 600 may include causing the one or more autonomous vehicles to be deployed for the portion of the wireless network, wherein the one or more autonomous vehicles are to provide a temporary wireless network for the portion of the wireless network (block 680)” [Mondragon Col. 20 Lines 19-24]. “For example, coverage platform 115 may provide, to the first quantity of autonomous vehicles, navigation instructions to a destination associated with the 5G coverage gap. The instructions may cause the first quantity of autonomous vehicles to autonomously travel to the destination. In this way, coverage platform 115 may provide comprehensive 5G coverage between gNBs 110 (e.g., for communication with user devices 105) in order to close the 5G coverage gap” [Mondragon Col. 5 Lines 37-45].
Mondragon is considered to be analogous to the claimed invention because it is in the same field of arrangements for system (re)configuration to improve network performance. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Garcia Morchon in view of O’Grady in view of Rawat in view of Gil to incorporate the teachings of Mondragon and include rerouting the selected moving edge computing device. Doing so would allow for moving edge devices to complete computing tasks located away from their scheduled routes. “In some implementations, coverage platform 115 may provide any appropriate combination of autonomous vehicles capable of handling different ranges of traffic demands. In this way, coverage platform 115 may provide sufficient 5G coverage in the most efficient manner possible” [Mondragon Col. 6 Lines 48-53].
Response to Arguments
Applicant's arguments filed 10/28/2025 have been fully considered but they are not persuasive. Applicant argues in substance:
I. Morchon does not disclose these features. Morchon [0033], [0097], [0098], [0102], and [0103] describe planning and resource allocation based on position, trajectory, and an "expected time period ... in a predetermined range." At best, these paragraphs disclose proximity determination for radio coverage, not the claimed "predicted time interval of sufficient connectivity ... to complete one or more data transfers associated with the task."
Morchon [0224]-[0226], [0235], and [0236] discuss using historical data used to select best location for data transfer, selecting best starting time based on positioning and expected transfer rate, and using throughput curves and optimization goals to decide when upload/download should start. None of these passages teach "computing an expected connectivity window" comprising "a predicted time interval of sufficient connectivity" and comparing it to "to the scheduled time, the predicted processing duration, and the estimated data transfer duration," as recited in the claim.
Further, Morchon does not disclose the claimed threshold-triggered "proactive data transfer operations" or offline execution pipeline. Morchon [0101] teaches caching for content delivery, not executing an off-loaded computer task during lost connectivity or uploading computed results upon connectivity restoration. The cited Morchon paragraphs collectively focus on handover preparation and caching for content delivery, not the features of amended claim 1. Therefore, Morchon fails to anticipate the amended claim.
a) Examiner respectfully disagrees. As detailed in the rejection above, Garcia Morchon teaches computing an expected connectivity window [Garcia Morchon ¶ 98], a predicted time interval of sufficient connectivity [Garcia Morchon ¶ 225-226], and comparing this connectivity window to the scheduled time and the estimated data transfer duration [Garcia Morchon ¶ 229, 74]. Garcia Morchon paragraph 98 states: “The available communication link refers to the available communication resources when the UE 10 and the potential mobile base station encounter taking into account the distance and expected duration of the communication link”. The expected duration of a communication link is an expected connectivity window.
In response to applicant's argument that the references fail to show certain features of the invention, it is noted that the features upon which applicant relies (i.e., “threshold-triggered "proactive data transfer operations"”) are not recited in the rejected claim(s). Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993). Claim 1 includes proactive data transfer operations; however, these operations are responsive to a determination that a predicted connectivity loss will occur. The claim includes no mention of thresholds. Further Garcia Morchon includes proactive data transfer operations [Garcia Morchon ¶ 100-101, 171]. Data is transferred across the network to and from a mobile base station in preparation for requested computer tasks.
Applicant’s further arguments with respect to claim(s) 1, 8 , and 15 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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.
Examiner respectfully requests, in response to this Office action, support be shown for language added to any original claims on amendment and any new claims. That is, indicate support for newly added claim language by specifically pointing to page(s) and line number(s) in the specification and/or drawing figure(s). This will assist Examiner in prosecuting the application.
When responding to this Office Action, Applicant is advised to clearly point out the patentable novelty which he or she thinks the claims present, in view of the state of the art disclosed by the references cited or the objections made. He or she must also show how the amendments avoid such references or objections. See 37 CFR 1.111(c).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ARI F RIGGINS whose telephone number is (571)272-2772. The examiner can normally be reached Monday-Friday 7:00AM-4: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, Bradley Teets can be reached at (571) 272-3338. 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.
/A.F.R./Examiner, Art Unit 2197 /BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197