DETAILED ACTION
This is the initial Office action based on the application filed on February 8, 2024.
Claims 1-20 are pending.
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 .
Specification
The disclosure is objected to because of the following informalities:
Paragraph [0049], lines 7-8, recite “a network interface 306.” It should read -- a radio 306 --.
Appropriate correction is required.
Claim Objections
Claims 3, 6, 10, 13, 16, and 20 are objected to because of the following informalities:
Claim 3, line 4, recites “real production data.” It should read -- the real production data --.
Claim 6, line 2, recites “each of the IPs.” It should read – each of the one or more IPs --.
Claim 10, line 2, recites “each of the IPs.” It should read – each of the one or more IPs --.
Claim 13, lines 4-5, recites “real production data.” It should read -- the real production data --.
Claim 16, line 2, recites “each of the IPs.” It should read – each of the one or more IPs --.
Claim 20, line 2, recites “each of the IPs.” It should read – each of the one or more IPs --.
Appropriate correction is required.
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 7 and 17 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.
Claims 7 and 17 recite, in lines 2-3 & lines 3-4 respectively, the limitation “wherein the IP is independent of the service.” The claims are rendered vague and indefinite because it is unclear to the Examiner how the IP is independent of the service when it comprises an instance of the service. In the interest of compact prosecution, the Examiner interprets this limitation as the IP comprising an instance of the service in Claims 7 and 17.
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-4, 8, 11-14, and 18 are rejected under 35 U.S.C. 103 as being unpatentable over US 8,001,422 (hereinafter “Sun”) in view of US 2024/0155003 (hereinafter “Gulati”) and US 2022/0222079 (hereinafter “Vergara”).
As per Claim 1, Sun discloses:
A method comprising steps of:
wherein the service is adapted to receive requests and provide an output […] (col. 5 lines 8-13, “As shown in FIG. 2, a service 202 (referred to herein as a "production service") is running in a production environment that is able to receive a request from a user, directly or indirectly, process information needed to respond to at least a portion of the request, and return a response to the user, directly or indirectly (emphasis added).);
deploying one or more Independent Pipelines (IPs), wherein each of the one or more IPs comprises an instance of the service (col. 5 lines 8-13 & lines 16-18, “As shown in FIG. 2, a service 202 (referred to herein as a "production service" [independent pipeline]) is running in a production environment that is able to receive a request from a user, directly or indirectly, process information needed to respond to at least a portion of the request, and return a response to the user, directly or indirectly […] Another service 206, or another version of the same service (referred to herein as the "test service" [independent pipeline]), is running in a testing, development, or similar environment (emphasis added).”; col. 5 lines 45-48, “It should be understood that the deployment of the testing and shadow service can be independent of the deployment of the production service with shadow capability (emphasis added).”);
feeding real production data through the service and each of the one or more IPs (col. 4 lines 66-67 to col. 5 lines 1-6, “This approach allows for the testing of a new or different service, or new version of an existing service, using real requests from the production environment. Further, the approach provides the actual response from the production environment, which allows testing not only for accuracy, but also for compatibility with the version of the service (where applicable) currently in production (emphasis added).”; col. 5 lines 8-13 & lines 16-18, “As shown in FIG. 2, a service 202 (referred to herein as a "production service" [independent pipeline]) is running in a production environment that is able to receive a request from a user, directly or indirectly, process information needed to respond to at least a portion of the request, and return a response to the user, directly or indirectly […] Another service 206, or another version of the same service (referred to herein as the "test service" [independent pipeline]), is running in a testing, development, or similar environment (emphasis added).”; col. 6 lines 60-63, “The test service thus receives information for an actual production request from a customer or other source. The test service is able to process the test request (the copy of the production request) and generate a test response 320 (emphasis added).”).
Sun discloses “wherein the service is adapted to receive requests and provide an output […],” but does not explicitly disclose:
providing a service to a plurality of customers via a cloud-based system, wherein the service is adapted to receive requests and provide an output to perform a function for the plurality of customers.
However, Gulati discloses:
providing a service to a plurality of customers via a cloud-based system, wherein the service is adapted to receive requests and provide an output to perform a function for the plurality of customers (paragraph [0034], “A cloud platform 120 also includes the security service 130. Responsive to receiving a request from the access service module 250 for a user to access resources, the security service 130 generates a set of credentials for the user of an account and also attach one or more access policies for the user. The security service 130 may provide the credentials and the access policies to the access service module 250 [output]. The security service 130 may subsequently receive a request to access resources from the user with the set of credentials. The security service 130 authenticates the request using the credentials and determines whether the user is in compliance with the access policies attached to the user credentials [to perform a function]. In one instance, the security service 130 determines whether the user is using the credentials within the network boundary specified in the session policies. If the permissions match, the security service 130 grants the request such that the user can access the resources of the account. Otherwise, the security service 130 may deny the request.”; paragraph [0035], “This ensures that users [plurality of customers] are accessing resources on the cloud platform 120 according to these updated security boundaries. In this manner, the access service module 250 can effectively provide seamless security enforcement across many instances of datacenters and datacenter entities for multiple tenants 115.”).
Sun is within the same field of endeavor as the claimed invention regarding the deployment of versions of a service and feeding of production data. Gulati is also within the same field of endeavor as the claimed invention regarding providing a service to customers in a cloud based system.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Gulati into the teaching of Sun to include “providing a service to a plurality of customers via a cloud-based system, wherein the service is adapted to receive requests and provide an output to perform a function for the plurality of customers.” The modification would be obvious because one of ordinary skill in the art would be motivated to utilize a security service that provides credentials and access policies in order to effectively provide seamless security enforcement across many instances of datacenters and datacenter entities for multiple tenants to ensure only authorized tenants access resources (Gulati, paragraphs [0034 & 0035]).
The combination of Sun and Gulati discloses “one or more IPs,” but does not explicitly disclose:
wherein the one or more IPs are independent of one another.
However, Vergara discloses:
wherein the one or more [pipelines] are independent of one another (Figure 10: 1030a, 1030b; paragraph [0148], “The cloud platform independent master pipeline comprises a set of pipelines including at least a pipeline for each service that is being deployed or modified in the datacenter (emphasis added).”; paragraph [0117], “In an embodiment, the pipeline generator generates service pipelines for individual services […].”).
Vergara is within the same field of endeavor as the claimed invention regarding the deployment of services.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Vergara into the combined teachings of Sun and Gulati to include “wherein the one or more IPs are independent of one another.” The modification would be obvious because one of ordinary skill in the art would be motivated to include pipelines that are independent of one another in order to isolate any problems/errors of one pipeline from impacting others (Vergara, Figure 10).
As per Claim 2, the rejection of Claim 1 is incorporated; and Sun further discloses:
wherein the one or more IPs each comprise a different version of the service (col. 5 lines 8-13 & lines 16-18, “As shown in FIG. 2, a service 202 (referred to herein as a "production service" [independent pipeline]) is running in a production environment that is able to receive a request from a user, directly or indirectly, process information needed to respond to at least a portion of the request, and return a response to the user, directly or indirectly […] Another service 206, or another version of the same service (referred to herein as the "test service" [independent pipeline]), is running in a testing, development, or similar environment (emphasis added).”), and wherein the steps further comprise validating each of the different versions of the service with the real production data (col. 4 lines 66-67 to col. 5 lines 1-6, “This approach allows for the testing [validating] of a new or different service, or new version of an existing service, using real requests from the production environment. Further, the approach provides the actual response from the production environment, which allows testing not only for accuracy, but also for compatibility with the version of the service (where applicable) currently in production (emphasis added).”; col. 1 lines 10-19, “When developing or providing such a service, it is desirable to test the functionality to ensure that any errors in the code are minimized to within an acceptable range. While no service is going to be accurate 100% of the time, owing to factors such as availability and hardware issues in addition to any coding errors, an accuracy of at least 99% can be acceptable in certain cases. A problem with testing the functionality before putting the service into production, however, is that the service is not able to be easily be tested in a production environment (emphasis added).”; col. 6 lines 60-63 & col. 7 lines 2-6 & lines 14-18, “The test service thus receives information for an actual production request from a customer or other source. The test service is able to process the test request (the copy of the production request) and generate a test response 320 […] Since the shadow service has a copy of the production request stored locally, the shadow service is able to compare the production and test responses 324. In one embodiment, the shadow service tests to see if the production and test results match […] In some embodiments, the results of the comparison are stored in a log for subsequent analysis. In some embodiments, the shadow service also tracks and generates statistics for specific types of error.”).
As per Claim 3, the rejection of Claim 2 is incorporated; and Sun further discloses:
wherein the service is an original version of the service (col. 5 lines 8-13 & lines 16-18, “As shown in FIG. 2, a service 202 (referred to herein as a "production service" [original service]) is running in a production environment that is able to receive a request from a user, directly or indirectly, process information needed to respond to at least a portion of the request, and return a response to the user, directly or indirectly […] Another service 206, or another version of the same service (referred to herein as the "test service"), is running in a testing, development, or similar environment (emphasis added).”), and wherein during the validating, the steps further comprise only sending outputs from the service to the plurality of customers, thereby enabling performance validation of each of the different versions of the service with real production data without impacting the plurality of customers (col. 1 lines 10-19, “When developing or providing such a service, it is desirable to test the functionality to ensure that any errors in the code are minimized to within an acceptable range [performance validation]. While no service is going to be accurate 100% of the time, owing to factors such as availability and hardware issues in addition to any coding errors, an accuracy of at least 99% can be acceptable in certain cases. A problem with testing the functionality before putting the service into production, however, is that the service is not able to be easily be tested in a production environment (emphasis added).”; col. 5 lines 60-67 to col. 6 line 1, “When the production service [original service] subsequently receives a production request 308, such as from a user, application, or other service, the production service processes the request per normal operation and generates the appropriate response 310. In addition to sending the response back to the user, application, or other source of the request 314, the production service can forward a copy of the initial request and a copy of the response, generated by the production service for the initial request, to the shadow service 312 (emphasis added).”; col. 6 lines 30-37, “As soon as the shadow service receives the copy of the production request, the production service drops the connection and replies to the customer or other source of the request. Such an approach causes substantially no impact to the customer, as a millisecond or similar delay will not be noticeable to a user over a network connection, and there will be no appreciable difference in latency or quality of the response (emphasis added).”; col. 6 lines 60-66 & col. 7 lines 2-6, “The test service thus receives information for an actual production request from a customer or other source. The test service is able to process the test request (the copy of the production request) and generate a test response 320. The test service returns the test response to the shadow service 322, just as the test service would if the test service was in production and had received the request directly from the customer […] Since the shadow service has a copy of the production request stored locally, the shadow service is able to compare the production and test responses 324. In one embodiment, the shadow service tests to see if the production and test results match (emphasis added).”).
As per Claim 4, the rejection of Claim 2 is incorporated; and Sun discloses “the validating (col. 4 lines 66-67 to col. 5 lines 1-6, “This approach allows for the testing [validating] of a new or different service, or new version of an existing service, using real requests from the production environment. Further, the approach provides the actual response from the production environment, which allows testing not only for accuracy, but also for compatibility with the version of the service (where applicable) currently in production (emphasis added).”; col. 1 lines 10-19, “When developing or providing such a service, it is desirable to test the functionality to ensure that any errors in the code are minimized to within an acceptable range. While no service is going to be accurate 100% of the time, owing to factors such as availability and hardware issues in addition to any coding errors, an accuracy of at least 99% can be acceptable in certain cases. A problem with testing the functionality before putting the service into production, however, is that the service is not able to be easily be tested in a production environment (emphasis added).”; col. 6 lines 60-63 & col. 7 lines 2-6 & lines 14-18, “The test service thus receives information for an actual production request from a customer or other source. The test service is able to process the test request (the copy of the production request) and generate a test response 320 […] Since the shadow service has a copy of the production request stored locally, the shadow service is able to compare the production and test responses 324. In one embodiment, the shadow service tests to see if the production and test results match […] In some embodiments, the results of the comparison are stored in a log for subsequent analysis. In some embodiments, the shadow service also tracks and generates statistics for specific types of error.”),” but the combination of Sun and Vergara does not explicitly disclose:
using an output from one of the service or any of the one or more IPs to perform the function of the service for the plurality of customers based on the validating.
However, Gulati discloses:
using an output from one of the service or any of the one or more IPs to perform the function of the service for the plurality of customers based on the [authenticating] (paragraph [0034], “Responsive to receiving a request from the access service module 250 for a user to access resources, the security service 130 generates a set of credentials for the user of an account and also attach one or more access policies for the user. The security service 130 may provide the credentials and the access policies to the access service module 250 [output]. The security service 130 may subsequently receive a request to access resources from the user with the set of credentials. The security service 130 authenticates the request using the credentials and determines whether the user is in compliance with the access policies attached to the user credentials [using the output to perform a function]. In one instance, the security service 130 determines whether the user is using the credentials within the network boundary specified in the session policies. If the permissions match, the security service 130 grants the request such that the user can access the resources of the account. Otherwise, the security service 130 may deny the request (emphasis added).”; paragraph [0035], “This ensures that users [plurality of customers] are accessing resources on the cloud platform 120 according to these updated security boundaries. In this manner, the access service module 250 can effectively provide seamless security enforcement across many instances of datacenters and datacenter entities for multiple tenants 115 (emphasis added).”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Gulati into the combined teachings of Sun and Vergara to include “using an output from one of the service or any of the one or more IPs to perform the function of the service for the plurality of customers based on the validating.” The modification would be obvious because one of ordinary skill in the art would be motivated to utilize a security service that provides credentials and access policies in order to effectively provide seamless security enforcement across many instances of datacenters and datacenter entities for multiple tenants to ensure only authorized tenants access resources (Gulati, paragraphs [0034 & 0035]).
As per Claim 8, the rejection of Claim 1 is incorporated; and the combination of Sun and Vergara does not explicitly disclose:
wherein the service is an enforcement system adapted to enforce policy relating to security of the cloud-based system and the plurality of customers.
However, Gulati discloses:
wherein the service is an enforcement system adapted to enforce policy relating to security of the cloud-based system and the plurality of customers (paragraph [0034], “A cloud platform 120 also includes the security service 130. Responsive to receiving a request from the access service module 250 for a user to access resources, the security service 130 generates a set of credentials for the user of an account and also attach one or more access policies for the user. The security service 130 may provide the credentials and the access policies to the access service module 250. The security service 130 may subsequently receive a request to access resources from the user with the set of credentials. The security service 130 authenticates the request using the credentials and determines whether the user is in compliance with the access policies attached to the user credentials. In one instance, the security service 130 determines whether the user is using the credentials within the network boundary specified in the session policies. If the permissions match, the security service 130 grants the request such that the user can access the resources of the account. Otherwise, the security service 130 may deny the request (emphasis added).”; paragraph [0035], “This ensures that users [plurality of customers] are accessing resources on the cloud platform 120 according to these updated security boundaries. In this manner, the access service module 250 can effectively provide seamless security enforcement across many instances of datacenters and datacenter entities for multiple tenants 115 (emphasis added).”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Gulati into the combined teachings of Sun and Vergara to include “wherein the service is an enforcement system adapted to enforce policy relating to security of the cloud-based system and the plurality of customers.” The modification would be obvious because one of ordinary skill in the art would be motivated to utilize a security service that provides credentials and access policies in order to effectively provide seamless security enforcement across many instances of datacenters and datacenter entities for multiple tenants to ensure only authorized tenants access resources (Gulati, paragraphs [0034 & 0035]).
As per Claim 11, Sun discloses:
A non-transitory computer-readable medium comprising instructions that, when executed, cause one or more processors to perform steps of: […] (Claim 22, “A computer program product embedded in a non-transitory computer readable storage medium for testing a service, comprising: program code for […].”; col. 4 lines 15-18, “[…] typically will include a computer-readable medium storing instructions that, when executed by a processor of the server, allow the server to perform its intended functions.”).
Claim 11 is a non-transitory computer-readable medium claim corresponding to method Claim 1 and the remainder of Claim 11 is rejected for the same reasons as given in the rejection of Claim 1.
Claims 12-14 and 18 are non-transitory computer-readable medium claims corresponding to method Claims 2-4 and 8 respectively and are rejected for the same reasons as given in the rejections of those claims.
Claims 5 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Sun in view of Gulati and Vergara as applied to Claims 1 and 11 above, and further in view of US 11,360,821 (hereinafter “Dey”) and US 2008/0201479 (hereinafter “Husain”).
As per Claim 5, the rejection of Claim 1 is incorporated; and Sun discloses “an IP of the one or more IPs (col. 5 lines 8-13 & lines 16-18, “As shown in FIG. 2, a service 202 (referred to herein as a "production service") is running in a production environment that is able to receive a request from a user, directly or indirectly, process information needed to respond to at least a portion of the request, and return a response to the user, directly or indirectly […] Another service 206, or another version of the same service (referred to herein as the "test service"), is running in a testing, development, or similar environment.”),” but the combination of Sun, Gulati, and Vergara does not explicitly disclose:
identifying a customer of the plurality of customers that utilizes a large amount of resource capacity; and
assigning the identified customer to an IP of the one or more IPs, wherein the IP only processes data for the identified customer.
However, Dey discloses:
identifying a customer of the plurality of customers that utilizes a large amount of resource capacity (col. 8 lines 38-42, “For example, a user who has submitted a threshold number of successive requests that have exceeded an associated resource usage threshold within a certain time period can be identified as an issue.”; col. 3 lines 33-35, “Groups of users can be associated with usage resource thresholds that correspond to selected, acceptable levels of resource usage.”).
Dey is within the same field of endeavor as the claimed invention regarding the identification of users that utilize a large amount of resources.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Dey into the combined teachings of Sun, Gulati, and Vergara to include “identifying a customer of the plurality of customers that utilizes a large amount of resource capacity.” The modification would be obvious because one of ordinary skill in the art would be motivated to identify users that exceed resource usage thresholds in order to take an action such as giving the users guidance to improve future requests which may result in improved efficiency in running future requests (Dey, col. 8 lines 43-56).
The combination of Sun, Gulati, Vergara, and Dey discloses “an IP of the one or more IPs,” but does not explicitly disclose:
assigning the identified customer to an IP of the one or more IPs, wherein the IP only processes data for the identified customer.
However, Husain discloses:
assigning the identified customer to [a VM] of the one or more [VMs], wherein the [VM] only processes data for the identified customer (paragraph [0009], “In response to receiving a first request from the first user [identified customer] to connect to the server computer, the method may operate to determine that the first virtual machine is associated with the first user on the exclusive basis and may assign the first user to the first virtual machine. Once the first user has been assigned to the first virtual machine, the first user can begin using the first virtual machine. For example, the user may execute software programs on the first virtual machine, access data stored on the first virtual machine, etc (emphasis added).”; paragraph [0010], “Other users who connect to the server computer may be prevented from using the first virtual machine.”; paragraph [0114], “Associating virtual machines with users on an exclusive basis may allow complete user-based isolation of applications and data stored on a virtual machine.”).
Husain is within the same field of endeavor as the claimed invention regarding the exclusive assignment of users to certain entities.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Husain into the combined teachings of Sun, Gulati, Vergara, and Dey to include “assigning the identified customer to an IP of the one or more IPs, wherein the IP only processes data for the identified customer.” The modification would be obvious because one of ordinary skill in the art would be motivated to assign a computing entity such as a virtual machine on an exclusive basis to a user to improve data security by preventing other users from accessing that same virtual machine (Husain, paragraphs [0009 & 0010]).
Claim 15 is a non-transitory computer-readable medium claim corresponding to method Claim 5 and is rejected for the same reasons as given in the rejection of that claim.
Claims 6 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Sun in view of Gulati, Vergara, Dey, and Husain as applied to Claims 5 and 15 above, and further in view of US 2022/0030065 (hereinafter “Tornow”).
As per Claim 6, the rejection of Claim 5 is incorporated; and Sun discloses “IPs (col. 5 lines 8-13 & lines 16-18, “As shown in FIG. 2, a service 202 (referred to herein as a "production service") is running in a production environment that is able to receive a request from a user, directly or indirectly, process information needed to respond to at least a portion of the request, and return a response to the user, directly or indirectly […] Another service 206, or another version of the same service (referred to herein as the "test service"), is running in a testing, development, or similar environment.”),” but the combination of Sun, Gulati, Vergara, Dey, and Husain does not explicitly disclose:
wherein each of the one or more IPs is deployed in its own isolated environment, and wherein each of the IPs is isolated by data flow and hardware.
However, Tornow discloses:
wherein each of the one or more [code] is deployed in its own isolated environment, and wherein each of the [code] is isolated by data flow and hardware (Figure 2; paragraph [0017], “[…] deploy, at the execution environment, the computer-readable code configured to perform the serverless function.”; abstract, “Systems, methods, and computer-readable media are provided for reusing execution environments and code of serverless functions while ensuring isolation in serverless computing environments.”; paragraph [0046], “For example, the execution environments 210-214 can include and/or can be implemented by VMs, software containers, and the like.”) [Examiner’s Remarks: Note that Figure 2 shows two code functions deployed in their own isolated execution environments.].
Tornow is within the same field of endeavor as the claimed invention regarding the deployment of code in isolated environments.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Tornow into the combined teachings of Sun, Gulati, Vergara, Dey, and Husain to include “wherein each of the one or more IPs is deployed in its own isolated environment, and wherein each of the IPs is isolated by data flow and hardware.” The modification would be obvious because one of ordinary skill in the art would be motivated to deploy code in its own execution environment and provide complete isolation in order to prevent unauthorized access, tainting or corruption of code and execution environments (Tornow, paragraph [0030]).
Claim 16 is a non-transitory computer-readable medium claim corresponding to method Claim 6 and is rejected for the same reasons as given in the rejection of that claim.
Claims 7 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Sun in view of Gulati and Vergara as applied to Claims 1 and 11 above, and further in view of US 2010/0162049 (hereinafter “Stall”) and US 2017/0220451 (hereinafter “Mankovskii”).
As per Claim 7, the rejection of Claim 1 is incorporated [Note that this claim is being interpreted consistent with the 35 U.S.C. 112(b) rejection of Claim 7]; and Sun discloses “deploying an IP, wherein the IP comprises an instance of the service, and wherein the IP is independent of the service (col. 5 lines 8-13 & lines 16-18, “As shown in FIG. 2, a service 202 (referred to herein as a "production service") is running in a production environment that is able to receive a request from a user, directly or indirectly, process information needed to respond to at least a portion of the request, and return a response to the user, directly or indirectly […] Another service 206, or another version of the same service (referred to herein as the "test service"), is running in a testing, development, or similar environment.”; Col. 5 lines 45-48, “It should be understood that the deployment of the testing and shadow service can be independent of the deployment of the production service with shadow capability.”),” but the combination of Sun, Gulati, and Vergara does not explicitly disclose:
installing debugging code in the IP; and
performing debugging of the service via the IP.
However, Stall discloses:
[including] debugging code in the [pipeline] (paragraph [0021], “Low privilege debug pipeline publisher 104 may publish client 1 debug pipeline 1 112, where client 1 debug pipeline 1 112 includes debug information only for client 1's source code 106 so that a debug session initiated by client 1 debugging client 1 source code 106 on server computer 102 is scoped solely to client 1's source code 106, unlike traditional models in which essentially the entire server code could be debugged by a remote client (emphasis added).”); and
performing debugging of the [code] via the [pipeline] (paragraph [0021], “Low privilege debug pipeline publisher 104 may publish client 1 debug pipeline 1 112, where client 1 debug pipeline 1 112 includes debug information only for client 1's source code 106 so that a debug session initiated by client 1 debugging client 1 source code 106 on server computer 102 is scoped solely to client 1's source code 106, unlike traditional models in which essentially the entire server code could be debugged by a remote client (emphasis added).”).
Stall is within the same field of endeavor as the claimed invention regarding the utilization of a pipeline in debugging.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Stall into the combined teachings of Sun, Gulati, and Vergara to include “[including] debugging code in the IP; and performing debugging of the service via the IP.” The modification would be obvious because one of ordinary skill in the art would be motivated to utilize a debug pipeline to debug the code scoped for a certain client instead of the entire server code to ensure sensitive information resident on a server computer isn’t accessed by another client (Stall, paragraph [0021]).
The combination of Sun, Gulati, Vergara, and Stall discloses “[including] debugging code in the IP,” but does not explicitly disclose:
installing debugging code in the IP.
However, Mankovskii discloses:
installing [code] in the [platform] (paragraph [0048], “If the debugging process indicates that the code needs to be modified, then the process is repeated by installing the modified code into the corresponding debugging platform (e.g., 23n) […].”).
Mankovskii is within the same field of endeavor as the claimed invention regarding the installation of code and debugging.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Mankovskii into the combined teachings of Sun, Gulati, Vergara, and Stall to include “installing debugging code in the IP.” The modification would be obvious because one of ordinary skill in the art would be motivated to utilize a system performing on-the-fly debugging within a live productions environment that installs modified code and is subject to real time live transaction demands in order to effectively identify faults/failures present only in the live production environment and not in an isolated debugging environment for more effective debugging (Mankovskii, paragraphs [0005 & 0022]).
Claim 17 is a non-transitory computer-readable medium claim corresponding to method Claim 7 and is rejected for the same reasons as given in the rejection of that claim.
Claims 9 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Sun in view of Gulati and Vergara as applied to Claims 1 and 11 above, and further in view of Husain.
As per Claim 9, the rejection of Claim 1 is incorporated; and Sun discloses “IPs (col. 5 lines 8-13 & lines 16-18, “As shown in FIG. 2, a service 202 (referred to herein as a "production service") is running in a production environment that is able to receive a request from a user, directly or indirectly, process information needed to respond to at least a portion of the request, and return a response to the user, directly or indirectly […] Another service 206, or another version of the same service (referred to herein as the "test service"), is running in a testing, development, or similar environment.”),” but the combination of Sun, Gulati, and Vergara does not explicitly disclose:
wherein any of the plurality of customers can be assigned to any of the one or more IPs, wherein assigning a customer to an IP causes the IP to process all requests for the customer.
However, Husain discloses:
wherein any of the plurality of customers can be assigned to any of the one or more [VMs], wherein assigning a customer to [a VM] causes the [VM] to process all requests for the customer (paragraph [0034], “In some embodiments, upon connecting to the server computer system, each user may be assigned to a virtual machine executing on a server computer in the system. Various methods for assigning users to virtual machines and managing the virtual machines executing on the various server computers are described herein.”; paragraph [0114], “Associating virtual machines with users on an exclusive basis may allow complete user-based isolation of applications and data stored on a virtual machine.”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Husain into the combined teachings of Sun, Gulati, and Vergara to include “wherein any of the plurality of customers can be assigned to any of the one or more IPs, wherein assigning a customer to an IP causes the IP to process all requests for the customer.” The modification would be obvious because one of ordinary skill in the art would be motivated to assign a computing entity such as a virtual machine on an exclusive basis to a user to improve data security by preventing other users from accessing that same virtual machine (Husain, paragraphs [0009 & 0010]).
Claim 19 is a non-transitory computer-readable medium claim corresponding to method Claim 9 and is rejected for the same reasons as given in the rejection of that claim.
Claims 10 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Sun in view of Gulati and Vergara as applied to Claims 1 and 11 above, and further in view of US 2017/0192414 (hereinafter “Mukkamala”).
As per Claim 10, the rejection of Claim 1 is incorporated; and Sun discloses “wherein any number of IPs can be deployed, and wherein each of the IPs can be configured to […] (col. 5 lines 45-48, “It should be understood that the deployment of the testing and shadow service can be independent of the deployment of the production service with shadow capability.”; col. 5 lines 8-13 & lines 16-18, “As shown in FIG. 2, a service 202 (referred to herein as a "production service") is running in a production environment that is able to receive a request from a user, directly or indirectly, process information needed to respond to at least a portion of the request, and return a response to the user, directly or indirectly […] Another service 206, or another version of the same service (referred to herein as the "test service"), is running in a testing, development, or similar environment.”),” but the combination of Sun, Gulati, and Vergara does not explicitly disclose:
wherein each of the IPs can be configured to ingest all the data flowing through the service.
However, Mukkamala discloses:
wherein [the pipeline] can be configured to ingest all the data flowing through the service (paragraph [0149], “In an example embodiment, a data ingestion pipeline provided by the data services 822 is the entry point for all data in the IIoT cloud 106.”).
Mukkamala is within the same field of endeavor as the claimed invention regarding the configuration of a pipeline to ingest data.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Mukkamala into the combined teachings of Sun, Gulati, and Vergara to include “wherein each of the IPs can be configured to ingest all the data flowing through the service.” The modification would be obvious because one of ordinary skill in the art would be motivated to utilize a data ingestion pipeline in order to effectively centralize and streamline the processing of all data (Mukkamala, paragraphs [0147 & 0149]).
Claim 20 is a non-transitory computer-readable medium claim corresponding to method Claim 10 and is rejected for the same reasons as given in the rejection of that claim.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
US 2021/0255917 (hereinafter “Reitbauer”) discloses a pipeline configuration being independent of a service.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Feven H. Huruy whose telephone number is (571) 272-3826. The examiner can normally be reached Mon-Fri. 7:30am-3:30pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Wei Mui can be reached at (571) 272-3708. 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.
/F.H.H./Examiner, Art Unit 2191 /WEI Y MUI/Supervisory Patent Examiner, Art Unit 2191