Prosecution Insights
Last updated: October 02, 2026
Application No. 18/814,921

TECHNIQUES FOR OPTIMIZED AUTOMATED SOFTWARE UPDATE IMPLEMENTATION

Non-Final OA §101§103
Filed
Aug 26, 2024
Examiner
SOUGH, HYUNG SUB
Art Unit
2192
Tech Center
2100 — Computer Architecture & Software
Assignee
T-Mobile USA Inc.
OA Round
1 (Non-Final)
19%
Grant Probability
At Risk
1-2
OA Rounds
2y 2m
Est. Remaining
41%
With Interview

Examiner Intelligence

Grants only 19% of cases
19%
Career Allowance Rate
3 granted / 16 resolved
-36.2% vs TC avg
Strong +22% interview lift
Without
With
+22.5%
Interview Lift
resolved cases with interview
Typical timeline
4y 3m
Avg Prosecution
14 currently pending
Career history
29
Total Applications
across all art units

Statute-Specific Performance

§101
37.1%
-2.9% vs TC avg
§103
39.4%
-0.6% vs TC avg
§102
9.9%
-30.1% vs TC avg
§112
7.6%
-32.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 16 resolved cases

Office Action

§101 §103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . DETAILED ACTION A filing date of 08/26/2024 is acknowledged. Claims 1 – 20 are pending. Claim Objections Claims 10 – 16 are objected to because of the following informalities: Claim 10 Line 5; remove “perform operations comprising”. Claims 11 – 16 These claims are dependent claims of claim 10; therefore, they inherit issue of claim 10. Appropriate correction is required. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1 – 20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more. Claim 1 Step 1 The claim is statutory because it is directed to a method. Step 2A, prong 1 The claim recites limitations “identifying … a software update to be implemented …; determining … based on information about the software update, a time window within which the software update is to be implemented; generating … based on information about the user equipment, a predicted data usage schedule associated with the time window; determining … based on the predicted data usage schedule, a start time for an installation period associated with the software update.” The limitations “identifying …” and “determining …” are identifying steps falls into the category of mental process as they involve human observation and evaluation to identify software update and determine time window for software update based on the software update and start time for installation period for the software update. The limitation “generating …” is a step that generates data usage schedule by human with an aid of paper and pen. Thus, this step also falls into category of mental process. In other words, all the steps are not integrated with any additional element(s) that integrate the judicial exception into a practical application. Step 2A, prong 2 The claim further recites additional limitation “providing, by the network node, installation instructions to the user equipment to cause the user equipment to install the software update at the start time” and additional elements “a network node and a user equipment”. The additional limitation “providing” merely provides installation instructions to a user equipment. The additional limitation is just an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. The additional elements are recited as high level of generality as tools to perform the limitations. Thus, the additional element is not indicative of an integration into a practical application. Steps 2B The claim as a whole is not amounted to significantly more than the judicial exception. Claim 1 is directed to an abstract idea and is not patent eligible. Analysis of claims 2 – 9 Claim 2 The claim recites limitation “the software update is associated with a service managed by an application server in communication with the network node.” The limitation indicates relationship between software update and service of a server. Thus, the limitation is an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. Claim 3 The claim recites limitation “a length of the time window is determined based on a level of criticality associate with the service managed by the application server.” The limitation is performed by human observation and evaluation of level of criticality to determine length of time window. Thus, the limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind, and it is not integrated into a practical application because they do not impose any meaningful limits on practicing the abstract idea. So, it does not include any additional element that is sufficient to amount to significantly more than the judicial exception. Claim 4 The claim recites limitation “the length of the time window is inversely correlated to the level of criticality.” The limitation indicates relationship between time window and level of criticality. Thus, the limitation is an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. Claim 5 The claim recites limitation “a length of the installation period is determined based on a size of the software update.” The limitation is performed by human observation and evaluation of size of update to determine length of installation period. Thus, the limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind, and it is not integrated into a practical application because they do not impose any meaningful limits on practicing the abstract idea. So, it does not include any additional element that is sufficient to amount to significantly more than the judicial exception. Claim 6 The claim recites limitation “the start time is determined within the time window so that a total predicted data usage over the installation period is minimized.” The limitation is performed by human observation and evaluation of total predicted data usage to determine the start time. Thus, the limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind, and it is not integrated into a practical application because they do not impose any meaningful limits on practicing the abstract idea. So, it does not include any additional element that is sufficient to amount to significantly more than the judicial exception. Claim 7 The claim recites limitation “the information about the user equipment comprises information about historic data usage by the user equipment.” The limitation defines information of user equipment. Thus, the limitation is an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. Claim 8 The claim recites limitation “the information about the user equipment is received from a home subscriber server (HSS) in communication with the network node.” The limitation collects data from HSS. Thus, the limitation is an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. Claim 9 The claim recites limitation “the predicted data usage schedule is generated using one or more trained machine learning models.” The limitation generates data usage schedule by human with an aid of paper and pen. Thus, the limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind, and it is not integrated into a practical application because they do not impose any meaningful limits on practicing the abstract idea. Furthermore, the claim recites “one or more trained machine learning models” which is recited as high level of generality as tools to perform the limitations. Thus, the additional element is not indicative of an integration into a practical application. Claim 10 Step 1 Claim 10 is statutory because it is directed to a device. Steps 2 and prongs 1 & 2 Claim 10 recites limitation in the same manner as claim 1; therefore, it is also rejected for the same reasons. Claim 10 recites additional elements “a network node, one or more processors, and one or more computer-readable media” which are recited as high level of generality as tools to perform the limitations. Thus, the additional elements are not indicative of an integration into a practical application. Steps 2B The claim as a whole is not amounted to significantly more than the judicial exception. Claim 10 is directed to an abstract idea and is not patent eligible. Analysis of claims 11 – 16 Claim 11 The claim recites limitation “the software update is identified based on a current version of a software application installed on the user equipment being outdated.” The limitation relies human observation and evaluation of version of a software application to identify software update. Thus, the limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind, and it is not integrated into a practical application because they do not impose any meaningful limits on practicing the abstract idea. Claim 12 The claim recites limitation “the software application is configured to access a service managed by an application server in communication with the network node.” The limitation receives software application. Thus, the limitation is an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. Claim 13 The claim recites limitation “the software application interacts with an application programming interface (API) for the service.” The limitation indicates usage of API for interaction between the software application and the service. Thus, the limitation is an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. Claim 14 The claim recites limitation “the installation period represents an amount of time that an installation of the software update is predicted to take.” The limitation defines period of time for software installation. Thus, the limitation is an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. Claim 15 The claim recites limitation “the installation instructions are stored in a memory of the user equipment until the start time is reached.” The limitation stores installation instructions. Thus, the limitation is an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. Claim 16 The claim recites limitation “the installation instructions are provided to the user equipment along with the software update to be installed.” The limitation defines software package. Thus, the limitation is an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. Claim 17 Step 1 Claim 17 is statutory because it is directed to a product. Steps 2 and prongs 1 & 2 Claim 17 recites limitation in the same manner as claim 1; therefore, it is also rejected for the same reasons. Claim 17 recites additional elements “a network node, one or more processors, and one or more computer-readable media” which are recited as high level of generality as tools to perform the limitations. Thus, the additional elements are not indicative of an integration into a practical application. Steps 2B The claim as a whole is not amounted to significantly more than the judicial exception. Claim 17 are directed to an abstract idea and are not patent eligible. Analysis of claims 18 – 20 Claim 18 The claim recites limitation “the predicted data usage schedule represents a predicted amount of data usage for the user equipment with respect to time.” The limitation predicted usage schedule. Thus, the limitation is an insignificant extra-solution activity that is not indicative of integration the judicial exception into a practical application. Claim 19 The claim recites limitation “the software update is associated with a service managed by an access server and the software update is identified in response to the user equipment attempting to access the service.” The limitation “the software update is associated with a service managed by an access server” defines relationship between service and software update. The limitation “the software update is identified in response to the user equipment attempting to access the service” defines trigger that cause identification of the software update. Thus, these limitations are insignificant extra-solution activities that are not indicative of integration the judicial exception into a practical application. 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, 5 – 7, 9 – 11, 14 – 18, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Anton (DE 102016104260 B4) and SUBRAMANIAM et al. (Pub. No. US 2023/0008692 A1; hereinafter Subramaniam.) A translated version of reference Anton in English is enclosed. Claim 1 Anton teaches a method (Anton; [0020] Fig. 2 is a flowchart illustrating the functional steps of the intelligent update program 200 for mobile applications, a program for managing the updating of application software on a mobile data processing unit …) comprising: identifying, by a network node, a software update to be implemented on a user equipment in communication with the network node (Anton; Fig. 1, [0015] … Server 120 (network node) includes the server version update application 122, an update policy 124, and an intelligent update program 200 for mobile applications. [0013] …The mobile data processing unit 110 (user equipment, UE) includes a mobile application 112 and an intelligent client installer 300 for mobile applications … Fig. 2; [0021] In step 202, the intelligent update program 200 for mobile applications receives data from the intelligent client installer 300 for mobile applications … Data from the intelligent client installer 300 for mobile applications includes a location, a checksum, a network type, and a security bit status relating to the mobile data processing unit 110 and the mobile application 112. [0023] …The intelligent update program 200 for mobile applications compares the received checksum belonging to the mobile application 112 with the stored checksum belonging to the server version update application 122 (update) … If the mobile application intelligent update program 200 detects that the checksums are different (decision 204, branching no), the mobile application intelligent update program 200 identifies an update package for update policy 124 (step 206) and initiates the creation of update policy 124. For example, mobile application 112 is the factory-installed application software, and server version update application 122 is a new version that includes updates and a major fix …); determining, by the network node based on information about the software update, a time window within which the software update is to be implemented (Anton; Fig. 2; [0027] In step 212, the intelligent update program 200 for mobile applications determines a time delay and a time window for the update policy 124… The intelligent update program 200 for mobile applications can determine the delay as a calculation that includes a random number, a number of users, a size of the server version update application 122 (update info), a protocol overhead, and a bandwidth of the CDN location … In another embodiment, the intelligent update program 200 for mobile applications can adjust the delay based on additional factors (e.g., a priority list, the criticality of the update (update info), etc.) determine which also distributes the requirements. Furthermore, the intelligent update program 200 for mobile applications determines a time window in which the download should take place (e.g., a time period in which it should be possible to perform the download based on the file size (update info) and the data transfer rate of the connection (the duration of the download). The intelligent update program 200 for mobile applications uses the time window to support the distribution of an update to mobile data processing units …), file size and criticality of update (update info) are factors for determining time window for downloading update; generating, by the network node based on information about the user equipment, a data usage schedule associated with the time window (Anton; Fig. 2; [0021] In step 202, the intelligent update program 200 for mobile applications receives data from the intelligent client installer 300 for mobile applications … Data from the intelligent client installer 300 for mobile applications includes a location, a checksum, a network type …, network type of user equipment; [0027] … The intelligent update program 200 for mobile applications can determine the delay as a calculation that includes a random number, a number of users, a size of the server version update application 122 (update info), a protocol overhead, and a bandwidth (data usage) of the CDN location. Bandwidth refers to the bit transfer rate of available or utilized data capacity, expressed in metric multiples of bits per second. … In another embodiment, the intelligent update program 200 for mobile applications can adjust the delay based on additional factors (e.g., a priority list, the criticality of the update (update info), etc.) determine which also distributes the requirements. Furthermore, the intelligent update program 200 for mobile applications determines a time window in which the download should take place (e.g., a time period in which it should be possible to perform the download based on the file size (update info) and the data transfer rate (data usage) of the connection (the duration of the download) … [0024] … The intelligent update program 200 for mobile applications determines the software application update package (e.g., the version of the software) based on the data transmission rate of the connection (data usage) between the mobile data processing unit 110 and the network 130. For example, if the mobile data processing unit 110 is connected to the network 130 via mobile broadband through a second generation (2G) connection with data transfer rates of 9.6 Kbit/s to 237 Kbit/s, the intelligent update program 200 for mobile applications can select a reduced software application update package that includes only important fixes. However, if the Mobile Data Processing Unit 110 is connected to a WPAN with data transfer rates of 56 Mbps to 128 Mbps, the Intelligent Update Program 200 for mobile applications can select a complete software application update package that includes enhancements and important fixes.) data usage is calculated based on connection between user equipment and the network; determining, by the network node based on the data usage schedule, a start time for an installation period associated with the software update (Anton; Fig. 2; [0027] In step 212, the intelligent update program 200 for mobile applications determines a time delay and a time window for the update policy 124… The intelligent update program 200 for mobile applications can determine the delay as a calculation that includes a random number, a number of users, a size of the server version update application 122 (update info), a protocol overhead, and a bandwidth (data usage) of the CDN location … In another embodiment, the intelligent update program 200 for mobile applications can adjust the delay based on additional factors (e.g., a priority list, the criticality of the update (update info), etc.) determine which also distributes the requirements. Furthermore, the intelligent update program 200 for mobile applications determines a time window (start time) in which the download should take place (e.g., a time period in which it should be possible to perform the download based on the file size (update info) and the data transfer rate (data usage) of the connection (the duration of the download). The intelligent update program 200 for mobile applications uses the time window to support the distribution of an update to mobile data processing units …); and providing, by the network node, installation instructions to the user equipment to cause the user equipment to install the software update at the start time (Anton; [0013] …The mobile data processing unit 110 (user equipment, UE) includes a mobile application 112 and an intelligent client installer 300 for mobile applications … Fig. 2; [0028] In step 214, the intelligent update program 200 for mobile applications sends the update policy 124 (installation instruction) over the network 130 to the intelligent client installer 300 for mobile applications. Update Policy 124 includes the software application update package (e.g., the version of the software to which the mobile application 112 needs to be updated, such as the server version update application 122), the CDN location and the delay…; Fig. 3 & [0034 – 0035] In step 308, the intelligent client installer 300 for mobile applications sets a trigger based on update policy 124 (e.g., a delay (start time) specified within update policy 124). The trigger is a process that initiates a procedure when an event occurs (e.g., initializing the download of an update when the conditions for the delay are met) … In another embodiment, the intelligent Client Installer 300 for mobile applications sets a date and time rule (start time) … In decision 310, the intelligent client installer 300 for mobile applications determines whether the trigger criteria (start time) are met … When the Mobile Applications Intelligent Client Installer 300 determines that the trigger criteria are met (Decision 310, Branch Yes), the Mobile Applications Intelligent Client Installer 300 begins downloading (install) the Server Version Update Application 122 based on Update Policy 124 …) But Anton does not explicitly teach generating, by the network node based on information about the user equipment, a predicted data usage schedule associated with the time window. However, Subramaniam teaches generating, by the network node based on information about the user equipment, a predicted data usage schedule associated with the time window (Subramaniam; [0067 – 0068] Referring to FIG. 5, at operation 501, the method 500 comprises predicting traffic directed towards at least one of the SDN controlled network devices (UE) … Thereafter, at operation 503, the method 500 comprises predicting at least one event to be occurred at the at least one of the network devices (UE). In an embodiment of the disclosure, at least one event may refer to but not limited to, determination of the device's interface port bandwidth utilization, measurement of network latency, .log record sent to the SDN controlling unit 610 from each SDN device … each SDN device's configuration validation … (UE information); See Figs. 7A & 7B, process for predicting network traffic based on traffic analysis window time. [0073 – 0074] Thereafter, at operation 505, the method 500 comprises determining a time period (time window) to schedule the software upgrade based on the predicted traffic and the at least one predicted event … Thereafter, at operation 507, the method 500 comprises scheduling the software upgrade in the determined time period …; See Fig. 8, process for scheduling software upgrade.) Anton and Subramaniam are in the same analogous art as they are in the same field of endeavor, scheduling software update. Therefore, it would have been obvious to a person of ordinary skill, in the art before the effective filing date of the claimed invention, to incorporate Subramaniam into Anton to predict network traffic based on period of time when the traffic is below a threshold to minimize traffic loss and schedule software update for the time as suggested by Subramaniam ([0004 & 0077].) Claim 5 Anton also teaches a length of the installation period is determined based on a size of the software update (Anton; [0027] … By using the file size and the speed of the data transfer rate connection, the intelligent update program 200 for mobile applications can, for example, determine a total time until the update is completed …) Claim 6 Anton also teaches the start time is determined within the time window so that a total predicted data usage over the installation period is minimized (Anton; [0024] … The intelligent update program 200 for mobile applications determines the software application update package (e.g., the version of the software) based on the data transmission rate of the connection between the mobile data processing unit 110 and the network 130. For example, if the mobile data processing unit 110 is connected to the network 130 via mobile broadband through a second generation (2G) connection with data transfer rates of 9.6 Kbit/s to 237 Kbit/s, the intelligent update program 200 for mobile applications can select a reduced software application update package that includes only important fixes. However, if the Mobile Data Processing Unit 110 is connected to a WPAN with data transfer rates of 56 Mbps to 128 Mbps, the Intelligent Update Program 200 for mobile applications can select a complete software application update package that includes enhancements and important fixes. [0027] … In another embodiment, the intelligent update program 200 for mobile applications can adjust the delay based on additional factors (e.g., a priority list, the criticality of the update, etc.) determine which also distributes the requirements. Furthermore, the intelligent update program 200 for mobile applications determines a time window in which the download should take place (e.g. a time period in which it should be possible to perform the download based on the file size and the data transfer rate of the connection (the duration of the download)…) the update is selected based on bandwidth (data usage) and time window is determined based on update size and the bandwidth [Wingdings font/0xE0] time window that minimize interruption of network. Claim 7 Subramaniam teaches the information about the user equipment comprises information about historic data usage by the user equipment (Subramaniam; [0067 – 0068] Referring to FIG. 5, at operation 501, the method 500 comprises predicting traffic directed towards at least one of the SDN controlled network devices … Thereafter, at operation 503, the method 500 comprises predicting at least one event to be occurred at the at least one of the network devices. In an embodiment of the disclosure, at least one event may refer to but not limited to, determination of the device's interface port bandwidth utilization, measurement of network latency, .log record (historic data usage) sent to the SDN controlling unit 610 from each SDN device …) Motivation for incorporating Subramaniam into Anton is the same as motivation in claim 1. Claim 9 Subramaniam teaches the predicted data usage schedule is generated using one or more trained machine learning models (Subramaniam; [0067 – 0068] Referring to FIG. 5, at operation 501, the method 500 comprises predicting traffic directed towards at least one of the SDN controlled network devices … [0038] The disclosure is directed towards automation of software upgrade process through artificial intelligence/machine learning (AI/ML) techniques while avoiding manual intervention during the software upgrade of devices in SDN without impacting the traffic loss.) Motivation for incorporating Subramaniam into Anton is the same as motivation in claim 1. Claim 10 This is a network note version of the method version in claim 1; therefore, it is rejected for the same reasons. Furthermore, Anton also teaches a network node comprising one or more processors and one or more non-transitory computer-readable media storing computer-executable instructions (Anton; Fig. 1, [0015] … Server 120 (network node) includes the server version update application 122, an update policy 124, and an intelligent update program 200 for mobile applications. [0044 – 0045] Fig. 4 shows a block diagram of components of server 400, which is representative of server 120 … The server 400 includes a data transmission structure 402, which provides data transmission between one or more computer processors 404, a memory 406, a non-volatile memory 408 …) Claim 11 Anton also teaches the software update is identified based on a current version of a software application installed on the user equipment being outdated (Anton; [0023] … The intelligent update program 200 for mobile applications compares the received checksum belonging to the mobile application 112 with the stored checksum belonging to the server version update application 122 (update) … If the mobile application intelligent update program 200 detects that the checksums are different (decision 204, branching no), the mobile application intelligent update program 200 identifies an update package for update policy 124 (step 206) and initiates the creation of update policy 124. For example, mobile application 112 is the factory-installed application software, and server version update application 122 is a new version that includes updates and a major fix …) Claim 14 Anton also teaches the installation period represents an amount of time that an installation of the software update is predicted to take (Anton; [0027] … By using the file size and the speed of the data transfer rate connection, the intelligent update program 200 for mobile applications can, for example, determine a total time until the update is completed …) Claim 15 Anton also teaches the installation instructions are stored in a memory of the user equipment until the start time is reached (Anton; [0013] …The mobile data processing unit 110 (user equipment, UE) includes a mobile application 112 and an intelligent client installer 300 for mobile applications … Fig. 3; [0030] In step 302, the intelligent client installer 300 for mobile applications receives (and stores) the update policy 124 (installation instructions) from the intelligent updater 200 for mobile applications … Fig. 3 & [0034 – 0035] In step 308, the intelligent client installer 300 for mobile applications sets a trigger based on update policy 124 (e.g., a delay (start time) specified within update policy 124). The trigger is a process that initiates a procedure when an event occurs (e.g., initializing the download of an update when the conditions for the delay are met) … In another embodiment, the intelligent Client Installer 300 for mobile applications sets a date and time rule (start time) … In decision 310, the intelligent client installer 300 for mobile applications determines whether the trigger criteria (start time) are met … When the Mobile Applications Intelligent Client Installer 300 determines that the trigger criteria are met (Decision 310, Branch Yes), the Mobile Applications Intelligent Client Installer 300 begins downloading (install) the Server Version Update Application 122 based on Update Policy 124 …) Claim 16 Anton also teaches the installation instructions are provided to the user equipment along with the software update to be installed (Anton; Fig. 2; [0028] In step 214, the intelligent update program 200 for mobile applications sends the update policy 124 (installation instruction) over the network 130 to the intelligent client installer 300 for mobile applications. Update Policy 124 includes the software application update package (e.g., the version of the software to which the mobile application 112 needs to be updated, such as the server version update application 122), the CDN location and the delay…; [0013] …The mobile data processing unit 110 (user equipment, UE) includes a mobile application 112 and an intelligent client installer 300 for mobile applications …; Also see Fig. 3 & [0029 – 0043], a process for download and installing update on user equipment.) Claim 17 This is one or more non-transitory computer-readable media version of the method version in claim 1; therefore, it is rejected for the same reasons. Furthermore, Anton also teaches one or more non-transitory computer-readable media storing computer-executable instructions and one or more processors (Anton; Fig. 1, [0015] … Server 120 (network node) includes the server version update application 122, an update policy 124, and an intelligent update program 200 for mobile applications. [0044 – 0045] Fig. 4 shows a block diagram of components of server 400, which is representative of server 120 … The server 400 includes a data transmission structure 402, which provides data transmission between one or more computer processors 404, a memory 406, a non-volatile memory 408 …) Claim 18 Subramaniam teaches the predicted data usage schedule represents a predicted amount of data usage for the user equipment with respect to time (Subramaniam; [0067 – 0068] Referring to FIG. 5, at operation 501, the method 500 comprises predicting traffic directed towards at least one of the SDN controlled network devices … Thereafter, at operation 503, the method 500 comprises predicting at least one event to be occurred at the at least one of the network devices. In an embodiment of the disclosure, at least one event may refer to but not limited to, determination of the device's interface port bandwidth utilization, measurement of network latency …; See Figs. 7A & 7B, process for predicting network traffic based on traffic analysis window time. [0073 – 0074] Thereafter, at operation 505, the method 500 comprises determining a time period to schedule the software upgrade based on the predicted traffic and the at least one predicted event … Thereafter, at operation 507, the method 500 comprises scheduling the software upgrade in the determined time period …; See Fig. 8, process for scheduling software upgrade.) Motivation for incorporating Subramaniam into Anton is the same as motivation in claim 1. Claim 20 Anton also teaches the operations further comprise storing multiple versions of the software update (Anton; [0018] The Intelligent Update Program 200 for Mobile Applications is a software program that manages updates for mobile application software when updates (multiple versions) are available for mobile data processing units …), wherein, a version of the software update to be installed on the user equipment is determined based on the information about the user equipment (Anton; [0013] …The mobile data processing unit 110 (user equipment, UE) includes a mobile application 112 and an intelligent client installer 300 for mobile applications … Fig. 2; [0021] In step 202, the intelligent update program 200 for mobile applications receives data from the intelligent client installer 300 for mobile applications … Data from the intelligent client installer 300 for mobile applications includes a location, a checksum, a network type, and a security bit status relating to the mobile data processing unit 110 and the mobile application 112. [0023] … The intelligent update program 200 for mobile applications compares the received checksum belonging to the mobile application 112 with the stored checksum belonging to the server version update application 122 (update) … If the mobile application intelligent update program 200 detects that the checksums are different (decision 204, branching no), the mobile application intelligent update program 200 identifies an update package for update policy 124 (step 206) and initiates the creation of update policy 124. For example, mobile application 112 is the factory-installed application software, and server version update application 122 is a new version that includes updates and a major fix …) Claims 2 – 3, 8, 12, and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Anton/Subramaniam as applied to claims 1, 7, and 11 above, and further in view of Daniel et al. (Patent No. US 11,134,149 B1; hereinafter Daniel.) Claim 2 Anton teaches the software update is associated with managed by an application server in communication with the network node (Anton; Fig. 1; [0012] In the embodiment shown, the mobile data processing environment 100 includes a mobile data processing unit 110, a mobile peer data processing unit 140 and a server 120, which are interconnected via a network 130. [0015] … Server 120 includes the server version update application 122, an update policy 124, and an intelligent update program 200 for mobile applications. [0013] …The mobile data processing unit 110 (user equipment, UE) includes a mobile application 112 and an intelligent client installer 300 for mobile applications … [0018] The Intelligent Update Program 200 for Mobile Applications is a software program that manages updates for mobile application software when updates are available for mobile data processing units …); server 120 manages applications and updates. Anton and Subramaniam do not explicitly teach the software update is associated with a service managed by an application server in communication with the network node. However, Daniel teaches the software update is associated with a service managed by an application server in communication with the network node (Daniel; abstract & Fig. 1; A system described herein may provide a technique for a multi-modal interaction experience with a User Equipment (“UE”) via multiple concurrent presentation modes. Such multiple modes may include a voice call with an interactive voice response (“IVR”) system … Fig. 1; col. 1: 52 – col. 2: 2; Embodiments described herein provide for an interaction with a UE via multiple concurrent presentation modes. As described herein, for example, such interactions may be referred to a “multi-modal experience.” Such multiple modes may include, for example, a voice call with an IVR system … The information may be presented via a graphical user interface (“GUI”), by an application (update) executing at the same UE that is engaged in the call (service) with the IVR system (network node) …) Anton, Subramaniam and Daniel are in the same analogous art as they are in the same field of endeavor, managing user equipment and applications. Therefore, it would have been obvious to a person of ordinary skill, in the art before the effective filing date of the claimed invention, to incorporate Daniel into Anton/Subramaniam to explicitly allow Anton application to associate with a service as suggested by Daniel (abstract), to arrive at the invention. Claim 3 Anton also teaches a length of the time window is determined based on a level of criticality associate with the application server (Anton; Fig. 2; [0027] In step 212, the intelligent update program 200 for mobile applications determines a time delay and a time window for the update policy 124… The intelligent update program 200 for mobile applications can determine the delay as a calculation that includes a random number, a number of users, a size of the server version update application 122 (update info), a protocol overhead, and a bandwidth of the CDN location … In another embodiment, the intelligent update program 200 for mobile applications can adjust the delay based on additional factors (e.g., a priority list, the criticality of the update (update info), etc.) determine which also distributes the requirements. Furthermore, the intelligent update program 200 for mobile applications determines a time window in which the download should take place …) Daniel teaches the service managed by the application server (Daniel; abstract & Fig. 1; A system described herein may provide a technique for a multi-modal interaction experience with a User Equipment (“UE”) via multiple concurrent presentation modes. Such multiple modes may include a voice call with an interactive voice response (“IVR”) system … Fig. 1; col. 1: 52 – col. 2: 2; Embodiments described herein provide for an interaction with a UE via multiple concurrent presentation modes. As described herein, for example, such interactions may be referred to a “multi-modal experience.” Such multiple modes may include, for example, a voice call with an IVR system … The information may be presented via a graphical user interface (“GUI”), by an application (update) executing at the same UE that is engaged in the call (service) with the IVR system (network node) …) Motivation for incorporating Daniel into Anton/Subramaniam is the same as motivation in claim 2. Claim 8 Daniel teaches the information about the user equipment is received from a home subscriber server (HSS) in communication with the network node (Daniel; col. 10: 64 – col. 11: 1; In some embodiments, MMI system 103 may receive or obtain information associated with UE 101 (user equipment), such as a current plan and/or available plans, from one or more elements of a wireless telecommunications network, such as a Home Subscriber Server (“HSS”).) Motivation for incorporating Daniel into Anton/Subramaniam is the same as motivation in claim 2. Claim 12 Daniel teaches the software application is configured to access a service managed by an application server in communication with the network node. (Daniel; abstract & Fig. 1; A system described herein may provide a technique for a multi-modal interaction experience with a User Equipment (“UE”) via multiple concurrent presentation modes. Such multiple modes may include a voice call with an interactive voice response (“IVR”) system … Fig. 1; col. 1: 52 – col. 2: 2; Embodiments described herein provide for an interaction with a UE via multiple concurrent presentation modes. As described herein, for example, such interactions may be referred to a “multi-modal experience.” Such multiple modes may include, for example, a voice call with an IVR system … The information may be presented via a graphical user interface (“GUI”), by an application executing at the same UE that is engaged in the call (service) with the IVR system (network node) …) Motivation for incorporating Daniel into Anton/Subramaniam is the same as motivation in claim 2. Claim 13 Daniel teaches the software application interacts with an application programming interface (API) for the service (Daniel; col. 2: 3 – 24; As shown in FIG. 1, for example, UE 101 may communicate (at 102) with MMI system 103 on an ongoing basis. For example, UE 101 may implement an application programming interface (“API”) via which UE 101 communicates with MMI system 103, which may be an application server and/or some other network-accessible resource … Col. 3: 7 – 23; In some embodiments, in addition to or in lieu of the notification (at 106) from IVR system 105, UE 101 may notify MMI system 103 of the call. For example, the API may have access to call information associated with UE 101 (e.g., telephone numbers or other identifiers of calls placed by UE 101), and may notify MMI system 103 that the call was placed to a particular number corresponding to IVR system 105 …) Motivation for incorporating Daniel into Anton/Subramaniam is the same as motivation in claim 2. Claim 4 is rejected under 35 U.S.C. 103 as being unpatentable over Anton, Subramaniam, and Daniel as applied to claim 3 above, and further in view of Paul (EP 2905701 A1) Claim 4 Anton teaches the length of the time window is correlated to the level of criticality (Anton; Fig. 2; [0027] In step 212, the intelligent update program 200 for mobile applications determines a time delay and a time window for the update policy 124… The intelligent update program 200 for mobile applications can determine the delay as a calculation that includes a random number, a number of users, a size of the server version update application 122 (update info), a protocol overhead, and a bandwidth of the CDN location … In another embodiment, the intelligent update program 200 for mobile applications can adjust the delay based on additional factors (e.g., a priority list, the criticality of the update, etc.) determine which also distributes the requirements. Furthermore, the intelligent update program 200 for mobile applications determines a time window in which the download should take place …) But Anton as modified does not explicitly teach the length of the time window is inversely correlated to the level of criticality. However, Paul teaches the length of the time window is inversely correlated to the level of criticality (Paul; [0024] One embodiment of a process 52 for updating the firmware 24 at a particular time is described in FIG. 4 … Generally the process 52 includes determining an individual consumer's historical utility usage (process block 54), predicting a particular time when utility usage is expected to be lowest (process block 56), scheduling a firmware update at the particular time (process block 58), and updating the firmware at the scheduled time (process block 60) … [0027] Moreover, the predicted particular time may be selected from varying time periods … The time period from which the particular time is selected from may depend on various factors, such as the functionality of the utility meter 16 or the importance (criticality) of the firmware update 38 … Additionally, a utility meter 16 may select the particular time from a shorter time period (e.g., the coming day) when the firmware update 38 is more important (e.g., to fix a bug) and may select from a longer time period (e.g., the coming week) when the firmware update 38 is less important (e.g., to update functionality) …) Anton, Subramaniam, Daniel and Paul are in the same analogous art as they are in the same field of endeavor, scheduling software update. Therefore, it would have been obvious to a person of ordinary skill, in the art before the effective filing date of the claimed invention, to incorporate Paul into Anton/Subramaniam to more efficiently manage when a utility meter's firmware is updated. For example, this may include minimizing the cost to a utility provider associated with updating the firmware as suggested by Paul ([0003].) Claim 19 is rejected under 35 U.S.C. 103 as being unpatentable over Anton and Subramaniam as applied to claim 17 above, and further in view of Lee et al. (Pub. No. US 2024/0233455 A1; hereinafter Lee.) Claim 19 Anton teaches the software update is associated with managed by an access server (Anton; Fig. 1; [0012] In the embodiment shown, the mobile data processing environment 100 includes a mobile data processing unit 110, a mobile peer data processing unit 140 and a server 120, which are interconnected via a network 130. [0015] … Server 120 includes the server version update application 122, an update policy 124, and an intelligent update program 200 for mobile applications. [0013] …The mobile data processing unit 110 (user equipment, UE) includes a mobile application 112 and an intelligent client installer 300 for mobile applications … [0018] The Intelligent Update Program 200 for Mobile Applications is a software program that manages updates for mobile application software when updates are available for mobile data processing units …); server 120 manages applications and updates. But Anton and Subramaniam do not explicitly teach the software update is associated with a service managed by an access server and the software update is identified in response to the user equipment attempting to access the service. However, Lee teaches the software update is associated with a service managed by an access server and the software update is identified in response to the user equipment attempting to access the service (Lee; [0006] An aspect of the present disclosure is to provide a vehicle data managing server, a platform managing server and a service server, and an energy management service system associated with an autonomous driving platform that enable efficient maintenance and management of a battery of an autonomous driving vehicle (UE)… [0051] Referring to FIG. 1, the energy management service providing system 100 may include a vehicle 110, a vehicle data managing server 120, a platform managing server 130, and/or a service server 140. Fig. 12; [0213 – 0214] Referring to FIG. 12, in operation 1205, the vehicle 110 (UE) may acquire vehicle data through the sensor module 220, the camera module 230, and/or the BMS 271. Here, the vehicle data may include driving data related to driving of the vehicle 110 and/or battery data related to a state of the battery … In operation 1210, the vehicle 110 may transmit the vehicle data acquired in operation 1205 or stored in the memory 240 to the vehicle data managing server 120 … [0216] In operation 1220, the vehicle data managing server 120 may identify whether a first event has occurred … For example, the first event may include a case where the vehicle data managing server 120 receives a vehicle data transmission request, a case where it is determined that an update of autonomous driving software installed in the vehicle 110 is required, and/or a case where a battery mounted on the vehicle 110 is replaced. [0220] In operation 1235, the platform managing server 130 may identify whether a second event has occurred. For example, the second event may include … a case where it is determined that vehicle data matches with the energy management service provided by the service server 140 is acquired … [0228] In operation 1270, the vehicle data managing server 120 may transmit the updated autonomous driving software 821 or the second update software acquired in operation 1255 to the vehicle 110.) software update for vehicle (UE) is triggered when the vehicle access service provided by system 100. Anton, Subramaniam and Lee are in the same analogous art as they are in the same field of endeavor, updating software. Therefore, it would have been obvious to a person of ordinary skill, in the art before the effective filing date of the claimed invention, to incorporate Lee into Anton/Subramaniam to allow a system to update software of a device when the device access service provided by the system as suggested by Lee ([0012 & 0015].) Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to CUONG V LUU whose telephone number is (571)270-1733. The examiner can normally be reached 6:30 AM - 3:00 PM. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hyung S. Sough can be reached at (571) 272-6799. 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. /CUONG V LUU/Examiner, Art Unit 2192 /S. Sough/SPE, Art Unit 2192
Read full office action

Prosecution Timeline

Aug 26, 2024
Application Filed
Aug 13, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 10437505
EFFICIENTLY RESTORING EXECUTION OF A BACKED UP VIRTUAL MACHINE BASED ON COORDINATION WITH VIRTUAL-MACHINE-FILE-RELOCATION OPERATIONS
1y 7m to grant Granted Oct 08, 2019
Patent 10198255
METHOD AND SYSTEM FOR REDUCING INSTABILITY WHEN UPGRADING SOFTWARE
2y 5m to grant Granted Feb 05, 2019
Patent 10152406
SOFTWARE PROGRAM REPAIR
3y 3m to grant Granted Dec 11, 2018
Patent null
BUFFER ALLOCATION FOR NETWORK SUBSYSTEM
Granted
Patent null
Non Intrusive Application Mechanism
Granted
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
19%
Grant Probability
41%
With Interview (+22.5%)
4y 3m (~2y 2m remaining)
Median Time to Grant
Low
PTA Risk
Based on 16 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month