Prosecution Insights
Last updated: July 17, 2026
Application No. 18/829,915

SESSION MANAGEMENT FOR VARIABLE-LENGTH MESSAGE STREAMS

Final Rejection §103
Filed
Sep 10, 2024
Priority
Sep 15, 2023 — provisional 63/583,230
Examiner
NAJI, YOUNES
Art Unit
2445
Tech Center
2400 — Computer Networks
Assignee
ORACLE INTERNATIONAL Corporation
OA Round
2 (Final)
75%
Grant Probability
Favorable
3-4
OA Rounds
1y 0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 75% — above average
75%
Career Allowance Rate
332 granted / 443 resolved
+16.9% vs TC avg
Strong +73% interview lift
Without
With
+73.1%
Interview Lift
resolved cases with interview
Typical timeline
2y 11m
Avg Prosecution
31 currently pending
Career history
494
Total Applications
across all art units

Statute-Specific Performance

§101
0.9%
-39.1% vs TC avg
§103
94.3%
+54.3% vs TC avg
§102
2.4%
-37.6% vs TC avg
§112
2.1%
-37.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 443 resolved cases

Office Action

§103
CTFR 18/829,915 CTFR 88783 4DETAILED ACTION Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia 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 Applicant’s communication filed on 03/24/2026. Claims 1-7,9-21 have been examined. Claim 8 is cancelled. Claim 21 is new. Response to Arguments 07-38-02 Applicant’s arguments, see Remarks -Pages 10-12, filed on 03/24/2026, with respect to the rejections of claims 1,16,19 under 102 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new grounds of rejection is made in view of Wilcock. With regards to claim objection (Claim 20). Applicant amendment overcomes the objection. Therefore, the objection is withdrawn. Claim Rejections - 35 USC § 103 07-20-aia AIA 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. 07-21-aia AIA Claim s 1 ,6,9,10,11,16,19,21 are rejected under 35 U.S.C. 103 as being unpatentable over Gandhi et al. Publication No. US 2022/0116485 A1 (Gandhi hereinafter) in view of Wilcock et al. Publication No. US 2002/0073150 A1 ( Wilcock hereinafter) Regarding claim 1, Gandhi teaches a computer-implemented method, comprising: establishing a first session, the first session having one or more member computer systems, wherein establishing the first session (¶0081 - The communication gateway (CG) 311 also helps establish a session with the Orchestrator 312 and relay's messages back and forth between customer and bot or agent – ¶ 0058 - the orchestration manager 312 creates a unique session identifier and maintains (in memory of processor 321, in system database 323, e.g.) the state or status of important activities during the conversation. For example, the orchestration manager 312 maintains or tracks or stores the status ( e.g., a conversation datum) and/or the context (e.g., the conversation topic) of each individual NL bot 331 throughout conversation) comprises receiving, from a first computer system, registration information, the registration information including a first session identifier for the first session and a specification of a channel (¶ 0066 – the orchestration manager 312, by way of the CCL 315, may receive a first channel data stream of a first channel protocol and create a standardized protocol first channel data stream – ¶ 0089 - The session table of the system database captures each individual session created on the Orchestrator. Every conversation has a unique session identifier where one may keep track of length of conversation, status of the session, how conversation arrived, or how the conversation resolved -See Also ¶ 0041; ¶0058); determining a first stream orchestration instance for the first session ( ¶ 0049 - The orchestration manager 212, among other things, provides a unified interface between the orchestration system engine 210 and one or more cognitive service . More specifically, the orchestration manager 212 enables a seamless interaction or communication between one or more channels 21-26 of the channel set 20 and one or more cognitive services. The orchestration manager 212 receives the channel set standardized data 311B, as created or generated or output from the conversation engine 214, and inputs or transfers that standardized channel set data 311B to one or more cognitive services 30- so as to provide an interaction, e.g., between a particular channel 21-26 provided by a user 11 and a particular cognitive service 30 – ¶ 0074 – orchestration manager maintains unique session and knows when to bring a particular NL bot 331 – ¶ 0060 - The orchestration manager 312 maintains and/or stores these data, e.g., the orchestration manager 312 identifies, maintains, and/or stores the data and data streams of each of the NL bots 331 of the set of NL bots 331, to include, e.g., the first NL bot conversation data stream and the second NL bot conversation data stream); joining the first computer system to the first session based on the first session identifier ( ¶ 0062 - The orchestration manager 312 may record or publish, using processor 321 and/or system database 323, any or all of the data associated with user 11 interactions with the one or more NL bots 331; The orchestration manager 312 may create separate conversation sessions associated with the conversation parities or character of the conversation. For example, the orchestration manager 312 may create and/or record a first conversation session between a user 11 and a first NL bot and create and/or record a second conversation session upon the addition of a second NL bot to the first conversation session); receiving, from a second computer system, a message, the message including context information, the context information including the first session identifier (¶ 0058 – ¶ 0059 -the orchestration manager 312 creates a unique session identifier and maintains the state or status of important activities during the conversation. The orchestration manager maintains or tracks or stores the status ( e.g., a conversation datum) and/or the context (e.g., the conversation topic) of each individual NL bot 331 throughout conversation - ¶ 0081 - The communication gateway (CG) 311 also helps establish a session with the Orchestrator 312 and relay's messages back and forth between customer and bot or agent. CG 311 may take a user's 11 input and raw message from a particular channel 20 and transform it such that it may be sent to the orchestrator manager 312. In response, from the orchestrator manager 312, one may receive a CCL 315 message which the CG 311 interprets according to the channel and how the channel supports the message types – See Also – ¶ 0076, ¶ 0090 – each session identifier has many entries to capture the conversation events – ¶ 0084 - The resulting real-time transcription text is then delivered to the orchestration manager 312 where the orchestration manager 312 is able to associate caller's session via CTI service to piece together call events along with utterances ); identifying the first session based on the first session identifier ( ¶ 0060 - The orchestration manager 312 maintains and/or stores these data, e.g., the orchestration manager 312 identifies, maintains, and/or stores the data and data streams of each of the NL bots 331 of the set of NL bots 331, to include, e.g., the first NL bot conversation data stream and the second NL bot conversation data stream – ¶ 0074 – CTI events help orchestration manager to maintain unique session and to know when to bring in a particular NL bot - ¶ 0089 - The session table of the system database captures each individual session created on the Orchestrator. Every conversation has a unique session identifier where one may keep track of length of conversation, status of the session, how conversation arrived, or how the conversation resolved) and outputting the message to at least one of the one or more member computer systems of the first session ( ¶ 0049 - The orchestration manager 212 receives the channel set standardized data 311B, as created or generated or output from the conversation engine 214, and inputs or transfers that standardized channel set data 311B to one or more cognitive services 30 so as to provide an interaction, e.g., between a particular channel 21-26 provided by a user 11 and a particular cognitive service 30 – ¶ 0076 - the orchestration manager 312 engages a particular NL bot 33 land is able to offer various cards/ recommendations to the agent. The real-time CTI events and recommendations derived from transcribed utterances are then published by the orchestration manager 312 through message queue and downstream to a particular application – See Also - ¶ 0081-¶0082). However, Gandhi does not explicitly teach wherein the first stream orchestration instance comprises one or more tasks allocated for the first session, the one or more tasks comprising at least one routing task and an output task for the channel, Wilcock teaches determining a first stream orchestration instance for the first session ( ¶0135 - The selected session will be either a pre-existing session or one created for the new call; in either case, there is an associated service instance 26 providing the service specific behavior associated with the selected session.- ¶0150 - The session routing function consists of intelligent services to analyze the initiation context and decide whether to select an existing session in the session pool 31, or to create a new session and associated service instance ¶0049 -Associated with each instance of a communication session is a service instance that imparts service specific behavior to the session by how it exercises the basic operations associated with the session ). wherein the first stream orchestration instance comprises one or more tasks allocated for the first session, the one or more tasks comprising at least one routing task and an output task for the channel ( ¶0150 - Once the initiation context information has been collected, the initiation instance 37 executes a session routing task 45 with the aid of the session routing functionality 46 (task 45 is effectively a client of the session routing functionality 46). The session routing function consists of intelligent services to analyze the initiation context and decide whether to select an existing session in the session pool 31, or to create a new session and associated service instance (this it does by instantiating a new service instance of the appropriate type using service-instance factory 47, the service instance then using session factory 13 to create a corresponding communication session instance 11). An identifier of the selected service instance and session --¶0151 -¶0152 - the requesting party may be able to identify specifically a session to be joined by a session identifier. In such cases, the session routing task ( and, indeed, potentially also the use of a session initiation instance) can be by-passed; however, the session routing task can usefully still be called upon in order to check that the provided session identifier relates to a current session. Upon the session and service instances being identified, the initiation instance 37 hands on subsequent processing of the service request to the service instance 25; in particular, the service instance is informed that a new participant, with associated initiation context wishes to join the related session. The service instance in accordance with its specific behavior, now causes the requesting party to be invited into the selected session ¶0154 - FIG. 6 shows the service instance as carrying out task to identify an appropriate additional participant to invite to the session, ¶0135 - The first step is to select a communication session 11 for the initiating party 16 to join on the basis of factors such as the service selected - The second step (which is not always needed) is to extend the participants in the communication session 11 by selecting one or more other parties to invite to the session. 11). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Wilcock. The motivation for doing so is to allow the system to establish communication over a data network between endpoint systems using a service system that can set up a communication session with an associated transport mechanism allowing the exchange of data across the network between endpoint systems joined to the session by the service system (Wilcock – ¶ 0008). Regarding claim 6, Gandhi further teaches wherein joining the first computer system to the first session for the stream orchestration instance based on the first session identifier comprises generating a new session for the stream orchestration instance (¶ 0050 - the orchestration manager 212 may escalate and handoff the channel conversation to a live agent if the bot is unable to assist, or if the customer requests to speak to a live agent. In event of escalation, the chat transcript and any other key-value-pair values are handed off to the escalation platform so it can be delivered to the live agent – Claim 14 - establish a first interactive communication session between the user and the first NL bot, the first interactive communication session associated with both of the standardized protocol first channel data stream and the standardized protocol second channel data stream; upon identification of a pause datum of the first interactive communication session, transfer the first channel conversation topic data to a second NL bot of a second cognitive service; establish a second interactive communication session between the user and the second NL bot). Regarding claim 9, Gandhi further teaches responsive to receiving the registration information, generating the stream orchestration instance (¶ 0066 – the orchestration manager 312, by way of the CCL 315, may receive a first channel data stream of a first channel protocol and create a standardized protocol first channel data stream –¶ 0049 - The orchestration manager 212, among other things, provides a unified interface between the orchestration system engine 210 and one or more cognitive service . More specifically, the orchestration manager 212 enables a seamless interaction or communication between one or more channels 21-26 of the channel set 20 and one or more cognitive services. The orchestration manager 212 receives the channel set standardized data 311B, as created or generated or output from the conversation engine 214, and inputs or transfers that standardized channel set data 311B to one or more cognitive services 30- so as to provide an interaction, e.g., between a particular channel 21-26 provided by a user 11 and a particular cognitive service 30 – ¶ 0074 – orchestration manager maintains unique session and knows when to bring a particular NL bot 331 – ¶ 0060 - The orchestration manager 312 maintains and/or stores these data, e.g., the orchestration manager 312 identifies, maintains, and/or stores the data and data streams of each of the NL bots 331 of the set of NL bots 331, to include, e.g., the first NL bot conversation data stream and the second NL bot conversation data stream). Regarding claim 10, Gandhi further teaches wherein the at least one of the one or more member computer systems includes the first computer system ( ¶ 0058, ¶ 0063) and further comprising: receiving, from the first computer system, a second message, the second message including second context information, the second context information including the first session identifier (¶ 0058 -For each user conversation (by way of one or more channels 20, e.g. , voice, messaging, etc.), the orchestration manager 312 creates a unique session identifier and maintains (in memory of processor 321, in system database 323, e.g.) the state or status of important activities during the conversation. For example, the orchestration manager 312 maintains or tracks or stores the status ( e.g., a conversation datum) and/or the context (e.g., the conversation topic) of each individual NL bot 331 throughout conversation – ¶ 0066 -the CCL 315 enables the orchestration manager 312 to receive disparate channel set input data 311A from the one or more channels 21-26 of the channel set 20 and create or output channel set standardized data 311B. the orchestration manager 312, by way of the CCL 315, may receive a second channel data stream of a second channel protocol and create a standardized protocol second channel data stream of a standardized protocol from the second channel data stream. The first channel protocol may be different than the second channel protocol – ¶ 0089 -.The session table of the system database captures each individual session created on the Orchestrator. Every conversation has a unique session identifier where one may keep track of length of conversation, status of the session, how conversation arrived, or how the conversation resolved). identifying the first session based on the first session identifier (¶ 0059 -the orchestration manager 312 maintains and tracks where the user is in a particular dialog with one or more NL bots 331 such that, among other things, a particular NL bot 331 is able to return, or remember, the location (datum) and context of a particular user conversation if and when the user 11 is re-engaged after a pause or other interruption in the conversation - ¶ 0089 -The session table of the system database captures each individual session created on the Orchestrator. Every conversation has a unique session identifier where one may keep track of length of conversation, status of the session, how conversation arrived, or how the conversation resolved) and outputting the message to the at least one of the one or more member computer systems of the first session including the second computer system (¶ 0061 - The orchestration manager 312 may orchestrate or share or manage interaction of the set of NL bots 331 with the user 11. For example, the orchestration manager 312 may share context between NL bots 331 so as to allow a secondary bot to take over where the first NL bot left off. Stated another way, the orchestration manager 312 may note or identify or be triggered by a first pause datum of a first NL bot conversation data stream, causing the orchestration manager 312 to engage a second NL bot to engage with the user 11 as a substitute for the first NL bot. The orchestration manager 312 shares or provides data generated from the first NL bot conversation with the user (up to the identified first NL bot datum) with the second bot (such data may include all or part of the first NL bot conversation data stream, e.g., conversation topics). Regarding claim 11, Gandhi further teaches receiving, from the first computer system, a second message, the second message including second context information, the second context information including the first session identifier (¶ 0058 -For each user conversation (by way of one or more channels 20, e.g. , voice, messaging, etc.), the orchestration manager 312 creates a unique session identifier and maintains (in memory of processor 321, in system database 323, e.g.) the state or status of important activities during the conversation. For example, the orchestration manager 312 maintains or tracks or stores the status ( e.g., a conversation datum) and/or the context (e.g., the conversation topic) of each individual NL bot 331 throughout conversation – ¶ 0066 -the CCL 315 enables the orchestration manager 312 to receive disparate channel set input data 311A from the one or more channels 21-26 of the channel set 20 and create or output channel set standardized data 311B. the orchestration manager 312, by way of the CCL 315, may receive a second channel data stream of a second channel protocol and create a standardized protocol second channel data stream of a standardized protocol from the second channel data stream. The first channel protocol may be different than the second channel protocol – ¶ 0089 -.The session table of the system database captures each individual session created on the Orchestrator. Every conversation has a unique session identifier where one may keep track of length of conversation, status of the session, how conversation arrived, or how the conversation resolved). identifying the first session based on the first session identifier; and. (¶ 0059 -the orchestration manager 312 maintains and tracks where the user is in a particular dialog with one or more NL bots 331 such that, among other things, a particular NL bot 331 is able to return, or remember, the location (datum) and context of a particular user conversation if and when the user 11 is re-engaged after a pause or other interruption in the conversation - ¶ 0089 -The session table of the system database captures each individual session created on the Orchestrator. Every conversation has a unique session identifier where one may keep track of length of conversation, status of the session, how conversation arrived, or how the conversation resolved);and outputting the message to the at least one of the one or more member computer systems of the first session not including the second computer system ¶ 0018 - establish a first interactive communication session between the user and the first NL bot, the first interactive communication session associated with both of the standardized protocol first channel data stream and the standardized protocol second channel data stream; record first channel conversation topic data associated with the first interactive communication session; upon identification of a pause datum of the first interactive communication session, transfer the first channel conversation topic data to a second NL bot of a second cognitive service; establish a second interactive communication session between the user and the second NL bot – ¶ 0122 - The master bot 502 and bot switch 594 may use an initial bot conversation with the customer to establish their initial intent. The Bot Switch 594 may then in turn use that intent to proxy the conversation to a specify functional bot where the conversation continues. In other words, the initial customer intent is used to select/route the conversation to the appropriate functional bot – ¶ 0123 - The bot switch 594 provides a call out to all bots (finance bot 506, FAQ bot 508, and transfer bot 504) in an open dialog tum. The bot switch 594 continues to keep dialogue or conversation data flowing to each of the three bots 506, 508, 504 until selection is made (via response rank 506 module) and/or control is handed off to another module of the system 502. Each of the finance bot 506, FAQ bot 508, and transfer bot 504 provide a response (based on the input received from the customer assist in 591 by way of bot switch 594) to the response rank 596 module). Regarding claim 16, Gandhi teaches a system, comprising: one or more processor and one or more computer readable media storing instructions which when executed by the one or more processors , cause the system to perform operations comprising establishing a first session, the first session having one or more member computer systems comprising (¶ 0081 - The communication gateway (CG) 311 also helps establish a session with the Orchestrator 312 and relay's messages back and forth between customer and bot or agent – ¶ 0058 - the orchestration manager 312 creates a unique session identifier and maintains (in memory of processor 321, in system database 323, e.g.) the state or status of important activities during the conversation. For example, the orchestration manager 312 maintains or tracks or stores the status ( e.g., a conversation datum) and/or the context (e.g., the conversation topic) of each individual NL bot 331 throughout conversation) comprises receiving, from a first computer system, registration information, the registration information including a first session identifier and a specification of a channel (¶ 0066 – the orchestration manager 312, by way of the CCL 315, may receive a first channel data stream of a first channel protocol and create a standardized protocol first channel data stream – ¶ 0089 - The session table of the system database captures each individual session created on the Orchestrator. Every conversation has a unique session identifier where one may keep track of length of conversation, status of the session, how conversation arrived, or how the conversation resolved - See Also ¶ 0041; ¶0058); determining first stream orchestration instance for the first session ( ¶ 0049 - The orchestration manager 212, among other things, provides a unified interface between the orchestration system engine 210 and one or more cognitive service . More specifically, the orchestration manager 212 enables a seamless interaction or communication between one or more channels 21-26 of the channel set 20 and one or more cognitive services. The orchestration manager 212 receives the channel set standardized data 311B, as created or generated or output from the conversation engine 214, and inputs or transfers that standardized channel set data 311B to one or more cognitive services 30- so as to provide an interaction, e.g., between a particular channel 21-26 provided by a user 11 and a particular cognitive service 30 – ¶ 0074 – orchestration manager maintains unique session and knows when to bring a particular NL bot 331 – ¶ 0060 - The orchestration manager 312 maintains and/or stores these data, e.g., the orchestration manager 312 identifies, maintains, and/or stores the data and data streams of each of the NL bots 331 of the set of NL bots 331, to include, e.g., the first NL bot conversation data stream and the second NL bot conversation data stream); joining the first computer system to the first session based on the first session identifier ( ¶ 0062 - The orchestration manager 312 may record or publish, using processor 321 and/or system database 323, any or all of the data associated with user 11 interactions with the one or more NL bots 331; The orchestration manager 312 may create separate conversation sessions associated with the conversation parities or character of the conversation. For example, the orchestration manager 312 may create and/or record a first conversation session between a user 11 and a first NL bot and create and/or record a second conversation session upon the addition of a second NL bot to the first conversation session); receiving, from a second computer system, a message, the message including context information, the context information including the first session identifier (¶ 0058 - the orchestration manager 312 creates a unique session identifier and maintains the state or status of important activities during the conversation. The orchestration manager maintains or tracks or stores the status ( e.g., a conversation datum) and/or the context (e.g., the conversation topic) of each individual NL bot 331 throughout conversation - ¶ 0081 - The communication gateway (CG) 311 also helps establish a session with the Orchestrator 312 and relay's messages back and forth between customer and bot or agent. CG 311 may take a user's 11 input and raw message from a particular channel 20 and transform it such that it may be sent to the orchestrator manager 312. In response, from the orchestrator manager 312, one may receive a CCL 315 message which the CG 311 interprets according to the channel and how the channel supports the message types – See Also – ¶ 0076, ¶ 0090 – each session identifier has many entries to capture the conversation events – ¶ 0084 - The resulting real-time transcription text is then delivered to the orchestration manager 312 where the orchestration manager 312 is able to associate caller's session via CTI service to piece together call events along with utterances ); identifying the first session based on the first session identifier ( ¶ 0060 - The orchestration manager 312 maintains and/or stores these data, e.g., the orchestration manager 312 identifies, maintains, and/or stores the data and data streams of each of the NL bots 331 of the set of NL bots 331, to include, e.g., the first NL bot conversation data stream and the second NL bot conversation data stream – ¶ 0074 – CTI events help orchestration manager to maintain unique session and to know when to bring in a particular NL bot - ¶ 0089 - The session table of the system database captures each individual session created on the Orchestrator. Every conversation has a unique session identifier where one may keep track of length of conversation, status of the session, how conversation arrived, or how the conversation resolved) and outputting the message to at least one of the one or more member computer systems of the first session ( ¶ 0049 - The orchestration manager 212 receives the channel set standardized data 311B, as created or generated or output from the conversation engine 214, and inputs or transfers that standardized channel set data 311B to one or more cognitive services 30 so as to provide an interaction, e.g., between a particular channel 21-26 provided by a user 11 and a particular cognitive service 30 – ¶ 0076 - the orchestration manager 312 engages a particular NL bot 33 land is able to offer various cards/ recommendations to the agent. The real-time CTI events and recommendations derived from transcribed utterances are then published by the orchestration manager 312 through message queue and downstream to a particular application – See Also - ¶ 0081-0082). However, Gandhi does not explicitly teach wherein the first stream orchestration instance comprises one or more tasks allocated for the first session, the one or more tasks comprising at least one routing task and an output task for the channel, Wilcock teaches determining a first stream orchestration instance for the first session ( ¶0135 - The selected session will be either a pre-existing session or one created for the new call; in either case, there is an associated service instance 26 providing the service specific behavior associated with the selected session.- ¶0150 - The session routing function consists of intelligent services to analyze the initiation context and decide whether to select an existing session in the session pool 31, or to create a new session and associated service instance ¶0049 -Associated with each instance of a communication session is a service instance that imparts service specific behavior to the session by how it exercises the basic operations associated with the session ). wherein the first stream orchestration instance comprises one or more tasks allocated for the first session, the one or more tasks comprising at least one routing task and an output task for the channel ( ¶0150 - Once the initiation context information has been collected, the initiation instance 37 executes a session routing task 45 with the aid of the session routing functionality 46 (task 45 is effectively a client of the session routing functionality 46). The session routing function consists of intelligent services to analyze the initiation context and decide whether to select an existing session in the session pool 31, or to create a new session and associated service instance (this it does by instantiating a new service instance of the appropriate type using service-instance factory 47, the service instance then using session factory 13 to create a corresponding communication session instance 11). An identifier of the selected service instance and session --¶0151 -¶0152 - the requesting party may be able to identify specifically a session to be joined by a session identifier. In such cases, the session routing task ( and, indeed, potentially also the use of a session initiation instance) can be by-passed; however, the session routing task can usefully still be called upon in order to check that the provided session identifier relates to a current session. Upon the session and service instances being identified, the initiation instance 37 hands on subsequent processing of the service request to the service instance 25; in particular, the service instance is informed that a new participant, with associated initiation context wishes to join the related session. The service instance in accordance with its specific behavior, now causes the requesting party to be invited into the selected session ¶0154 - FIG. 6 shows the service instance as carrying out task to identify an appropriate additional participant to invite to the session, ¶0135 - The first step is to select a communication session 11 for the initiating party 16 to join on the basis of factors such as the service selected - The second step (which is not always needed) is to extend the participants in the communication session 11 by selecting one or more other parties to invite to the session. 11). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Wilcock. The motivation for doing so is to allow the system to establish communication over a data network between endpoint systems using a service system that can set up a communication session with an associated transport mechanism allowing the exchange of data across the network between endpoint systems joined to the session by the service system (Wilcock – ¶ 0008). Regarding claim 19, Gandhi teaches one or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause a system to perform operations comprising: establishing a first session, the first session having one or more member computer (¶ 0081 - The communication gateway (CG) 311 also helps establish a session with the Orchestrator 312 and relay's messages back and forth between customer and bot or agent – ¶ 0058 - the orchestration manager 312 creates a unique session identifier and maintains (in memory of processor 321, in system database 323, e.g.) the state or status of important activities during the conversation. For example, the orchestration manager 312 maintains or tracks or stores the status ( e.g., a conversation datum) and/or the context (e.g., the conversation topic) of each individual NL bot 331 throughout conversation) comprises receiving, from a first computer system, registration information, the registration information including a first session identifier and a specification of a channel (¶ 0066 – the orchestration manager 312, by way of the CCL 315, may receive a first channel data stream of a first channel protocol and create a standardized protocol first channel data stream – ¶ 0089 - The session table of the system database captures each individual session created on the Orchestrator. Every conversation has a unique session identifier where one may keep track of length of conversation, status of the session, how conversation arrived, or how the conversation resolved - See Also ¶ 0041; ¶0058); determining a first stream orchestration instance for the first session ( ¶ 0049 - The orchestration manager 212, among other things, provides a unified interface between the orchestration system engine 210 and one or more cognitive service . More specifically, the orchestration manager 212 enables a seamless interaction or communication between one or more channels 21-26 of the channel set 20 and one or more cognitive services. The orchestration manager 212 receives the channel set standardized data 311B, as created or generated or output from the conversation engine 214, and inputs or transfers that standardized channel set data 311B to one or more cognitive services 30- so as to provide an interaction, e.g., between a particular channel 21-26 provided by a user 11 and a particular cognitive service 30 – ¶ 0074 – orchestration manager maintains unique session and knows when to bring a particular NL bot 331 – ¶ 0060 - The orchestration manager 312 maintains and/or stores these data, e.g., the orchestration manager 312 identifies, maintains, and/or stores the data and data streams of each of the NL bots 331 of the set of NL bots 331, to include, e.g., the first NL bot conversation data stream and the second NL bot conversation data stream); joining the first computer system to the first session based on the first session identifier ( ¶ 0062 - The orchestration manager 312 may record or publish, using processor 321 and/or system database 323, any or all of the data associated with user 11 interactions with the one or more NL bots 331; The orchestration manager 312 may create separate conversation sessions associated with the conversation parities or character of the conversation. For example, the orchestration manager 312 may create and/or record a first conversation session between a user 11 and a first NL bot and create and/or record a second conversation session upon the addition of a second NL bot to the first conversation session); receiving, from a second computer system, a message, the message including context information, the context information including the first session identifier (¶ 0058 - the orchestration manager 312 creates a unique session identifier and maintains the state or status of important activities during the conversation. The orchestration manager maintains or tracks or stores the status ( e.g., a conversation datum) and/or the context (e.g., the conversation topic) of each individual NL bot 331 throughout conversation - ¶ 0081 - The communication gateway (CG) 311 also helps establish a session with the Orchestrator 312 and relay's messages back and forth between customer and bot or agent. CG 311 may take a user's 11 input and raw message from a particular channel 20 and transform it such that it may be sent to the orchestrator manager 312. In response, from the orchestrator manager 312, one may receive a CCL 315 message which the CG 311 interprets according to the channel and how the channel supports the message types – See Also – ¶ 0076, ¶ 0090 – each session identifier has many entries to capture the conversation events – ¶ 0084 - The resulting real-time transcription text is then delivered to the orchestration manager 312 where the orchestration manager 312 is able to associate caller's session via CTI service to piece together call events along with utterances ); identifying the first session based on the first session identifier ( ¶ 0060 - The orchestration manager 312 maintains and/or stores these data, e.g., the orchestration manager 312 identifies, maintains, and/or stores the data and data streams of each of the NL bots 331 of the set of NL bots 331, to include, e.g., the first NL bot conversation data stream and the second NL bot conversation data stream – ¶ 0074 – CTI events help orchestration manager to maintain unique session and to know when to bring in a particular NL bot - ¶ 0089 - The session table of the system database captures each individual session created on the Orchestrator. Every conversation has a unique session identifier where one may keep track of length of conversation, status of the session, how conversation arrived, or how the conversation resolved) and outputting the message to at least one of the one or more member computer systems of the first session ( ¶ 0049 - The orchestration manager 212 receives the channel set standardized data 311B, as created or generated or output from the conversation engine 214, and inputs or transfers that standardized channel set data 311B to one or more cognitive services 30 so as to provide an interaction, e.g., between a particular channel 21-26 provided by a user 11 and a particular cognitive service 30 – ¶ 0076 - the orchestration manager 312 engages a particular NL bot 33 land is able to offer various cards/ recommendations to the agent. The real-time CTI events and recommendations derived from transcribed utterances are then published by the orchestration manager 312 through message queue and downstream to a particular application – See Also - ¶ 0081-¶0082). However, Gandhi does not explicitly teach wherein the first stream orchestration instance comprises one or more tasks allocated for the first session, the one or more tasks comprising at least one routing task and an output task for the channel, Wilcock teaches determining a first stream orchestration instance for the first session ( ¶0135 - The selected session will be either a pre-existing session or one created for the new call; in either case, there is an associated service instance 26 providing the service specific behavior associated with the selected session.- ¶0150 - The session routing function consists of intelligent services to analyze the initiation context and decide whether to select an existing session in the session pool 31, or to create a new session and associated service instance ¶0049 -Associated with each instance of a communication session is a service instance that imparts service specific behavior to the session by how it exercises the basic operations associated with the session ). wherein the first stream orchestration instance comprises one or more tasks allocated for the first session, the one or more tasks comprising at least one routing task and an output task for the channel ( ¶0150 - Once the initiation context information has been collected, the initiation instance 37 executes a session routing task 45 with the aid of the session routing functionality 46 (task 45 is effectively a client of the session routing functionality 46). The session routing function consists of intelligent services to analyze the initiation context and decide whether to select an existing session in the session pool 31, or to create a new session and associated service instance (this it does by instantiating a new service instance of the appropriate type using service-instance factory 47, the service instance then using session factory 13 to create a corresponding communication session instance 11). An identifier of the selected service instance and session --¶0151 -¶0152 - the requesting party may be able to identify specifically a session to be joined by a session identifier. In such cases, the session routing task ( and, indeed, potentially also the use of a session initiation instance) can be by-passed; however, the session routing task can usefully still be called upon in order to check that the provided session identifier relates to a current session. Upon the session and service instances being identified, the initiation instance 37 hands on subsequent processing of the service request to the service instance 25; in particular, the service instance is informed that a new participant, with associated initiation context wishes to join the related session. The service instance in accordance with its specific behavior, now causes the requesting party to be invited into the selected session ¶0154 - FIG. 6 shows the service instance as carrying out task to identify an appropriate additional participant to invite to the session, ¶0135 - The first step is to select a communication session 11 for the initiating party 16 to join on the basis of factors such as the service selected - The second step (which is not always needed) is to extend the participants in the communication session 11 by selecting one or more other parties to invite to the session. 11). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Wilcock. The motivation for doing so is to allow the system to establish communication over a data network between endpoint systems using a service system that can set up a communication session with an associated transport mechanism allowing the exchange of data across the network between endpoint systems joined to the session by the service system; (Wilcock – ¶ 0008). Regarding claim 21, Gandhi does not explicitly teach wherein the first stream orchestration instance is one stream orchestration instance among a plurality of stream orchestration instances, wherein each stream orchestration instance corresponds to a session of a plurality of sessions including the first session . However, Wilcock teaches wherein the first stream orchestration instance is one stream orchestration instance among a plurality of stream orchestration instances, wherein each stream orchestration instance corresponds to a session of a plurality of sessions including the first session (¶ 0150 - The session routing function consists of intelligent services to analyze the initiation context and decide whether to select an existing session in the session pool 31, or to create a new session and associated service instance (this it does by instantiating a new service instance of the appropriate type using service-instance factory 47, the service instance then using session factory 13 to create a corresponding communication session instance 11). An identifier of the selected service instance and session is returned to the task 45 by functionality 46 - ¶ 0135 - The selected session will be either a pre-existing session or one created for the new call; in either case, there is an associated service instance 26 providing the service specific behavior associated with the selected session. Claim 1 - identifying, from a pool of current communication sessions, an appropriate session for the communication requested, and where no appropriate session currently exists, creating a new session – Claim 17 - session-routing means for identifying, from a pool of current communication sessions, an appropriate session for the communication requested – Para 0049 - Associated with each instance of a communication session is a service instance that imparts service specific behavior to the session by how it exercises the basic operations associated with the session ( these operations are outlined below). It is the service instance that initiates creation of a corresponding communication session instance by making a request to a communication-session factory functionally embodied in the communication session manager -The combination of the communication session instance ( and its associated leg controllers described below) and the corresponding service instance, form a service-session functional entity that manages group communication for a particular instance of a particular service- See ¶ 0052, ¶ 0129). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Wilcock. The motivation for doing so is to allow the system to establish communication over a data network between endpoint systems using a service system that can set up a communication session with an associated transport mechanism allowing the exchange of data across the network between endpoint systems joined to the session by the service system; (Wilcock – ¶ 0008) . 07-21-aia AIA Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over Gandhi in view of Wilcock further in view of Zombek et al. WO2001056251 A2 ( Zombek hereinafter) Regarding claim 2, Gandhi does not explicitly teach wherein: the message is a variable-length message further including a payload; the message is encoded in a binary format; and the context information comprises a context length and one or more key-value pairs, the context length defining a demarcation between the context information and the payload, the context information and the payload both characterized by a variable-length. However, Zombek teaches a message is a variable-length message further including a payload; the message is encoded in a binary format ( Page 32 - The AIMSvrPacket is the standard unit of communication between all Servers. The sequence of fields that comprise the AIMSvrPacket is as follows:5 AIMSyrPacket Layout Version (4 bits) - The version number of the AIMSvrPacket. Header Length (4 bits) - The length of the AIMSvrPacket header in bytes. The 10 AIMSvr Packet header consists of the first 5 fields of the AIMSvr Packet: version, header length, flags, total packet length and source server ID. This length is used by the TCP connection classes to read enough of the packet in order to determine the total size of the remainder of the packet.15 Flags (BYTE) - contains protocol information It consists of eight flag bits, valid values are: Bit 1 - acknowledgment indicator (1 - ACK required, 0 - ACK not required)Bit 2 - message type indicator (1 - server connect message) 20 Bits 3-8 - reserved for future use. Total Packet Length (unsigned long) - Contains the total number of bytes in the AIMSvrPacket (including the packet header).25 Source Server Database ID (unsigned long) - Contains Database ID (a unique value assigned to an Server when the Server registers itself in the intelligent messaging network MR database 128 of the originator of the packet LinkStationID (variable length)); and the context information comprises a context length and one or more key-value pairs, the context length defining a demarcation between the context information and the payload, the context information and the payload both characterized by a variable-length ( Page 32 - The AIMSvrPacket is the standard unit of communication between all Servers. The sequence of fields that comprise the AIMSvrPacket is as follows:5 AIMSyrPacket Layout Version (4 bits) - The version number of the AIMSvrPacket. Header Length (4 bits) - The length of the AIMSvrPacket header in bytes. This length is used by the TCP connection classes to read enough of the packet in order to determine the total size of the remainder of the packet (payload). This length is acting a demarcation between the header and payload – The link Station ID within the header is a variable length - Page 15 - an illustrative example, suppose client device 112 sends a message containing a message key {server ID = 0; service type = 7; and message type = 5} to a BES 122. In the exemplary illustration, PG 116 would forward the message to the least recently used MR 124. MR 124 could look at the message key {0, 7, 5} to determine how to route the message. Based on the example registrations described above for BES 122a (0, 7, 5}; BES 122b {0, 7,10 *}; and BES 122c {1, 7, *}, MR 124 could route the message to BES 122a since the BES 122a most specifically corresponded to the message key by having the exact service type and message type as the message key. Claim 10, Page 31 – shows the application message ( payload) is a characterized a s variable length since the segment message exceed a maximum size) . It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Zombek. The motivation for doing so is to allow the system to utilize variable length messages to save storage space and network bandwidth and facilitating data compression . 07-21-aia AIA Claim s 3,4 are rejected under 35 U.S.C. 103 as being unpatentable over Gandhi in view of Wilcock further in view of Claes et al. Publication No. US 2017/0222811 A1 ( Claes hereinafter) . Regarding claim 3, Gandhi in view of Wilcock further teaches determining, from the context information, routing information including a specification of the at least one of the one or more member computer systems, ( Gandhi - ¶ 0050 - the orchestration manager 212 may escalate and handoff the channel conversation to a live agent if the bot is unable to assist, or if the customer requests to speak to a live agent. In event of escalation, the chat transcript and any other key-value-pair values are handed off to the escalation platform so it can be delivered to the live agent – ¶ 0051 - The live associate broker interface 216 receives one or more of the standardized channel set data 311B and the escalation standardized data to provide or enable an interface to one or more escalation parties, such as a customer care agent or a supervisor -See Also Wilcock – ¶0150-¶0154); However, Gandhi in view of Wilcock does not explicitly teach the routing information based on a set of stream orchestration specifications wherein each stream orchestration specification of the set of stream orchestration defines a route, the route comprising specification of the one or more tasks for each stream orchestration instance and the output task including the specification of the at least one of the one or more member computer systems Claes teaches the routing information based on a set of stream orchestration specifications wherein each stream orchestration specification of the set of stream orchestration defines a route, the route comprising specification of the one or more tasks for each stream orchestration instance and the output task including the specification of the at least one of the one or more member computer systems ( ¶0010 - provide a routing method of forwarding task instructions between secured computer systems in a computer network infrastructure, including calling up routing information stored in a key computer system, wherein the routing information defines at least a routing to one or multiple computer systems to be compulsory involved along a communication path between the key computer system, a group of one or multiple broker computer systems and a target computer system within the computer network infrastructure; generating a task file in the key computer system, wherein the task file comprises at least the routing information and a task description of at least one task for the target computer system – ¶0049 - task files may be supplemented with specific information in the key computer system or in other computer systems. This enables both event-controlling of the target computer system or a forwarding of information between the key computer system and the target computer system and flexibly adding information during the process to be controlled. task files contain one or multiple programs, scripts or the like, which can be executed on the target computer system or on further computer systems involved in the process -See ¶0119). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi in view of Gandhi to include the teachings of Claes. The motivation for doing so is to allow the system to provide a communication structure that ensures a satisfactory and more secure forwarding of data within the computer network infrastructure (Claes– ¶ 0009). Regarding claim 4, Gandhi further teaches the routing information includes one or more first tasks defining a first route; and the routing information is determined based on a specification of the first route that is included in the context information (¶ 0056 - The orchestrator provides a canvas of nodes that can be combined to build a unique bot experience for each customer. In these flows one can combine one or more NLU bots of choice into the conversation (e.g., Dialog Flow, Watson Assistant, Rulai, NLU/Sentiment.), or other nodes that support knowledge or actions - ¶ 0061 - The orchestration manager 312 may orchestrate or share or manage interaction of the set of NL bots 331 with the user 11. For example, the orchestration manager 312 may share context between NL bots 331 so as to allow a secondary bot to take over where the first NL bot left off. Stated another way, the orchestration manager 312 may note or identify or be triggered by a first pause datum of a first NL bot conversation data stream, causing the orchestration manager 312 to engage a second NL bot to engage with the user 11 as a substitute for the first NL bot – See Also Claim 1 – the system records the conversation topic data ( context) , and upon identifying a pause datum , the system uses this recorded information to transfer the conversation to a second NL bot) . 07-21-aia AIA Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over Gandhi in view of Wilcock further in view of Owen et al. Publication No. US 2020/0160951 A1 (Owen hereinafter) Regarding claim 5, Gandhi does not explicitly teach wherein: at least one of the one or more member computer systems is a clinical transcription service, an ambient listening service, or a clinical automation service; and outputting the message to the at least one of the one or more member computer systems causes an update to a clinical record. However, Owen teaches wherein: at least one of the one or more member computer systems is a clinical transcription service, an ambient listening service, or a clinical automation service; and outputting the message to the at least one of the one or more member computer systems causes an update to a clinical record (¶ 0072 - automated clinical documentation process 10 may be configured to automate the collection and processing of clinical encounter information to generate/store/distribute medical records – Accordingly and referring also to FIG. 4, automated clinical documentation process 10 may be configured to obtain 300 encounter information ( e.g., machine vision encounter information 102 and/or audio encounter information 106) of a patient encounter (e.g., a visit to a doctor's office). Automated clinical documentation process 10 may further be configured to process 302 the encounter information (e.g., machine vision encounter information 102 and/or audio encounter information 106) to generate an encounter transcript ( e.g., encounter transcript 234), wherein automated clinical documentation process 10 may then process 304 at least a portion of the encounter transcript ( e.g., encounter transcript 234) to populate at least a portion of a medical record ( e.g., medical record 236) associated with the patient encounter (e.g., the visit to the doctor's office) – ¶ 0073 - scribe involved with (or assigned to) the patient encounter (e.g. , a visit to a doctor's office) may review encounter transcript 234 and/or medical record to confirm that the same was accurate and/or make corrections to the same – See Also ¶ 0185). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Owen. The motivation for doing so is to allow the system to automate the collection and processing of clinical encounter information to generate/store/distribute medical records (Owen – ¶ 0072) . 07-21-aia AIA Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Gandhi in view of Wilcock further in view of Vorobyev et al. Publication No. US 2024/ 0212655 A1 (Vorobyev hereinafter) Regarding claim 7, Gandhi further teaches wherein joining the first computer system to the first session for the first stream orchestration instance based on the first session identifier ¶ 0062, ¶ 0050, Claim 14). However, Gandhi does not explicitly teach joining an existing session for the first stream orchestration instance. Vorobyev teaches joining an existing session for the first stream orchestration instance (¶ 0053 -. In an embodiment, and as illustrated in FIG. 2A, DAWs 230a-230c may be a music software application that is integrated with plugins 240a-240c to initiate or access a musical collaboration session. In another embodiment, DAWs 230a-230c may be a music software application in which plugins 240a-240n may be instantiated by a drag and-drop operation to initiate or access a musical collaboration session. The musical collaboration session may be conducted between DAWs 230a-230c by API 220 that is hosted at server 110 – ¶ 0076 - At step 330 of process 300, the server 110 receives a request to join the new collaborative session initiated by the host DAW 230a from DAW 230b-230c. Once session ID 260 is accessed, either by clicking a link of the session ID or by entering a textual data that can be entered into a suitable text entry box by guest users of guest composer devices DAWs 230b-230c, guest composer devices DAWs 230b-230c are presented with a user interface that provides options of Join an existing session" . When "Join an existing session" is selected, DAWs 230b-230c are given access to join the new collaborative session initiated by the host DAW 230a to collaborate together over a joint collaboration session). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Vorobyev. The motivation for doing so is to allow the system to join existing session to allow real time collaboration ( Vorobyev - ¶ 0076) . 07-21-aia AIA Claim s 12-15 are rejected under 35 U.S.C. 103 as being unpatentable over Gandhi in view of Wilcock further in view of Pfeifer et al. Publication No. US 2024/0036830 A1 ( Pfeifer hereinafter) . Regarding claim 12, Gandhi further teaches wherein the message is based on a format described using a specification written in a language ( ¶ 0012, ¶0044, ¶ 0067, ¶0068- ¶ 0069). However, Gandhi does not explicitly teach that the language is a capability interface definition language. Pfeifer teaches a capability interface definition language ( ¶0099- The AsyncAPI Specification is a project used to describe and document message-driven APis in machine readable format. To let ABAP-based products also build solutions based on event-based communication patterns, it may be important that AsyncAPI specifications can be understood and integrated in the ABAP platform. The AsyncAPI specification describes the structure of header and payload of event types emitted and consumed by applications. – ¶0047 - a protocol agnostic standard to facilitate the definition of interfaces for asynchronous APis, such as events specification AsyncAPI 330. At (B), the developer 310 may upload the event specification 330 into an event consumption model wizard 372 executing at ABAP development tools 370 of a CP ABAP development tenant 360 of a business technology platform 350. The developer 310 may run the wizard 372 and implement event handler customer code of an event consumption model at (C). At (D), the developer 310 may define authorization default values and use cloud communication management 374 to define a communication scenario at (E) -See Also ¶ 0100. ¶0133). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Pfeifer. The motivation for doing so is to allow the system to use Async API in order to allow the client to continue performing other tasks without waiting for a server response. Regarding claim 13, Gandhi further teaches the channel is defined using [..] language( ¶ 0012, ¶0044, ¶ 0067, ¶ 0068- ¶ 0069). However, Gandhi does not explicitly teach that the language is the capability interface definition language . Pfeifer teaches capability interface definition language ( ¶0099- The AsyncAPI Specification is a project used to describe and document message-driven APis in machine readable format. To let ABAP-based products also build solutions based on event-based communication patterns, it may be important that AsyncAPI specifications can be understood and integrated in the ABAP platform. The AsyncAPI specification describes the structure of header and payload of event types emitted and consumed by applications. – ¶0047 - a protocol agnostic standard to facilitate the definition of interfaces for asynchronous APis, such as events specification AsyncAPI 330. At (B), the developer 310 may upload the event specification 330 into an event consumption model wizard 372 executing at ABAP development tools 370 of a CP ABAP development tenant 360 of a business technology platform 350. The developer 310 may run the wizard 372 and implement event handler customer code of an event consumption model at (C). At (D), the developer 310 may define authorization default values and use cloud communication management 374 to define a communication scenario at (E) -See Also ¶ 0100. ¶0133). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Pfeifer. The motivation for doing so is to allow the system to use Async API in order to allow the client to continue performing other tasks without waiting for a server response. Regarding claim 14, Gandhi does not explicitly teach wherein: the capability interface definition language is AsyncAPI; and the message is received using a WebSocket endpoint. However, Pfeifer teaches wherein: the capability interface definition language is AsyncAPI; and the message is received using a WebSocket endpoint ( Fig.21A, 27A, ¶ 0027, ¶ 0032, ¶ 0123 - After an existing AsyncAPI specification has been parsed into ABAP structures, the relevant event types and corresponding payload for the consumer may be generated. Similar to the event production in RAP, embodiments may use abstract entities for the representation of the consumer event types. Therefore, an abstract entity generator is used in some embodiments (but note that this regeneration may instead be part of a consumer wizard in the ADT). Eventually, the abstract entities of a given consumer are read by the generic consumer descriptor to create the corresponding consumer description. ¶ 0041 - These applications may generate enterprise events 112 ( e.g., business partner created or business partner updated) and/or customer events 114. In some cases, the events may transmitted using the Advanced Message Queuing Protocol over WebSocket ("AMQP/WS") protocol. Similarly, the enterprise on-premise applications 120 may generate enterprise events 122 and/or customer events 124 and the third party cloud applications 130 may generate third-party events – See ¶ 0046, ¶ 0033, Fig.28) . It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Pfeifer. The motivation for doing so is to allow the system to use Async API in order to allow the client to continue performing other tasks without waiting for a server response. Regarding claim 15, Gandhi further teaches wherein the context information includes a plurality of sections, wherein content of each section is defined in the specification using the [..] language (¶ 0068 - ¶ 0069 -The top level "response" node in the structure is required. Below the response node may be one or more channel specific sections. These sections may include 'common' as well as other channel types such as 'mobile', ' face book', ' slack', etc. Channel sections will contain an array of response type maps. If multiple response type maps are present, they will represent an ordered sequence and each type of map will be translated and sent to the channel client in order. The following is an example response that a contains a text message as well as an inline image to be sent to the channel client- ¶ 0012 - The system also provides multi-IVA orchestration and supports session, context, and state management. Furthermore, the intelligent systems orchestration system includes a Conversation Control Language for the normalization of conversations across multiple channels and bots. ¶ 0067 - The Conversation Control Language 315 defines a set of open standard file format and data interchange formats. In one embodiment, the CCL 315 defines a set of JSON structured control responses that are returned from synchronous Bot/AI dialogue nodes invocations. (JSON means JavaScript Object Notation). Authors of AI conversations may leverage these control responses to enhance the conversation flow beyond simple text messaging between the end user and a Bot). However, Gandhi does not explicitly teach that the language is capability interface definition language Pfeifer teaches context information includes a plurality of sections, wherein content of each section is defined in the specification using the capability interface definition languag e ( ¶ 0129-¶ 0130 - The Async API property channels are filled with the relevant event types and a reference to the description of the payload within the Async API document. Each channel can also be annotated with a text description of the event type. The component property contains event type relevant information, event context attributes, and a reference to the structure of the payload of the event – ¶ 0173 – The specification 2800 defines channels, components, a payload, and message traits associated with an event. FIG. 29 show a post-conversion ABAP structure 2900 in accordance with some embodiments. – Claim 3 wherein the event specification - comprises an Async API specification – ¶ 0173 - To support and fill different sections in the Async API, additional information on a topic and the description may be provided. For example, a documentation API may let the descriptor provide this additional information while creating the topic tree in the method describe topics. The information provided for the description and the topics are then also cached via the description data). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Pfeifer. The motivation for doing so is to allow the system to use Async API in order to allow the client to continue performing other tasks without waiting for a server response . 07-21-aia AIA Claim s 17,20 are rejected under 35 U.S.C. 103 as being unpatentable over Gandhi in view of Wilcock further in view of Zombek further in view of Claes . Regarding claim 17, Gandhi in view of Wilcock further teaches determining, from the context information, routing information including a specification of the at least one of the one or more member computer systems, ( Gandhi - ¶ 0050 - the orchestration manager 212 may escalate and handoff the channel conversation to a live agent if the bot is unable to assist, or if the customer requests to speak to a live agent. In event of escalation, the chat transcript and any other key-value-pair values are handed off to the escalation platform so it can be delivered to the live agent – ¶ 0051 - The live associate broker interface 216 receives one or more of the standardized channel set data 311B and the escalation standardized data to provide or enable an interface to one or more escalation parties, such as a customer care agent or a supervisor -See Also Wilcock – ¶0150-¶0154); However, Gandhi in view of Wilcock does not explicitly teach wherein: the message is a variable-length message further including a payload; the message is encoded in a binary format; and the context information comprises a context length and one or more key-value pairs, the context length defining a demarcation between the context information and the payload, the context information and the payload both characterized by a variable-length. the routing information based on a set of stream orchestration specifications wherein each stream orchestration specification of the set of stream orchestration defines a route, the route comprising specification of the one or more tasks for each stream orchestration instance and the output task including the specification of the at least one of the one or more member computer systems Zombek teaches a message is a variable-length message further including a payload; the message is encoded in a binary format ( Page 32 - The AIMSvrPacket is the standard unit of communication between all Servers. The sequence of fields that comprise the AIMSvrPacket is as follows:5 AIMSyrPacket Layout Version (4 bits) - The version number of the AIMSvrPacket. Header Length (4 bits) - The length of the AIMSvrPacket header in bytes. The 10 AIMSvr Packet header consists of the first 5 fields of the AIMSvr Packet: version, header length, flags, total packet length and source server ID. This length is used by the TCP connection classes to read enough of the packet in order to determine the total size of the remainder of the packet.15 Flags (BYTE) - contains protocol information It consists of eight flag bits, valid values are: Bit 1 - acknowledgment indicator (1 - ACK required, 0 - ACK not required)Bit 2 - message type indicator (1 - server connect message) 20 Bits 3-8 - reserved for future use. Total Packet Length (unsigned long) - Contains the total number of bytes in the AIMSvrPacket (including the packet header).25 Source Server Database ID (unsigned long) - Contains Database ID (a unique value assigned to an Server when the Server registers itself in the intelligent messaging network MR database 128 of the originator of the packet LinkStationID (variable length)); and context information comprises a context length and one or more key-value pairs, the context length defining a demarcation between the context information and the payload, the context information and the payload both characterized by a variable-length ( Page 32 - The AIMSvrPacket is the standard unit of communication between all Servers. The sequence of fields that comprise the AIMSvrPacket is as follows:5 AIMSyrPacket Layout Version (4 bits) - The version number of the AIMSvrPacket. Header Length (4 bits) - The length of the AIMSvrPacket header in bytes. This length is used by the TCP connection classes to read enough of the packet in order to determine the total size of the remainder of the packet (payload). This length is acting a demarcation between the header and payload – The link Station ID within the header is a variable length - Page 15 - an illustrative example, suppose client device 112 sends a message containing a message key {server ID = 0; service type = 7; and message type = 5} to a BES 122. In the exemplary illustration, PG 116 would forward the message to the least recently used MR 124. MR 124 could look at the message key {0, 7, 5} to determine how to route the message. Based on the example registrations described above for BES 122a (0, 7, 5}; BES 122b {0, 7,10 *}; and BES 122c {1, 7, *}, MR 124 could route the message to BES 122a since the BES 122a most specifically corresponded to the message key by having the exact service type and message type as the message key. Claim 10, Page 31 – shows the application message ( payload) is a characterized a s variable length since the segment message exceed a maximum size) . It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Zombek. The motivation for doing so is to allow the system to utilize variable length messages to save storage space and network bandwidth and facilitating data compression. Claes teaches the routing information based on a set of stream orchestration specifications wherein each stream orchestration specification of the set of stream orchestration defines a route, the route comprising specification of the one or more tasks for each stream orchestration instance and the output task including the specification of the at least one of the one or more member computer systems ( ¶0010 - provide a routing method of forwarding task instructions between secured computer systems in a computer network infrastructure, including calling up routing information stored in a key computer system, wherein the routing information defines at least a routing to one or multiple computer systems to be compulsory involved along a communication path between the key computer system, a group of one or multiple broker computer systems and a target computer system within the computer network infrastructure; generating a task file in the key computer system, wherein the task file comprises at least the routing information and a task description of at least one task for the target computer system – ¶0049 - task files may be supplemented with specific information in the key computer system or in other computer systems. This enables both event-controlling of the target computer system or a forwarding of information between the key computer system and the target computer system and flexibly adding information during the process to be controlled. task files contain one or multiple programs, scripts or the like, which can be executed on the target computer system or on further computer systems involved in the process -See ¶0119). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi in view of Wilcock to include the teachings of Claes. The motivation for doing so is to allow the system to provide a communication structure that ensures a satisfactory and more secure forwarding of data within the computer network infrastructure (Claes– ¶ 0009). Regarding claim 20, Gandhi in view of Wilcock further teaches determining, from the context information, routing information including a specification of the at least one of the one or more member computer systems, ( Gandhi - ¶ 0050 - the orchestration manager 212 may escalate and handoff the channel conversation to a live agent if the bot is unable to assist, or if the customer requests to speak to a live agent. In event of escalation, the chat transcript and any other key-value-pair values are handed off to the escalation platform so it can be delivered to the live agent – ¶ 0051 - The live associate broker interface 216 receives one or more of the standardized channel set data 311B and the escalation standardized data to provide or enable an interface to one or more escalation parties, such as a customer care agent or a supervisor -See Also Wilcock – ¶0150-¶0154); However, Gandhi in view of Wilcock does not explicitly teach wherein: the message is a variable-length message further including a payload; the message is encoded in a binary format; and the context information comprises a context length and one or more key-value pairs, the context length defining a demarcation between the context information and the payload, the context information and the payload both characterized by a variable-length. the routing information based on a set of stream orchestration specifications wherein each stream orchestration specification of the set of stream orchestration defines a route, the route comprising specification of the one or more tasks for each stream orchestration instance and the output task including the specification of the at least one of the one or more member computer systems Zombek teaches a message is a variable-length message further including a payload; the message is encoded in a binary format ( Page 32 - The AIMSvrPacket is the standard unit of communication between all Servers. The sequence of fields that comprise the AIMSvrPacket is as follows:5 AIMSyrPacket Layout Version (4 bits) - The version number of the AIMSvrPacket. Header Length (4 bits) - The length of the AIMSvrPacket header in bytes. The 10 AIMSvr Packet header consists of the first 5 fields of the AIMSvr Packet: version, header length, flags, total packet length and source server ID. This length is used by the TCP connection classes to read enough of the packet in order to determine the total size of the remainder of the packet.15 Flags (BYTE) - contains protocol information It consists of eight flag bits, valid values are: Bit 1 - acknowledgment indicator (1 - ACK required, 0 - ACK not required)Bit 2 - message type indicator (1 - server connect message) 20 Bits 3-8 - reserved for future use. Total Packet Length (unsigned long) - Contains the total number of bytes in the AIMSvrPacket (including the packet header).25 Source Server Database ID (unsigned long) - Contains Database ID (a unique value assigned to an Server when the Server registers itself in the intelligent messaging network MR database 128 of the originator of the packet LinkStationID (variable length)); and context information comprises a context length and one or more key-value pairs, the context length defining a demarcation between the context information and the payload, the context information and the payload both characterized by a variable-length ( Page 32 - The AIMSvrPacket is the standard unit of communication between all Servers. The sequence of fields that comprise the AIMSvrPacket is as follows:5 AIMSyrPacket Layout Version (4 bits) - The version number of the AIMSvrPacket. Header Length (4 bits) - The length of the AIMSvrPacket header in bytes. This length is used by the TCP connection classes to read enough of the packet in order to determine the total size of the remainder of the packet (payload). This length is acting a demarcation between the header and payload – The link Station ID within the header is a variable length - Page 15 - an illustrative example, suppose client device 112 sends a message containing a message key {server ID = 0; service type = 7; and message type = 5} to a BES 122. In the exemplary illustration, PG 116 would forward the message to the least recently used MR 124. MR 124 could look at the message key {0, 7, 5} to determine how to route the message. Based on the example registrations described above for BES 122a (0, 7, 5}; BES 122b {0, 7,10 *}; and BES 122c {1, 7, *}, MR 124 could route the message to BES 122a since the BES 122a most specifically corresponded to the message key by having the exact service type and message type as the message key. Claim 10, Page 31 – shows the application message ( payload) is a characterized a s variable length since the segment message exceed a maximum size) . It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Zombek. The motivation for doing so is to allow the system to utilize variable length messages to save storage space and network bandwidth and facilitating data compression. Claes teaches the routing information based on a set of stream orchestration specifications wherein each stream orchestration specification of the set of stream orchestration defines a route, the route comprising specification of the one or more tasks for each stream orchestration instance and the output task including the specification of the at least one of the one or more member computer systems ( ¶0010 - provide a routing method of forwarding task instructions between secured computer systems in a computer network infrastructure, including calling up routing information stored in a key computer system, wherein the routing information defines at least a routing to one or multiple computer systems to be compulsory involved along a communication path between the key computer system, a group of one or multiple broker computer systems and a target computer system within the computer network infrastructure; generating a task file in the key computer system, wherein the task file comprises at least the routing information and a task description of at least one task for the target computer system – ¶0049 - task files may be supplemented with specific information in the key computer system or in other computer systems. This enables both event-controlling of the target computer system or a forwarding of information between the key computer system and the target computer system and flexibly adding information during the process to be controlled. task files contain one or multiple programs, scripts or the like, which can be executed on the target computer system or on further computer systems involved in the process -See ¶0119). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi in view of Zombek to include the teachings of Claes. The motivation for doing so is to allow the system to provide a communication structure that ensures a satisfactory and more secure forwarding of data within the computer network infrastructure (Claes– ¶ 0009) . 07-21-aia AIA Claim 18 is rejected under 35 U.S.C. 103 as being unpatentable over Gandhi in view of Wilcock further in view of Zombek further in view of Pfeifer Regarding claim 18, Gandhi further teaches the message is based on a format described using a specification written in a language ( ¶ 0012, ¶0044, ¶ 0067, ¶ 0068- ¶ 0069). However, Gandhi does not explicitly teach that the language is a capability interface definition language and the message is received using a WebSocket endpoint. Pfeifer teaches a capability interface definition language ( ¶0099- The AsyncAPI Specification is a project used to describe and document message-driven APis in machine readable format. To let ABAP-based products also build solutions based on event-based communication patterns, it may be important that AsyncAPI specifications can be understood and integrated in the ABAP platform. The AsyncAPI specification describes the structure of header and payload of event types emitted and consumed by applications. – ¶0047 - a protocol agnostic standard to facilitate the definition of interfaces for asynchronous APis, such as events specification AsyncAPI 330. At (B), the developer 310 may upload the event specification 330 into an event consumption model wizard 372 executing at ABAP development tools 370 of a CP ABAP development tenant 360 of a business technology platform 350. The developer 310 may run the wizard 372 and implement event handler customer code of an event consumption model at (C). At (D), the developer 310 may define authorization default values and use cloud communication management 374 to define a communication scenario at (E) -See Also ¶ 0100. ¶0133). message is received using a WebSocket endpoint (¶0041 - the events may be transmitted using the Advanced Message Queuing Protocol over WebSocket ("AMQP/WS") protocol. Similarly, the enterprise on-premise applications 120 may generate enterprise events 122 and/or customer events 124 and the third party cloud applications 130 may generate third-party events 132 – See Also ¶0049, ¶0070 ). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Gandhi to include the teachings of Pfeifer. The motivation for doing so is to allow the system to use Async API in order to allow the client to continue performing other tasks without waiting for a server response. Conclusion 07-40 AIA Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL . See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to YOUNES NAJI whose telephone number is (571)272-2659. The examiner can normally be reached Monday - Friday 8:30 AM -5:30 PM. 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, Oscar A Louie can be reached on (571) 270-1684. 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. /YOUNES NAJI/Primary Examiner, Art Unit 2445 Application/Control Number: 18/829,915 Page 2 Art Unit: 2445 Application/Control Number: 18/829,915 Page 3 Art Unit: 2445 Application/Control Number: 18/829,915 Page 4 Art Unit: 2445 Application/Control Number: 18/829,915 Page 5 Art Unit: 2445 Application/Control Number: 18/829,915 Page 6 Art Unit: 2445 Application/Control Number: 18/829,915 Page 7 Art Unit: 2445 Application/Control Number: 18/829,915 Page 8 Art Unit: 2445 Application/Control Number: 18/829,915 Page 9 Art Unit: 2445 Application/Control Number: 18/829,915 Page 10 Art Unit: 2445 Application/Control Number: 18/829,915 Page 11 Art Unit: 2445 Application/Control Number: 18/829,915 Page 12 Art Unit: 2445 Application/Control Number: 18/829,915 Page 13 Art Unit: 2445 Application/Control Number: 18/829,915 Page 14 Art Unit: 2445 Application/Control Number: 18/829,915 Page 15 Art Unit: 2445 Application/Control Number: 18/829,915 Page 16 Art Unit: 2445 Application/Control Number: 18/829,915 Page 17 Art Unit: 2445 Application/Control Number: 18/829,915 Page 18 Art Unit: 2445 Application/Control Number: 18/829,915 Page 19 Art Unit: 2445 Application/Control Number: 18/829,915 Page 20 Art Unit: 2445 Application/Control Number: 18/829,915 Page 21 Art Unit: 2445 Application/Control Number: 18/829,915 Page 22 Art Unit: 2445 Application/Control Number: 18/829,915 Page 23 Art Unit: 2445 Application/Control Number: 18/829,915 Page 24 Art Unit: 2445 Application/Control Number: 18/829,915 Page 25 Art Unit: 2445 Application/Control Number: 18/829,915 Page 26 Art Unit: 2445 Application/Control Number: 18/829,915 Page 27 Art Unit: 2445 Application/Control Number: 18/829,915 Page 28 Art Unit: 2445 Application/Control Number: 18/829,915 Page 29 Art Unit: 2445 Application/Control Number: 18/829,915 Page 30 Art Unit: 2445 Application/Control Number: 18/829,915 Page 31 Art Unit: 2445 Application/Control Number: 18/829,915 Page 32 Art Unit: 2445
Read full office action

Prosecution Timeline

Sep 10, 2024
Application Filed
Jan 09, 2026
Non-Final Rejection mailed — §103
Feb 24, 2026
Applicant Interview (Telephonic)
Mar 07, 2026
Examiner Interview Summary
Mar 24, 2026
Response Filed
Jun 03, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12665749
MIGRATING SECRETS FROM A CLOUD ENVIRONMENT TO A LOCAL SYSTEM
3y 3m to grant Granted Jun 23, 2026
Patent 12659322
Systems and methods for identifying legitimate network traffic imitation
2y 2m to grant Granted Jun 16, 2026
Patent 12647495
METHODS AND APPARATUS TO IDENTIFY MAIN PAGE VIEWS
1y 8m to grant Granted Jun 02, 2026
Patent 12640930
REDUCING NETWORK LOAD AND LEAD TIME FOR SIGNING A PACKAGE MANAGER FILE
2y 11m to grant Granted May 26, 2026
Patent 12627693
CYBER-ATTACK TRACKING METHOD AND DEVICE USING BEHAVIOR EVENT-BASED RELATIONSHIP DATA COLLECTED FROM MULTIPLE DOMAINS, AND STORAGE MEDIUM STORING INSTRUCTIONS TO PERFORM CYBER-ATTACK TRACKING METHOD
1y 11m to grant Granted May 12, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
75%
Grant Probability
99%
With Interview (+73.1%)
2y 11m (~1y 0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 443 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month