DETAILED ACTION
Claims 1-20 are pending in the application.
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 .
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Examiner’s Notes
The Examiner cites particular sections in the references as applied to the claims below for the convenience of the applicant(s). Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant(s) fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner.
Specification
The use of the terms JAVASCRIPT, MICROSOFT, AZURE, AMAZON, and LINUX, which are trade names or marks used in commerce, has been noted in this application. The terms should be accompanied by the generic terminology; furthermore the terms should be capitalized wherever they appear or, where appropriate, include a proper symbol indicating use in commerce such as ™, SM , or ® following the terms.
Although the use of trade names and marks used in commerce (i.e., trademarks, service marks, certification marks, and collective marks) are permissible in patent applications, the proprietary nature of the marks should be respected and every effort made to prevent their use in any manner which might adversely affect their validity as commercial marks.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are:
“at least one processing given device being configured to implement” in claim 9.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
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 as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention 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 1, 6-9, 14, 15, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Vasiltschenko et al. (US 2018/0018302 A1; hereinafter Vasiltschenko) in view of Tiwari et al. (US 2022/0360505 A1; hereinafter Tiwari).
With respect to claim 1, Vasiltschenko teaches: A method, comprising:
obtaining, by a given microservice (see e.g. Vasiltschenko, Fig. 5: “STTS Service 202”; and paragraph 37: “STTS service 202 can be implemented as a service (e.g., microservice)”)… of an application (see e.g. Vasiltschenko, Fig. 5: “Application 415”; paragraph 37: “STTS service 202 can be implemented as a service (e.g., microservice) to be utilized at runtime by user interface frameworks or user-interface driven applications”; and paragraphs 51-53), a message (see e.g. Vasiltschenko, paragraph 57: “communicate inputs for text reduction processing to the STTS service 202 at server 555 over the network(s) 550”) to be provided to a client device (see e.g. Vasiltschenko, Fig. 5: “Client System 551”; paragraph 37: “text strings for display within the display elements of a user interface”; and paragraph 58: “output one or more short forms of the text string(s) that fit within their corresponding UI display elements or screen area. The short forms of the text string(s) can then be communicated back to the application 415 and/or UI framework 416 at the client system 551”) using an application programming interface (see e.g. Vasiltschenko, Fig. 5: “Web Service API 562”; and paragraph 57: “application 415 and/or UI framework 416 can communicate inputs for text reduction processing to the STTS service 202 at server 555 over the network(s) 550 via the communications interface 558 and web service API 562”) of the given microservice (see e.g. Vasiltschenko, paragraph 54: “web service application programming interface (“API”) for the STTS service 202”), wherein the message comprises at least one text portion (see e.g. Vasiltschenko, paragraph 57: “input text strings… communicate inputs for text reduction processing to the STTS) having at least one respective identifier (see e.g. Vasiltschenko, paragraph 59: “identify a set of short forms for the input text strings”), wherein the at least one text portion is in a first language (see e.g. Vasiltschenko, paragraph 58: “inputs for smart text reduction processing may include… the language of the text string(s)”);
obtaining, by the given microservice, using the at least one respective identifier (see e.g. paragraph 126: “identify one or more short forms of the translated text string”; and Fig. 9A, step 901), a translation of the at least one text portion (see e.g. Vasiltschenko, paragraph 64: “translate text strings”), maintained by the given microservice (see e.g. Vasiltschenko, paragraph 64: “STTS service 202 in the illustrated embodiment includes a translation engine 568”), in a second language (see e.g. Vasiltschenko, paragraph 64: “translation engine 568 can be used to translate text strings in UI display elements into one or more different languages. The smart text reduction techniques described in this disclosure may then be applied to the translations of the text strings as needed”; and paragraph 126: “translated into a different language and the smart text reduction algorithm may have been executed on the translated text string to identify one or more short forms of the translated text string”) associated with the client device (see e.g. Vasiltschenko, paragraph 126: “text string to be rendered in the display element of the user interface may have been translated into a different language and the smart text reduction algorithm may have been executed on the translated text string to identify one or more short forms of the translated text string that fit within the available space of the display element”; and paragraph 58: “short forms of the text string(s) can then be communicated back to the application 415 and/or UI framework 416 at the client system 551”); and
presenting, by the given microservice, the message, with the translation of the at least one text portion, to the client device (see e.g. Vasiltschenko, paragraph 58: “short forms of the text string(s) can then be communicated back to the application 415 and/or UI framework 416 at the client system 551 for display in graphical interface 552”; and paragraph 125: “short forms of the text string(s) can then be communicated back to the application 415 and/or UI framework 416 at the client system 551 for display in graphical interface 552”) using the application programming interface of the given microservice (see e.g. Vasiltschenko, paragraph 152: “applications 1220 and/or other components within the layers may invoke API calls 1224 through the software stack and receive responses, returned values, and so forth, illustrated as messages 1226, in response to the API calls 1224”);
wherein the method is performed by at least one processing device (see e.g. Vasiltschenko, Fig. 11: “1100”; and paragraph 135: “FIG. 11 depicts an example overview block diagram of a data processing system upon which the embodiments described in this disclosure may be implemented”) comprising a processor (see e.g. Vasiltschenko, Fig. 11: “Processor(s) 1101”) coupled to a memory (see e.g. Vasiltschenko, Fig. 11: “Memory System 1102”; paragraph 136: “Computer system 1110 also includes a memory system 1102 coupled with the one or more processors 1101 via the interconnect bus 1105”).
Vasiltschenko does not but Tiwari teaches:
of a plurality of microservices (see e.g. Tiwari, paragraph 25: “microservices (also known as microservices architecture) refers to an architectural approach in which a single application is composed of suites of loosely coupled and independently deployable smaller components, or services”; and Fig. 2, 6)
Vasiltschenko and Tiwari are analogous art because they are in the same field of endeavor: providing language translation services via a microservice for applications. Therefore, it would have been obvious to one with ordinary skill in the art before the effective filing date of the claimed invention to modify Vasiltschenko with the teachings of Tiwari. The motivation/suggestion would be to increase the number of available service providers; thus improving the overall service experience of the users.
With respect to claim 6, Vasiltschenko as modified teaches: The method of claim 1, wherein the translation of the at least one text portion employs a formatting designated for the client device (see e.g. Vasiltschenko, paragraph 58: “text string(s) that are too long to fit within their corresponding UI display elements, the language of the text string(s), and the amount of available space within the display area of the corresponding UI display elements. The STTS service 202 can receive these inputs from the client system application 415 and/or UI framework 416 and execute a smart text reduction algorithm to perform one or more text reduction processes on the inputs, and output one or more short forms of the text string(s) that fit within their corresponding UI display elements or screen area”).
With respect to claim 7, Vasiltschenko as modified teaches: The method of claim 1, wherein the application executes in one or more of a public cloud (see e.g. Vasiltschenko, paragraph 65: “networks 540 and 555 may be implemented as any type of public or private cloud network”; and Fig. 5), a private cloud (see e.g. Vasiltschenko, paragraph 65: “networks 540 and 555 may be implemented as any type of public or private cloud network”; and Fig. 5), and at a location of an organization (see e.g. paragraph 100: “using the text tools workspace in the design time user interface 700 is that abbreviations and shortening text strings may require approval from a manager in an organization (e.g., a knowledge manager, project manager, usability expert or customer, etc.)”; and paragraph 148: “the processors or processor-implemented modules may be located in a single geographic location (e.g.… an office environment”).
With respect to claim 8, Vasiltschenko as modified teaches: The method of claim 1, wherein a translation of a given text portion of the application is reused across (see e.g. Vasiltschenko, paragraph 53: “the web service 202B may be used for the linguistic pre-analysis phase of the process and the text reduction algorithm may be executed by the runtime component 202A. This option may be the most practical because the web service 202B only needs to be called to establish the linguistic pre-analysis, which can then be re-used over and over again”)
Vasiltschenko does not but Tiwari teaches:
the plurality of microservices (see e.g. Tiwari, paragraph 25: “microservices (also known as microservices architecture) refers to an architectural approach in which a single application is composed of suites of loosely coupled and independently deployable smaller components, or services”; and Fig. 2, 6).
Vasiltschenko and Tiwari are analogous art because they are in the same field of endeavor: providing language translation services via a microservice for applications. Therefore, it would have been obvious to one with ordinary skill in the art before the effective filing date of the claimed invention to modify Vasiltschenko with the teachings of Tiwari. The motivation/suggestion would be to increase the number of available service providers; thus improving the overall service experience of the users.
With respect to claims 9 and 14: Claims 9 and 14 are directed to an apparatus comprising at least one processing given device comprising a processor coupled to a memory implementing functional steps corresponding to the method performed by the at least one processing device comprising a processor coupled to a memory as recited in claims 1 and 8, respectively; please see the rejections directed to claims 1 and 8 above which also cover the limitations recited in claims 9 and 14.
With respect to claims 15 and 20: Claims 15 and 20 are directed to a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing given device causes the at least one processing given device to perform functional steps corresponding to the method performed by the at least one processing device as recited in claims 1 and 8, respectively; please see the rejections directed to claims 1 and 8 above which also cover the limitations recited in claims 15 and 20. Note that, Vasiltschenko also discloses a computer-readable medium storing computer-readable code to implement the method disclosed in claims 1 and 8 (see e.g. Vasiltschenko, paragraph 139).
Claims 2-4, 10-12, and 16-18 are rejected under 35 U.S.C. 103 as being unpatentable over Vasiltschenko in view of Tiwari as applied to claims 1, 9, and 15 above, and further in view of Lerum et al. (US 2013/0226555 A1; hereinafter Lerum).
With respect to claim 2, Vasiltschenko as modified teaches: The method of claim 1,
Vasiltschenko does not but Lerum teaches:
wherein the application is written in the first language using a designated programming language (see e.g. Lerum, paragraph 15: “Multilingual build integration for compiled applications is described in which support for localization of compiled programming languages”), and wherein the application is developed using continuous integration aggregation (see e.g. Lerum, paragraph 15: “Localizations integrate with application builds in a development environment so that updates are synchronized with project resources for multiple languages”) to (i) detect changes to one or more localized files of the application (see e.g. Lerum, paragraph 15: “updates are synchronized with project resources for multiple languages. This involves producing target translation files (e.g., localization files) for one or more selected languages by parsing and interpreting source files”); (ii) transform the one or more changed localized files from the designated programming language of the application to a file format (see e.g. Lerum, paragraph 15: “Localization files in the project that have been updated for a build may be exposed in various ways for translation via the system, a translation service, or other translation source. Translated localization files are converted to create dynamic resource files in a format for the particular programming language”); and (iii) store the one or more changed localized files in the file format in a shared storage for translation by one or more translation organizations (see e.g. Lerum, paragraph 15: “Translated localization files are converted to create dynamic resource files in a format for the particular programming language that are then compiled as part of the build process into language specific resource files for the project. Compiled language specific resource files for multiple languages may then be packaged together for distribution in accordance with a publishing model for the particular programming language”).
Vasiltschenko and Lerum are analogous art because they are in the same field of endeavor: providing language translation services for applications. Therefore, it would have been obvious to one with ordinary skill in the art before the effective filing date of the claimed invention to modify Vasiltschenko with the teachings of Lerum. The motivation/suggestion would be to improve the collaborative application development process (see e.g. Lerum, paragraph 3, 15).
With respect to claim 3, Vasiltschenko as modified teaches: The method of claim 2,
Vasiltschenko does not but Lerum teaches:
wherein the one or more translated localized files are stored in the shared storage as language packages (see e.g. Lerum, paragraph 15: “Compiled language specific resource files for multiple languages may then be packaged together for distribution in accordance with a publishing model for the particular programming language”).
Vasiltschenko and Lerum are analogous art because they are in the same field of endeavor: providing language translation services for applications. Therefore, it would have been obvious to one with ordinary skill in the art before the effective filing date of the claimed invention to modify Vasiltschenko with the teachings of Lerum. The motivation/suggestion would be to improve the collaborative application development process (see e.g. Lerum, paragraph 3, 15).
With respect to claim 4, Vasiltschenko as modified teaches: The method of claim 3,
Vasiltschenko does not but Lerum teaches:
wherein, during an installation of the application, the language packages associated with the given microservice are provided to the given microservice for storage in a data store associated with the given microservice (see e.g. Lemur, paragraph 15: “ Multilingual build integration for compiled applications… Compiled language specific resource files for multiple languages may then be packaged together for distribution”; paragraph 51: “the multilingual resource file may be published with a completed version of the application to enable multilingual deployment and use”; paragraphs 60, 81; and Fig. 6).
Vasiltschenko and Lerum are analogous art because they are in the same field of endeavor: providing language translation services for applications. Therefore, it would have been obvious to one with ordinary skill in the art before the effective filing date of the claimed invention to modify Vasiltschenko with the teachings of Lerum. The motivation/suggestion would be to improve the collaborative application development process (see e.g. Lerum, paragraph 3, 15).
With respect to claims 10-12: Claims 2-4 are directed to an apparatus comprising at least one processing given device comprising a processor coupled to a memory implementing functional steps corresponding to the method performed by the at least one processing device comprising a processor coupled to a memory as recited in claims 2-4, respectively; please see the rejections directed to claims 2-4 above which also cover the limitations recited in claims 10-12.
With respect to claims 16-18: Claims 16-18 are directed to a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing given device causes the at least one processing given device to perform functional steps corresponding to the method performed by the at least one processing device as recited in claims 2-4, respectively; please see the rejections directed to claims 2-4 above which also cover the limitations recited in claims 16-18.
Allowable Subject Matter
Claims 5, 13, and 19 objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The following is a statement of reasons for the indication of allowable subject matter:
The prior art references do not explicitly disclose updating an application during runtime (i.e. during execution of the application) with the application’s changed localized files in a file format transformed from a designated programming language of the application as recited in claims 5, 13, and 19.
CONCLUSION
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Makhija et al. (US 2023/0136289 A1) discloses a localization process for adapting software for a specific region or language by translating text and adding locale-specific components within a microservice architecture (see paragraphs 108, 121).
Pethe (US 2022/0067024 A1) discloses a translation API that identifies a microservice for a received command based on database type associated with the command (see paragraph 13).
Wangde et al. (US 2022/0291973 A1) discloses providing a translation service utilized by microservices to communicate with particular endpoints (see paragraphs 39-40).
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Umut Onat whose telephone number is (571)270-1735. The examiner can normally be reached M-Th 9:00-7:30.
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, Kevin L Young can be reached at (571) 270-3180. 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.
/UMUT ONAT/Primary Examiner, Art Unit 2194