Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
2. This office action has been issued in response to amendment filed on 10/14/2025. Claims 1, 3-4, 7-8, 11, 15 and 17-18 have been amended. Claims 1-20 are pending, of which claims, of which claim 1, 8 and 15 are in independent form. Accordingly, this action has been made FINAL.
Response to Argument
3. Claims 11 and 18 have been amended to overcome claim objections. The claim objections for claims 11 and 18 have been withdrawn.
Applicant's arguments with respect to claims 1-20 have been considered but are moot in view of the new ground(s) of rejection.
Status of Claims
4. Claims 1-20 are pending, of which claims 1, 8 and 15 are in independent form.
Remarks
5. The Office has cited particular columns, line numbers, references, or figures in the references applied to the claims above for the convenience of the applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses to fully consider the reference in entirety, as potentially teaching all or part of the claimed invention. See MPEP § 2141.02 and § 2123.
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.
6. Claims 1- 20 are rejected under 35 U.S.C. 103 as being unpatentable over Li et al. (US 20070240152), in view of Wickham et al.(US 20040187103) and further in view of Cain et al.(US 20060080656).
Claim 1 rejected, Li teaches a system comprising:
at least one computing device (Li, fig. 1 and para [0022-0024].);
at least one application executed by the at least one computing device, wherein the at least one application causes the at least one computing device to at least (Li, abstract and summary):
identify, by the management service, an article identifier of a knowledge base article provided by the knowledge base network service, wherein the knowledge base article references a software product(Li, US 20070240152, fig. 2, component 104 – Management Service, component 200 – ISV Interface Module and para [0035-0037], Software vendor interface module 200 manages communications between management service 104 and software vendors 102. For example, software vendor interface module 200 may be configured to periodically poll software vendors 102 on a regular basis to request update information and supplemental metadata for the respective software products of the software vendors 102. As another example, software vendor interface module 200 may be configured to passively monitor for update information and supplemental metadata from software vendors 102. Para [0038-0040], software vendor interface module 200 may be configured to obtain software update information and supplemental metadata from software vendors 102 by searching the Internet to identify who of software vendors 102 are providing updates and supplemental metadata for their software products. Para [0051-0055], Client account/profile database 218 maintains the information related to authenticating a user or enterprise and determining their respective rights. For example, a user or enterprise may select various categories or channels of content in which they are interested in receiving updates. A channel may provide information related to one or more variations of an operating system, specific applications from software vendors 102, and configuration files. In addition, a user or enterprise may subscribe to multiple channels of content from management service 104. Database 218 may further include information that indicates the permissions and delivery of the information in a channel. Para [0005], monitor all of the available distribution channels, journals, Internet forums, and the like, to determine how to install and manage their software.);
retrieve, based at least in part on the article identifier, update data for a product update provided by an update catalog network service, wherein the product update modifies the software product(Li, para [0038-0040], Software vendor interface module 200 may then download the updates and supplemental metadata from the sites for software vendors 102, or store one or more network locations (e.g., URL) where the download for an update or supplemental metadata can be obtained. Para [0051-0055]. Para [0005], monitor all of the available distribution channels, journals, Internet forums, and the like, to determine how to install and manage their software.);
generate, by the management service, an update package (Li, para [0007-0009], a method of packaging software is provided. Supplemental qualitative information about the software is gathered and supplemental metadata associated with the gathered information is determined. The supplemental metadata is then packaged with the software in a set of files. Para [0051-0055].);
identify a smart group that enables dynamic selection a subset of a plurality of client devices (Li, para [0022], system 100 may operate in several modes. For example, in one mode ("hosted mode"), management service 104 is directly coupled to a single client, such as a user's computer 106. Although FIG. 1 depicts a single computer 106, embodiments of the present invention may accommodate any number of clients, users, and computers 106. Para [0023-0025], In another mode ("satellite mode"), management service 104 provides information to an enterprise 108 that supports a number of clients, such as a plurality of computers 106. Enterprise 108 may comprise any number of computers, networks, and systems. For example, as shown in FIG. 1, enterprise 108 may include a satellite server 110 and a network 112 that couples together a plurality of computers 106. Of course, enterprise 108 may include other components, such as a firewall, or other network elements and may be configured according to other types of known architectures to support computers 106. Li, para [0051-0055], a user or enterprise may select various categories or channels of content in which they are interested in receiving updates. A channel may provide information related to one or more variations of an operating system, specific applications from software vendors 102, and configuration files. In addition, a user or enterprise may subscribe to multiple channels of content from management service 104. Database 218 may further include information that indicates the permissions and delivery of the information in a channel.); and
deploy the update package to the subset of the plurality of client devices dynamically selected using the smart group, wherein the subset of the plurality of client devices are identified to correspond to the update data for the product update based at least in part on attributes of respective ones of the client devices(Li, para [0045-0050], Provisioning module 210 works in conjunction with update module 206 and management module 210 to allow for provisioning of software to computers 106, configuration management of computers 106. For example, provisioning module 210 may assist computers 106 or enterprise 108 with uninstallation, and multi-state rollback or recovery of updates. In addition, provisioning module 210 may assist in scheduling remote actions, such as the installation of the updates, and kick starting configuration tools. For example, provisioning module 210 may be configured to provision operating systems and one or more applications on to computer 106. Li, para [0038-0040] and para [0051-0055], a user or enterprise may select various categories or channels of content in which they are interested in receiving updates. A channel may provide information related to one or more variations of an operating system, specific applications from software vendors 102, and configuration files. In addition, a user or enterprise may subscribe to multiple channels of content from management service 104. Database 218 may further include information that indicates the permissions and delivery of the information in a channel.).
Li does not explicitly teach
comprising deployment settings to automatically deploy the product update within a specified time from a release date of the product update
However, Wickham teaches
comprising deployment settings to automatically deploy the product update within a specified time from a release date of the product update(Wickham, US 20040187103, para [0079-0085], The interface 1400 of FIG. 14 provides the user with the information that a grace period will expire in the future, and be followed by an enforcement period. By scheduling the updates for a convenient time within the grace period, the user is able to prevent an inconvenient update at the onset of the enforcement period. The user may therefore perform the update immediately (by selecting the first button) or schedule the update to be performed at a time of the user's choice (within the grace period) by pressing the second button. Additional information that will indicate, for example, when the update will be performed as a result of the end of the grace period and the beginning of the enforcement period, may be obtained by pressing the third button labeled "More Detail". Para [0096-0097], At block 1808, in one example, the package is configured for SMS consumption. Accordingly, at block 1810, SMS distributes the package to a plurality of clients, where the clients are associated with multiple service levels. For example, a more exacting service level may require a greater number of updates which are applied more rapidly after detection; a lower service level may require fewer updates and may provide additional time before they must be applied.).
It would have obvious to one having ordinary skill in the art before the effecting filing date of the claimed invention to combine the teachings of cited references. Thus, one of ordinary skill in the art before the effecting filing date of the claimed invention would have been motivated to incorporate Wickham into Li to provide the technician the important data related to the time that software updates become available, the time such updates become approved, and the time taken to fix hazards by installing an update of the application of the updates. The method also schedules the application of the updates according to the level of service so that the application of update is performed based on the schedule as suggested by Wickham (See abstract and summary).
Li, and Wickham don’t explicitly teach
periodically poll a knowledge base network service by a management service to identify, by [[a]] the management service, an article identifier [[or]] of a knowledge base article provided by [[a]] the knowledge base network service, wherein the knowledge base article references a software product, and wherein the management service polls the knowledge base network service at a frequency greater than a frequency defined by an enforcement timeline of update releases to the software product by a software-provided update service;
determine, based on the update data, that the enforcement timeline of update releases to the software product by the software-provided update service does not meet a specified service level;
wherein the specified time is prior to a next scheduled update release as defined in the enforcement timeline;
(deploy the update package to the subset of the plurality of client devices dynamically selected using the smart group) within the specified time
However, Cain teaches
periodically poll a knowledge base network service by a management service to identify, by [[a]] the management service, an article identifier [[or]] of a knowledge base article provided by [[a]] the knowledge base network service, wherein the knowledge base article references a software product, and wherein the management service polls the knowledge base network service at a frequency greater than a frequency defined by an enforcement timeline of update releases to the software product by a software-provided update service(Cain, fig. 3 and para [0158], Administrators can use the Security Updates Inventory Tool provided in the Software Update Management feature of SMS 2003 to extend SMS hardware inventory to report on the software updates that need to be installed on a set of clients, as shown in FIG. 3. SMS 2003 clients compare what has been installed against the list of available software updates contained in the extensible markup language (XML) file downloaded from the Microsoft Update Web site. Para [0159], FIG. 3 illustrates adding security update information to the SMS database. The installation routine for the Security Updates Inventory Tool also creates a recurring advertisement (running every seven days) that downloads the latest software update catalog (Mssecure.cab) file from the Microsoft Update Web site. The site server automatically creates a new advertisement, which is targeted at all the client systems collection, once download is complete. This advertisement runs the Security Updates Inventory Tool for updates using the latest software update catalog file. Fig. 4 and para [0161-0163], Identifying Required Office Software Updates. Para [0316-0322], knowledge base article.);
determine, based on the update data, that the enforcement timeline of update releases to the software product by the software-provided update service does not meet a specified service level(Cain, para [0056-0060], After a software update has been identified, obtained, verified and validated, and it is determined that the software update is safe to deploy, in one embodiment, the software update may be flagged as a normal deployment of a software update or an emergency deployment of the software update, depending on its urgency. The deployment may be categorized into any number of urgency levels, as the aspects of the invention are not limited to the two (i.e., normal and emergency) levels described above. When the software update has been flagged, a request to deploy the software update may be generated. In the embodiment of FIG. 2, generating a request to deploy the software update 225 functions as the trigger event that transitions the patch management process into the subsequent evaluate and plan phase. Once the request has been submitted, the patch management process continues to be performed in the evaluate and plan phase. As discussed above, different trigger events may be used to transition the process from one phase to the next, as the aspects of the invention are not limited to use with any particular trigger event(s));
wherein the specified time is prior to a next scheduled update release as defined in the enforcement timeline(Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible.);
(deploy the update package to the subset of the plurality of client devices dynamically selected using the smart group) within the specified time(Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible. Cain, para [0677], If you have a control group, deploy to those computers first. Para [0071], Deployment to targeted computers 244 may included installing the update on a targeted group of computers to ensure that the installation works as intended. Deployment of the software update to targeted computers may be monitored and reports made on the progress of the deployment. In addition, any failure in the deployment of the installation may be identified and remedied. Para [0569].);
It would have obvious to one having ordinary skill in the art before the effecting filing date of the claimed invention to combine the teachings of cited references. Thus, one of ordinary skill in the art before the effecting filing date of the claimed invention would have been motivated to incorporate Cain into Li and Wickham to implement patch management process to install software patch as suggested by Cain (See abstract and summary).
Claim 2 is rejected for the reasons set forth hereinabove for claim 1, Li, Wickham and Cain teach the system of claim 1, wherein the software product comprises an operating system or an application(Li, para [0018-0022], Embodiments of the present invention provide a management service for maintaining software of one or more users, or an enterprise. The management of software may comprise a variety of transactions including installation, upgrades, uninstallation, certification, and the like. Para [0026], The software update information may include program code for applications, binary files, text files, and the like, for updating software products installed on computers 106. Para [0054-0056], Computer 106 further may have software products installed in memory 302 including an operating system 314, applications 316, and an update application 318. In some embodiments, these software products are among those whose updates are brokered by management service 104. ).
Claim 3 is rejected for the reasons set forth hereinabove for claim 1, Li, Wickham and Cain teach the system of claim 1, wherein the specified time is identified to be in compliance with the specified service level (Wickham, para [0079-0085], The interface 1400 of FIG. 14 provides the user with the information that a grace period will expire in the future, and be followed by an enforcement period. By scheduling the updates for a convenient time within the grace period, the user is able to prevent an inconvenient update at the onset of the enforcement period. The user may therefore perform the update immediately (by selecting the first button) or schedule the update to be performed at a time of the user's choice (within the grace period) by pressing the second button. Additional information that will indicate, for example, when the update will be performed as a result of the end of the grace period and the beginning of the enforcement period, may be obtained by pressing the third button labeled "More Detail". Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible. Cain, para [0677], If you have a control group, deploy to those computers first. Para [0071], Deployment to targeted computers 244 may included installing the update on a targeted group of computers to ensure that the installation works as intended. Deployment of the software update to targeted computers may be monitored and reports made on the progress of the deployment. In addition, any failure in the deployment of the installation may be identified and remedied. Para [0569]. ).
Claim 4 is rejected for the reasons set forth hereinabove for claim 1, Li, Wickham and Cain teach the system of claim 1, wherein the update package is deployed by generating and storing a command to install the update package, and transmitting a push notification to the subset of the plurality of client devices, wherein the push notification cause the subset of the plurality of client devices to retrieve the command to install the update package (Li, para [0045-0050], Provisioning module 210 works in conjunction with update module 206 and management module 210 to allow for provisioning of software to computers 106, configuration management of computers 106. For example, provisioning module 210 may assist computers 106 or enterprise 108 with uninstallation, and multi-state rollback or recovery of updates. In addition, provisioning module 210 may assist in scheduling remote actions, such as the installation of the updates, and kick starting configuration tools. For example, provisioning module 210 may be configured to provision operating systems and one or more applications on to computer 106. Para [0061-0065], Finally, management service 104 may broker the delivery or installation of the updates in a manner that optimizes their effect. For example, management service 104 may broker several updates that are related or dependent upon each other. The brokering of updates may range, for example, from providing the program code for the update to providing one or more links to the update. The delivery or installation of the updates and supplemental metadata may be implemented under the control of management service 104, or under the control of the user or enterprise 108. Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible. Cain, para [0677], If you have a control group, deploy to those computers first. Para [0071], Deployment to targeted computers 244 may included installing the update on a targeted group of computers to ensure that the installation works as intended. Deployment of the software update to targeted computers may be monitored and reports made on the progress of the deployment. In addition, any failure in the deployment of the installation may be identified and remedied. Para [0569].).
Claim 5 is rejected for the reasons set forth hereinabove for claim 1, Li, Wickham and Cain teach the system of claim 1, wherein the deployment settings perform a forced restart within the specified time in an instance in which a user-initiated restart is unidentified at a predetermined point prior to an end of the specified time(Wickham, para [0080-0085], a check box 1506 may be used to indicate agreement with the time selected via the pull-down menu 1508 to perform a reboot. Alternatively, the pull-down menu 1508 may be used to indicate that the reboot should be performed immediately after update application. Para [0082], the updates and reboot is performed at according to the user's elected schedule, or automatically, at the end of the grace period. ).
Claim 6 is rejected for the reasons set forth hereinabove for claim 1, Li, Wickham and Cain teach the system of claim 1, wherein the knowledge base network service is provided by a developer of the software product (Li, para [0035-0037], Software vendor interface module 200 manages communications between management service 104 and software vendors 102. For example, software vendor interface module 200 may be configured to periodically poll software vendors 102 on a regular basis to request update information and supplemental metadata for the respective software products of the software vendors 102. As another example, software vendor interface module 200 may be configured to passively monitor for update information and supplemental metadata from software vendors 102. Para [0038-0040], software vendor interface module 200 may be configured to obtain software update information and supplemental metadata from software vendors 102 by searching the Internet to identify who of software vendors 102 are providing updates and supplemental metadata for their software products. Para [0051-0055].).
Claim 7 is rejected for the reasons set forth hereinabove for claim 1, Li, Wickham and Cain teach the system of claim 1, wherein the instructions, when executed by at least one processor, cause at least one computing device to at least:
create, by the management service, the smart group, wherein the smart group is an update-specific smart group comprising a title of the product update from the update data (Li, para [0051-0055], a user or enterprise may select various categories or channels of content in which they are interested in receiving updates. A channel may provide information related to one or more variations of an operating system, specific applications from software vendors 102, and configuration files. In addition, a user or enterprise may subscribe to multiple channels of content from management service 104. Database 218 may further include information that indicates the permissions and delivery of the information in a channel. Cain, para [0677], If you have a control group, deploy to those computers first. Para [0071], Deployment to targeted computers 244 may included installing the update on a targeted group of computers to ensure that the installation works as intended. Deployment of the software update to targeted computers may be monitored and reports made on the progress of the deployment. In addition, any failure in the deployment of the installation may be identified and remedied. Para [0569].).
Claim 8 rejected, Li teaches a non-transitory computer-readable medium comprising machine-readable instructions, wherein the instructions, when executed by at least one processor, cause at least one computing device to at least (Li, abstract and summary):
identify, by the management service, an article identifier of a knowledge base article provided by the knowledge base network service, wherein the knowledge base article references a software product (Li, US 20070240152, fig. 2, component 104 – Management Service, component 200 – ISV Interface Module and para [0037], Software vendor interface module 200 manages communications between management service 104 and software vendors 102. For example, software vendor interface module 200 may be configured to periodically poll software vendors 102 on a regular basis to request update information and supplemental metadata for the respective software products of the software vendors 102. As another example, software vendor interface module 200 may be configured to passively monitor for update information and supplemental metadata from software vendors 102. Para [0038-0040], software vendor interface module 200 may be configured to obtain software update information and supplemental metadata from software vendors 102 by searching the Internet to identify who of software vendors 102 are providing updates and supplemental metadata for their software products. Para [0051-0055], Client account/profile database 218 maintains the information related to authenticating a user or enterprise and determining their respective rights. For example, a user or enterprise may select various categories or channels of content in which they are interested in receiving updates. A channel may provide information related to one or more variations of an operating system, specific applications from software vendors 102, and configuration files. In addition, a user or enterprise may subscribe to multiple channels of content from management service 104. Database 218 may further include information that indicates the permissions and delivery of the information in a channel. Para [0005], monitor all of the available distribution channels, journals, Internet forums, and the like, to determine how to install and manage their software.);
retrieve, based at least in part on the article identifier, update data for a product update provided by an update catalog network service, wherein the product update modifies the software product(Li, para [0038-0040], Software vendor interface module 200 may then download the updates and supplemental metadata from the sites for software vendors 102, or store one or more network locations (e.g., URL) where the download for an update or supplemental metadata can be obtained. Para [0005], monitor all of the available distribution channels, journals, Internet forums, and the like, to determine how to install and manage their software.);
generate, by the management service, an update package (Li, para [0007-0009], a method of packaging software is provided. Supplemental qualitative information about the software is gathered and supplemental metadata associated with the gathered information is determined. The supplemental metadata is then packaged with the software in a set of files. Para [0051-0055].);
identify a smart group that enables dynamic selection a subset of a plurality of client devices (Li, para [0022-0025], system 100 may operate in several modes. For example, in one mode ("hosted mode"), management service 104 is directly coupled to a single client, such as a user's computer 106. Although FIG. 1 depicts a single computer 106, embodiments of the present invention may accommodate any number of clients, users, and computers 106. Para [0023], In another mode ("satellite mode"), management service 104 provides information to an enterprise 108 that supports a number of clients, such as a plurality of computers 106. Enterprise 108 may comprise any number of computers, networks, and systems. For example, as shown in FIG. 1, enterprise 108 may include a satellite server 110 and a network 112 that couples together a plurality of computers 106. Of course, enterprise 108 may include other components, such as a firewall, or other network elements and may be configured according to other types of known architectures to support computers 106.); and
deploy the update package to the subset of the plurality of client devices dynamically selected using the smart group (Li, para [0045-0050], Provisioning module 210 works in conjunction with update module 206 and management module 210 to allow for provisioning of software to computers 106, configuration management of computers 106. For example, provisioning module 210 may assist computers 106 or enterprise 108 with uninstallation, and multi-state rollback or recovery of updates. In addition, provisioning module 210 may assist in scheduling remote actions, such as the installation of the updates, and kick starting configuration tools. For example, provisioning module 210 may be configured to provision operating systems and one or more applications on to computer 106.).
Li does not explicitly teach
comprising deployment settings to automatically deploy the product update within a specified time from a release date of the product update
However, Wickham teaches
comprising deployment settings to automatically deploy the product update within a specified time from a release date of the product update(Wickham, US 20040187103, para [0079-0085], The interface 1400 of FIG. 14 provides the user with the information that a grace period will expire in the future, and be followed by an enforcement period. By scheduling the updates for a convenient time within the grace period, the user is able to prevent an inconvenient update at the onset of the enforcement period. The user may therefore perform the update immediately (by selecting the first button) or schedule the update to be performed at a time of the user's choice (within the grace period) by pressing the second button. Additional information that will indicate, for example, when the update will be performed as a result of the end of the grace period and the beginning of the enforcement period, may be obtained by pressing the third button labeled "More Detail". Para [0096-0097], At block 1808, in one example, the package is configured for SMS consumption. Accordingly, at block 1810, SMS distributes the package to a plurality of clients, where the clients are associated with multiple service levels. For example, a more exacting service level may require a greater number of updates which are applied more rapidly after detection; a lower service level may require fewer updates and may provide additional time before they must be applied.).
It would have obvious to one having ordinary skill in the art before the effecting filing date of the claimed invention to combine the teachings of cited references. Thus, one of ordinary skill in the art before the effecting filing date of the claimed invention would have been motivated to incorporate Wickham into Li to provide the technician the important data related to the time that software updates become available, the time such updates become approved, and the time taken to fix hazards by installing an update of the application of the updates. The method also schedules the application of the updates according to the level of service so that the application of update is performed based on the schedule as suggested by Wickham (See abstract and summary).
Li, and Wickham don’t explicitly teach
periodically poll a knowledge base network service by a management service to identify, by [[a]] the management service, an article identifier [[or]] of a knowledge base article provided by [[a]] the knowledge base network service, wherein the knowledge base article references a software product, and wherein the management service polls the knowledge base network service at a frequency greater than a frequency defined by an enforcement timeline of update releases to the software product by a software-provided update service;
determine, based on the update data, that the enforcement timeline of update releases to the software product by the software-provided update service does not meet a specified service level;
wherein the specified time is prior to a next scheduled update release as defined in the enforcement timeline;
(deploy the update package to the subset of the plurality of client devices dynamically selected using the smart group) within the specified time
However, Cain teaches
periodically poll a knowledge base network service by a management service to identify, by [[a]] the management service, an article identifier [[or]] of a knowledge base article provided by [[a]] the knowledge base network service, wherein the knowledge base article references a software product, and wherein the management service polls the knowledge base network service at a frequency greater than a frequency defined by an enforcement timeline of update releases to the software product by a software-provided update service(Cain, fig. 3 and para [0158], Administrators can use the Security Updates Inventory Tool provided in the Software Update Management feature of SMS 2003 to extend SMS hardware inventory to report on the software updates that need to be installed on a set of clients, as shown in FIG. 3. SMS 2003 clients compare what has been installed against the list of available software updates contained in the extensible markup language (XML) file downloaded from the Microsoft Update Web site. Para [0159], FIG. 3 illustrates adding security update information to the SMS database. The installation routine for the Security Updates Inventory Tool also creates a recurring advertisement (running every seven days) that downloads the latest software update catalog (Mssecure.cab) file from the Microsoft Update Web site. The site server automatically creates a new advertisement, which is targeted at all the client systems collection, once download is complete. This advertisement runs the Security Updates Inventory Tool for updates using the latest software update catalog file. Fig. 4 and para [0161-0163], Identifying Required Office Software Updates. Para [0316-0322], knowledge base article.);
determine, based on the update data, that the enforcement timeline of update releases to the software product by the software-provided update service does not meet a specified service level(Cain, para [0056-0060], After a software update has been identified, obtained, verified and validated, and it is determined that the software update is safe to deploy, in one embodiment, the software update may be flagged as a normal deployment of a software update or an emergency deployment of the software update, depending on its urgency. The deployment may be categorized into any number of urgency levels, as the aspects of the invention are not limited to the two (i.e., normal and emergency) levels described above. When the software update has been flagged, a request to deploy the software update may be generated. In the embodiment of FIG. 2, generating a request to deploy the software update 225 functions as the trigger event that transitions the patch management process into the subsequent evaluate and plan phase. Once the request has been submitted, the patch management process continues to be performed in the evaluate and plan phase. As discussed above, different trigger events may be used to transition the process from one phase to the next, as the aspects of the invention are not limited to use with any particular trigger event(s));
wherein the specified time is prior to a next scheduled update release as defined in the enforcement timeline(Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible.);
(deploy the update package to the subset of the plurality of client devices dynamically selected using the smart group) within the specified time(Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible. Cain, para [0677], If you have a control group, deploy to those computers first. Para [0071], Deployment to targeted computers 244 may included installing the update on a targeted group of computers to ensure that the installation works as intended. Deployment of the software update to targeted computers may be monitored and reports made on the progress of the deployment. In addition, any failure in the deployment of the installation may be identified and remedied. Para [0569].);
It would have obvious to one having ordinary skill in the art before the effecting filing date of the claimed invention to combine the teachings of cited references. Thus, one of ordinary skill in the art before the effecting filing date of the claimed invention would have been motivated to incorporate Cain into Li and Wickham to implement patch management process to install software patch as suggested by Cain (See abstract and summary).
Claim 9 is rejected for the reasons set forth hereinabove for claim 8, Li, Wickham and Cain teach the non-transitory computer-readable medium of claim 8, wherein the subset of the plurality of client devices are identified to correspond to the update data for the product update based at least in part on attributes of respective ones of the client devices (Li, Para [0051-0055], Client account/profile database 218 maintains the information related to authenticating a user or enterprise and determining their respective rights. For example, a user or enterprise may select various categories or channels of content in which they are interested in receiving updates. A channel may provide information related to one or more variations of an operating system, specific applications from software vendors 102, and configuration files. In addition, a user or enterprise may subscribe to multiple channels of content from management service 104. Database 218 may further include information that indicates the permissions and delivery of the information in a channel. Para [0005], monitor all of the available distribution channels, journals, Internet forums, and the like, to determine how to install and manage their software.).
Claim 10 is rejected for the reasons set forth hereinabove for claim 8, Li, Wickham and Cain teach the non-transitory computer-readable medium of claim 8, wherein the specified time is identified to be in compliance with the specified service level(Wickham, para [0079-0085], The interface 1400 of FIG. 14 provides the user with the information that a grace period will expire in the future, and be followed by an enforcement period. By scheduling the updates for a convenient time within the grace period, the user is able to prevent an inconvenient update at the onset of the enforcement period. The user may therefore perform the update immediately (by selecting the first button) or schedule the update to be performed at a time of the user's choice (within the grace period) by pressing the second button. Additional information that will indicate, for example, when the update will be performed as a result of the end of the grace period and the beginning of the enforcement period, may be obtained by pressing the third button labeled "More Detail". Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible. Cain, para [0677], If you have a control group, deploy to those computers first. Para [0071], Deployment to targeted computers 244 may included installing the update on a targeted group of computers to ensure that the installation works as intended. Deployment of the software update to targeted computers may be monitored and reports made on the progress of the deployment. In addition, any failure in the deployment of the installation may be identified and remedied. Para [0569].).
Claim 11 is rejected for the reasons set forth hereinabove for claim 8, Li, Wickham and Cain teach the non-transitory computer-readable medium of claim 8, wherein the update package is deployed by generating and storing a command to install the update package, and transmitting a push notification to the subset of the plurality of client devices, wherein the push notification cause the subset of the plurality of client devices to retrieve the command to install the update package (Li, para [0045-0050], Provisioning module 210 works in conjunction with update module 206 and management module 210 to allow for provisioning of software to computers 106, configuration management of computers 106. For example, provisioning module 210 may assist computers 106 or enterprise 108 with uninstallation, and multi-state rollback or recovery of updates. In addition, provisioning module 210 may assist in scheduling remote actions, such as the installation of the updates, and kick starting configuration tools. For example, provisioning module 210 may be configured to provision operating systems and one or more applications on to computer 106. Para [0061-0065], Finally, management service 104 may broker the delivery or installation of the updates in a manner that optimizes their effect. For example, management service 104 may broker several updates that are related or dependent upon each other. The brokering of updates may range, for example, from providing the program code for the update to providing one or more links to the update. The delivery or installation of the updates and supplemental metadata may be implemented under the control of management service 104, or under the control of the user or enterprise 108. Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible. Cain, para [0677], If you have a control group, deploy to those computers first. Para [0071], Deployment to targeted computers 244 may included installing the update on a targeted group of computers to ensure that the installation works as intended. Deployment of the software update to targeted computers may be monitored and reports made on the progress of the deployment. In addition, any failure in the deployment of the installation may be identified and remedied. Para [0569].).
Claim 12 is rejected for the reasons set forth hereinabove for claim 8, Li, Wickham and Cain teach the non-transitory computer-readable medium of claim 8, wherein the deployment settings perform a forced restart within the specified time in an instance in which a user-initiated restart is unidentified at a predetermined point prior to an end of the specified time(Wickham, para [0080-0081], a check box 1506 may be used to indicate agreement with the time selected via the pull-down menu 1508 to perform a reboot. Alternatively, the pull-down menu 1508 may be used to indicate that the reboot should be performed immediately after update application. Para [0082-0085], the updates and reboot is performed at according to the user's elected schedule, or automatically, at the end of the grace period. ).
Claim 13 is rejected for the reasons set forth hereinabove for claim 8, Li, Wickham and Cain teach the non-transitory computer-readable medium of claim 8, wherein the knowledge base network service is provided by a third party relative to a developer of the software product (Li, para [0037-0040], Software vendor interface module 200 manages communications between management service 104 and software vendors 102. For example, software vendor interface module 200 may be configured to periodically poll software vendors 102 on a regular basis to request update information and supplemental metadata for the respective software products of the software vendors 102. As another example, software vendor interface module 200 may be configured to passively monitor for update information and supplemental metadata from software vendors 102. Para [0038], software vendor interface module 200 may be configured to obtain software update information and supplemental metadata from software vendors 102 by searching the Internet to identify who of software vendors 102 are providing updates and supplemental metadata for their software products. Para [0051].).
Claim 14 is rejected for the reasons set forth hereinabove for claim 8, Li, Wickham and Cain teach the non-transitory computer-readable medium of claim 8, wherein the update data indicates the release date(Li, para [0049-0055], For example, update database 216 may include a schema or data structure that indicates a company name for each of software vendors 102, a software product name, a product type, information to identify the software product on computer 106, a file name or string used to identify products from software vendors 102, version information, and dates or a timestamp. The product type can be an operating system component, such as a device driver, or an operating system file, or an application.).
Claim 15 rejected, Li teaches a method performed using instructions executed by at least one computing device, the method comprising(Li, abstract and summary):
retrieving, by the management service based on the article identifier, update data for a product update provided by an update catalog network service, wherein the product update modifies the software product(Li, para [0038-0040], Software vendor interface module 200 may then download the updates and supplemental metadata from the sites for software vendors 102, or store one or more network locations (e.g., URL) where the download for an update or supplemental metadata can be obtained. Para [0005], monitor all of the available distribution channels, journals, Internet forums, and the like, to determine how to install and manage their software. Para [0051-0055].);
generating, by the management service, an update package (Li, para [0007-0009], a method of packaging software is provided. Supplemental qualitative information about the software is gathered and supplemental metadata associated with the gathered information is determined. The supplemental metadata is then packaged with the software in a set of files..Para [0051-0055].);
identifying a smart group that enables dynamic selection a subset of a plurality of client devices(Li, para [0022-0025], system 100 may operate in several modes. For example, in one mode ("hosted mode"), management service 104 is directly coupled to a single client, such as a user's computer 106. Although FIG. 1 depicts a single computer 106, embodiments of the present invention may accommodate any number of clients, users, and computers 106. Para [0023], In another mode ("satellite mode"), management service 104 provides information to an enterprise 108 that supports a number of clients, such as a plurality of computers 106. Enterprise 108 may comprise any number of computers, networks, and systems. For example, as shown in FIG. 1, enterprise 108 may include a satellite server 110 and a network 112 that couples together a plurality of computers 106. Of course, enterprise 108 may include other components, such as a firewall, or other network elements and may be configured according to other types of known architectures to support computers 106. Li, para [0051-0055], a user or enterprise may select various categories or channels of content in which they are interested in receiving updates. A channel may provide information related to one or more variations of an operating system, specific applications from software vendors 102, and configuration files. In addition, a user or enterprise may subscribe to multiple channels of content from management service 104. Database 218 may further include information that indicates the permissions and delivery of the information in a channel.); and
deploying the update package to the subset of the plurality of client devices dynamically selected using the smart group(Li, para [0045-0050], Provisioning module 210 works in conjunction with update module 206 and management module 210 to allow for provisioning of software to computers 106, configuration management of computers 106. For example, provisioning module 210 may assist computers 106 or enterprise 108 with uninstallation, and multi-state rollback or recovery of updates. In addition, provisioning module 210 may assist in scheduling remote actions, such as the installation of the updates, and kick starting configuration tools. For example, provisioning module 210 may be configured to provision operating systems and one or more applications on to computer 106. Li, para [0051], a user or enterprise may select various categories or channels of content in which they are interested in receiving updates. A channel may provide information related to one or more variations of an operating system, specific applications from software vendors 102, and configuration files. In addition, a user or enterprise may subscribe to multiple channels of content from management service 104. Database 218 may further include information that indicates the permissions and delivery of the information in a channel.).
Li does not explicitly teach
comprising deployment settings to automatically deploy the product update within a specified time from a release date of the product update
However, Wickham teaches
comprising deployment settings to automatically deploy the product update within a specified time from a release date of the product update(Wickham, US 20040187103, para [0079-0085], The interface 1400 of FIG. 14 provides the user with the information that a grace period will expire in the future, and be followed by an enforcement period. By scheduling the updates for a convenient time within the grace period, the user is able to prevent an inconvenient update at the onset of the enforcement period. The user may therefore perform the update immediately (by selecting the first button) or schedule the update to be performed at a time of the user's choice (within the grace period) by pressing the second button. Additional information that will indicate, for example, when the update will be performed as a result of the end of the grace period and the beginning of the enforcement period, may be obtained by pressing the third button labeled "More Detail". Para [0096-0097], At block 1808, in one example, the package is configured for SMS consumption. Accordingly, at block 1810, SMS distributes the package to a plurality of clients, where the clients are associated with multiple service levels. For example, a more exacting service level may require a greater number of updates which are applied more rapidly after detection; a lower service level may require fewer updates and may provide additional time before they must be applied.).
It would have obvious to one having ordinary skill in the art before the effecting filing date of the claimed invention to combine the teachings of cited references. Thus, one of ordinary skill in the art before the effecting filing date of the claimed invention would have been motivated to incorporate Wickham into Li to provide the technician the important data related to the time that software updates become available, the time such updates become approved, and the time taken to fix hazards by installing an update of the application of the updates. The method also schedules the application of the updates according to the level of service so that the application of update is performed based on the schedule as suggested by Wickham (See abstract and summary).
Li, and Wickham don’t explicitly teach
periodically poll a knowledge base network service by a management service to identify, by the management service, an article identifier of a knowledge base article provided by the knowledge base network service, wherein the knowledge base article references a software product, and wherein the management service polls the knowledge base network service at a frequency greater than a frequency defined by an enforcement timeline of update releases to the software product by a software-provided update service;
determine, based on the update data, that the enforcement timeline of update releases to the software product by the software-provided update service does not meet a specified service level;
wherein the specified time is prior to a next scheduled update release as defined in the enforcement timeline;
(deploy the update package to the subset of the plurality of client devices dynamically selected using the smart group) within the specified time
However, Cain teaches
periodically poll a knowledge base network service by a management service to identify, by the management service, an article identifier of a knowledge base article provided by the knowledge base network service, wherein the knowledge base article references a software product, and wherein the management service polls the knowledge base network service at a frequency greater than a frequency defined by an enforcement timeline of update releases to the software product by a software-provided update service (Cain, fig. 3 and para [0158], Administrators can use the Security Updates Inventory Tool provided in the Software Update Management feature of SMS 2003 to extend SMS hardware inventory to report on the software updates that need to be installed on a set of clients, as shown in FIG. 3. SMS 2003 clients compare what has been installed against the list of available software updates contained in the extensible markup language (XML) file downloaded from the Microsoft Update Web site. Para [0159], FIG. 3 illustrates adding security update information to the SMS database. The installation routine for the Security Updates Inventory Tool also creates a recurring advertisement (running every seven days) that downloads the latest software update catalog (Mssecure.cab) file from the Microsoft Update Web site. The site server automatically creates a new advertisement, which is targeted at all the client systems collection, once download is complete. This advertisement runs the Security Updates Inventory Tool for updates using the latest software update catalog file. Fig. 4 and para [0161-0163], Identifying Required Office Software Updates. Para [0316-0322], knowledge base article.);
determine, based on the update data, that the enforcement timeline of update releases to the software product by the software-provided update service does not meet a specified service level(Cain, para [0056-0060], After a software update has been identified, obtained, verified and validated, and it is determined that the software update is safe to deploy, in one embodiment, the software update may be flagged as a normal deployment of a software update or an emergency deployment of the software update, depending on its urgency. The deployment may be categorized into any number of urgency levels, as the aspects of the invention are not limited to the two (i.e., normal and emergency) levels described above. When the software update has been flagged, a request to deploy the software update may be generated. In the embodiment of FIG. 2, generating a request to deploy the software update 225 functions as the trigger event that transitions the patch management process into the subsequent evaluate and plan phase. Once the request has been submitted, the patch management process continues to be performed in the evaluate and plan phase. As discussed above, different trigger events may be used to transition the process from one phase to the next, as the aspects of the invention are not limited to use with any particular trigger event(s));
wherein the specified time is prior to a next scheduled update release as defined in the enforcement timeline(Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible.);
(deploy the update package to the subset of the plurality of client devices dynamically selected using the smart group) within the specified time(Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible. Cain, para [0677], If you have a control group, deploy to those computers first. Para [0071], Deployment to targeted computers 244 may included installing the update on a targeted group of computers to ensure that the installation works as intended. Deployment of the software update to targeted computers may be monitored and reports made on the progress of the deployment. In addition, any failure in the deployment of the installation may be identified and remedied. Para [0569].);
It would have obvious to one having ordinary skill in the art before the effecting filing date of the claimed invention to combine the teachings of cited references. Thus, one of ordinary skill in the art before the effecting filing date of the claimed invention would have been motivated to incorporate Cain into Li and Wickham to implement patch management process to install software patch as suggested by Cain (See abstract and summary).
Claim 16 is rejected for the reasons set forth hereinabove for claim 15, Li, Wickham and Cain teach the method of claim 15, wherein the subset of the plurality of client devices are identified to correspond to the update data for the product update based at least in part on attributes of respective ones of the client devices(Li, para [0051-0055], Client account/profile database 218 maintains the information related to authenticating a user or enterprise and determining their respective rights. For example, a user or enterprise may select various categories or channels of content in which they are interested in receiving updates. A channel may provide information related to one or more variations of an operating system, specific applications from software vendors 102, and configuration files. In addition, a user or enterprise may subscribe to multiple channels of content from management service 104. Database 218 may further include information that indicates the permissions and delivery of the information in a channel. Para [0005], monitor all of the available distribution channels, journals, Internet forums, and the like, to determine how to install and manage their software.).
Claim 17 is rejected for the reasons set forth hereinabove for claim 15, Li, Wickham and Cain teach the method of claim 15, wherein the specified time is identified to be in compliance with the specified service level(Wickham, para [0079-0085], The interface 1400 of FIG. 14 provides the user with the information that a grace period will expire in the future, and be followed by an enforcement period. By scheduling the updates for a convenient time within the grace period, the user is able to prevent an inconvenient update at the onset of the enforcement period. The user may therefore perform the update immediately (by selecting the first button) or schedule the update to be performed at a time of the user's choice (within the grace period) by pressing the second button. Additional information that will indicate, for example, when the update will be performed as a result of the end of the grace period and the beginning of the enforcement period, may be obtained by pressing the third button labeled "More Detail". Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible. Cain, para [0677], If you have a control group, deploy to those computers first. Para [0071], Deployment to targeted computers 244 may included installing the update on a targeted group of computers to ensure that the installation works as intended. Deployment of the software update to targeted computers may be monitored and reports made on the progress of the deployment. In addition, any failure in the deployment of the installation may be identified and remedied. Para [0569].).
Claim 18 is rejected for the reasons set forth hereinabove for claim 15, Li, Wickham and Cain teach the method of claim 15, wherein the update package is deployed by generating and storing a command to install the update package, and transmitting a push notification to the subset of the plurality of client devices, wherein the push notification cause the subset of the plurality of client devices to retrieve the command to install the update package (Li, para [0045-0050], Provisioning module 210 works in conjunction with update module 206 and management module 210 to allow for provisioning of software to computers 106, configuration management of computers 106. For example, provisioning module 210 may assist computers 106 or enterprise 108 with uninstallation, and multi-state rollback or recovery of updates. In addition, provisioning module 210 may assist in scheduling remote actions, such as the installation of the updates, and kick starting configuration tools. For example, provisioning module 210 may be configured to provision operating systems and one or more applications on to computer 106. Para [0061-0065], Finally, management service 104 may broker the delivery or installation of the updates in a manner that optimizes their effect. For example, management service 104 may broker several updates that are related or dependent upon each other. The brokering of updates may range, for example, from providing the program code for the update to providing one or more links to the update. The delivery or installation of the updates and supplemental metadata may be implemented under the control of management service 104, or under the control of the user or enterprise 108. Cain, para [0059-0060], One method of organizing the priority is to define time frames for different priority levels. For example, an emergency priority assessment may be recommended to be deployed within 24 hours and, at minimum, within two weeks. A high priority assessment may recommend deploying software update within a month and, at a minimum, within two months. A medium priority assessment may include a recommendation of deploying the software update within four months and include a minimum recommendation for deploying the software update within six months. A low priority setting may include a recommended time frame of deploying the software update within a year, and if not within the year, then not at all. Para [0475-0482], prioritizing a software update, Table 2 maps priority levels to recommended time frames and minimum recommended time frames. Para [0556-0557], FIG. 14 illustrates an example deployment timeline (SLA) that indicates that all servers must be patched within eight hours the organization being made aware of a software update considered to be business critical. The time window and speed of response may be different for your organization. Para [0679], If the repeat interval for running the software update installation agent is set to daily and it needs to be run sooner for the rollout of a critical software update, then a new, one-off, mandatory assignment should be made to run the advertisement as soon as possible. Cain, para [0677], If you have a control group, deploy to those computers first. Para [0071], Deployment to targeted computers 244 may included installing the update on a targeted group of computers to ensure that the installation works as intended. Deployment of the software update to targeted computers may be monitored and reports made on the progress of the deployment. In addition, any failure in the deployment of the installation may be identified and remedied. Para [0569].).
Claim 19 is rejected for the reasons set forth hereinabove for claim 15, Li, Wickham and Cain teach the method of claim 15, wherein the deployment settings specify to perform a forced restart within the specified time in an instance in which a user-initiated restart is unidentified at a predetermined point prior to an end of the specified time(Wickham, para [0080-0081], a check box 1506 may be used to indicate agreement with the time selected via the pull-down menu 1508 to perform a reboot. Alternatively, the pull-down menu 1508 may be used to indicate that the reboot should be performed immediately after update application. Para [0082-0085], the updates and reboot is performed at according to the user's elected schedule, or automatically, at the end of the grace period. ).
Claim 20 is rejected for the reasons set forth hereinabove for claim 15, Li, Wickham and Cain m teach the method of claim 19, wherein at least one of the update package or a client side management agent perform the forced restart(Wickham, para [0080-0082], a check box 1506 may be used to indicate agreement with the time selected via the pull-down menu 1508 to perform a reboot. Alternatively, the pull-down menu 1508 may be used to indicate that the reboot should be performed immediately after update application. Para [0082-0085], the updates and reboot is performed at according to the user's elected schedule, or automatically, at the end of the grace period. ).
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DUY KHUONG THANH NGUYEN whose telephone number is (571)270-7139 and fax number (571)270-7139. The examiner can normally be reached on Monday - Friday 0800-1630.
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, Lewis Bullock can be reached on 5712723759. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/DUY KHUONG T NGUYEN/ Primary Examiner, Art Unit 2199