DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f):
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f). The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f). The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) except as otherwise indicated in an Office action.
This application includes one or more claim limitations in Claim 2-3 that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitations are:
“a plurality of data cluster nodes configured to carry user traffic data…,” “one or more control cluster nodes configured to provision a set of rules…,” and “a management node configured to enable management of…” in Claim 2.
Because these claim limitations are being interpreted under 35 U.S.C. 112(f) Claims 2-3 are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f).
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
Claims 2-3 are rejected under 35 U.S.C. 112(b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor regards as the invention.
Claim limitations “a plurality of data cluster nodes configured to carry user traffic data…,” “one or more control cluster nodes configured to provision a set of rules…,” and “a management node configured to enable management of…” invoke 35 U.S.C. 112(f). However, the written description fails to disclose the corresponding structure, material, or acts for performing the entire claimed function and to clearly link the structure, material, or acts to the function. Paragraph [0071] states that “The data cluster nodes 408 may form a data plane” and Paragraph [0074] states that “the control cluster nodes 410 may run across multiple computers and a cluster usually runs or governs multiple nodes,” but the specification does not provide further written description disclosing the corresponding structure, material, or acts for performing the entire claimed functions of the three limitations indicated above. Therefore, the claim is indefinite and is rejected under 35 U.S.C. 112(b) or pre-AIA 35 U.S.C. 112, second paragraph.
Applicant may:
(a) Amend the claim so that the claim limitation will no longer be interpreted as a limitation under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph;
(b) Amend the written description of the specification such that it expressly recites what structure, material, or acts perform the entire claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(c) Amend the written description of the specification such that it clearly links the structure, material, or acts disclosed therein to the function recited in the claim, without introducing any new matter (35 U.S.C. 132(a)).
If applicant is of the opinion that the written description of the specification already implicitly or inherently discloses the corresponding structure, material, or acts and clearly links them to the function so that one of ordinary skill in the art would recognize what structure, material, or acts perform the claimed function, applicant should clarify the record by either:
(a) Amending the written description of the specification such that it expressly recites the corresponding structure, material, or acts for performing the claimed function and clearly links or associates the structure, material, or acts to the claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(b) Stating on the record what the corresponding structure, material, or acts, which are implicitly or inherently set forth in the written description of the specification, perform the claimed function. For more information, see 37 CFR 1.75(d) and MPEP §§ 608.01(o) and 2181.
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-3, 5-9, 11-15 and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over Fontoura et al. (US PGPUB 2017/0364345; hereinafter “Fontoura”) in view of Bhupati et al. (US PGPUB 2024/0338193; hereinafter “Bhupati”) and Thyagarajan et al. (US PGPUB 2020/0204622; hereinafter “Thya”).
Claim 1:
Fontoura teaches a system for updating a software application in a multi-tenant cloud network, comprising:
a memory configured to store computer executable instructions ([0226] “a configured medium 114 such as a portable (i.e., external) hard drive, CD, DVD, memory stick, or other removable non-volatile memory medium.” [0227] “The medium 114 is configured with binary instructions 116 that are executable by a processor 110”); and
one or more processors configured to execute the instructions to ([0228] “an embodiment may be described as being implemented as software instructions executed by one or more processors in a computing device.”):
receive a request to execute an update of the software application on a tenant node associated with the multi-tenant cloud network, wherein the update is for a conversion of the software application from a current version to an updated version ([0028] “The update coordinator may… receive requests for application updates from tenants.” [0288] “One method of coordinating updates in a multi-tenant cloud computing environment 100 includes (a) an update coordinator 508 receiving 802 a first update request 512 from a first update requester 510 specifying 804 a first update 810 to at least part of the cloud computing environment,”); and
responsive to receiving the request, cause to install the updated version on the tenant node, the updated version relating to a micro-service of the software application ([0275] “During an update performing step 808, a cloud 100 performs an update 810 to software which was identified in a request 512.” [0252] “Some fabrics 312 also provide application management capabilities for… upgrading/patching… microservices and/or applications that use microservices. Some examples of microservices include protocol gateways, user profiles, shopping carts, inventory processing, queues, and caches. In some environments, a fabric and microservices may be part of the infrastructure software that is provided by a PaaS provider.”).
With further regard to Claim 1, Fontoura does not teach the following, however, Bhupati teaches:
obtain operational parameters relating to the tenant node, the operational parameters comprising at least operation timing and operational traffic data ([0057] “the update agent 606 may communicate one or more performance metrics 620 back to the software update distribution system 600. In general, the performance metric may indicate an amount of processing time, CPU utilization, or a measure of network traffic that resulted from completing the action to download the software update. Also, the performance metric may indicate some measure of the extent to which the downloading of the software update may have disrupted the activities of an end-user of the client computing device—for example, if the download occurred while the end-user was actively using the client computing device 608,” wherein the “measure of network traffic” is the “operational traffic data,” and further wherein either of the “amount of processing time” or “extent to which the downloading… may have disrupted the activities of an end-user” is the “operation timing” parameter.); and
based on the operational parameters and a high availability architecture relating to the software application, provision the updated version ([0019] “A second goal or objective is to perform the software updates at a time that will minimize the possibility of any network impact or disruption,” wherein the “second goal” indicates that the system in Bhupati discloses a “high availability architecture.” [0026] “the update agent 212 will communicate one or more performance metrics 218 back to the software update distribution system 200. At the conclusion of the rollout of a specific software update to a specific group of client computing devices, the software update distribution system will compute a penalty, reflecting the overall performance or impact of the rollout of the software update. This penalty is then compared to a threshold, and if necessary, the learned software update rules and corresponding schedule for that specific group of client computing devices will be updated or modified in pursuit of better performance with respect to the selected objective.” [0044] “the agent 302 is configured to take actions 306 based on some set schedule,” wherein Fig. 3 shows that “Actions 306” include “Install Update 314.”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system as disclosed by Fontoura with the operational parameters as taught by Bhupati for purposes of “discovering, for each of several different groups of computing devices, an optimal schedule by which specific actions are to occur in the software update process in order to achieve a goal or objective that is specific to the enterprise operating each group of computing devices” (Bhupati [0023]).
With further regard to Claim 1, Fontoura in view of Bhupati does not teach the following, however, Thya teaches:
based on a high availability architecture relating to the software application, provision the updated version of the software application on the tenant node while the tenant node is executing instances of the software application during the provisioning of the updated version ([0006] “The concepts and technologies disclosed herein provide a high availability and high utilization cloud data center architecture.” [0082] “FIG. 7, a block diagram illustrating an in-service sequential AR-by-AR upgrade within an AZ 104 followed by an AZ-by-AZ upgrade in a site 102 without impacting tenant services.” [0083] “To perform an OPENSTACK and/or VNF upgrade from an N version to an N+1 version, the AZ1 104A is set to active mode while the AZ2 104B is set to maintenance mode and upgraded. After the AZ2 104B is upgraded, the AZ2 104B returns to active mode and the AZ1 104A is set to maintenance mode and upgraded.”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system as disclosed by Fontoura in view of Bhupati with the high availability architecture as taught by Thya in order to “provide a high availability and high utilization cloud data center architecture for supporting real-time services” (Thya [0006]).
Claim 2:
Fontoura in view of Bhupati and Thya teaches the system of Claim 1. However, Fontoura in view of Bhupati does not teach the following, but Thya teaches wherein the multi-tenant cloud network associated with the software application comprises:
a plurality of data cluster nodes configured to carry user traffic data associated with the tenant node across different connecting endpoints of a tenant architecture associated with the tenant node ([0007] “An instance of… a container cluster can be instantiated in any site, AZ, or AR.” [0084] “FIG. 8A… illustrating layer 2 adjacency between tenant VNFs hosted in different Ars… the tenants 114A, 114B are hosted as VMs, Containers, or other virtual hosting solution on the servers 128A, 128B, respectively… the SDN endpoints can be implemented by vRouter, vSwitch, Virtual Ethernet Bridge, or other network client in the servers 128A, 128B... Tenant network traffic can be forwarded over the leaf switches 316A, 316B and the spine switches 310A, 310B,” wherein Fig. 8A shows that the “Tenant network traffic” is carried between the different connecting “SDN Endpoints” 132A and 132B.);
one or more control cluster nodes configured to provision a set of rules for the plurality of data cluster nodes based on a corresponding region ([0084] “The control functions—that is, the cloud controllers 116A, 116B and the SDN controllers 134A, 134B—for the ARs 110A, 110B manage the virtual hosting and the virtual network configuration details for the tenants 114A, 114B via the hosting agents and the SDN endpoints,” wherein the “ARs 110A, 110B” are [0006] “Availability regions (‘AR’),” i.e. the claimed “corresponding region”. Further, [0047] “a cloud controller (‘CC’) 112 instance that manages a pool of tenant servers,” wherein the “the cloud controllers 116A, 116B” in Fig. 8A are the “one or more control cluster nodes”. [0049] “Each of the CCs 112 provides a set of cloud controller services 116, such as compute services, networking services, storage services, orchestration services, and other services.” [0107] “the methods disclosed herein are described as being performed, at least in part, by a VM placement system, such as the central placement decision system 404.” [0109] “the application placement request specifies availability and/or utilization requirements to be met for placement of the requested application,” wherein the “requirements” are the “rules”.); and
a management node configured to enable management of at least one of: the tenant node, network configuration, infrastructure resource, and software application inventory ([0084] “[0084] “The control functions—that is, the cloud controllers 116A, 116B and the SDN controllers 134A, 134B—for the ARs 110A, 110B manage the virtual hosting and the virtual network configuration details for the tenants 114A, 114B.” [0065] “The SDN controllers 134A-134B communicate, via a peer-to-peer connection, with a virtual route reflector (‘vRR’) 312…The SDN controllers 134A-134B instruct the vR/vSs 132A-132B to forward tenant traffic through the routes/addresses/MACs advertised by the vRR 312,” wherein “SDN Controller 134A” is the “management node” which enables management of the “network configuration”.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system as disclosed by Fontoura in view of Bhupati with the control and management nodes as taught by Thya in order to “provide a high availability and high utilization cloud data center architecture for supporting real-time services” (Thya [0006]).
Claim 3:
Fontoura in view of Bhupati and Thya teaches the system of Claim 2. However, Fontoura in view of Bhupati does not teach the following, but Thya teaches wherein the one or more processors are configured to execute the instructions to:
cause the tenant node to access the software application associated with the multi-tenant cloud network using the management node ([0047] “a server (not shown in FIG. 1) hosting a cloud controller (‘CC’) 112 instance that manages a pool of tenant servers (shown as ‘tenant 114’; single tenant server configurations are also contemplated) hosting one or more applications, such as one or more VNFs that support one or more real-time services.” [0084] “The control functions—that is, the cloud controllers 116A, 116B and the SDN controllers 134A, 134B—for the ARs 110A, 110B manage the virtual hosting and the virtual network configuration details for the tenants.” [0055] “The tenant 144 can access a private cloud infrastructure provided, at least in part, by the cloud computing environment 100 via a front end, which can be provided by and/or accessed through a client, such as a web client application, or a native client application, for example.”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system as disclosed by Fontoura in view of Bhupati with the software application accessibility as taught by Thya in order to “provide a high availability and high utilization cloud data center architecture for supporting real-time services” (Thya [0006]).
Claim 5:
Fontoura in view of Bhupati and Thya teaches the system of Claim 1. Fontoura further teaches wherein the updated version of the software application comprises at least one of: one or more new feature functionalities, or bug fix over the current version ([0299] “In some examples, fixing zero-day vulnerabilities takes priority over availability. For instance, when an infrastructure update request 512 specifies a security update 810 to correct an identified zero-day vulnerability, coordinating 806 the update requests may include prioritizing 870 the infrastructure update request over a tenant update request.”).
Claim 6:
Fontoura in view of Bhupati and Thya teaches the system of Claim 1. Fontoura further teaches wherein the instances of the software application executing on the tenant node relates to micro-services other than the micro-service of the updated version ([0252] “fabric 312 provides a runtime for building distributed, scalable stateless and stateful microservices. Some fabrics 312 also provide application management capabilities for provisioning, deploying, monitoring, upgrading/patching, and deleting deployed microservices and/or applications that use microservices. Some examples of microservices include protocol gateways, user profiles, shopping carts, inventory processing, queues, and caches. In some environments, a fabric and microservices may be part of the infrastructure software that is provided by a PaaS provider.”).
Claims 7-9 and 11-12:
With regard to Claims 7-9 and 11-12, these claims are equivalent in scope to Claims 1-3 and 5-6 rejected above, merely having a different independent claim type, and as such Claims 7-9 and 11-12 are rejected under the same grounds and for the same reasons as discussed above with regard to Claims 1-3 and 5-6.
Claims 13-15 and 17-18:
With regard to Claims 13-15 and 17-18, these claims are equivalent in scope to Claims 1-3 and 5-6 rejected above, merely having a different independent claim type, and as such Claims 13-15 and 17-18 are rejected under the same grounds and for the same reasons as discussed above with regard to Claims 1-3 and 5-6.
With further regard to Claim 13, the claim recites additional elements not specifically addressed in the rejection of Claim 1. The Fontoura reference also anticipates these additional elements of Claim 13, for example, Fontoura teaches:
A non-transitory computer readable storage medium, having stored thereon, a set of computed-executable instructions that causes a computer to perform a method for updating a software application in a multi-tenant cloud network ([0296] “Some embodiments include a configured computer-readable storage medium 112. Medium 112 may include disks (magnetic, optical, or otherwise), RAM, EEPROMS or other ROMs, and/or other configurable memory, including in particular computer-readable media (as opposed to mere propagated signals)… The configured medium 112 is capable of causing a computer system to perform technical process steps for identifying 1102 and resolving 812 update conflicts 1104 as disclosed herein.”).
Claims 4, 10 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Fontoura in view of Bhupati and Thya as applied to Claims 1, 7 and 13 above, and further in view of Bussa et al. (US PGPUB 2023/0011250; hereinafter “Bussa”).
Claim 4:
Fontoura in view of Bhupati and Thya teaches all the limitations of claim 1 as described above. Fontoura in view of Bhupati and Thya does not teach the following, however, Bussa teaches wherein the one or more processors are configured to execute the instructions to:
deploy a continuous integration and continuous deployment pipeline to enable automated identification of a problem associated with the micro-service of the software application ([0040] “computing environment 100 may include a continuous integration and continuous delivery (CI/CD) testing computing platform 110.” [0045] “the CI/CD testing computing platform 110… is deployed.” [0034] “automated software testing in a continuous integration and delivery environment using AI-generated test data may be conducted to validate requirement changes in a web service application.” [0098] “In examples where the CI/CD testing computing platform 110 identified errors or anomalies in the compiled test results data, the CI/CD testing computing platform 110 may transmit one or more indications of identified errors or anomalies to the web service computing platform 120 and/or to the developer computing device 160 at step 215.”); and
cause the multi-tenant cloud network to generate the updated version of the software application, wherein the updated version is configured to address the identified problem ([0098] “In some instances, at step 216, the CI/CD testing computing platform 110 may receive one or more updates or modifications relating to the test code and/or the test data set that was previously executed on the CI/CD testing computing platform 110. In some examples, the updates or modifications received at step 216 may be in response to error information received as part of the test code results received at step 215.” [0087] “Referring to FIG. 2C, at step 209, CI/CD testing computing platform 110 may autocorrect one or more errors in the test data set based on the error check performed at step 208… The test data set also may, for instance, be autocorrected in accordance with a data conditioning algorithm of the data conditioning module 112b the CI/CD testing computing platform 110.”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system as disclosed by Fontoura in view of Bhupati and Thya with the continuous integration and continuous deployment pipeline as taught by Bussa in order to “provide effective, efficient, scalable, and convenient technical solutions that address and overcome the technical problems associated with software testing” (Bussa [0003]).
Claims 10 and 16:
With regard to Claims 10 and 16, these claims are equivalent in scope to Claim 4 rejected above, merely having a different independent claim type, and as such Claims 10 and 16 are rejected under the same grounds and for the same reasons as discussed above with regard to Claim 4.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure is as follows:
Liljeback et al. (US PGPUB 2022/0050670) discloses a compute container system supporting logical partitions for various single tenant systems, including deployment management techniques for deploying updates to various nodes of the system.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Joanne G. Macasiano whose telephone number is (571)270-7749. The examiner can normally be reached Monday to Thursday, 10:30 AM to 6:00 PM Eastern Standard Time.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Bradley Teets can be reached at (571) 272-3338. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/JOANNE G MACASIANO/Examiner, Art Unit 2197