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 .
Claims 1-20 are pending in this office correspondence.
Drawings
The Drawings filed on 12/18/2023 and 03/04/2024 have been acknowledged.
Information Disclosure Statement
The information disclosure statement IDS submitted on 03/19/2024 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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-11 and 13-20 are rejected under 35 U.S.C. 103 as being unpatentable over US Patent Application Publication (US 20180091624 A1) issued to FORBES (hereinafter as “FORBES”), and in view of US Patent Publication (US 11620123 B1) issued to Sharma et al. (hereinafter as “SHARMA”).
Regarding claim 1, FORBES teaches a method, comprising:
generating, by a computing system, data representative of a user interface for display via a user device (FORBES Fig. 5, Para. [0013]: “FIG. 5 shows an example user interface for choosing clouds to be staged.”; and Fig. 2, Para. [0030]: “The FIG. 2 block diagram shows deployment manager 162, with graphical user interface (GUI) 212 for receiving requests from a deployment engineer.”; and
Fig. 5, Para. [0045]: “FIG. 5 shows the application staging dialog 500, with staging plan name 524 … with a dialog box to use to choose your clouds 526.”);
receiving, by the computing system, a selection of a target environment for a target application from the user interface via the user device, wherein the target environment is selected from two or more application environments (FORBES Fig. 2, Para. [0030]: “…, staging processor 222 receives from a user a deployment launch specification that specifies multiple already-staged deployable installations and multiple service clouds to execute a deployment and, optionally, specifies stacks within the service clouds in the deployment launch specification.”; and
Para. [0045]: “The workstation receives, from the user, selections of the multiple service clouds—selecting some, but perhaps not all, available hardware stacks within a particular service cloud, for deployment …”,
the examiner notes that the reference discloses service clouds and their hardware stacks to that of application environments in which instance of deployable installation, i.e. the target application, executes and the user selects among the available one);
generating, by the computing system, an endpoint string for service calls for the target application that indicates a route to an instance of the target application executing in the target environment (FORBES Fig. 2, Para. [0031]: “Router interface API URL mapping 262 updates the URLs of applications for staging and deployment to data centers, remapping incoming API URLs from a replaced version to the started staged application in the latest deployable installation.”; and
Para. [0034]: “The service cloud app with appURL defining the URL prefix for the app”; and
Fig. 1, Para. [0031]: “The deployment controller 128 sets environment variables on hardware stacks in the multiple service clouds to support the remapping; and verifies that a staged application is in a started state prior to remapping the incoming API URLs.”,
the examiner notes that the reference discloses that the deployment controller verifies that a staged application is started prior to remapping the incoming API URLs so the updated URL, i.e. the claimed endpoint string, is a string indicating a route to an instance of the application executing the required service); and
sending, by the computing system, a message including the endpoint string to an application programming interface (API) gateway environment (FORBES Fig. 2, Para. [0030]: “Staging processor 222 also causes staging of the deployable installations to local storage at the data centers and sends messages to the staging and deployment request interface 242 of message queue 113, ...”; and
Para. [0034]: “The service cloud app with appURL defining the URL prefix for the app”; and
Fig. 1, Para. [0031]: “The deployment controller 128 sets environment variables on hardware stacks in the multiple service clouds to support the remapping; and verifies that a staged application is in a started state prior to remapping the incoming API URLs.”; and
Para. [0042]: “Internal software routers direct traffic within the data center service clouds, remapping incoming API URLs from a replaced version to the latest deployable installation. …, with users automatically routed to version B.”,
the examiner notes that the reference discloses that the message router, which receives API calls addressed to application and forwards them to the application instance on hardware stacks, i.e. to the claimed target environments deployment controller verifies that a staged application is started prior to remapping the incoming API URLs so the updated URL, i.e. the claimed endpoint string, is a string indicating a route to an instance of the application executing the required service).
However, FORBES does not explicitly teach wherein the message instructs the API gateway to modify an environment mapping for the target application in accordance with the endpoint string such that the environment mapping causes the API gateway to send the service calls for the target application to the instance of the target application executing in the target environment.
But SHARMA teaches wherein the message instructs the API gateway to modify an environment mapping for the target application in accordance with the endpoint string such that the environment mapping causes the API gateway to send the service calls for the target application to the instance of the target application executing in the target environment (SHARMA Abstract: “The system includes an application gateway router that routes incoming API requests ...”; and
Col. 4, line (16): “All API requests are associated with a swimlane identifier in headers of requests, and an API management system having a gateway router will forward a request to a particular API endpoint based on the swimlane identifier. By changing the configuration information associated with each swimlane, …, or otherwise changed by changing the endpoint to which the request will be forwarded.”; and
Col. 4, line (19): “By changing the configuration information associated with each swimlane, …, or otherwise changed by changing the endpoint to which the request will be forwarded.”; and
Col. 5, line (54): “…, all API requests to components in the given swimlane will be routed to the given URI. Because this change in routing destination is completely automatic …”; and
Col. 7, line (1): “…, the header of the request is parsed to obtain the Friendly Service Name (FSN) and swimlane associated with the request (Step 210). The configuration file is consulted to determine the URI associated with that swimlane and FSN at the present moment in time (Step 215), by consulting a table similar to …”; and
Fig. 3, Col. 8, line (9): “Data with the FSN and swimlane associated with the development environment are generated … and subsequently inserted into the configuration storage associated with the gateway router (Step 315)”,
the examiner notes that the reference to SHARMA discloses an API management system having a gateway router that forwards a request to a particular API endpoint, and the gateway changes the configuration information associated with each swimlane by changing the endpoint to which the request will be forwarded as this change in routing destination is completely automatic so that subsequent calls go to the instance of the new destination, to that which is claimed of an API gateway to modify an environment mapping for the target application with environment mapping).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of FORBES (disclosing methods for managing an API router interface with incoming request mapping updates of applications staging and deployment to data center stacks) to include the teachings of SHARMA (disclosing methods for application gateway router whose forwarding decision for each incoming API request is taken from stored configuration that associates a service, an environment and an end point URI), and arrive at a method to manage stored configuration associated with each application with an endpoint instance in a selected environment and whose routing destination is changed by rewriting that configuration. One of ordinary skill in the art would have been motivated to make this combination because when providing a dynamic endpoint configuration when applying Sharma’s environment configuration to FORBES’s workstation remap, thereby giving the system operator a finer level of control by improving the routing techniques ensuring system performance demands, as recognized by (SHARMA Abstract, Col. 1, lines (60-65), Col. 8, lines (31-51). In addition, the references of FORBES and SHARMA teach features that are directed to analogous art and they are directed to the same field of API gateway message and service call management.
Regarding claims (13 and 20), the aforementioned claims recite similar limitations to claim 1, and therefore these claims are rejected for similar reasons and detailed above.
Regarding claim 2, the combination of FORBES and SHARMA teaches the limitations of claim 1. Further, FOREBES teaches wherein the user interface includes interactive components from which to receive one or more inputs from a user of the user device, wherein the one or more inputs are indicative of the selection of the target environment for the target application (FORBES Fig. 5, Para. [0045]: “FIG. 5 shows the application staging dialog 500, with staging plan name … with a dialog box to use to choose your clouds 526. The workstation receives, from the user, selections of the multiple service clouds—selecting some, but perhaps not all, available hardware stacks within a particular service cloud, for deployment based on the deployment launch specification.”).
Regarding claim (14), the aforementioned claim recites similar limitations to claim 2, and therefore this claim is rejected for similar reasons and detailed above.
Regarding claim 3, the combination of FORBES and SHARMA teaches the limitations of claim 1.
Further, FORBES teaches wherein the target environment comprises an execution environment for a plurality of application instances, wherein the plurality of application instances executing in the target environment includes the instance of the target application (FORBES Fig. 2, Para. [0031]: “Dependency inventorying and management 276 inventories dependencies of other active stacks within the service cloud, post-remapping, on the replaced version and marks the replaced version for deletion if no dependencies remain active. The deployment controller 128 sets environment variables on hardware stacks in the multiple service clouds to support the remapping; and verifies that a staged application is in a started state prior to remapping the incoming API URLs.”; and
Para. [0042]: “The data center needs to have enough capacity to run both the existing version of a release, version A, and a newly deployed release version B. After version B is deployed, both versions run and the client load shifts from version A to version B, with users automatically routed to version B.”,
the examiner also notes that SHARMA additionally discloses in Co. 2, line (38): “The system includes an application gateway router; two or more servers providing software services.”)
Regarding claim (15), the aforementioned claim recites similar limitations to claim 3, and therefore this claim is rejected for similar reasons and detailed above.
Regarding claim 4, the combination of FORBES and SHARMA teaches the limitations of claim 1.
Further, SHARMA teaches wherein the target application is a destination of a service call from an instance of a source application executing in a source environment of the two or more application environments (SHARMA Col. 2, line (16): “… sharing the swimlane identifier between components in communication with each other and making routing decisions conditional on the swimlane identifier, each component can be fully agnostic as to whether it is executing in a cloud-based environment or a local, on-premises environment.”,
the examiner notes that the reference discloses the components call one another while sharing the swimlane identifier to that of the target application is a destination of a service call from an instance of a source application).
Regarding claim 5, the combination of FORBES and SHARMA teaches the limitations of claim 4.
Further, SHARMA teaches wherein the source environment is a same application environment as the target environment (SHARMA Col. 2, line (16): “… sharing the swimlane identifier between components in communication with each other and making routing decisions conditional on the swimlane identifier, each component can be fully agnostic as to whether it is executing in a cloud-based environment or a local, on-premises environment.”,
the examiner notes that the reference discloses the components call one another whether it is executing in a cloud-based environment or a local, on-premises environment to that of the source environment is a same application environment as the target environment).
Regarding claim 6, the combination of FORBES and SHARMA teaches the limitations of claim 1.
Further, FORBES teaches wherein the endpoint string specifies an address of the instance of the target application executing in the target environment (FORBES Fig. 2, Para. [0033]: “The example shows a service cloud data center identified via the StackatoCloudId, with an API endpoint used for connection to the service cloud. The default app URL is the base URL for the data center.”; and
Para. [0034]: “The service cloud app with appURL defining the URL prefix for the app is listed next.”,
the examiner notes that the reference discloses that the string specifies an address of the instance, i.e. the APU endpoint for the service cloud).
Regarding claim 7, the combination of FORBES and SHARMA teaches the limitations of claim 1.
Further, SHARMA teaches wherein generating the endpoint string comprises creating the endpoint string in response to receipt of the selection of the target environment for the target application (SHARMA Col. 5, line (33): “The smart pipelines continually update the configurations of infrastructure components to automatically create the configuration file that will be used to route requests …, the smart pipeline will generate the swimlane name to act as a unique alias to be associated with a particular API endpoint.”).
Regarding claim (16), the aforementioned claim recites similar limitations to claim 7, and therefore this claim is rejected for similar reasons and detailed above.
Regarding claim 8, the combination of FORBES and SHARMA teaches the limitations of claim 1.
Further, SHARMA teaches wherein generating the endpoint string comprises retrieving the endpoint string from a database of previously created endpoint strings in response to receipt of the selection of the target environment for the target application (SHARMA Col. 7, line (1): “…, the header of the request is parsed to obtain the Friendly Service Name (FSN) and swimlane associated with the request (Step 210). The configuration file is consulted to determine the URI associated with that swimlane and FSN at the present moment in time (Step 215), by consulting a table similar to …”; and
Col. 7, line (26): “FSNs are preferably stored in memory…”; and Fig. 3, Col.8, line (6): “..., the configuration storage associated with the gateway router (Step 330)”).
Regarding claim (17), the aforementioned claim recites similar limitations to claim 8, and therefore this claim is rejected for similar reasons and detailed above.
Regarding claim 9, the combination of FORBES and SHARMA teaches the limitations of claim 1.
Further, FORBES teaches wherein the message including the endpoint string instructs the API gateway to modify the environment mapping for the target application to map service calls for the target application that originate from application instances executing in a particular application environment of the two or more application environments to be routed to the instance of the target application executing in the target environment in accordance with the endpoint string (FORBES Fig. 2, Para. [0031]: “The routing table is granular to map particular API URLs by client organization, such that different client organizations can run different deployment versions of a single service accessed from outside the service cloud by a single API URL.”, the examiner notes that the reference to FORBES teaches a mapping to calls from a particular source.
Furthermore, the examiner notes that SHARMA discloses in Col. 4, lines (17-21) and Col. 7, lines (16) that the gateway forwards each request according to a swimlane identifier carried in the request’s header, i.e. according to the environment from which the call originates.
The examiner further notes using the mapping to the originating environment rather than the originating organization is a simple substitution of one selector for another with predictable results, see MPEP 2143(I)(B)).
Regarding claim (18), the aforementioned claim recites similar limitations to claim 9, and therefore this claim is rejected for similar reasons and detailed above.
Regarding claim 10, the combination of FORBES and SHARMA teaches the limitations of claim 1.
Further, SHARMA teaches wherein the message including the endpoint string instructs the API gateway to modify the environment mapping for the target application to map service calls for the target application that originate from application instances executing in any application environment of the two or more application environments to be routed to the instance of the target application executing in the target environment in accordance with the endpoint string (SHARMA Col. 2, line (44): “…, every request associated with the at least two software components will be forwarded by the application gateway router to a second API endpoint different from the first API endpoint.”,
the examiner notes that the reference teaches that a mapping is applied to calls from any source, see above, then forwarded to another after the configuration change, to that of the claimed language of “to map service calls for the target application that originate from application instances … to be routed to the instance of the target application executing in the target environment in accordance with the endpoint string.”).
Regarding claim (19), the aforementioned claim recites similar limitations to claim 10, and therefore this claim is rejected for similar reasons and detailed above.
Regarding claim 11, the combination of FORBES and SHARMA teaches the limitations of claim 1.
Further, FORBES teaches generating data representative of a dashboard user interface that includes a table of environment mappings for a plurality of applications for display via the user device, wherein the table of environment mappings includes an entry for each application of the plurality of applications that indicates a currently selected application environment of the two or more application environments as a target environment for the respective application (FORBES Fig. 9, Para. [0053]: “…, the user's screen, which displays the status of each individual app, …, FIG. 9 shows an admin screen 900, accessed by selecting the Admin tab 922, for monitoring of the health of deployments.”
Further, the examiner notes that SHARMA discloses in Col. 7, lines (7-24) and Col. 8, lines (6-21) and (31-51) that a able of environment mappings for a plurality of application, each entry listing the service, its swimlane, its environment and its current endpoint URI.
The examiner notes that it would have been obvious to present SHARMA’s mapping table on FORBES’s Admin screen so that a deployment user can see for each application the environment to which its calls are currently mapped, this is because FORBES already reports per-application status to that Admin screen and displaying the routing that just changed to confirm the change).
Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over US Patent Application Publication (US 20180091624 A1) issued to FORBES (hereinafter as “FORBES”), in view of US Patent Publication (US 11620123 B1) issued to Sharma et al. (hereinafter as “SHARMA”), and in view of US Patent Publication (US-11429464-B2) issued to Raheja et al. (hereinafter as “RAHEJA”).
Regarding claim 12, the combination of FORBES and SHARMA teaches the limitations of claim 11.
However, the combination of FORBES and SHARMA does not explicitly teach wherein each entry in the table of environment mappings includes a user interface from which to receive a selection of the target environment for the respective application via the user device.
But RAHEJA teaches wherein each entry in the table of environment mappings includes a user interface from which to receive a selection of the target environment for the respective application via the user device (RAHEJA Fig. 3, Col. 16, line (41): “The API build tool 322 in an embodiment may include a graphical user interface (GUI)”; and
Fig. 3, Col. 17, lines (29-31): “The API product manager 310 may indicate the type of gateway where the API will be deployed, following development, via GUI interfaces with the API build tool 322.”, the examiner notes that the reference to RAHEJA discloses in Col. 14, lines (55-61) a dashboard that reports each API’s status, then a pre-application selectin control for the deployment target of that application within the same management interface that reports on the application.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the combination teachings of FORBES (disclosing methods for managing an API router interface with incoming request mapping updates of applications staging and deployment to data center stacks) and the teachings of SHARMA (disclosing methods for application gateway router whose forwarding decision for each incoming API request is taken from stored configuration that associates a service, an environment and an end point URI), to include the teachings of RAHEJA (disclosing methods for pre-application selection control management interface of multi-cloud gateway configuration tool), and arrive at a method to provide a system user an application management mapping control. One of ordinary skill in the art would have been motivated to make this combination because to place a pre-application selection control of the disclosed method of RAHJEA in combination of the mapping table according to FORBES, thereby the system user who is reviewing the application’s current environment can change it form the same entry that governs a routine arrangement of interface elements with no unexpected results, as recognized by (RAHJEA Abstract, Col. 6, lines (34-61)). In addition, the references of FORBES, SHARMA and RAHJEA teach features that are directed to analogous art and they are directed to the same field of API gateway message and service call management.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Palladino et al.; (US-20230198867-A1); “Methods for managing a control plane corresponds with data plane proxies associated with each of a plurality of APIs that make up the microservices application. The communication between the data plane proxies and the control plane enables automatic detection of service groups of APIs and automatic repair of application performance in real-time in response to degrading service node conditions.”
Asencio et al.; (US 12561237 B2); “Methods for mapping applications to computing environments, wherein an API gateway with a proxy layer between the client and target application that operate across a plurality of computing environment.”
Reeves et al.; (US 20160179499 A1); “Methods for cloud provisioning and application deployment, wherein provisioning a cloud environment by mapping hardware and/or software characteristics of a first environment and/or user selected characteristics to abstractions of the characteristics and sending API calls to a cloud environment interface based on the abstractions of the characteristics to provision a selected target environment in the cloud environment.”
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Zuheir A Mheir whose telephone number is (571)272-4151. The examiner can normally be reached Monday - Friday 9:00 - 5:00.
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, Pierre Vital can be reached at (571) 272-4215. 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.
09/04/2026
/ZUHEIR A MHEIR/Patent Examiner, Art Unit 2198
/PIERRE VITAL/Supervisory Patent Examiner, Art Unit 2198