Detailed Action
Notice of Pre-AIA or AIA status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections – 35 U.S.C. § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. § 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1–4, 6, 10–14, 16, 17, and 20 are rejected under 35 U.S.C. § 102(a)(1) as being anticipated by Zheng Zhang et al., VISAR: A Human-AI Argumentative Writing Assistant with Visual Programming and Rapid Draft Prototyping, 36 ACM Symposium on User Interface Software and Technology (July 27, 2023), https://doi.org/10.48550/arXiv.2304.07810 (“Zhang”).
The page and line numbers cited in this Office Action were manually added by the Examiner to the attached copy. They do not appear in the original source material. Please see “Non-Patent Literature” bearing the same date as this Office Action in the File Wrapper.
Claim 1
Zhang discloses:
A data processing system comprising: a processor; and a memory comprising programming instructions for execution by the processor alone or in combination with other processors, to implement a service to generate a work as specified by a user;
Zhang discloses a Web application called “VISAR” implemented with a “back-end server” that utilizes several computer programs—e.g., React, Lexical, Flask, and MongoDB—to provide a complete, interactive application that helps generate user-specified argumentative essays. Zhang 10 ll. 25–32.
wherein the service comprises:
a service-side component of a User Interface (UI)
“The interactive Web app of VISAR is implemented in React.” Zhang 10 ll. 25–26.
to receive user input about the work from the user, the user input including an initial prospective description of the work that the user intends to generate using the system
Initially, “writers can select the text containing the main argument,” Zhang 7 ll. 96–98, or writers may type their own main argument and then select it to designate as the description of the content they wish to generate. See Zhang 7 ll. 25–28.
and a set of parameters for the work;
Zhang discloses at least two categories of parameters that the user may input into VISAR:
The first category are parameters that the user selects prior to generating any work, such as “a set of suggested potential aspects or topics that can help substantiate the selected argument,” which the user selects from a menu during the writing process. Zhang 7 ll. 98–100
The second category are parameters that the user selects after generating the initial outline and draft of the work, such as “argumentative sparks” (see Zhang Figure 4 and Zhang 9 ll. 23–72), “types” for each of the nodes in the outline, and edges that describe relationships between nodes of the outline (Zhang 9 ll. 1–11). This post-initial-creation category also falls within the scope of the claim language, despite VISAR receiving the inputs for these parameters after the first draft of the work is generated, because the claim language does not yet limit the timing of when the user inputs are received; the claim recites a “service-side component” that can “receive user input” that includes the initial prospective description of the work, and that can further receive user input including “a set of parameters.”
The following table is provided to help outline the parameters disclosed by Zhang:
Parameter
Options available for parameter
key aspect (also called “keywords” in Figure 3).
a list of discussion points, where the user may choose any number of discussion points from the list per key aspect, and the model will generate text for each one
the counterargument argumentative spark
a list of selectable counter arguments for a discussion point
the logical fallacies argumentative spark
a list of selectable logical fallacies of a discussion point
the supporting evidence argumentative spark
a list of supporting evidence topics for a discussion point
edges
(1) the nodes that the edge connects, and (2) the type of the edge, including featured by (child is a high-level topic/aspect regarding the parent), elaborated by (child is a concrete discussion point regarding the parent), attacked by (child is a counterargument that attacks the parent) and supported by (child is an evidence/argument supporting the parent)
For brevity, only the first category will be discussed in the rejection of claim 1. Discussion of parameters in the second category of Zhang’s disclosure will be reserved for rejections of dependent claims that read on parameters from the second category.
a prompt generator to generate prompts for a Generative Artificial Intelligence (GAI) based on the user input
The Applicant describes the claimed prompt generator as a black box program application or applet that “detects inputs, as described herein, and responds by outputting a prompt to a Large Language Model or other Artificial Intelligence that is structured and provokes the LLM to respond as described herein.” (Spec. ¶ 40). In other words, the Applicant claims the function of the prompt generator, rather than any particular structure for performing those functions (apart from the general purpose computer components, which were addressed earlier in this rejection).
Zhang likewise discloses that VISAR is programmed to utilize a set of “detailed prompt templates,” filled with the writer’s inputs discussed above (among others) and to create prompts that will ultimately be sent to the model via an API. Zhang § 4.4.2.
to generate both an outline for the work
“[T]o elicit discussion points regarding a key aspect of an argument, we direct the model to adopt the role of ‘a helpful writing assistant that aims to come up with pertinent discussion points based on a specified aspect to reinforce the given argument’. We supply the model with several examples and prompt: ‘List key discussion points worth including in the discussion to support argument [selected argument] from the aspect of [selected aspect]’.” Zhang 10 ll. 33–42. The discussion points returned by the model are then used to generate an outline of work. See Zhang 7 ll. 102–108 (“the system prepares specific discussion points organized by the selected topics. Writers can navigate these by clicking the corresponding tabs and select discussion points to include in their outline (Figure 3-3).”).
and a proposed version of the work,
“We utilize the model to generate prototype drafts that implement writers’ argumentation plans. The prompt templates for creating each specific writing component, as well as for revision and refinement, are detailed in the Appendix (Table 2).” Zhang 11 ll. 67–69.
the prompt generator further to generate additional prompts to the AI to update either the outline or the proposed version of the work based a user editing of the other of the outline or the proposed version of the work so that the proposed version of the work and the outline are synchronized as the user interacts with either the proposed version of the work or the outline; and
“A visual outline of the current argumentation outline is automatically generated, synchronized, and displayed next to the text editor.” Zhang 7 ll. 59–61. Consequently, “users see the updated draft immediately after modifying the visual outline,” Zhang 9 ll. 86–88, or, on the other hand, the user “can edit an argument or goal in the text editor and incorporate it into the visual outline by clicking the Add to graph button (Figure 3-1).” Zhang 7 ll. 71–73. The revisions and refinements, much like the original draft, are generated by re-prompting the model. See Zhang 11 ll. 67–73.
an Application Programming Interface to deliver prompts to the GAI and receive responses from the GAI for presentation in the UI.
“VISAR used OpenAI’s API (GPT-3.5-turbo) to recommend writing goals,” with “the Flask framework for communication with the LLM” (i.e., the actual calls to the API). Zhang 10 ll. 25–35.
Claim 2
Zhang discloses the system of claim 1, wherein,
in response to user input specifying the description of the work, the prompt generator is to generate a first prompt to the GAI instructing the GAI to generate a list of the parameters for the work based on the description and options for each parameter.
“As users select arguments and click the Elaborate button to obtain inspiration for key aspects, we prompt the model with ‘Please list key aspects that are worth discussing to support the argument: [selected argument]’.” Zhang 10 ll. 38–41. These are the “key aspects” (i.e., the claimed parameters) are then presented to the user for selection, as shown in Figure 3-2.
In addition to prompting the model to generate a list of the key aspects (the parameters), VISAR further prompts the model to provide lists of discussion points (the claimed options) for each of the key aspects. Zhang 11 ll. 1–4 (describing the prompt requesting the discussion points) and Zhang 7 ll. 93–95 (explaining that the discussion points are then presented as options for selection in the user interface).
Claim 3
Zhang discloses the system of claim 2,
wherein the UI is to display the parameters generated by the GAI, with corresponding options, and receive user input selecting an option for each of the parameters.
“When writers click the Generate discussion point button (Figure 3-2), the system prepares specific discussion points organized by the selected topics. Writers can navigate these by clicking the corresponding tabs and select discussion points to include in their outline (Figure 3-3).” Zhang 7 ll. 101–105.
Claim 4
Zhang discloses the system of claim 1,
wherein the UI comprises controls for a number of the parameters for the work, each parameter having multiple corresponding options selectable by the user as a setting for the corresponding parameter.
Regarding the key aspect parameters, “[w]riters can navigate [the selected key aspects] by clicking the corresponding tabs and select[ing] discussion points to include in their outline (Figure 3-3).” Zhang 103–105.
Regarding the three different argumentative spark parameters, the user interface provides a “float menu” to select one of the three argumentative sparks (Figure 4-2), followed by the list (Figure 4-3 to 4-5) of corresponding options for whichever argument spark was chosen. Zhang 9 ll. 38–40, 49–52, and 65–69.
Regarding the edges, the user interface provides a mechanism to define the nodes that a given edge connects, and further select the type of the edge via a drop down menu. Zhang 9 ll. 1–10 and Figure 5.
Claim 6
Zhang discloses the system of claim 4,
wherein the UI comprises a number of drop-down menus, each menu corresponding to one of the parameters and including the corresponding options.
The plain language of the above limitation does not require every parameter’s menu to be in the form of a drop-down menu, rather, it only requires the UI to have a “number of” drop-down menus that correspond to a respective one of the parameters. Zhang likewise discloses drop-down menus for both the key aspect parameters, and for the edge types.
For the key aspect parameters, Figure 3-3 shows that there is a tab button for each key aspect, which, when selected, presents several options beneath it.
Likewise, selecting or changing an edge’s type is performed via a drop-down menu. See Zhang Figure 5.
Claim 10
Zhang discloses the system of claim 7,
wherein the prompt generator is to generate a work prompt to the GAI instructing the GAI to generate a proposed version of the work based on the outline.
“We utilize the model to generate prototype drafts that implement writers’ argumentation plans. The prompt templates for creating each specific writing component, as well as for revision and refinement, are detailed in the Appendix (Table 2). When a writing component has a parent node in the plan, we include the parent’s content as context to improve coherence between the two elements.” Zhang 11 ll. 67–73.
Claim 11
Zhang discloses the system of claim 10,
wherein the work prompt further specifies that the proposed version of the work is to be based on the description and parameter options selected by the user.
For each of the parameters discussed in the rejections above, the values of those parameters (e.g., the selected discussion points, key aspects, counter arguments, supporting evidence types, logical fallacies, etc.) are included in the prompt. See Zhang 23–24 Table 2.
Claim 12
Zhang discloses the system of claim 10,
wherein the UI is to present the outline and the proposed version of the work in a side-by-side arrangement
“VISAR features side-by-side text editors and an interactive graph of logical relationships among entities for writing planning.” Zhang 2 55–56
and to accept user editing to either of the outline or proposed version of the work, wherein the outline and the proposed version of the work are synchronized in real-time as user editing occurs to either.
“With the Lazy update mode off (Figure 1-D), users see the updated draft immediately after modifying the visual outline.” Zhang § 4.3.4 (page 10); see also Zhang § 4.2 (“A visual outline of the current argumentation outline is automatically generated, synchronized, and displayed next to the text editor . . . . As [the user] modifies the visual outline, Alice can immediately view the updated draft in a pop-up window and update dependent nodes and goals in-situ.”). “Additionally, Alice can edit an argument or goal in the text editor and incorporate it into the visual outline by clicking the Add to graph button (Figure 3-1).” Zhang § 4.2.
Claim 13
Zhang discloses the system of claim 1,
wherein the parameters include at least one of tone, voice, audience and output type.
Regarding at least “tone,” Zhang discloses prompting the model to list potential supporting evidence for an argument based on ethos, pathos, and logos, and then letting the select from amongst that generated list of supporting points to include in the final essay prompt. Zhang 11 ll. 55–66. The resulting tone of the essay will be very different depending on which supporting points the user ultimately selects, as the ethos points focus on sharing professional experience, the pathos points focus on arousing audience’s emotion, and the logos points focus on providing facts and strict logical reasoning.
Claim 14
Zhang discloses the system of claim 1,
wherein the user input editing either the outline or the proposed version of the work is reformatting of text in either the outline or the proposed version of the work,
“A visual outline of the current argumentation outline is automatically generated, synchronized, and displayed next to the text editor.” Zhang 7 ll. 59–61. Consequently, “users see the updated draft immediately after modifying the visual outline,” Zhang 9 ll. 86–88, or, on the other hand, the user “can edit an argument or goal in the text editor and incorporate it into the visual outline by clicking the Add to graph button (Figure 3-1).” Zhang 7 ll. 71–73. The revisions and refinements, much like the original draft, are generated by re-prompting the model. See Zhang 11 ll. 67–73.
the prompt generator to interpret the reformatting of the text into an instruction to the GAI in the prompt regarding the text reformatted.
“We utilize the model to generate prototype drafts that implement writers’ argumentation plans. The prompt templates for creating each specific writing component, as well as for revision and refinement, are detailed in the Appendix (Table 2).” Zhang 11 ll. 67–69 (emphasis added).
Claims 16 and 17
Claims 16 and 17 recite a device that differs from the corresponding computer system of claims 1 and 4 in three respects:
(1) claim 16 does not include the language of “so that the proposed version of the work and the outline are synchronized as the user interacts with either the proposed version of the work or the outline;
(2) claims 16 and 17 do not require the API as an element of the claimed invention; and
(3) claims 16 and 17 require an LLM, which is a species of the GAI recited in claims 1 and 4.
Claims 16 and 17 are therefore rejected over all of the corresponding findings from Zhang set forth in the rejections of claims 1 and 4 above mutatis mutandis for differences (1)–(3) as follows:
Regarding differences (1) and (2), Zhang’s disclosure of those elements required by claims 1 and 4 yet not required by claims 16 and 17 fall within the open-ended “comprising” scope of claims 16 and 17. See MPEP § 2111.03.
Regarding difference (3), the rejection of claims 1 and 4 explicitly maps the claimed GAI to Zhang’s disclosure of an LLM. See Zhang 10 ll. 25–35.
Consequently, for all of these reasons, Zhang anticipates each and every required element of claims 16 and 17.
Claim 20
Claim 20 is directed to almost exactly the same method that the data processing system of claim 1 performs as part of its normal operation, except that claim 20 specifies that the GAI is an LLM. “Under the principles of inherency, if a prior art device, in its normal and usual operation, would necessarily perform the method claimed, then the method claimed will be considered to be anticipated by the prior art device.” MPEP § 2112.02. Therefore, claim 20 is rejected over all of the findings set forth in the rejection of claim 1 using Zhang’s disclosure, which include a finding that the GAI of claim 1 corresponds to an LLM from Zhang’s disclosure. See Zhang 10 ll. 25–35.
Claim Rejections – 35 U.S.C. § 103
The following is a quotation of 35 U.S.C. § 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, 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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned at the time any inventions covered therein were effectively filed absent any evidence to the contrary. Applicant is advised of the obligation under 37 C.F.R. § 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned at the time a later invention was effectively filed in order for the examiner to consider the applicability of 35 U.S.C. § 102(b)(2)(C) for any potential 35 U.S.C. § 102(a)(2) prior art against the later invention.
Claims 5 and 15 are rejected under 35 U.S.C. § 103 as being unpatentable over Zhang as applied to claims 4 and 13 above, and further in view of U.S. Patent Application Publication No. 2022/0229832 A1 (“Li”).
Claim 5
Zhang teaches the system of claim 4, but does not expressly anticipate a feature where the multiple corresponding options for each parameter include a customizable option in which the user can enter a setting for that parameter that is not among the corresponding options for that parameter.
Li, however, teaches a “system 100 for automated intelligent content generation,” Li ¶ 17, including a user interface 400 with multiple options 420,
that wherein the multiple corresponding options for each parameter include a customizable option in which the user can enter a setting for that parameter that is not among the corresponding options for that parameter.
As shown in FIG. 4, in response to a user request to generate content, the user interface 400 provides a proposed outline of six topics, each having “a corresponding checkbox in section 425 that allows the user to include or exclude the corresponding topic,” but also “the proposed outline may be provided in textboxes, allowing the user to modify the title of each topic.” Li ¶ 36. To be clear, the checkboxes 425 are the claimed corresponding options, while the user’s custom modification via the textboxes are the claimed setting for that parameter that was “not among the corresponding options.”
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 “discussion points” section of the VISAR user interface (i.e., Figure 3(3)) with Li’s technique of using textboxes to present the topics (instead of merely non-negotiable choices for the discussion points). One would have been motivated to improve VISAR with Li’s technique because Li’s approach because, in VISAR, when the LLM provides discussion topics that do not fully satisfy the user’s needs, the user must first generate the document using the unsatisfactory discussion points, and then change them to his/her liking after generating the document. Therefore, Li’s customizable textboxes in outline 420 (along with the rest of Li’s approach) “may save substantial time to generate complete and accurate content documents.” Li ¶ 16.
Claim 15
Zhang teaches the system of claim 13, but does not explicitly disclose “a log storing a record of the user input editing either the outline or the proposed version of the work, wherein subsequent prompts to the GAI include information from the log on previous user input.”
Li, however, teaches a “system 100 for automated intelligent content generation,” Li ¶ 17, further comprising:
a log storing a record of the user input editing either the outline or the proposed version of the work, wherein subsequent prompts to the GAI include information from the log on previous user input.
By way of background, and much like both Zhang and the claimed invention, Li’s system 100 includes a prompt design component 115 that translates user interface commands into prompts for a generative language model 125 to generate work based on the prompts. See Li ¶ 23 and FIG. 1. The workflow in Li is also “iterative,” allowing the user to “make edits or request additional content, clarification, design assistance, and so forth as many times as desired such that the originally created content is updated and modified based on the minimal additional input by the users until the user selects and finalizes the suggested results.” Li ¶ 16.
To that end, when a user desires to make changes to the work (e.g., using the query box 505 to input a description of the desired change, see Li FIG. 7), the system 100 generates a “natural language action” using “the context of the user history, current slide deck, and so forth,” which in turn “may be used along with the current slide deck and context of the user history to design a prompt and submit the prompt to the natural language generation model.” Li ¶ 40; see also Li ¶¶ 3, 27, 30, and 35 (describing additional techniques for generating the language model prompts based on the “current deck edit history”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to improve the VISAR system with Li’s technique of including the context of the edit history for the current document1 as part of the prompt to the generative language model, and/or as a factor for creating the prompt to the model.
One would have been motivated to follow Li’s guidance of including the edit history as part of the prompt to the generative language model because providing the edit history helps “minim[ize] additional input by the users,” and consequently, “the user may save substantial time.” Li ¶ 16. For instance, in the FIG. 7 example cited in this rejection, the user only needs to ask how affects “it,” rather than asking how “pollution reduces the ability to undergo photosynthesis,” because the context of the edit history fills the gap for what “it” means.
There would have been a reasonable expectation of success in making the combination because both VISAR and Li use flavors of the same large language model (GPT-3 or higher), see Zhang 10 ll. 25–35 and Li ¶ 21, and at a mechanical level, prompting a large language model (including GPT-3) consists of submitting text strings. Appending or concatenating two pieces of text data (historical text data and current prompt string) is a deterministic task—the combination of both pieces of text into a single piece of text is the only reasonable expectation, and is just as reasonable to expect the model to receive the combination. The model’s output is not deterministic, but Li’s disclosure expressly describes both the combined input and the expected output, and Li is presumptively operable, see MPEP § 2121, especially now that the Li reference is also an issued patent.2 See 35 U.S.C. § 282(a). Consequently, it would have been reasonable to expect that text strings for the current desired revision and the revision history of the document could be combined into a prompt for the language model.
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to improve VISAR with Li’s technique.
Allowable Subject Matter
Claims 7–9 and 18–19 are allowable over the prior art, but objected to as being dependent upon a rejected base claim.
The following is a statement of reasons for the indication of allowable subject matter:
Claims 7 and 18—each read together with all of the limitations of their ancestor claims incorporated by reference—recite similar versions of a computer that, among other things: (1) provides a user interface that receives selections from a user of options for a number of parameters for using a generative artificial intelligence or language model (“GAI” or “LLM”) to generate a work, see FIGS. 1C and 1E, (2) generates an outline 104 for the work (FIGS. 1E, 1F, and 2), (3) allows the user to interact with either the proposed version of the work 108, the outline 104, or the parameters 103 together, synchronizing changes in one with the other (FIG. 1F), and, crucially, (4) “in response to user input selecting options for the parameters,” a computer program “generate[s] an outline prompt to the GAI instructing the GAI to generate the outline for the work based on the description and the options selected for each of the parameters.” Claim 18 recites a similar feature with respect to the LLM rather than the more broadly recited GAI.
Both Zhang and Li teach features (1)–(3), and Zhang further teaches updating the outline responsive to user-authored changes to the proposed work, but neither reference explicitly discloses prompting their respective language models to create a new or updated version of the outline in response to the user input selecting the parameter options. Zhang essentially prompts the language model to provide a list of potential headings for the outline (the “discussion points”), and the user picks and chooses from those discussion points. Zhang’s software automatically generates the outline based on the user’s choices, but Zhang doesn’t say if the software specifically prompts the language model to generate the outline. Li prompts a similar language model to generate an initial outline, but then, much like Zhang, Li’s system allows the user to pick and choose which points of the initial outline will form the actual outline with which the language model will be prompted to produce the proposed work. In Li, there is no updating of the outline after the language model generates the work; Li only provides mechanisms for revising what the language model proposed.
The general idea of prompting a GAI or LLM to generate an outline of material is not new. See Hai Dang et al., Beyond Text Generation: Supporting Writers with Continuous Automatic Text Summaries, 35th Annual ACM Symposium on User Interface Software and Technology (UIST ’22) (November 2, 2022), https://doi.org/10.1145/3526113.3545672 (hereafter “Dang”) (pages 2–3, sections 2.2–2.3 reviewing a history of the academic literature for natural language processing approaches to summarizing text). Notably, Dang discloses a user interface that is quite similar to the general idea of the claimed invention, providing a split user interface with a text editor and an outline of its content displayed side-by-side (Figure 1), where the outline is created and updated by prompting a language model. See Dang pages 6–7, section 4.2.
However, unlike claims 7 and 18, Dang does not teach prompting the model in response to selecting the parameter options about the work itself. At most, Dang prompts the model in response to user interface selections, but the selections specify the desired amount of detail in the outline summary itself, not parameters about the content of the work. See Dang page 5, section 4.1.3 and Figure 2. While it may have been possible to construct claims 7 and 18 from some combination of Zhang, Li, and Dang using claims 7 and 18 as a blueprint, there was no independent reason to do so without the benefit of hindsight.
Accordingly, claims 7 and 18 are understood to recite allowable subject matter, as do the claims that depend from claims 7 and 18 by virtue of their incorporation of that subject matter by reference.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Justin R. Blaufeld whose telephone number is (571)272-4372. The examiner can normally be reached M-F 9:00am - 4:00pm ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, James K Trujillo can be reached at (571) 272-3677. 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.
Justin R. Blaufeld
Primary Examiner
Art Unit 2151
/Justin R. Blaufeld/Primary Examiner, Art Unit 2151
1 The “current document” is a slide deck in most of the examples, but Li’s system 100 works with any type of content creation application, including word processing software. See, e.g., Li ¶¶ 19 and 33.
2 U.S. Patent No. 11,494,396 B1.