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 .
This office action is in response to claims filed 07/09/2024. Claims 1-20 are pending.
Priority
Applicant’s claim for priority from foreign application no. CN2024103824543 filed 03/29/2024 is acknowledged.
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-20 are rejected under 35 U.S.C. 103 as being unpatentable over Nadimpalli et al. (US 20210217416 A1) in view of Singaraju (US 20200344185 A1), hereinafter referred to as Nadimpalli and Singaraju, respectively.
Regarding Claim 1, Nadimpalli discloses A method for managing data output of a workflow ([0046] the way in which responses are processed, aggregated, and presented to a user (e.g., via supported input and output user interface mechanisms of the front end systems).; [0050] a particular combination of a context and an intent may be mapped to a particular node in the user flow map. Then one or more tasks, branches, or pathways from that node to other nodes in the workflow map may be ranked and presented to a user (e.g., via one or more of the user interfaces described herein) as options to assist the user in performing one or more tasks. Please note that the input and output user interface mechanisms of the front end systems related to the way in which responses are processed, aggregated, and presented to the user, where the workflow map node pathways are presented to the user as options to assist the user in performing tasks corresponds to Applicant’s method for managing data output of a workflow.), comprising:
wherein the message node instance includes an input end and an output end ([0026] one or more automation modules are disclosed that are configured connect one or more front-end systems, such as one or more digital assistants, to one or more back-end systems. Please note that the automation modules connecting front-end systems to back-end systems corresponds to Applicant’s message node instance including input and output ends.),
and wherein the input end is used to receive the message to be output ([0026] the one or more automation modules include a listening module that is configured to infer at least one of an intent, context, or classification from an utterance received at the one or more front-end systems. Please note that the automation module including a listening module that is configured to infer at least one of an intent, context, or classification from an utterance received at the one or more front-end systems corresponds to Applicant’s input end being used to receive the message to be output. ),
and the output end is used to specify that the message is presented in a predetermined format by the workflow ([0029] a learning module that is configured to generate one or more requests (e.g., distribute one or more commands to the one or more back-end systems), receive one or more responses to the one or more requests, format the responses according to one or more machine-learned presentation rules, and generate insights for use in future command processing (e.g., across multiple instances of the one or more automation modules deployed across multiple organizations). Please note that the learning module that is used to receive responses to the generated requests and format the responses according to presentation rules corresponds to Applicant’s output end being used to specify that the message is presented in a predetermined format by the workflow. ).
Nadimpalli does not explicitly disclose adding a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow, wherein the message node specifies one or more messages output by the workflow; and presenting the message node instance in the page.
However, Singaraju discloses adding a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow ( [0081] Connector 215 may act as an interface between the bot system 205 and one or more end users through one or more channels, such as channels 286 and 287. Each channel may be a messaging application; [0088] For example, conversation events may be generated by dialog engine 226. A conversation event may include a message received by a bot system from an end user device (referred to as msg_received). Msg_received may include one or more of the following parameters or variables: the content of the message. Please note that conversation events being generated by the dialog engine including a message received by a bot system from an end user device corresponds to Applicant’s adding a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow. This is because when the end user uses a channel comprising a messaging application to interface with the bot system, corresponding to the system receiving a selection request for the message node in a page used to create the workflow, a conversation event is generated by the dialog engine including a message received, corresponding to adding a message node instance corresponding to a message node to the workflow.),
wherein the message node specifies one or more messages output by the workflow ([0089] [0089] A conversation event may also include a message sent by a bot system 205 to an end user device (referred to as msg_sent). Msg_sent may include one or more of the following: the content of the message (e.g., text or HTML of the message). Please note that the conversation event also including a message sent by a bot system to an end user device corresponds to Applicant’s message node specifying messages output by the workflow.);
and presenting the message node instance in the page ([0047] the conversation can include a combination of text or audio inputs provided by the user and responses provided by the skill bots. These responses may be in the form of text or audio messages to the user and/or using simple user interface elements (e.g., select lists) that are presented to the user for the user to make selections. Please note the responses being in the form of text or audio messages to the user and using UI elements that are presented to the user for them to make selections corresponds to Applicant’s presenting the message node instance in the page.),
Nadimpalli and Singaraju are both considered to be analogous to the claimed invention because they are in the same field of digital assistant workflow management. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Nadimpalli to incorporate the teachings of Singaraju to modify the system for managing data output of a workflow wherein the message node instance includes an input end and an output end to add a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow, with the message node specifying messages output by the workflow, and presenting the message node instance in the page, allowing for improved usage of the digital assistant by the user for tasks, as described in Singaraju.
Regarding Claim 2, Nadimpalli-Singaraju as described in Claim 1, Nadimpalli further discloses presenting a plurality of nodes in the page used to create the workflow, wherein the plurality of nodes further comprise a data acquisition node that includes i) a model node used to invoke a machine learning model or ii) a plug-in node used to invoke a plug-in function ([0030] Each of the client application(s) 112 may include a software application module (e.g., a plug-in, add-in, or macro) that adds a specific service or feature to a larger system. Please note that the client application 112 including a software application module such as a plug-in that adds a feature or service to a larger system corresponds to Applicant’s presenting a plurality of nodes in the page used to create the workflow, wherein the plurality of nodes further comprise a data acquisition node that includes ii) a plug-in node used to invoke a plug-in function. As Applicant states “a data acquisition node that includes i) […] or ii)”, this is interpreted by the Examiner as fulfilling the requirements of the Claim. ),
and wherein the workflow includes a data acquisition node instance corresponding to the data acquisition node ([0030] Each of the client application(s) 112 may include a software application module (e.g., a plug-in, add-in, or macro) that adds a specific service or feature to a larger system. Please note that the client application 112 including a software application module such as a plug-in that adds a feature or service to a larger system corresponds to Applicant’s workflow including a data acquisition node instance corresponding to the data acquisition node, as each client application has an instance of the software application module to add a specific feature, i.e., the plug-in node.).
Regarding Claim 3, Nadimpalli-Singaraju as described in Claim 2, Nadimpalli further discloses for the data acquisition node instance and the message node instance in the workflow, in response to receiving a connection request for coupling the output end of the data acquisition node instance and the input end of the message node instance, establishing a connection relationship between the output end of the data acquisition node instance and the input end of the message node instance ([0045] the user-flow mind maps are stored in a map or other tree-like data structure in which an input (e.g., a question asked by a user) is mapped to a particular flow through various nodes of the organization, the nodes representing people, roles, and/or tasks, as well as commands issued via the nodes through connections to one or more back-end systems and responses returned to the user (e.g., aggregated and formatted. responses provided as an answer to a question or command submitted by a user at a front-end system).; [0068] a web request service that connects one or more applications executing on the front-end systems (e.g., chatbots or digital assistants) to the functionality provided by one or more back-end systems via the usability applications 120. As depicted, a user first asks or submits a question via one of the front-end systems. The web request service determines one or more of the context, intent, or classification corresponding to the request and identifies a node of a workflow (e.g., a Skype dialog flow) corresponding to the request. Please note that the web request service connecting the front-end applications to the functionality provided by the back-end systems via the usability applications 120 that identifies a node of a workflow corresponding to the request based on the input request corresponds to Applicant’s establishing a connection relationship between the output end of the data acquisition node instance and the input end of the message node instance in response to receiving a connection request for coupling the output end of the data acquisition node instance and the input end of the message node instance. This is because the output end of the data acquisition node instance, from the front-end system that implements the plug-in as previously mentioned, receives a connection request, and establishing a connection relationship between the front-end system and the back end, i.e., the input end of the message node instance, for processing what has been requested by the user. ).
Regarding Claim 4, Nadimpalli-Singaraju as described in Claim 1, Nadimpalli further discloses wherein the predetermined format is configured to specify at least one of the following of the message: font, font size, color, separator, presentation region, or output mode, wherein the output mode includes a text stream mode and text block mode ([0036] format the responses according to one or more machine-learned presentation rules. Please note that the responses being formatted according to machine-learned presentation rules corresponds to Applicant’s predetermined format being configured to specify the presentation region. As Applicant states “specify at least one of the following,” this is interpreted by the Examiner as fulfilling the requirements of the Claim. ).
Regarding Claim 5, Nadimpalli-Singaraju as described in Claim 1, Singaraju further discloses in response to determining that the input end of the message node instance includes a first input end and a second input end ([0038] As part of a conversation, a user 108 may provide one or more user inputs 110 and get responses 112 back from the digital assistant 106. Via these conversations, a user can request one or more tasks to be performed by the digital assistant 106 and, in response, the digital assistant 106 is configured to perform the user-requested tasks and respond with appropriate responses to the user. Please note that the multiple user inputs provided to the digital assistant 106 corresponds to Applicant’s determining that the input end of the message instance includes first and second input ends, as multiple inputs for multiple tasks would correspond to multiple input ends in the system.),
the predetermined format includes a format specifying a first message from the first input end and the second message from the second input end ([0081] The content normalization processing may include formatting content from each type of messaging application to a common format for processing. Please note that the content normalization processing formatting content from each type of messaging application that may be input to a common format corresponds to Applicant’s predetermined format including a format specifying a first message from the first input end and the second message from the second input end, as obtaining a common format would allow for multiple inputs to be formatted from distinct input ends in a predetermined manner. ).
Regarding Claim 6, Nadimpalli-Singaraju as described in Claim 1, Singaraju further discloses receiving at least one input data provided to the workflow in response to receiving a test request for testing the workflow ([0076] Testing and deploying the skill bot—DABP 102 provides several features that enable the skill bot designer to test a skill bot being developed. Please note that the features provided by the DABP 102 to enable the skill bot designer to test the skill bot corresponds to Applicant’s receiving at least one input data provided to the workflow in response to receiving a test request for testing the workflow, as the user attempting to test the skill bot would correspond to the system receiving a test request for testing the workflow, and since the workflow involves input data, this corresponds to receiving input data provided to the workflow.);
and providing state data of the message node instance in the workflow, wherein the state data includes at least one of the following: data at the input end of the message node instance or data at the output end of the message node instance ([0086] The administrator or developer may use user interface 245 and UI server 240 to manage the bot system.; [0087] Various events 290 may be generated while the bot system 205 is running. The events 290 may be generated based upon one or more instructions included in the bot system. For example, an event 290 may be generated when the bot system 205 has entered into a particular state, where the particular state is defined by an administrator or developer of the bot system. As events 290 are generated, the events 290 may be collected, stored, and analyzed by the bot analytic system 210. When capturing an event 290, additional information associated with the event 290 may also be collected, where the additional information may indicate a present context in which the event 290 is generated. Please note that an event being generated when the bot system 205 has entered into a particular state defined by an administrator of the bot system, where a developer may use UI 245 to manage the bot system, corresponds to providing state data of the message node instance in the workflow, wherein the state data includes data at the input end of the message node instance, as since the state events may be generated when the bot system 205 enters a particular state, this corresponds to the state data including data at the input end of the message node instance, i.e., as the input is processed. As applicant states the working state including “at least one of the following”, the Examiner is interpreting this as meeting the requirements of the Claim.).
Regarding Claim 7, Nadimpalli-Singaraju as described in Claim 1, Singaraju further discloses in response to receiving a release request, releasing the workflow so that the workflow is integrated in a digital assistant ([0037] Distributed environment 100 comprises a digital assistant builder platform (DABP) 102 that enables enterprises to create and deploy digital assistants for their users. Please note that enabling the enterprise to create and deploy the digital assistant via the DABP corresponds to Applicant’s releasing the workflow so that the workflow is integrated in a digital assistant in response to receiving a release request.).
Regarding Claim 8, Nadimpalli-Singaraju as described in Claim 1, Singaraju further discloses wherein the workflow is integrated in the digital assistant ([0038] the digital assistant 106 is configured to perform the user-requested tasks and respond with appropriate responses to the user. Please note that the digital assistant 106 performing the user-requested tasks corresponds to Applicant’s workflow being integrated in the digital assistant.),
and the method further comprises: in response to determining that the digital assistant receives a query request, using the data acquisition node in the workflow to acquire a reply to the query request ([0038] the digital assistant 106 is configured to perform the user-requested tasks and respond with appropriate responses to the user. [0081] Connector 215 may act as an interface between the bot system 205 and one or more end users through one or more channels, such as channels 286 and 287. Each channel may be a messaging application; [0088] For example, conversation events may be generated by dialog engine 226. A conversation event may include a message received by a bot system from an end user device (referred to as msg_received). Msg_received may include one or more of the following parameters or variables: the content of the message. Please note that conversation events being generated by the dialog engine including a message received by a bot system from an end user device corresponds to Applicant’s using the data acquisition node in the workflow to acquire a reply to the query request in response to determining that the digital assistant receives a query request. This is because when the end user uses a channel comprising a messaging application to interface with the bot system, corresponding to the system determining that the digital assistant has received a query request, a conversation event is generated by the dialog engine including a message received, and ultimately results in an appropriate response being provided, corresponding to using the data acquisition node in the workflow to acquire a reply to the query request.);
and presenting the reply according to the predetermined format using the message node in the workflow ([0047] the conversation can include a combination of text or audio inputs provided by the user and responses provided by the skill bots. These responses may be in the form of text or audio messages to the user and/or using simple user interface elements (e.g., select lists) that are presented to the user for the user to make selections. Please note the responses being in the form of text or audio messages to the user and using UI elements corresponds to Applicant’s presenting the reply according to the predetermined format using the message node in the workflow.).
Regarding Claim 9, Nadimpalli-Singaraju as described in Claim 8, Singaraju further discloses an interruption attribute ([0116] The pipeline via nodes and connections could provide that A has to run successfully before B can run, but C can run anytime. The pipeline could provide that task A times out after 5 minutes, and B can be restarted up to 5 times in case it fails. Please note that the pipeline providing that for example A has to run successfully before B can run but C can run anytime in the pipeline via nodes and connections corresponds to Applicant’s interruption attribute. This is because Applicant states in [0075] of the Specification that “The interruption attribute may indicate, for example, whether interruption of the workflow is allowed during processing of the query request.” Therefore, since C can run anytime, this indicates interruption of the workflow is allowed during processing of the query request).
Nadimpalli further discloses providing a settings control configured to set an interruption attribute of the workflow instance ([0048] At operation 318, the intents for the particular selected interaction platform may be presented within a graphical user interface for editing. In example embodiments, missing information that is supported by a particular digital assistant platform may be provided, such as card types, image/video, graph information, button information, and data requirements. Additionally, the intent and context mapping may be modified. Any changes made during the editing stage may then be fed back as inputs into the training data for generation of a new or updated model.; [0134] Together, the data elements associated with the nodes may be configured to provide a user with easier access to functions and/or data that is accessible to the user via one or more connected back-end systems than if the user had to manually issue commands directly to each of the back-end systems. Each of these nodes is represented as an interactive graphical element that is movable (e.g., via dragging and dropping) for rearranging or editing the workflow, including adding, changing, or removing connections between nodes. In example embodiments, changes made to the workflow may be fed back into the machine-learning algorithms for improving models of the workflow, as discussed above. Please note that the interactive graphical elements representing nodes to allow the user to edit the workflow corresponds to providing a settings control configured to set an interruption attribute of the workflow instance, i.e., modify the node’s associated properties such as by modifying the data requirements or graph information for a digital assistant platform. ),
wherein the interruption attribute indicates whether interruption of the workflow is allowed during processing of the query request ([0134] Together, the data elements associated with the nodes may be configured to provide a user with easier access to functions and/or data that is accessible to the user via one or more connected back-end systems than if the user had to manually issue commands directly to each of the back-end systems. Each of these nodes is represented as an interactive graphical element that is movable (e.g., via dragging and dropping) for rearranging or editing the workflow, including adding, changing, or removing connections between nodes. In example embodiments, changes made to the workflow may be fed back into the machine-learning algorithms for improving models of the workflow, as discussed above. Please note that editing each node in the workflow corresponds to the interruption attribute indicating whether interruption of the workflow is allowed during processing of the query request , as editing the workflow and changing connections between nodes would be obvious to contain an attribute relating to whether interruption of the workflow is allowed during processing of the query request, i.e., setting behavior of the workflow and interactions between nodes in response to an interruption during processing of the query request.);
and in response to receiving a setting request for an interrupt control, setting the interrupt attribute of the workflow ([0048] At operation 318, the intents for the particular selected interaction platform may be presented within a graphical user interface for editing. In example embodiments, missing information that is supported by a particular digital assistant platform may be provided, such as card types, image/video, graph information, button information, and data requirements. Additionally, the intent and context mapping may be modified. Any changes made during the editing stage may then be fed back as inputs into the training data for generation of a new or updated model. Please note that the user carrying out a modification of the intents for the particular selected interaction platform and editing the workflow corresponds to Applicant’s setting the interruption attribute of the workflow in response to receiving a setting request for the settings control.).
Regarding Claim 10, Nadimpalli-Singaraju as described in Claim 9, Singaraju further discloses in response to receiving another query request during the processing of the query request by the digital assistant, executing the workflow based on the interruption attribute ([0116] The pipeline via nodes and connections could provide that A has to run successfully before B can run, but C can run anytime. The pipeline could provide that task A times out after 5 minutes, and B can be restarted up to 5 times in case it fails. Please note that the pipeline allowing C to run anytime while A and B could be running corresponds to Applicant’s executing the workflow based on the interruption attribute in response to receiving another query request during the processing of the query request by the digital assistant, i.e., allowing for C to execute once requested even while A/B are being processed.).,
including at least one of the following: in response to determining that the interruption attribute indicates that interruption of the workflow is allowed, restarting the workflow to utilize the workflow to process the another query request; and in response to determining that the interruption attribute indicates that interruption of the workflow is not allowed, sequentially processing the query request using the workflow ([0116] The pipeline via nodes and connections could provide that A has to run successfully before B can run, but C can run anytime. The pipeline could provide that task A times out after 5 minutes, and B can be restarted up to 5 times in case it fails. The pipeline might also say that the workflow will run for every utterance. In this way, a DAG describes how a client wants a chatbot to carry out the workflow. The tasks A, B, and C could be anything related to implementing one or more functions of a chatbot. For example, in a first pipeline, A may obtain data from a database, B may prepare data by trimming the data for C to analyze while C may train or execute an algorithm or machine learning model using the trimmed data as input. Please note that allowing C to run, where C may analyze information from B that has been trimmed corresponds to Applicant’s executing the workflow based on the interruption attribute in response to receiving another query request during the processing of the query request by the digital assistant, including restarting the workflow to utilize the workflow to process the another query request in response to determining that the interruption attribute indicates that interruption of the workflow is allowed. This is because since B may feed into C for its processing, a restart of the workflow would be required to process the another query request for C, and this would be under the circumstances that interruption of the workflow is allowed to do so, i.e., the interruption attribute indicates it is allowed. As applicant states the workflow including “at least one of the following”, the Examiner is interpreting this as meeting the requirements of the Claim.).
Regarding Claim 11, Nadimpalli-Singaraju as described in Claim 2, Nadimpalli further discloses wherein the workflow includes a plurality of node instances of the plurality of nodes, and the method further comprises: in response to determining that a target node instance of the plurality of node instances is selected, providing a settings control configured to set a presentation attribute of the target node instance ([0048] At operation 318, the intents for the particular selected interaction platform may be presented within a graphical user interface for editing. In example embodiments, missing information that is supported by a particular digital assistant platform may be provided, such as card types, image/video, graph information, button information, and data requirements. Additionally, the intent and context mapping may be modified. Any changes made during the editing stage may then be fed back as inputs into the training data for generation of a new or updated model.; [0134] Together, the data elements associated with the nodes may be configured to provide a user with easier access to functions and/or data that is accessible to the user via one or more connected back-end systems than if the user had to manually issue commands directly to each of the back-end systems. Each of these nodes is represented as an interactive graphical element that is movable (e.g., via dragging and dropping) for rearranging or editing the workflow, including adding, changing, or removing connections between nodes. In example embodiments, changes made to the workflow may be fed back into the machine-learning algorithms for improving models of the workflow, as discussed above; [0136] an example user interface 1300 for modifying user interface elements associated with each node in the workflow. In example embodiments, tools for editing the user interface elements are accessible via selection of a “Flow Design” menu item. In example embodiments, a particular digital assistant platform for which the user interface elements are to be configured is selectable via an “Interface” user interface element. Please note that modifying each node in the workflow corresponds to Applicant’s workflow including a plurality of node instance of the plurality of nodes. Furthermore, the user using the UI 1300 to modify a node’s associated UI elements corresponds to determining that a target node instance of the plurality of node instances is selected, as a user would be able to select a particular node to modify, corresponding to a determination that a target node instance of the plurality of node instances is selected. Additionally, the UI 1300 for modifying corresponds to providing a settings control configured to set a presentation attribute of the target node instance, i.e., modify the node’s associated UI elements and properties. ),
wherein the presentation attribute indicates whether the working state of the target node instance and the predetermined conditions for the working state are allowed to be presented during processing the query request ( [0136] an example user interface 1300 for modifying user interface elements associated with each node in the workflow. In example embodiments, tools for editing the user interface elements are accessible via selection of a “Flow Design” menu item. In example embodiments, a particular digital assistant platform for which the user interface elements are to be configured is selectable via an “Interface” user interface element.; [0137] In example embodiments, selecting a particular user interface element within the flow design for editing provides menu options for integrating the user interface element with the particular front-end system and/or digital assistant (e.g., Skype) for which the user interface element is to be provided, including “User Interaction,” “Response Details,” “Intents,” “Contexts,” and “Entities” that are to be associated with the user interface elements. Please note that editing UI elements associated with each node in the workflow corresponds to the presentation attribute indicating whether the working state of the target node instance and the predetermined conditions for the working state are allowed to be presented during processing the query request, as modifying the UI element for a particular node using menus such as user interaction would be obvious to contain an attribute relating to whether the working state of the target node instance and the predetermined conditions for the working state are allowed to be presented during processing the query request, i.e., controlling the visibility to the user and its conditions.);
and setting the presentation attribute of the workflow in response to receiving a setting request for the settings control ( [0136] an example user interface 1300 for modifying user interface elements associated with each node in the workflow. In example embodiments, tools for editing the user interface elements are accessible via selection of a “Flow Design” menu item. In example embodiments, a particular digital assistant platform for which the user interface elements are to be configured is selectable via an “Interface” user interface element. Please note that the user carrying out a modification of the UI elements for a node via the UI 1300 corresponds to Applicant’s setting the presentation attribute of the workflow in response to receiving a setting request for the settings control.).
Regarding Claim 12, Nadimpalli-Singaraju as described in Claim 11, Singaraju further discloses in response to determining that the predetermined condition is satisfied, presenting the working state of the target node instance, wherein the working state includes at least one of the following: a predefined working state, and a working state determined via data at the input end of the target node instance ([0086] The administrator or developer may use user interface 245 and UI server 240 to manage the bot system.; [0087] Various events 290 may be generated while the bot system 205 is running. The events 290 may be generated based upon one or more instructions included in the bot system. For example, an event 290 may be generated when the bot system 205 has entered into a particular state, where the particular state is defined by an administrator or developer of the bot system. As events 290 are generated, the events 290 may be collected, stored, and analyzed by the bot analytic system 210. When capturing an event 290, additional information associated with the event 290 may also be collected, where the additional information may indicate a present context in which the event 290 is generated. Please note that an event being generated when the bot system 205 has entered into a particular state defined by an administrator of the bot system, where a developer may use UI 245 to manage the bot system, corresponds to presenting the working state of the target node instance including a predefined working state in response to determining that the predetermined condition is satisfied. As applicant states the working state including “at least one of the following”, the Examiner is interpreting this as meeting the requirements of the Claim.).
Regarding Claim 13, Nadimpalli-Singaraju as described in Claim 8, Nadimpalli further discloses wherein the workflow includes an end node instance ([0038] questions asked, queries entered, and other communications generated by client-side users are catalogued and stored (e.g., as an originating point or node) within a data structure representing business flows, workflows, or task flows within the organizational. The catalogued originating points or tasks may be linked to data structures representing people, roles, or additional tasks within the organization that are implicated by the originating tasks; [0039] learned tasks performed at nodes between the originating and end-point nodes (e.g., at mid-point nodes). Please note that the end-point node corresponds to the end node instance of the workflow.),
and the message node instance is located upstream from the end node instance ([0038] questions asked, queries entered, and other communications generated by client-side users are catalogued and stored (e.g., as an originating point or node) within a data structure representing business flows, workflows, or task flows within the organizational. The catalogued originating points or tasks may be linked to data structures representing people, roles, or additional tasks within the organization that are implicated by the originating tasks; [0039] learned tasks performed at nodes between the originating and end-point nodes (e.g., at mid-point nodes). Please note that since the end-point occurs later than the communications in the workflow, this corresponds to the message node being located upstream from the end node instance.),
and the message node instance is configured to specify a first reply to the query request output by the workflow, and the end node instance is configured to specify a second reply to the query request output by the workflow, the second reply is generated based on the first reply ([0038] The execution of the commands that are implicated by the originating points may be included as end points or nodes of the mapping data structure. Additionally, the flow of communication of responses from the end points through the various data points and back to the originating point is monitored and corresponding links or connections added or updated in the mapping data structure, defining a bidirectional flow. Please note that as there is a flow of communication of responses from the end points through the various data points and back to the originating point corresponds to Applicant’s message node instance being configured to specify a first reply to the query request output by the workflow, and the end node instance is configured to specify a second reply to the query request output by the workflow, the second reply is generated based on the first reply. This is because in the flow of responses back to the originating point, the message node instance in the mapping data structure may generate a response, corresponding to a first reply, and the end node instance, i.e., the one following the previous node, may generate a response dependent on the first reply, corresponding to specifying a second reply to the query request output by the workflow generated based on the first reply, as this would be part of the flow of responses through the various data points.).
Regarding Claim 14, Nadimpalli-Singaraju as described in Claim 13, Nadimpalli further discloses wherein the workflow further comprises a start node instance, and the message node is located between the start node instance and the end node instance ([0038] questions asked, queries entered, and other communications generated by client-side users are catalogued and stored (e.g., as an originating point or node) within a data structure representing business flows, workflows, or task flows within the organizational. The catalogued originating points or tasks may be linked to data structures representing people, roles, or additional tasks within the organization that are implicated by the originating tasks; [0039] learned tasks performed at nodes between the originating and end-point nodes (e.g., at mid-point nodes). Please note that the questions asked being stored as an originating node within a data structure representing workflows within the organizational corresponds to Applicant’s workflow comprising a start node instance, and the tasks performed at nodes between the originating and end-point nodes corresponds to Applicant’s message node being located between the start and end node instance, i.e., at the mid-point node.).
Regarding Claim 15, Nadimpalli-Singaraju as described in Claim 1, Nadimpalli further discloses the message node is presented in a first region in the page, or the message node is presented in response to an adding request for adding a node to the workflow received in a second region in the page ([0029] A response to the utterance is communicated for presentation via the intelligent virtual assistant, the response including an aggregation of the one or more results received. Please note that communicating a response to the utterance for presentation via the intelligent virtual assistant corresponds to Applicant’s message node being presented in a first region in the page. As Applicant states “or” presenting in response to an adding request, this is interpreted by the Examiner as fulfilling the requirements of the Claim.).
Regarding Claim 16, Nadimpalli discloses An electronic device comprising: at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions when executed by the at least one processing unit causes the electronic device to perform operations ([0152] The example computer system 1800 includes a processor 1802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 1804 and a static memory 1806; [0153] The storage unit 1816 includes a machine-readable medium 1822 on which is stored one or more sets of data structures and instructions 1824 (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. Please note that the example computer system 1800 including a processor 1802, a main memory 1804 and a static memory 1806 that includes a machine-readable medium 1822 storing instructions 1824 embodying the described functions corresponds to Applicant’s electronic device comprising at least one processing unit and at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions causing the electronic device to perform operations when executed by the at least one processing unit. ) comprising:
wherein the message node instance includes an input end and an output end ([0026] one or more automation modules are disclosed that are configured connect one or more front-end systems, such as one or more digital assistants, to one or more back-end systems. Please note that the automation modules connecting front-end systems to back-end systems corresponds to Applicant’s message node instance including input and output ends.),
and wherein the input end is used to receive the message to be output ([0026] the one or more automation modules include a listening module that is configured to infer at least one of an intent, context, or classification from an utterance received at the one or more front-end systems. Please note that the automation module including a listening module that is configured to infer at least one of an intent, context, or classification from an utterance received at the one or more front-end systems corresponds to Applicant’s input end being used to receive the message to be output. ),
and the output end is used to specify that the message is presented in a predetermined format by the workflow ([0029] a learning module that is configured to generate one or more requests (e.g., distribute one or more commands to the one or more back-end systems), receive one or more responses to the one or more requests, format the responses according to one or more machine-learned presentation rules, and generate insights for use in future command processing (e.g., across multiple instances of the one or more automation modules deployed across multiple organizations). Please note that the learning module that is used to receive responses to the generated requests and format the responses according to presentation rules corresponds to Applicant’s output end being used to specify that the message is presented in a predetermined format by the workflow. ).
Nadimpalli does not explicitly disclose adding a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow, wherein the message node specifies one or more messages output by the workflow; and presenting the message node instance in the page.
However, Singaraju discloses adding a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow ( [0081] Connector 215 may act as an interface between the bot system 205 and one or more end users through one or more channels, such as channels 286 and 287. Each channel may be a messaging application; [0088] For example, conversation events may be generated by dialog engine 226. A conversation event may include a message received by a bot system from an end user device (referred to as msg_received). Msg_received may include one or more of the following parameters or variables: the content of the message. Please note that conversation events being generated by the dialog engine including a message received by a bot system from an end user device corresponds to Applicant’s adding a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow. This is because when the end user uses a channel comprising a messaging application to interface with the bot system, corresponding to the system receiving a selection request for the message node in a page used to create the workflow, a conversation event is generated by the dialog engine including a message received, corresponding to adding a message node instance corresponding to a message node to the workflow.),
wherein the message node specifies one or more messages output by the workflow ([0089] [0089] A conversation event may also include a message sent by a bot system 205 to an end user device (referred to as msg_sent). Msg_sent may include one or more of the following: the content of the message (e.g., text or HTML of the message). Please note that the conversation event also including a message sent by a bot system to an end user device corresponds to Applicant’s message node specifying messages output by the workflow.);
and presenting the message node instance in the page ([0047] the conversation can include a combination of text or audio inputs provided by the user and responses provided by the skill bots. These responses may be in the form of text or audio messages to the user and/or using simple user interface elements (e.g., select lists) that are presented to the user for the user to make selections. Please note the responses being in the form of text or audio messages to the user and using UI elements that are presented to the user for them to make selections corresponds to Applicant’s presenting the message node instance in the page.),
Nadimpalli and Singaraju are both considered to be analogous to the claimed invention because they are in the same field of digital assistant workflow management. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Nadimpalli to incorporate the teachings of Singaraju to modify the system for managing data output of a workflow wherein the message node instance includes an input end and an output end to add a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow, with the message node specifying messages output by the workflow, and presenting the message node instance in the page, allowing for improved usage of the digital assistant by the user for tasks, as described in Singaraju.
Regarding Claim 17, Nadimpalli-Singaraju as described in Claim 16, Nadimpalli further discloses wherein presenting a plurality of nodes in the page used to create the workflow, wherein the plurality of nodes further comprise a data acquisition node that includes i) a model node used to invoke a machine learning model or ii) a plug-in node used to invoke a plug-in function ([0030] Each of the client application(s) 112 may include a software application module (e.g., a plug-in, add-in, or macro) that adds a specific service or feature to a larger system. Please note that the client application 112 including a software application module such as a plug-in that adds a feature or service to a larger system corresponds to Applicant’s presenting a plurality of nodes in the page used to create the workflow, wherein the plurality of nodes further comprise a data acquisition node that includes ii) a plug-in node used to invoke a plug-in function. As Applicant states “a data acquisition node that includes i) […] or ii)”, this is interpreted by the Examiner as fulfilling the requirements of the Claim. ),
and wherein the workflow includes a data acquisition node instance corresponding to the data acquisition node ([0030] Each of the client application(s) 112 may include a software application module (e.g., a plug-in, add-in, or macro) that adds a specific service or feature to a larger system. Please note that the client application 112 including a software application module such as a plug-in that adds a feature or service to a larger system corresponds to Applicant’s workflow including a data acquisition node instance corresponding to the data acquisition node, as each client application has an instance of the software application module to add a specific feature, i.e., the plug-in node.).
Regarding Claim 18, Nadimpalli-Singaraju as described in Claim 17, Nadimpalli further discloses wherein for the data acquisition node instance and the message node instance in the workflow, in response to receiving a connection request for coupling the output end of the data acquisition node instance and the input end of the message node instance, establishing a connection relationship between the output end of the data acquisition node instance and the input end of the message node instance ([0045] the user-flow mind maps are stored in a map or other tree-like data structure in which an input (e.g., a question asked by a user) is mapped to a particular flow through various nodes of the organization, the nodes representing people, roles, and/or tasks, as well as commands issued via the nodes through connections to one or more back-end systems and responses returned to the user (e.g., aggregated and formatted. responses provided as an answer to a question or command submitted by a user at a front-end system).; [0068] a web request service that connects one or more applications executing on the front-end systems (e.g., chatbots or digital assistants) to the functionality provided by one or more back-end systems via the usability applications 120. As depicted, a user first asks or submits a question via one of the front-end systems. The web request service determines one or more of the context, intent, or classification corresponding to the request and identifies a node of a workflow (e.g., a Skype dialog flow) corresponding to the request. Please note that the web request service connecting the front-end applications to the functionality provided by the back-end systems via the usability applications 120 that identifies a node of a workflow corresponding to the request based on the input request corresponds to Applicant’s establishing a connection relationship between the output end of the data acquisition node instance and the input end of the message node instance in response to receiving a connection request for coupling the output end of the data acquisition node instance and the input end of the message node instance. This is because the output end of the data acquisition node instance, from the front-end system that implements the plug-in as previously mentioned, receives a connection request, and establishing a connection relationship between the front-end system and the back end, i.e., the input end of the message node instance, for processing what has been requested by the user. ).
Regarding Claim 19, Nadimpalli-Singaraju as described in Claim 16, Nadimpalli further discloses wherein the predetermined format is configured to specify at least one of the following of the message: font, font size, color, separator, presentation region, or output mode, wherein the output mode includes a text stream mode and text block mode ([0036] format the responses according to one or more machine-learned presentation rules. Please note that the responses being formatted according to machine-learned presentation rules corresponds to Applicant’s predetermined format being configured to specify the presentation region. As Applicant states “specify at least one of the following,” this is interpreted by the Examiner as fulfilling the requirements of the Claim. ).
Regarding Claim 20, Nadimpalli discloses A non-transitory computer-readable storage medium having a computer program stored thereon, the computer program, when executed by a processor, causes the processor to perform operations ([0154] The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present embodiments; [0155] Furthermore, the tangible machine-readable medium is non-transitory. Please note that the machine-readable medium that is non-transitory and stores instructions for execution by the machine corresponds to Applicant’s non-transitory computer-readable storage medium having a computer program stored thereon, with the computer program, when executed by a processor, causes the processor to perform operations. ) comprising:
wherein the message node instance includes an input end and an output end ([0026] one or more automation modules are disclosed that are configured connect one or more front-end systems, such as one or more digital assistants, to one or more back-end systems. Please note that the automation modules connecting front-end systems to back-end systems corresponds to Applicant’s message node instance including input and output ends.),
and wherein the input end is used to receive the message to be output ([0026] the one or more automation modules include a listening module that is configured to infer at least one of an intent, context, or classification from an utterance received at the one or more front-end systems. Please note that the automation module including a listening module that is configured to infer at least one of an intent, context, or classification from an utterance received at the one or more front-end systems corresponds to Applicant’s input end being used to receive the message to be output. ),
and the output end is used to specify that the message is presented in a predetermined format by the workflow ([0029] a learning module that is configured to generate one or more requests (e.g., distribute one or more commands to the one or more back-end systems), receive one or more responses to the one or more requests, format the responses according to one or more machine-learned presentation rules, and generate insights for use in future command processing (e.g., across multiple instances of the one or more automation modules deployed across multiple organizations). Please note that the learning module that is used to receive responses to the generated requests and format the responses according to presentation rules corresponds to Applicant’s output end being used to specify that the message is presented in a predetermined format by the workflow. ).
Nadimpalli does not explicitly disclose adding a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow, wherein the message node specifies one or more messages output by the workflow; and presenting the message node instance in the page.
However, Singaraju discloses adding a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow ( [0081] Connector 215 may act as an interface between the bot system 205 and one or more end users through one or more channels, such as channels 286 and 287. Each channel may be a messaging application; [0088] For example, conversation events may be generated by dialog engine 226. A conversation event may include a message received by a bot system from an end user device (referred to as msg_received). Msg_received may include one or more of the following parameters or variables: the content of the message. Please note that conversation events being generated by the dialog engine including a message received by a bot system from an end user device corresponds to Applicant’s adding a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow. This is because when the end user uses a channel comprising a messaging application to interface with the bot system, corresponding to the system receiving a selection request for the message node in a page used to create the workflow, a conversation event is generated by the dialog engine including a message received, corresponding to adding a message node instance corresponding to a message node to the workflow.),
wherein the message node specifies one or more messages output by the workflow ([0089] [0089] A conversation event may also include a message sent by a bot system 205 to an end user device (referred to as msg_sent). Msg_sent may include one or more of the following: the content of the message (e.g., text or HTML of the message). Please note that the conversation event also including a message sent by a bot system to an end user device corresponds to Applicant’s message node specifying messages output by the workflow.);
and presenting the message node instance in the page ([0047] the conversation can include a combination of text or audio inputs provided by the user and responses provided by the skill bots. These responses may be in the form of text or audio messages to the user and/or using simple user interface elements (e.g., select lists) that are presented to the user for the user to make selections. Please note the responses being in the form of text or audio messages to the user and using UI elements that are presented to the user for them to make selections corresponds to Applicant’s presenting the message node instance in the page.),
Nadimpalli and Singaraju are both considered to be analogous to the claimed invention because they are in the same field of digital assistant workflow management. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Nadimpalli to incorporate the teachings of Singaraju to modify the system for managing data output of a workflow wherein the message node instance includes an input end and an output end to add a message node instance corresponding to a message node to the workflow in response to receiving a selection request for the message node in a page used to create the workflow, with the message node specifying messages output by the workflow, and presenting the message node instance in the page, allowing for improved usage of the digital assistant by the user for tasks, as described in Singaraju.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Zheng et al. (US20220415320) discloses an assistant system allowing for user interaction via user inputs, communicating the request and generating a response, and presenting the response (see [0006, 0066]).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to FARAZ T AKBARI whose telephone number is (571)272-4166. The examiner can normally be reached Monday-Thursday 9:30am-7:30pm ET.
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, April Blair can be reached at (571)270-1014. 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.
/FARAZ T AKBARI/ Examiner, Art Unit 2196
/APRIL Y BLAIR/ Supervisory Patent Examiner, Art Unit 2196