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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 12/03/2025 has been entered.
Response to Arguments
1. Regarding the rejection under 35 U.S.C. § 102 and 103, Applicant’s arguments have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Claim Rejections - 35 USC § 103
2. Claims 1-4, 6-11, 13-18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Alsharif et al. (US 2018/0217749 A1, hereinafter Alsharif) in view of Malcangio et al. (US 10,599,786 B1, hereinafter Malcangio) and further in view of Gupta et al. (US 2021/0271812 A1, hereinafter Gupta).
Regarding claim 1, Alsharif discloses A computing device (Fig. 2, 210; para. 0049 “Computing device 210 of FIG. 2 is described below as an example of computing device 110 of FIGS. 1A-1C.”) comprising: a memory; (Fig. 2, 248; para. 0058 “One or more storage components 248 within computing device 210 may store information for processing during operation of computing device 210 (e.g., computing device 210 may store data accessed by modules 220, 222, 224, 226, 228, and 230 during execution at computing device 210).”; para. 0059 “In some examples, storage component 248 is a temporary memory”) and a processor coupled to the memory and configured to (Fig. 2, 240; para. 0057 “One or more processors 240 may implement functionality and/or execute instructions associated with computing device 210. …For example, processors 240 of computing device 210 may retrieve and execute instructions stored by storage components 248 that cause processors 240 to perform the operations modules 220, 222, 224, 226, 228, and 230.”) access, via a browser executing on the computing device (access Internet browser applications executing at a computing device: para. 0025 “PSD 112 may output information to a user in the form of a user interface (e.g., user interfaces 114A-114C) which may be associated with functionality provided by computing device 110. Such user interfaces may be associated with computing platforms, operating systems, applications, and/or services executing at or accessible from computing device 110 (e.g., electronic message applications, chat applications, Internet browser applications, mobile or desktop operating systems, social media applications, electronic games, and other types of applications).”; para. 0023 “Computing device 110 may execute modules 120-122 as virtual machines executing on underlying hardware.”) a virtual computing session (para. 0023 “Computing device 110 may execute modules 120-122 as virtual machines executing on underlying hardware.”; para. 0027 “UI module 120 may manage user interactions with PSD 112 and other input and output components of computing device 110 as the interactions relate to the user interface(s) provided by computing devices 110, including user interfaces 114.”) executing on a server (module 120 executing as a virtual machine utilizes a server: para. 0048 “For example, keyboard module 122 may request, from data repository module 162, a German decoder package. In response to the request, keyboard module 122 may receive data that once unpackaged, causes keyboard module 122 to install and enable the German decoder package including the German keyboard decoder defined by the data.”; para. 0047 “For example, keyboard module 122 may send information to UI module 120 that causes PSD 112 to display, within word-suggestion region 119B, one or more German language word suggestions that, keyboard module 122 has determined from the text. For example, keyboard module 122 may send information to UI module 120 that causes PSD 112 to display, within word-suggestion region 119B, one or more German language word suggestions”; Fig. 1, module 162 part of server 160)), the browser having a first language associated therewith (para. 0036 “For example, keyboard module 122 may default to using an initial language decoder (e.g., a language model, a spatial model, and/or other type of model used to determine text from user input at a graphical keyboard) as a current language decoder that is configured to translate keyboard inputs detected at PSD 112 into text of a default language (e.g., a language associated with a geographic location at which computing device 110 was sold and/or manufactured).”), and the virtual computing session being provided in the first language responsive to the browser (para. 0040 “Keyboard module 122 may be configured as an English based graphical keyboard application such that keyboard module 122 causes UI module 120 to display graphical keyboard 116B having English language type graphical keys 118A.”)…; capture…with the browser executing on the computing device, text input to the browser for the virtual computing session executing on the server (para. 0042 “After viewing the message displayed at PSD 112, the user of computing device 110 may provide input to select the English language graphical keys 118A to compose a reply message, for instance, by gesturing at or near locations of PSD 112 at which keys 118A are displayed. UI module 120 may send information to keyboard module 122 about the selection of keys 118A. Keyboard module 122, using an English language decoder, may determine text based on the information about the selection of keys 118A. For example, keyboard module 122 may determine the text to be “es geht mir gut” which is meaningless in English, however, in German, translates to “I am doing well” in English.”), determine… whether the captured text corresponds to a second language different than the first language (para. 0043 “Responsive to determining that a characteristic of the text satisfies a threshold for determining a target language of the text, a machine-learned model of keyboard module 122 may determine the target language of the text.”; para. 0045 “If the target language of the text is different than the language associated with the English decoder keyboard module 122 may enable a German decoder and output, for display, an indication of one or more German candidate words determined by the German decoder from the text.”); send a request from the computing device to the server to provide the virtual computing session executing on the server in the second language responsive to determining the captured text corresponds to the second language (para. 0015 “System 100 includes information server system (“ISS”) 160 in communication with computing device 110 via network 130.”; para. 0021 “Data repository module 162 may transmit data (e.g., one or more decoder packages) via network 130 in response to a request for data from a computing device, such as computing device 110.”; para. 0048 “To enable the German decoder, keyboard module 122 may need to first download and install a decoder package associated with the target language. For example, keyboard module 122 may request, from data repository module 162, a German decoder package. In response to the request, keyboard module 122 may receive data that once unpackaged, causes keyboard module 122 to install and enable the German decoder package including the German keyboard decoder defined by the data.”; para. 0047 “Also shown in FIG. 1C, keyboard module 122, in response to determining the target language that is different than the language of the English decoder, may cause UI module 120 and PSD 112 to output, for display, German language graphical keys 118B that replace the English language graphical keys 118A.”); render, by the server, at least a portion of the data in the second language (para. 0048 “To enable the German decoder, keyboard module 122 may need to first download and install a decoder package associated with the target language. For example, keyboard module 122 may request, from data repository module 162, a German decoder package. In response to the request, keyboard module 122 may receive data that once unpackaged, causes keyboard module 122 to install and enable the German decoder package including the German keyboard decoder defined by the data.”; para. 0047 “As shown in FIG. 1C, if the language identification module of keyboard module 122 identifies the language associated with the text to be German, keyboard module 1222 may send information to UI module 120 that causes PSD 112 to display, within word-suggestion region 119B, one or more German language word suggestions that, keyboard module 122 has determined from the text.”; ); and display at least the portion of the data in the second language on a display of the computing device (para. 0047 “Also shown in FIG. 1C, keyboard module 122, in response to determining the target language that is different than the language of the English decoder, may cause UI module 120 and PSD 112 to output, for display, German language graphical keys 118B that replace the English language graphical keys 118A... Keyboard module 122 may send further information to UI module 120 that causes PSD 112 change the layout of graphical keyboard 116 to be a German, as opposed to English, language graphical keyboard.”; see Fig. 1C).
Alsharif does not specifically disclose wherein the server is a remote server in communication with the computing device over a network, and the server provides data associated with the virtual session to the computing device over the network to provide access to the virtual computing session to a user of the computing device.
Malcangio teaches wherein the server is a remote server (Fig. 4, “Virtual server 26”; Col. 7 Lines 51-54 “With the foregoing in mind, FIG. 4 is a block diagram illustrating an embodiment in which a virtual server 26 supports and enables the client instance 102, according to one or more disclosed embodiments.”) in communication with the computing device (Fig. 4, 20; Col. 7 Lines 57-61 “The cloud-based platform 16 is connected to a client device 20 via the network 14 to provide a user interface to network applications executing within the client instance 102 (e.g., via a web browser of the client device 20).”) over a network (Fig. 4, 14; Col. 7 Lines 57-61 “The cloud-based platform 16 is connected to a client device 20 via the network 14 to provide a user interface to network applications executing within the client instance 102 (e.g., via a web browser of the client device 20).”), and the server provides data associated with the virtual session to the computing device over the network (Fig. 4, network 14 allows for bidirectional sending/receiving of data between virtual session) to provide access to the virtual computing session to a user of the computing device (Col. 7 Lines 57-67 “The cloud-based platform 16 is connected to a client device 20 via the network 14 to provide a user interface to network applications executing within the client instance 102 (e.g., via a web browser of the client device 20). Client instance 102 is supported by virtual servers 26 similar to those explained with respect to FIG. 2, and is illustrated here to show support for the disclosed functionality described herein within the client instance 102. Cloud provider infrastructures are generally configured to support a plurality of end-user devices, such as client device 20, concurrently, wherein each end-user device is in communication with the single client instance 102.”).
Alsharif and Malcangio are considered to be analogous to the claimed invention as they both are in the same field of natural language processing. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Alsharif to incorporate the teachings of Malcangio in order to specifically have the virtual computing session executing one a server have the server be a remote server in communication with the computing device over a network, and the server provides data associated with the virtual session to the computing device over the network to provide access to the virtual computing session to a user of the computing device . Doing so would be beneficial, as such arrangement would give each customer instance its own unique software stack that provides the benefit of data isolation (Col. 5 Lines 37-59).
Alsharif in view of Malcangio does not specifically disclose to [capture,] by an application programming interface (API) associated with [the browser executing on the computing device, the text input…] and to [determine], by the API, [whether the captured text corresponds to a second language different than the first language].
Gupta teaches to [capture,] by an application programming interface (API) associated with [the browser executing on the computing device, the text input…] (para. 0015 “As discussed below, the language identification system 102 and network services 106A-C may be, or include, a machine such as a server or any other type of computing machine. The language identification system 102 and the network services 106A-C may communicate over the network 104 via one or more Application Programming Interfaces (APIs).”; para. 0016 “In an example, the network service 106A provides a web search service that includes a web search engine to search for information related to search queries input by users.”; para. 0032 “The text string 400 may be a user input provided to one of the network services 106A-C, and in turn, provided to the language identification system 102, via an API, as part of a request to identify the language of the text string 400 for purposes of further processing.”), and to [determine], by the API, [whether the captured text corresponds to a second language different than the first language] (Alsharif discloses determination operation based on an identification of the language of the user input (see Alsharif, para. 0043, 0045); Gupta teaches API calls used to carry out language identification, usable for this determination step: para. 0015 “As discussed below, the language identification system 102 and network services 106A-C may be, or include, a machine such as a server or any other type of computing machine. The language identification system 102 and the network services 106A-C may communicate over the network 104 via one or more Application Programming Interfaces (APIs).”).
Alsharif, Malcangio, and Gupta are considered to be analogous to the claimed invention as they are all in the same field of natural language processing. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Alsharif in view of Malcangio to incorporate the teachings of Gupta in order to capture, by an application programming interface (API) associated with the browser executing on the computing device, text input to the browser for the virtual computing session executing on the server, and to determine, by the API, whether the captured text corresponds to a second language different than the first language. Doing so would be beneficial, as APIs allow for improved integration of new applications with existing software systems, allowing for an increased development speed (NPL Amazon Web Services, “What is an API (Application Programming Interface)?”, pg. 2).
Regarding claim 2, Alsharif in view of Malcangio and Gupta discloses wherein the processor is further configured to determine if the second language is on a supported language list for the virtual computing session (Alsharif, para. 0107 “In other words, keyboard module 122 may periodically determine whether the target language of user inputs corresponds to one of the enabled decoders and if not, keyboard module 122 may enable a decoder to handle it. As shown in the example of FIG. 7, spacebar key 790 of graphical keys 718 includes an indication of three decoders (EN, DE, and FR) being enabled simultaneously in response to determining that the user of computing device 110 is multilingual and typing in each of English, German, and French, at user interface 714.”), and to cause the virtual computing session to be provided in the second language further based upon determining the second language is on the supported language list (para. 0039 “The language identification module may indicate to keyboard module 122 the target language of the input so that keyboard module 122 can automatically toggle to using the appropriate decoder for decoding the inputs.”).
Regarding claim 3, Alsharif in view of Malcangio and Gupta discloses wherein the processor is further configured to cause the browser to display an input element responsive to determining the captured text corresponds to the second language (Alsharif, para. 0046 “For example, as shown in FIG. 1B, if the language identification module of keyboard module 122 identifies the language associated with the text to be German, keyboard module 122 may cause UI module 120 to display at PSD 112 graphical indication 117 that includes information for alerting the user that keyboard module 122 has determined the user's inputs to be for typing German whereas keyboard module 122 is configured to translate keyboard inputs into English.”), and to cause the virtual computing session to be provided in the second language further based upon input received via the input element (para. 0046 “Graphical indication 117 indicates that keyboard module 122 has automatically enabled a German decoder but also provides the user an opportunity to revert the reconfiguration by either clicking the undo button or going into the settings menu to manually adjust the keyboard settings.”; para. 0047 “Also shown in FIG. 1C, keyboard module 122, in response to determining the target language that is different than the language of the English decoder, may cause UI module 120 and PSD 112 to output, for display, German language graphical keys 118B that replace the English language graphical keys 118A.”).
Regarding claim 4, Alsharif in view of Malcangio and Gupta discloses wherein the browser has an Application Programming Interface (API) associated therewith (Alsharif, para. 0025 “PSD 112 may output information to a user in the form of a user interface (e.g., user interfaces 114A-114C) which may be associated with functionality provided by computing device 110. Such user interfaces may be associated with computing platforms, operating systems, applications, and/or services executing at or accessible from computing device 110 (e.g., electronic message applications, chat applications, Internet browser applications, mobile or desktop operating systems, social media applications, electronic games, and other types of applications).”; Gupta, para. 0015 “As discussed below, the language identification system 102 and network services 106A-C may be, or include, a machine such as a server or any other type of computing machine. The language identification system 102 and the network services 106A-C may communicate over the network 104 via one or more Application Programming Interfaces (APIs).”; para. 0016 “In an example, the network service 106A provides a web search service that includes a web search engine to search for information related to search queries input by users.”), and wherein the processor is configured to capture the text input via the API (Gupta, para. 0032 “The text string 400 may be a user input provided to one of the network services 106A-C, and in turn, provided to the language identification system 102, via an API, as part of a request to identify the language of the text string 400 for purposes of further processing.”).
Alsharif, Malcangio, and Gupta are considered to be analogous to the claimed invention as they are all in the same field of natural language processing. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Alsharif in view of Malcangio to incorporate the teachings of Gupta in order to specifically have the browser be associated with an Application Programming Interface (API), and to have the processor be configured to capture the text input via the API. Doing so would be beneficial, as APIs allow for improved integration of new applications with existing software systems, allowing for an increased development speed (NPL Amazon Web Services, “What is an API (Application Programming Interface)?”, pg. 2).
Regarding claim 6, Alsharif in view of Malcangio and Gupta discloses wherein the virtual computing session comprises at least one or a Web application and a Software as a Service (SaaS) application (Alsharif, para. 0025 “Such user interfaces may be associated with computing platforms, operating systems, applications, and/or services executing at or accessible from computing device 110 (e.g., electronic message applications, chat applications, Internet browser applications, mobile or desktop operating systems, social media applications, electronic games, and other types of applications).”).
Regarding claim 7, Alsharif in view of Malcangio and Gupta discloses wherein the processor is further configured to communicate the captured text to a language identification server (Gupta, para. 0015 “As discussed below, the language identification system 102 and network services 106A-C may be, or include, a machine such as a server or any other type of computing machine.”; para. 0018 “As shown, user generated content 200 (e.g., reviews, listings, and user messages) that includes text is received as input by the language identification system 102. The user generated content 200 may be provided to the language identification system 102 by one of the network services 106A-C.”), and to determine the captured text corresponds to the second language responsive to the language detection server (Alsharif discloses determination operation based on an identification of the language of the user input (see Alsharif, para. 0043, 0045); Gupta teaches carrying out language identification, usable for this determination step, via a language detection server: para. 0018 “The language identification system 102 analyzes the user generated content 200 to identify (e.g., through machine-learned prediction) a language of the text (e.g., English, Spanish, or French).”).
Alsharif, Malcangio, and Gupta are considered to be analogous to the claimed invention as they are all in the same field of natural language processing. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Alsharif in view of Malcangio to incorporate the teachings of Gupta in order to specifically communicate the captured text to a language detection server, and to determine whether the captured text corresponds to the second language responsive to the language detection server. Doing so would be beneficial, as allocating a server for the language detection allows for improved scalability.
Regarding claim 8, claim 8 is a method claim with limitations similar to computing device claim 1, and thus is rejected under similar rationale.
Regarding claim 9, claim 9 is rejected for analogous reasons to claim 2.
Regarding claim 10, claim 10 is rejected for analogous reasons to claim 3.
Regarding claim 11, claim 11 is rejected for analogous reasons to claim 4.
Regarding claim 13, claim 13 is rejected for analogous reasons to claim 6.
Regarding claim 14, claim 14 is rejected for analogous reasons to claim 7.
Regarding claim 15, claim 15 is a non-transitory computer-readable medium claim with limitations similar to computing device claim 1, and is thus rejected under similar rationale.
Additionally, Alsharif discloses A non-transitory computer-readable medium having computer-executable instructions for causing a computing device to perform steps comprising (para. 0126; para. 0131 “In this manner, computer-readable media generally may correspond to (1) tangible computer-readable storage media, which is non-transitory…”; para. 0060 “Storage components 248 in some examples include one or more non-transitory computer-readable storage mediums.”).
Regarding claim 16, claim 16 is rejected for analogous reasons to claim 2.
Regarding claim 17, claim 17 is rejected for analogous reasons to claim 3.
Regarding claim 18, claim 18 is rejected for analogous reasons to claim 4.
Regarding claim 20, claim 20 is rejected for analogous reasons to claim 7.
3. Claims 5, 12, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Alsharif in view of Malcangio and Gupta, and further in view of Hong et al. (US PGPUB No. 2011/0173172, hereinafter Hong).
Regarding claim 5, Alsharif in view of Malcangio and Gupta does not specifically disclose wherein the processor is further configured to run an Input Method Editor (IME), and to capture the text input to the browser from the IME.
Hong teaches wherein the processor is further configured to run an Input Method Editor (IME) (para. 0020 “In some implementations, the device 100 can include input method editor (IME) code 101 in a data store, such as the data store 106. The input method editor code 101 can include instructions that upon execution cause the processing device 102 to carry out input method editing functions. The input method editor code 101 can, for example, comprise interpreted instructions, such as script instructions, e.g., JavaScript or ECMAScript instructions, that can be executed in a web browser environment.”), and to capture the text input to the browser from the IME (para. 0023 “In some implementations, the input method editor instance 103 on the device 100 can receive one or more Pinyin composition inputs and convert the composition inputs into Hanzi characters. The input method editor instance 103 can, for example, use compositions of Pinyin syllables or characters received from keystrokes to represent the Hanzi characters. Each Pinyin syllable can, for example, correspond to one or more keystrokes in the Western-style keyboard.”).
Alsharif, Malcangio, Gupta, and Hong are considered to be analogous to the claimed invention as Alsharif, Malcangio, and Gupta are in the same field of natural language processing, and Hong is in the same field of user input text interfaces. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Alsharif in view of Malcangio and Gupta to incorporate the teachings of Hong in order to specifically capture text input using an input method editor. Doing so would be beneficial, as it allows for users to input text which is not easily represented on a standard keyboard, expanding functionality of the system to a wider variety of languages such as East Asian languages (NPL Microsoft, Input Method Editors (IME), 1st para.).
Regarding claim 12, claim 12 is rejected for analogous reasons to claim 5.
Regarding claim 19, claim 19 is rejected for analogous reasons to claim 5.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CODY DOUGLAS HUTCHESON whose telephone number is (703)756-1601. The examiner can normally be reached M-F 8:00AM-5:00PM EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Pierre-Louis Desir can be reached at (571)-272-7799. 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.
/CODY DOUGLAS HUTCHESON/Examiner, Art Unit 2659
/PIERRE LOUIS DESIR/Supervisory Patent Examiner, Art Unit 2659