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 .
Information Disclosure Statement
The IDS dated February 19, 2025 has been considered and placed in the application file.
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, 11, 13, 20 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar (US 11226801 B2, hereinafter Wangikar) in view of Dehaan (US 9679122 B1, hereinafter Dehaan) in view of Prasad Tanniru (US 11900075 B2, hereinafter Tanniru).
Regarding claim 1,
Wangikar teaches
A method, implemented by one or more computing devices, comprising:
receiving a voice command through a voice assistant device, the voice command requesting a DevOps operation;
[Column 2, lines 7-15 "The method comprises: (i) receiving a voice input from a user computing device
wherein the voice input includes at least one user command, wherein the user command contains user instructions for deploying code to a first server; "];
[Column 4, lines 10-14 "Specifically, the user may speak the phrase "Deploy A on B" into a user computing device, such as a virtual assistant or smart home device, and an audio file for "Deploy A on B" is received by the AD computing device."];
[Column 4, lines 17-20 "Deploy A on B" into text, process the text using a machine learning model, and determine that the user is requesting the deployment of software A on server B."];
converting the voice command to text using a voice processing component;
[Column 4, lines 14-16 "The AD computing device is configured to interpret the voice input by converting it to text and assigning meaning to the text."];
generating a structured request based on the text, the structured request including a command type and
[Column 4, lines 16- 23 “In the current example, the AD computing device may convert the audio of “Deploy A on B” into text, process the text using a machine learning model, and determine that the user is requesting the deployment of software A on server B. The AD computing device may then generate computer-executable instructions for carrying out the user-instruction and transmit the instructions to the deployment server or the automation server.”
[Column 21, lines 15-18 "Voice input 502 may include wake word 504 and user-command 506, which may additionally include specified application 508, user-instruction 510, and specified server 512."];
[Column 5, lines 61-64 “The user-command refers to an expression of an outcome desired by the user. The user-command may contain a specified application, a user-instruction, and/or a specified server”];
[Column 5, lines 65- 67 “The specified application refers to a software program or application specified by the user for carrying out the user-instruction.’];
[Column 6, lines 23-26 “In some embodiments, specified applications, user-instructions, and/or specified servers may be preceded by an identifier (e.g., “application X” or “server Y” or “software Z”).” where an identifier can be included in the request];
executing the DevOps operation on a target DevOps platform
[Column 4, lines 20-26 “The AD computing device may then generate computer-executable instructions for carrying out the user-instruction and transmit the instructions to the deployment server or the automation server. In the above example, the AD computing device may generate instructions which cause the automation server to deploy software A on server B.”];
[Column 3, lines 63-67 "As used herein, "automation server" refers to any application or server that
enables the manipulation of objects implemented in another application, and may include, but is not limited to, software such as JENKINS and BAMBOO. Further, as used herein"];
providing an audio response through the voice assistant device indicating a result of the DevOps operation.
[Column 24, lines 12- 15 “In the exemplary embodiment, instructions module 118 is configured to generate and transmit notification 614 to the user computing device requesting user-input for how to proceed in response to receiving application response data 612”];
[Column 24, lines 33-37 " In some embodiments, the notification simply presents the situation
and allows a user to respond as they see fit….In some embodiments, the notification is a voice notification, such as an audio file played through a user computing device…..In
some embodiments, instructions module 118 transmits the notification as text to language module 116, and the language module converts the notification into a voice notification"]
However, Wangikar does not teach
project identifier;
retrieving encrypted access credentials from a database based on the project identifier;
using the encrypted access credentials; and
However, Dehaan does teach
project identifier;
[Column 5, lines 38-45 "Thus, the access rights repository 30 may include one or more organization definitions 32, one or more team definitions 34, one or more user definitions 36, one or more permission definitions 38, one or more credential definitions 40, one or more computing resource definitions 42, one or more project definitions 44,.."];
[Column 12, lines 21-23 "Assuming that the project definition 44 is a manual type project definition 44, the project definition 44 may include a project ID field 242 that identifies a name of the project."];
using the encrypted access credentials; and
[Column 9, lines 49-52 “Some credentials, such as machine-type credentials, may require a secure shell (SSH) password that may be entered via a SSH password control 198. The SSH password may be stored in an encrypted form in the credential definition 40.”];
[Column 9, 10 , lines 60-67, lines 1-3 “Credentials may also be used to authenticate with a cloud provider, such as Amazon Web Services (AWS) or Rackspace. For example, if the AWS radio control 194 is selected, the user 20-1 may provide an AWS access key and a secret key that is stored in the credential definition 40. If the Rackspace radio control 194 is selected, the user 20-1 may provide a Rackspace username and Application Programming Interface (API) key that is stored in the credential definition 40. AWS and Rackspace are merely examples of cloud providers, and the embodiments are not limited to any particular cloud provider.”];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar with the teachings of Dehaan as using credentials provides a secure and authorized access to a specific project, thereby keeping the system safe by limiting access to only what project needs.
Wangikar in view of Dehaan do not teach
retrieving encrypted access credentials from a database based on the project identifier;
But Tanniru teaches
retrieving encrypted access credentials from a database based on the project identifier;
[Column 15, lines 55-59 “As part of the configuration process 109S, the runner agent 109R may receive a DevOps token and a DevOps URL from the DevOps software component 134E via a project ID API 109T.“ where receiving a DevOps token and URL via a project ID implies that credentials are being scoped based on specific project ID and here the DevOps token directly acts as the credential for subsequent authentication];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar in view Dehaan with the teachings of Tanniru because enabling the system to securely obtain the appropriate credentials for the identified project when executing the requested DevOps operation would thereby provide a secure and authorized access to project specific resources.
Regarding claim 11, rejection of claim 1 is incorporated
Wangikar teaches
The method of claim 1, wherein the voice assistant device comprises at least one of: a smart
speaker; a smartphone running a voice assistant application; and a smartwatch running a voice assistant application.
[Column 3, lines 59-63“As used herein, “virtual assistant” or “smart home device” refer to any virtual assistant, chatbot, smart home device, voice controlled computing device, and/or voice service including, but not limited to, AMAZON ECHO, ALEXA, CORTANA, GOOGLE HOME, and SIRI”];
Regarding claim 13,
Wangikar teaches
A system, including one or more computing devices, comprising: a memory; and at least one processor coupled to the memory and configured to:
[Column 1, lines 57-60 “The automated deployment computer system includes at least one processor in communication with at least one memory device.”];
receive a voice command through a voice assistant device, the voice command requesting a DevOps operation;
[Column 2, lines 7-15 "The method comprises: (i) receiving a voice input from a user computing device
wherein the voice input includes at least one user command, wherein the user command contains user instructions for deploying code to a first server; "];
[Column 4, lines 10-14 "Specifically, the user may speak the phrase "Deploy A on B" into a user computing device, such as a virtual assistant or smart home device, and an audio file for "Deploy A on B" is received by the AD computing device."];
[Column 4, lines 17-20 "Deploy A on B" into text, process the text using a machine learning model, and determine that the user is requesting the deployment of software A on server B."];
convert the voice command to text using a voice processing component;
[Column 4, lines 14-16 "The AD computing device is configured to interpret the voice input by converting it to text and assigning meaning to the text."];
generate a structured request based on the text, the structured request including a command type and
[Column 4, lines 16- 23 “In the current example, the AD computing device may convert the audio of “Deploy A on B” into text, process the text using a machine learning model, and determine that the user is requesting the deployment of software A on server B. The AD computing device may then generate computer-executable instructions for carrying out the user-instruction and transmit the instructions to the deployment server or the automation server.”
[Column 21, lines 15-18 "Voice input 502 may include wake word 504 and user-command 506, which may additionally include specified application 508, user-instruction 510, and specified server 512."];
[Column 5, lines 61-64 “The user-command refers to an expression of an outcome desired by the user. The user-command may contain a specified application, a user-instruction, and/or a specified server”];
[Column 5, lines 65- 67 “The specified application refers to a software program or application specified by the user for carrying out the user-instruction.’];
[Column 6, lines 23-26 “In some embodiments, specified applications, user-instructions, and/or specified servers may be preceded by an identifier (e.g., “application X” or “server Y” or “software Z”).” where an identifier can be included in the request];
execute the DevOps operation on a target DevOps platform
[Column 4, lines 20-26 “The AD computing device may then generate computer-executable instructions for carrying out the user-instruction and transmit the instructions to the deployment server or the automation server. In the above example, the AD computing device may generate instructions which cause the automation server to deploy software A on server B.”];
[Column 3, lines "63-67 "As used herein, "automation server" refers to any application or server that
enables the manipulation of objects implemented in another application, and may include, but is not limited to, software such as JENKINS and BAMBOO. Further, as used herein"];
provide an audio response through the voice assistant device indicating a result of the DevOps operation.
[Column 24, lines 12- 15 “In the exemplary embodiment, instructions module 118 is configured to generate and transmit notification 614 to the user computing device requesting user-input for how to proceed in response to receiving application response data 612”];
[Column 24, lines 33-37 " In some embodiments, the notification simply presents the situation
and allows a user to respond as they see fit….In some embodiments, the notification is a voice notification, such as an audio file played through a user computing device…..In
some embodiments, instructions module 118 transmits the notification as text to language module 116, and the language module converts the notification into a voice notification"]
However, Wangikar does not teach
project identifier;
retrieve encrypted access credentials from a database based on the project identifier;
using the encrypted access credentials; and
However, Dehaan does teach
project identifier;
[Column 5, lines 38-45 "Thus, the access rights repository 30 may include one or more organization definitions 32, one or more team definitions 34, one or more user definitions 36, one or more permission definitions 38, one or more credential definitions 40, one or more computing resource definitions 42, one or more project definitions 44,.."];
[Column 12, lines 21-23 "Assuming that the project definition 44 is a manual type project definition 44, the project definition 44 may include a project ID field 242 that identifies a name of the project."];
using the encrypted access credentials; and
[Column 9, lines 49-52 “Some credentials, such as machine-type credentials, may require a secure shell (SSH) password that may be entered via a SSH password control 198. The SSH password may be stored in an encrypted form in the credential definition 40.”];
[Column 9, 10 , lines 60-67, lines 1-3 “Credentials may also be used to authenticate with a cloud provider, such as Amazon Web Services (AWS) or Rackspace. For example, if the AWS radio control 194 is selected, the user 20-1 may provide an AWS access key and a secret key that is stored in the credential definition 40. If the Rackspace radio control 194 is selected, the user 20-1 may provide a Rackspace username and Application Programming Interface (API) key that is stored in the credential definition 40. AWS and Rackspace are merely examples of cloud providers, and the embodiments are not limited to any particular cloud provider.”];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar with the teachings of Dehaan as using credentials provides a secure and authorized access to a specific project, thereby keeping the system safe by limiting access to only what project needs.
Wangikar in view of Dehaan do not teach
retrieve encrypted access credentials from a database based on the project identifier;
But Tanniru teaches
retrieving encrypted access credentials from a database based on the project identifier;
[Column 15, lines 55-59 “As part of the configuration process 109S, the runner agent 109R may receive a DevOps token and a DevOps URL from the DevOps software component 134E via a project ID API 109T.“ where receiving a DevOps token and URL via a project ID implies that credentials are being scoped based on specific project ID and here DevOps token directly acts as the credential for subsequent authentication];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar in view Dehaan with the teachings of Tanniru because enabling the system to securely obtain the appropriate credentials for the identified project when executing the requested DevOps operation would thereby provide a secure and authorized access to project specific resources.
Regarding claim 20,
Wangikar teaches
A non-transitory computer-readable medium storing computer executable code for operating one or more computing devices, comprising code to:
[Column 2, lines 17-20 ” In another aspect, at least one non-transitory computer-readable storage media having computer-executable instructions embodied thereon for deploying code to a server is provided];
receive a voice command through a voice assistant device, the voice command requesting a DevOps operation;
[Column 2, lines 7-15 "The method comprises: (i) receiving a voice input from a user computing device
wherein the voice input includes at least one user command, wherein the user command contains user instructions for deploying code to a first server; "];
[Column 4, lines 10-14 "Specifically, the user may speak the phrase "Deploy A on B" into a user computing device, such as a virtual assistant or smart home device, and an audio file for "Deploy A on B" is received by the AD computing device."];
[Column 4, lines 17-20 "Deploy A on B" into text, process the text using a machine learning model, and determine that the user is requesting the deployment of software A on server B."];
convert the voice command to text using a voice processing component;
[Column 4, lines 14-16 "The AD computing device is configured to interpret the voice input by converting it to text and assigning meaning to the text."];
generate a structured request based on the text, the structured request including a command type and
[Column 4, lines 16- 23 “In the current example, the AD computing device may convert the audio of “Deploy A on B” into text, process the text using a machine learning model, and determine that the user is requesting the deployment of software A on server B. The AD computing device may then generate computer-executable instructions for carrying out the user-instruction and transmit the instructions to the deployment server or the automation server.”
[Column 21, lines 15-18 "Voice input 502 may include wake word 504 and user-command 506, which may additionally include specified application 508, user-instruction 510, and specified server 512."];
[Column 5, lines 61-64 “The user-command refers to an expression of an outcome desired by the user. The user-command may contain a specified application, a user-instruction, and/or a specified server”];
[Column 5, lines 65- 67 “The specified application refers to a software program or application specified by the user for carrying out the user-instruction.’];
[Column 6, lines 23-26 “In some embodiments, specified applications, user-instructions, and/or specified servers may be preceded by an identifier (e.g., “application X” or “server Y” or “software Z”).” where an identifier can be included in the request];
execute the DevOps operation on a target DevOps platform
[Column 4, lines 20-26 “The AD computing device may then generate computer-executable instructions for carrying out the user-instruction and transmit the instructions to the deployment server or the automation server. In the above example, the AD computing device may generate instructions which cause the automation server to deploy software A on server B.”];
[Column 3, lines "63-67 "As used herein, "automation server" refers to any application or server that
enables the manipulation of objects implemented in another application, and may include, but is not limited to, software such as JENKINS and BAMBOO. Further, as used herein"];
provide an audio response through the voice assistant device indicating a result of the DevOps operation.
[Column 24, lines 12- 15 “In the exemplary embodiment, instructions module 118 is configured to generate and transmit notification 614 to the user computing device requesting user-input for how to proceed in response to receiving application response data 612”];
[Column 24, lines 33-37 " In some embodiments, the notification simply presents the situation
and allows a user to respond as they see fit….In some embodiments, the notification is a voice notification, such as an audio file played through a user computing device…..In
some embodiments, instructions module 118 transmits the notification as text to language module 116, and the language module converts the notification into a voice notification"]
However, Wangikar does not teach
project identifier;
retrieve encrypted access credentials from a database based on the project identifier;
using the encrypted access credentials; and
However, Dehaan does teach
project identifier;
[Column 5, lines 38-45 "Thus, the access rights repository 30 may include one or more organization definitions 32, one or more team definitions 34, one or more user definitions 36, one or more permission definitions 38, one or more credential definitions 40, one or more computing resource definitions 42, one or more project definitions 44,.."];
[Column 12, lines 21-23 "Assuming that the project definition 44 is a manual type project definition 44, the project definition 44 may include a project ID field 242 that identifies a name of the project."];
using the encrypted access credentials; and
[Column 9, lines 49-52 “Some credentials, such as machine-type credentials, may require a secure shell (SSH) password that may be entered via a SSH password control 198. The SSH password may be stored in an encrypted form in the credential definition 40.”];
[Column 9, 10 , lines 60-67, lines 1-3 “Credentials may also be used to authenticate with a cloud provider, such as Amazon Web Services (AWS) or Rackspace. For example, if the AWS radio control 194 is selected, the user 20-1 may provide an AWS access key and a secret key that is stored in the credential definition 40. If the Rackspace radio control 194 is selected, the user 20-1 may provide a Rackspace username and Application Programming Interface (API) key that is stored in the credential definition 40. AWS and Rackspace are merely examples of cloud providers, and the embodiments are not limited to any particular cloud provider.”];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar with the teachings of Dehaan as using credentials provides a secure and authorized access to a specific project, thereby keeping the system safe by limiting access to only what project needs.
Wangikar in view of Dehaan does not teach
retrieve encrypted access credentials from a database based on the project identifier;
But Tanniru teaches
retrieving encrypted access credentials from a database based on the project identifier;
[Column 15, lines 55-59 “As part of the configuration process 109S, the runner agent 109R may receive a DevOps token and a DevOps URL from the DevOps software component 134E via a project ID API 109T.“ where receiving a DevOps token and URL via a project ID implies that credentials are being scoped based on specific project ID and here DevOps token directly acts as the credential for subsequent authentication];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar in view Dehaan with the teachings of Tanniru because enabling the system to securely obtain the appropriate credentials for the identified project when executing the requested DevOps operation would thereby provide a secure and authorized access to project specific resources.
Claims [ 2, 14 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar (US 11,226,801 B2, hereinafter Wangikar) in view of Dehaan (US9679122B1, hereinafter Dehaan) in view of Tanniru (US11900075B2, hereinafter Tanniru) and in further view of Chivukula (US11698798 B2, hereinafter Chivukula) and in further view of Hornbeck (US 11023301 B1, hereinafter Hornbeck).
Regarding claim 2, the rejection of claim 1 is incorporated.
Wangikar in view of Dehaan in view of Tanniru do not teach
The method of claim 1, wherein executing the DevOps operation comprises: determining the target DevOps platform from multiple supported DevOps platforms based on stored configuration information; and selecting an application programming interface (API) endpoint corresponding to the determined target DevOps platform.
However, Chivukula teaches
The method of claim 1, wherein executing the DevOps operation comprises: determining the
target DevOps platform from multiple supported DevOps platforms based on stored configuration information;
[Column 22, lines 48-50 “The DevOps tool can be stored in a tool registry including storing the authentication information in a vault and storing the tool configuration data in a database”];
[Column 22, lines 61-64 “As such, subsequent to storing the DevOps tool in the tool
registry, a selection of the DevOps tool for inclusion in the DevOps job can be received. The DevOps job can also include one or more other DevOps tools”];
[Column 23, lines 5-10 “In response to receiving the selection and automatically and without further user intervention, the DevOps tool is accessed from the tool registry. Accessing the DevOps tool
includes accessing the authentication information ( e.g., token) from the vault and accessing the tool configuration data from the database.”];
[Column 23, lines 16-22 “Also in response to receiving the selection and automatically
and without further user intervention, the DevOps tool is configured. The DevOps tool can be configured in accordance with the accessed authentication information ( e.g., token) and accessed tool configuration data as part of the DevOps job and for interaction with the one or more other
DevOps tools.”];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru with Chivukula because determining the appropriate DevOps platform to use helps the requested operation to be efficiently route to the appropriate platform.
Wangikar in view of Dehaan in view of Tanniru in view of Chivukula do not teach
selecting an application programming interface (API) endpoint corresponding to the determined target DevOps platform.
However, Hornbeck teaches
selecting an application programming interface (API) endpoint corresponding to the determined target DevOps platform.
[Column 9, lines 58-63 “Infrastructure API Endpoint 130 may correspond with various endpoints. For example, Infrastructure API Endpoint 130 may correspond with an Azure® DevOps CLI service endpoint and/or API service endpoint provided by a given by a IaaS, Cloud, and/or Vendor on Premises (VOP) or “on-prem” vendor.”];
[Column 14, lines 16- 23 "The DevOps Operations may utilize software repository services and APIs based on the git protocol. In some examples, the repurposed repository tools include GitLab®, Microsoft® GitHub®, Atlassian® Bitbucket®, and JFrog® Artifactory®. Software Repository APIs may be used for DevOps Operations."]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru in view of Chivukula with Hornbeck so that the selected end point AI corresponds to determined target DEVOPS platform, thereby ensuring that the requested DevOps operation is directed to the appropriate platform for execution.
Regarding claim 14, the rejection of claim 13 is incorporated.
Wangikar in view of Dehaan in view of Tanniru in of view of Chivukula and in further view of
Hornbeck teach
The method of claim 1, wherein executing the DevOps operation comprises: determining the
target DevOps platform from multiple supported DevOps platforms based on stored configuration information; and selecting an application programming interface (API) endpoint corresponding to the determined target DevOps platform.
Claim 14 is rejected for the same reasons as claim 2.
Claims [ 3, 15 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar (US 11,226,801 B2, hereinafter Wangikar) in view of Dehaan (US9679122B1, hereinafter Dehaan) in view of Tanniru (US11900075B2, hereinafter Tanniru) and in further view of and in further view of Challagolla (US11250016B2).
Regarding claim 3, the rejection of claim 1 is incorporated.
Wangikar teaches
[Column 3, lines 63-66 "As used herein, "automation server" refers to any application or server that enables the manipulation of objects implemented in another
application, and may include, but is not limited to, software such as JENKINS and BAMBOO."];
However, Wangikar in view of Dehaan in view of Tanniru do not teach
the method of claim 1, wherein generating the structured request comprises: identifying
command keywords in the text; mapping the command keywords to
But Challagolla teaches
the method of claim 1, wherein generating the structured request comprises: identifying
command keywords in the text; mapping the command keywords to
[Column 14, lines 24-27 "According to some embodiments, the requested operation type may be identified by retrieving and/or parsing a portion of the user input and compared to available operation types."];
and validating presence of required parameters for the
[Column 14, lines 20-24 "In some embodiments, different operation types may require different parameters/values and indications of those minimum and/or full sets of requirements may be stored in association with the applicable operation types."]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru with Challagolla because doing so will identify the requested DevOps operation and determine whether the parameters required to perform the operation are present, thereby enabling accurate expression of the requested DevOps operation.
Regarding claim 15 , the rejection of claim 13 is incorporated.
Wangikar in view Dehaan in view of Tanniru in view of Challagolla teach
The system of claim 13, wherein to generate the structured request, the at least one processor
is further configured to: identify command keywords in the text; map the command keywords to a DevOps operation type; and validate presence of required parameters for the DevOps operation type.
Claim 15 is rejected for the same reasons as claim 3.
Claims [ 4, 16 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar (US 11,226,801 B2, hereinafter Wangikar) in view of Dehaan (US9679122B1, hereinafter Dehaan) in view of Tanniru (US11900075B2, hereinafter Tanniru) and in further view of Challagolla (US11250016B2) in view of Foerster (US 8,849,675 B1, hereinafter Foerster).
Regarding claim 4, the rejection of claim 1 is incorporated.
Wangikar in view of Dehaan in view of Tanniru and in view of Challagolla do not teach
The method of claim 3, further comprising: when a required parameter is missing from the voice command: generating a follow-up question requesting the missing parameter; converting the follow-up question to a second audio response; outputting the second audio response through the voice assistant device; and receiving a second voice command providing the missing parameter.
However, Foerster teaches
The method of claim 3, further comprising: when a required parameter is missing from the voice command: generating a follow-up question requesting the missing parameter;
[Column 3, lines 17-27 "The phrase classifier 122 may classify whether a phrase 170 that is said by the user 160 is an incomplete phrase for performing a voice action or a complete phrase for performing the voice action.
For example, the user 160 may speak a phrase, e.g., “SET A REMINDER,” and the phrase classifier 122 may classify the phrase as an incomplete phrase. As a result, the device 110 may display a user interface 140 with fields 142A and 142B for the user to enter a parameter for a date to set for the reminder, and a parameter for a time to set for the reminder. "];
[Column 4, lines 42-45 "If the phrase classifier 122 classifies that the received phrase is an incomplete phrase, the phrase classifier 122 may trigger the prompt manager 128 to prompt the user 160 to enter the required parameters"];
converting the follow-up question to a second audio response;
[Column 4, lines 48- 51 "Additionally or alternatively, the prompt manager 128 may audibly prompt the user 160 to say the parameters by synthesizing speech that requests the user 160 speak the parameter"];
outputting the second audio response through the voice assistant device; and receiving a
second voice command providing the missing parameter.
[Column 4, lines 51-56 "For example, the prompt manager 128 may trigger the device 110 to output synthesized speech of “WHAT DATE,” receive a response from the user 160 of “Nov. 1, 2013” or “TOMORROW,” output synthesized speech of “WHAT TIME,” and receive a response from the user 160 of “9 AM.”"];
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru in view of Challagolla with Foerster to prompt the user for a required parameter determined to be missing from the voice command and receive the missing parameter through a subsequent voice response, thereby enabling completion and execution of an otherwise incomplete DevOps request.
Regarding claim 16, the rejection of claim 15 is incorporated.
Wangikar in view Dehaan in view of Tanniru in view of Challagolla in view of Foerster teach
The system of claim 15, wherein the at least one processor is further configured to: when a required parameter is missing from the voice command: generate a follow-up question requesting the missing parameter; convert the follow-up question to a second audio response; output the second audio response through the voice assistant device; and receive a second voice command providing the missing parameter.
Claim 16 is rejected for the same reasons as claim 4.
Claims [ 5, 17 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar (US 11,226,801 B2, hereinafter Wangikar) in view of Dehaan (US9679122B1, hereinafter Dehaan) in view of Tanniru (US11900075B2, hereinafter Tanniru) and in further view of Thatikonda (US 11681522 B2, hereinafter Thatikonda).
Regarding claim 5, the rejection of claim 1 is incorporated.
Wangikar in view of Dehaan in view of Tanniru do not teach
The method of claim 1, wherein the DevOps operation comprises at least one of: retrieving a pipeline status for a specified project; retrying a failed pipeline; obtaining project runner details; updating job runner tags; and configuring pipeline failure monitoring
However, Thatikonda teaches
retrying a failed pipeline
[Column 6, lines 20-24 "If the build tool 310 indicates that one of build pipelines failed, the private tracker API 322 sends a retry signal to trigger a new build pipeline within the local build environment (e.g., the machine instance) starting from a stage that the build pipeline failed (block 362)."]
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru with Thatikonda to enable a user to retry a failed pipeline as a DevOps operation, thereby allowing execution to resume after the pipeline failure without requiring the entire build process to be restarted.
Regarding claim 17, the rejection of claim 13 is incorporated.
Wangikar in view Dehaan in view of Tanniru in view Thatikonda do teach
The system of claim 13, wherein the DevOps operation comprises at least one of: retrieving a pipeline status for a specified project; retrying a failed pipeline; obtaining project runner details; updating job runner tags; and configuring pipeline failure monitoring.
Claim 17 is rejected for the same reasons as claim 5.
Claims [ 6, 18 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar (US 11,226,801 B2, hereinafter Wangikar) in view of Dehaan (US9679122B1, hereinafter Dehaan) in view of Tanniru (US11900075B2, hereinafter Tanniru) and in further view of Thatikonda (US 11681522 B2, hereinafter Thatikonda) and in further view of Zhang (US 11,061,791 B2).
Regarding claim 6, , the rejection of claim 13 is incorporated.
Wangikar teaches
The method of claim 1, further comprising: receiving a voice command
[Column 3, lines 3-6 "The AD computer system may receive a voice command from a user, determine the voice command contains a user request to deploy certain computer code, attempt to deploy the computer code"];
[Column 5, lines 47-49 "In some embodiments, the voice input is a voice command spoken to a virtual assistant, chatbot, or smart home device."];
generating a notification
[Column 4, lines 38-41 "The AD computing device is further configured to generate a notification asking for user input to the user computing device, and transmit the notification to the user computing device."];
converting the notification to an audio alert;
[Column 24, lines 32-41 “ In some embodiments, the notification simply presents the situation and allows a user to respond as they see fit. In some embodiments, the notification is a text notification. In some embodiments, the notification is a voice notification, such as an audio file played through a user computing device. In some embodiments, instructions module 118 transmits the notification as text to language module 116, and the language module converts the notification into a voice notification.”];
outputting the audio alert through the voice assistant device; and receiving a voice response
[Column 13, lines 36-38 “In one embodiment, AD computing device 102 receives an error message and sends a notification to user computing device 104 asking for a user response.”];
[Column 13, lines 45-47 “As an example, a user may interact with user computing device 104, such as a virtual assistant, and provide the voice-input " where user computing device is a virtual assistant which allows user to provide voice input or response];
[Column 24, lines 12-16 “In the exemplary embodiment, instructions module 118 is configured to
generate and transmit notification 614 to the user computing device requesting user-input for how to
proceed in response to receiving application response data 612.”];
[Column 3, lines 42- 43 “The user computing device is a computing device, such as a virtual assistant or
smart home device,..”];
[Column 3, lines 59- 63 “As used herein, “virtual assistant” or “smart home device” refer to any virtual
assistant, chatbot, smart home device, voice controlled computing device, and/or voice service
including, but not limited to, AMAZON ECHO, ALEXA, CORTANA, GOOGLE HOME, and SIRI.”];
However, Wangikar in view of Dehaan in view Tanniru do not teach
setting up monitoring rules for the specified project on the target DevOps platform;
detecting a pipeline failure for the specified project;
However, Thatikonda teaches
retry the failed pipeline; pipeline failure
[Column 5, lines 22-24 "As used herein, triggering a new pipeline may also mean retrying or be triggering the failed build pipeline resuming from the failed state"].
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru with Thatikonda to enable a user to retry a failed pipeline as a DevOps operation, thereby allowing execution to resume after the pipeline failure without requiring the entire build process to be restarted.
But Wangikar in view Dehaan in view of Tanniru in view of Thatikonda do not teach
to configure pipeline monitoring for a specified project;
setting up monitoring rules for the specified project on the target DevOps platform;
detecting a pipeline failure for the specified project;
But Zhang teaches
to configure pipeline monitoring for a specified project;
[Column 1, lines 40-44 "In one embodiment of the present invention, a method for detecting potential failures in completing a continuous delivery pipeline using machine learning comprises defining the continuous delivery pipeline comprising a plurality of stages, "];
[Column 2, lines 33-35 "The continuous delivery pipeline may be defined as containing a designated number of stages, such as four (e.g., code, build, test and deploy). "];
setting up monitoring rules for the specified project on the target DevOps platform;
[Column 11, lines 19-23 " In one embodiment, the threshold value may be adjusted based on the stage in the continuous delivery pipeline for which the confidence score applies. That is, the determination may be made for each confidence score with respect to a unique threshold value." where adjustable/unique threshold values for pipeline stages is defining monitoring rules. ];
detecting a pipeline failure for the specified project;
[Column 3., lines 11-12 "Failures in completing the pipeline may now be detected prior to the actual
occurrence of the failure."];
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru in view
Thatikonda with Zhang because to be able detect potential pipeline failures and notify the user of such
failures, thereby allowing the user to identify and address pipeline failures during automated software
deployment.
Regarding claim 18, the rejection of claim 13 is incorporated.
Wangikar in view Dehaan in view of Tanniru in view Thatikonda in view of Zhang do teach
The system of claim 13, wherein the at least one processor is further configured to: receive a voice command to configure pipeline monitoring for a specified project; set up monitoring rules for the specified project on the target DevOps platform; detect a pipeline failure for the specified project; generate a notification of the pipeline failure; convert the notification to an audio alert; output the audio alert through the voice assistant device; and receive a voice response to retry the failed pipeline.
Claim 18 is rejected for the same reasons as claim 6.
Claims [ 7, 19 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar (US 11,226,801 B2, hereinafter Wangikar) in view of Dehaan (US9679122B1, hereinafter Dehaan) in view of Tanniru (US11900075B2, hereinafter Tanniru) and in further view of Wagner (US11775291B2, hereinafter Wagner).
Regarding claim 7, the rejection of claim 1 is incorporated.
Wangikar teaches
The method of claim 1, wherein executing the DevOps operation comprises:
receiving a voice command
[Column 3, lines 3-6 "The AD computer system may receive a voice command from a user, determine the voice command contains a user request to deploy certain computer code, attempt to deploy the computer code"];
[Column 5, lines 47-49 "In some embodiments, the voice input is a voice command spoken to a virtual assistant, chatbot, or smart home device."];
However, Wangikar in view of Dehaan do not teach
retrieving runner tag configurations for a specified project;
modifying the runner tag configurations based on the voice command; and
automatically committing the modified runner tag configurations to a repository on
the target DevOps platform
But Tanniru teaches
retrieving runner tag configurations for a specified project;
[Column 14, lines 46-51"As shown by reference number 109F, the helper container 109B may retrieve runner/agent tags (e.g., tags associated with an agent that facilitates running tasks in a pipeline) via a call associated with an application programming interface (API) 109G and provide the runner/agent tags to the platform 134."];
[Column 16, lines "3-8 " The runner registration process 109W may receive a set of runner registration parameters such as deployment tags from the DevOps software component 134E via a repository API 109Z, which is an API that interacts with a repository hosted by the DevOps software component 134E to retrieve runner registration parameters.";
[Column 15. lines 55-59 " As part of the 55 configuration process 109S, the runner agent 109R may receive a DevOps token and a DevOps URL from the DevOps software component 134E via a project ID API 109T."];
[Column 15, lines 44-48 " In this way, involved logic may be implemented automatically to perform tasks such as, for example, fetching parameters based on user input, automatically assigning tags, and/or validating tag value uniqueness, among other examples."];
Update a runner tag
[Column 15, lines 44-48 " In this way, involved logic may be implemented automatically to perform tasks such as, for example, fetching
parameters based on user input, automatically assigning tags, and/or validating tag value uniqueness, among other examples."];
[Column 16, lines 3-5 " The runner registration process 109W may receive a set of runner registration parameters
such as deployment tags" where automatically assigning tags to a runner during runner configuration results in an updated runner tag assignment ];
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view Dehaan with Tanniru to enable runner
tags to be retrieved and updated in response to a user command, thereby allowing the appropriate
runner configuration to be managed through the DevOps system.
But Wagikar in view of Dehaan in view of Tanniru do not teach
modifying the
automatically committing the modified
the target DevOps platform
But Wagner teaches
modifying the
[Column 1, lines 54-60 "The operations further include determining one or more changes to one or more files in each respective source code repository, of the plurality of source code repositories, based on the proposed change. The operations further include changing the one or more files in each respective source code repository, based on the determined one or more changes"];
[Column 7, lines 13-17 "Further, the software service can consider the changes. For example, the software service can identify the file(s) for which changes are made, and can automatically commit changes only to approved files (e.g., build files or configuration files)."];
automatically committing the modified
the target DevOps platform.
[Column 7, lines 13-17 "Further, the software service can consider the changes. For example, the software service can identify the file(s) for which changes are made, and can automatically commit changes only to approved files (e.g., build files or configuration files)."];
[Column 7, lines 25-27 " In an embodiment, a reviewer (e.g., for the relevant target repository) reviews the failures (e.g., log files reflecting testing of the changes)."];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru with Wagner to automatically commit the modified runner tag configuration to the repository, thereby ensuring that the updated runner configuration is stored and available for subsequent DevOps operation.
Regarding claim 19, the rejection of claim 13 is incorporated.
Wangikar in view of Dehaan in view of Tanniru in view of Wagner teach
The method of claim 1, wherein executing the DevOps operation comprises: retrieving runner tag configurations for a specified project; receiving a voice command to update a runner tag; modifying the runner tag configurations based on the voice command; and automatically committing the modified runner tag configurations to a repository on the target DevOps platform.
Claim 19 is rejected for the same reasons as claim 7.
Claims [ 8 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar
(US 11,226,801 B2, hereinafter Wangikar) in view of Dehaan (US9679122B1, hereinafter Dehaan) in view of Tanniru (US11900075B2, hereinafter Tanniru) and in view of Chivukula (US11698798 B2, hereinafter Chivukula) and in further view of Shetty (US11482231B2, hereinafter Shetty) and in further view of Dalzell (US8296828B2).
Regarding claim 8, the rejection of claim 1 is incorporated.
Wangikar teaches the method of claim 1, further comprising:
[Column 22, lines 21-23 "In some embodiments, identified skills 526 refer to any third party applications and/or automation servers."];
[Column 3, lines 63-67 "As used herein, "automation server" refers to any application or server that enables the manipulation of objects implemented in another application, and may include, but is not limited to, software such as JENKINS and BAMBOO."];
However, Wangikar in view of Dehaan in view of Tanniru do not teach
installing a
receiving organization credentials and DevOps platform information during a registration process;
encrypting the organization credentials; and
storing the encrypted organization credentials and DevOps platform information in the database.
But Chivukula teaches
DevOps platform information in the database.
[Column 22, lines "48-55 "The DevOps tool can be stored in a tool registry including
storing the authentication information in a vault and storing the tool configuration data in a database. In one aspect, tool registry 219 includes a vault and a database. Platform configuration module 201 can store the user provided tool221 in tool registry 219 including storing the authentication information (e.g., token) in the vault and storing the tool configuration data in the database."];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru with Chivukula to store DevOps platform information in the database along with the registered organization, thereby enabling the system to identify and access the appropriate the Devops platform when processing a requested DevOps operation.
Wangikar in view of Dehaan in view of Tanniru in view of Chivukula do not teach
installing a
device;
receiving organization credentials and
process;
encrypting the organization credentials; and
storing the encrypted organization credentials and
But Shetty teaches
installing a
device; receiving
[Column 4, lines 38-41 "The assistant connection service 116 can act as a server or backend service for an assistant connection application 159 that is implemented as a skill or application within a voice assistant ecosystem."];
[Column 8, lines 56-58 "The user can use the web page to submit his or her authentication credentials 133 to the identity manager 113."];
[Column 7, lines 31-35 "Additionally, the client application 153 can represent an application that facilitates user authentication with the authentication service 119 and the assistant connection service 116 so that a user can create an association between a voice assistant device 107 and her user account 129"];
[Column 12, lines 32-38 "..the user may have already provided her authentication credentials to the client application 153 and authenticated herself to the identity manger 113, assistant connection service 116, or a management service. In this scenario, the user can simply launch the client application 153 and initiate a flow that associates the voice assistant device 107 with the user account 129" where receiving authentication credentials during the authentication process for associated voice assistant device with a user account, the authentication credentials corresponding to the claimed organization credentials received during registration. ];
[Column 5, lines 25-27 " The authentication credentials 133 represent the credentials that a user can present to the identity manager 113 to authenticate the user's identity."]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru in view of Chivukula with Shetty to enable a Devops skill to be associated with the voice assistant and to receive authentication credentials during registration, thereby allowing an authenticated user to securely access the Devops functionality through the voice assistant.
Wangikar in view of Dehaan in view of Tanniru in view of Chivukula in view of Shetty do not teach
encrypting the
storing the encrypted
However, Dalzell teaches
encrypting the
[Column 3, lines 48-49 "Credentials stored in secure store database 230 may be kept encrypted. "];
[Column 8, lines 22-25 "encrypting on the application server the credential stored in the secure store database associated with the secure store service utilizing a master key generated and managed by a key manager;"];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar in view Dehaan in view of Tanniru in view of Chivukula in view of Shetty with Dalzell to encrypt credentials received during registration and store the encrypted credentials in a database, thereby protecting authentication credentials from unauthorized access while allowing them to be securely retrieved for subsequent authentication.
Claims [ 9 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar (US 11,226,801 B2, hereinafter Wangikar) in view of Dehaan (US9679122B1, hereinafter Dehaan) in view of Tanniru (US11900075B2, hereinafter Tanniru) and in further view of Chivukula (US11698798 B2, hereinafter Chivukula) and in further view of Rodgers (US 10706085 B2, hereinafter Rodgers).
Regarding claim 9, the rejection of claim 1 is incorporated.
Wangikar teaches
The method of claim 1, wherein generating the structured request comprises:
a first field specifying the DevOps operation;
[0025 "The AD computing device may then generate computer-executable instructions for carrying out the user-instruction and transmit the instructions to the deployment server or the automation server"];
[0066 "Further, language module 116 may parse the text input and determine that “deploy A to B” is a user command, “deploy A” is a user-instruction, and “B” is a specified server."];
However, Wangikar does not teach
generating a JSON request including:
a second field identifying a target project;
and a third field indicating the target DevOps platform.
But Dehaan teaches
a second field identifying a target project; and
[Column 12, lines 21-23 "may include a project ID field 242 that identifies a name of the project."];
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings Wangikar with Dehaan to identify the particular project associated with the requested DevOps operation, thereby enabling the system to direct and execute the requested operation on the appropriate project.
Wangikar in view of Dehaan in view of Tanniru do not teach
generating a JSON request including:
and a third field indicating the target DevOps platform
But Chivukula teaches
and a third field indicating the target DevOps platform
[Column 27, lines 35-37 "receiving platform information for a platform including a profile of resources of the platform and security group settings"];
[Column 22, lines "48-55 "The DevOps tool can be stored in a tool registry including storing the authentication information in a vault and storing the tool configuration data in a database. In one aspect, tool registry 219 includes a vault and a database. Platform configuration module 201 can store the user provided tool221 in tool registry 219 including storing the authentication information (e.g., token) in the vault and storing the tool 55 configuration data in the database."];
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view of Dehaan in view Tanniru with Chivukula to identify target DevOps platform associated with the requested operation, thereby enabling the system to direct the DevOps operation to the appropriate platform.
Wangikar in view of Dehaan in view of Tanniru in view of Chivukula do not teach
generating a JSON request including
However, Rodgers teaches
generating a JSON request including 3 fields
[Column 4, 5, lines 65- 67, lines 1-12 “In one or more embodiments, virtual assistant platforms 150a-b generate and transmit request messages to query system 140. Request messages may vary in format from one virtual assistant platform to the next depending on the protocol implemented by the virtual assistant platform. For example, one virtual assistant platform may generate a JavaScript Object Notation (JSON) request that includes a set of intents, extracted from the voice input, that are structured in accordance with a protocol implemented by the platform. A different virtual assistant platform may generate an extensible markup language (XML) object that maps utterances to intents using a different format and protocol. Other request message formats may also be used, which generally vary between different providers/vendors of virtual assistant platforms..”];
[Column 11, lines 52-57 “The target protocol may vary from implementation to implementation. An example format is a JSON object. Information contained within incoming JSON, XML, HTTP or other requests may be extracted and mapped to elements in the JSON object. However, other formats may be used, including XML objects, database objects, etc.” where multiple fields are indicated such as set of intents, structured accordance with a protocol, and information…may be extracted and mapped in the JSON format].
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view of Dehaan in view Tanniru in view of Chivukula with Rodgers because providing a standardized structured format for specifying the DevOps operation, target project, and target platform would facilitate a reliable processing of the request by the system.
Claims [ 10 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar (US 11,226,801 B2, hereinafter Wangikar) in view of Dehaan (US9679122B1, hereinafter Dehaan) in view of Tanniru (US11900075B2, hereinafter Tanniru) and in view of Van Hoof (US20180075131A1, Van Hoof) and in further view of Thatikonda (US 11681522 B2, hereinafter Thatikonda).
Regarding claim 10, the rejection of claim 1 is incorporated.
Wangikar in view of Dehaan in view of Tanniru do not teach
The method of claim 1, wherein providing the audio response comprises:
receiving a JSON response including operation status and result details;
converting the operation status and result details to natural language text; and
converting the natural language text to the audio response.
But Van Hoof teaches
receiving a JSON response
[0035 "As an example, a possible protocol for integration of the server system (212) with the client devices (210) could be through the use of structured JSON requests and/or responses"];
converting
[0035 "With such a protocol, different client devices (210) could parse the JSON response answers (218),"];
[0034 "For example, the presented natural language can be in the form of output cards or plain visual and/or audio natural language"];
converting the natural language text to the audio response.
[0034 "The client device (210) can present the natural language answer (218) in the form of a visual display and/or voice output on a computer display and/or speaker"[;
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view of Dehaan in view Tanniru with Van Hoof to convert the received results info into a natural language response and provide the response as voice output,, thereby presenting DevOps operation results to the user in an easily understandable audible form.
Wangikar in view of Dehaan in view Tanniru in view Van Hoof do not teach
operation status and result details;
However, Thatikonda teaches including operation status and results details
[Column 4, lines 18-20 "The pipeline tracker API 122 sends the progress of the build status to public API 120 for updating the decentralized database 124"];
[Column 7, lines 53-58 " For example, for the build pipeline identified by the pipeline ID 408, the public API 320 may: i) update the pipeline status 410 with the actual status of “Success,” “Retry,” or “Retry Exhaust”; and ii) update the pipeline execution time 416 with the actual execution time of the build pipeline."];
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view of Dehaan in view Tanniru in view of Van Hoof with Thatikonda to provide status and result details associated with the requested Devops operation, thereby enabling the system to inform the user of the outcome and status of the requested operation.
Claims [ 12 ] are rejected under 35 U.S.C. 103 as being unpatentable over Wangikar (US 11,226,801 B2, hereinafter Wangikar) in view of Dehaan (US9679122B1, hereinafter Dehaan) in view of Tanniru (US11900075B2, hereinafter Tanniru) and in view of Chivukula( US11698798 hereinafter, Chivukula) and in further view of Dalzell( US8296828B2, hereinafter Dalzell) and in further view of Mohanty (US 12086571 B2, hereinafter Mohanty).
Regarding claim 12, the rejection of claim 1 is incorporated.
Wangikar in view of Dehaan in view of Tanniru do not teach
The method of claim 1, further comprising: maintaining separate connections to multiple DevOps platforms through a cloud platform application server; storing access credentials for each DevOps platform in encrypted form; and selecting appropriate access credentials based on the target DevOps platform when executing the DevOps operation.
However, Chivukula teaches
maintaining
[Column 22, lines 62-63 "The DevOps job can also include one or more other DevOps tools."]
storing access credentials for each DevOps platform i
[Column 23, lines 18-22 "The DevOps tool can be configured in accordance with the accessed authentication information ( e.g., token) and accessed tool configuration data as part of the DevOps job and for interaction with the one or more other DevOps tools."];
[Column 27, lines 38-39 "…storing the DevOps tool in a tool registry that includes a vault and a database"];
selecting appropriate access credentials based on the target DevOps platform when executing the DevOps operation.
[Column 27, lines 44-46 "subsequent to storing the DevOps tool in the tool registry, receiving a selection of the DevOps tool for inclusion in the DevOps job along with one or more other DevOps tools to be implemented on the platform;"];
[Column 27 lines "50-53 "..accessing the DevOps tool from the tool registry including accessing the tool token representative of the authentication information from the vault and accessing the tool configuration data,"];
[Column 27, lines 56-61 "…configuring the DevOps tool on the platform in accordance with the accessed authentication information and accessed tool configuration data, including the
compliance information and platform information, as part of the DevOps job and for interaction with the one or more other DevOps tools; and"];
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view of Dehaan in view Tanniru with Chivukula to store and access credentials for the Devops platforms, thereby protecting the credentials from unauthorized access while permitting the credentials to be securely retrieved when needed to access the corresponding Devops platform.
Wangikar in view of Dehaan in view Tanniru in view of Chivukula do not teach
However, Denzell teaches
in encrypted form
[Column 3, lines 48-49 "Credentials stored in secure store database 230 may be kept encrypted. "];
[Column 8, lines 22-25 "encrypting on the application server the credential stored in the secure store database associated with the secure store service utilizing a master key generated and managed by a key manager;"];
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view of Dehaan in view Tanniru in view of Chivukula with Denzell because to store and access credentials for the DevOps platforms in encrypted form would thereby protect the credentials from unauthorized access while permitting secure retrieval for accessing the Devops platform.
Wangikar in view of Dehaan in view Tanniru in view of Chivukula in view of Denzell do not teach
Maintaining separate connections
platforms through a cloud platform application server;
However, Mohanty teaches
Maintaining separate connections
platforms through a cloud platform application server;
[Column 13, lines 38-41"…the application server 106 may communicate with the plurality of technology servers 104 associated with corresponding technologies to enable each user device,"]
[Column 13, lines 18-27 "The application server 106 enables integration and orchestration of services provided by the various technologies (e.g., the first plurality of technologies 114) of the technology stack. The technology stack may include PaaS, SaaS, IaaS technologies/applications provided by various technologies such as, AWS, Microsoft Azure, Snowflake, Jira, R studio, Data Bricks, GitHub, or the like. Examples of the application server 106 may include a cloud-based server, a local server, a group of centralized servers, a group of distributed servers, or the like."];
It would have been obvious to one of ordinary skill in the art before the effective filing date of
the claimed invention to combine the teachings Wangikar in view of Dehaan in view Tanniru in view of Chivukula in view of Denzell with Mohanty because to maintain communications with multiple DevOps platforms through a cloud based application server would thereby enable centralized access to and management of multiple DevOps technologies through a common server architecture.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SHEZA ABDUL AZIZ whose telephone number is (571)272-9610. The examiner can normally be reached Monday-Friday 7:30am-5pm Alternate Fridays off.
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, Daniel Washburn can be reached at (571) 272-5551. 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.
/SHEZA ABDUL AZIZ/Examiner, Art Unit 2657
/DANIEL C WASHBURN/Supervisory Patent Examiner, Art Unit 2657