DETAILED ACTION
Claims 1 – 20 are pending.
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 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1 – 20 are rejected under 35 U.S.C. 101 because this claimed invention is directed to a judicial exception without significantly more.
Independent claims 1 and 11 provide teaching for identifying a first body of programming code that’s associated with a hardware or software source attribute, associating the respective portions of the first body of programming code with tokens, configuring model input data that comprises the plurality of tokens for the training of a code language processing model that is customised in accordance with the hardware or software source attributes, and then using the model input data to train a code language processing model to be able to analyse either a first or second body of programming code in order to produce a customised and trained code language processing model in accordance with the hardware or software source attributes.
Nothing in the claims preclude the claimed technique from being performed in the human mind. The entire process involves data gathering through identifying the first or second body or programming codes, data association through associating a plurality of tokens with the identified portions of code as well as the configuring of model input data for the training of a code language processing model, and then data transformation by training the code language processing model. A human may observe a programming code that is associated with hardware or software source attributes, break it up into bite-size chunks, configure those chunks to understand how the programming is supposed to function at each of the sections of the tokens, and then learn, from the entire obtained data, how to go about writing further codes or further sections of the code that would fit the hardware or software source attributes. This can be explained as a human learning how to write pieces of code, based obtained chunks of code. The claims hereby recite a mental process.
This judicial exception is not integrated into a practical application as the claims simply teach of data gathering, data association and model training. While the claim makes mention of a non-transitory computer-readable medium and a processor, these are recited in generic terms.
The invention is not tied to any particular defining structure and simply provides instructions to apply the judicial exception. The technique can be performed by a generic computer which would be presented as a tool to implement the abstract idea (classifiable as automation of the mental process steps). The Specification in [0122] provides several computer devices suitable to read upon the limitations of this claim. The computer parts — the non-transitory computer-readable medium and the processor, are recited at a high level of generality that they amount to no more than mere instructions to apply the exception using a generic computer. The code language processing model that is being trained would qualify as a particularly trained machine learning model able to make decisions to generate programming codes. This is again, akin to a human who learns how to generate programming codes. The claims do not include additional elements that are sufficient to amount them to significantly more than the judicial exception because the invention is not tied to a practical application.
The claims provide techniques that amount to no more than mere instructions that apply the judicial exception which can be performed by a generic device. Mere instructions to apply an exception using a generic device cannot provide an inventive concept. Claims 1 and 11 are not eligible.
Claims 2 and 12 provide that the hardware or software attributes comprise at least one of a particular hardware configuration, a particular operating system, a particular programming language, a particular software project, or a particular operating entity. The gathering of such information here appear to be pre-solution activity, which a human may gather as an initial step. This does not integrate any practical application nor does it provide any additional element sufficient to amount to more than the mentioned judicial exception.
Claims 3 and 13 provide that the first and second bodies of programming code are associated with a common hardware configuration. This also serves as pre-solution activity whereby a human can read through to make sure that all of the programming codes are associated with the data of a common hardware configuration. This does not integrate any practical application nor does it provide any additional element sufficient to amount to more than the mentioned judicial exception.
Claims 4 and 14 provide that the common hardware configuration comprises a common device or a common system. A human may obtain the hardware configuration that happens to be related to a common device or a common system. This does not integrate any practical application nor does it provide any additional element sufficient to amount to more than the mentioned judicial exception.
Claims 5 and 15 provide that the first and second bodies of programming code are associated with a common operating system. This also serves as pre-solution activity whereby a human can obtain portions of code from different sections of an operating system related code. This does not integrate any practical application nor does it provide any additional element sufficient to amount to more than the mentioned judicial exception.
Claims 6 and 16 provide that the first and second bodies of programming code are associated with a common programming language system. This also serves as pre-solution activity whereby a human can obtain portions of code where a single programming language was used for the entire code. This does not integrate any practical application nor does it provide any additional element sufficient to amount to more than the mentioned judicial exception.
Claims 7 and 17 provide that the first and second bodies of programming code are associated with a common software project. This also serves as pre-solution activity whereby a human can obtain portions of code whereby the entire code is related to a single software project. This does not integrate any practical application nor does it provide any additional element sufficient to amount to more than the mentioned judicial exception.
Claims 8 and 18 provide that the first and second bodies of programming code are associated with a common operating entity. This also serves as pre-solution activity whereby a human can obtain portions of code whereby the entire code might have been written by, or is being written to be presented to a particular entity, such as a software developer. This does not integrate any practical application nor does it provide any additional element sufficient to amount to more than the mentioned judicial exception.
Claims 9 and 19 provide that the operations further comprise analysing the part of the first body of programming code using the code language processing model. A human, making use of coding knowledge, may analyse a first body of programming code. This does not integrate any practical application nor does it provide any additional element sufficient to amount to more than the mentioned judicial exception.
Claims 10 and 20 provide that the operations further comprise analysing the part of the second body of programming code using the code language processing model. A human, making use of coding knowledge, may analyse a second body of programming code. This does not integrate any practical application nor does it provide any additional element sufficient to amount to more than the mentioned judicial exception.
Claim Rejections - 35 USC § 102
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.
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)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1, 2, 6, 7, 9, 10, 11, 12, 16 17, 18, 19 and 20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Wang et al. (US 2023/0419036 A1: hereafter — Wang.
For claim 1, Wang discloses a non-transitory computer-readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for creating and using tokens representing portions of programming code (Wang: [0053] — training of prediction models for which tokens of a programming language (code) are applied to the training; [0117] — the training of a machine learning model that is applied to generating code in a programming language, making use of given portions of code; [0029] — the use of a microprocessor; [0120] — a processor and the use of computer-readable storage medium coupled to the processors that store program instructions), the operations comprising:
identifying a first body of programming code associated with a hardware or software source attribute (Wang: [0117] — taking a portion of code to be used for the generation of further code, such that code is applied to generate code in a target programming language (indicating the code is associated with software attributes); [0030] — code development for code to be written for hardware or software applications (indicating the association of the code to hardware or software source attributes); [0071] — converting evaluation data sets (indicating the obtaining of evaluation data sets as the body of programming); [0077] — different portions of items in an evaluation data set (portions of the programming code));
associating a plurality of tokens with respective portions of the first body of programming code (Wang: [0053] — a programming language token prediction model that m; [0060] — performing token predictions such that the generated tokens are code suggestions (to show the association of tokens with the portions of programming code));
configuring model input data for training a code language processing model customized in accordance with the hardware or software source attribute, the model input data comprising the plurality of tokens (Wang: [0117] — taking a portion of code to be used for the generation of further code, such that code is applied to generate code in a target programming language (indicating the code is associated with software attributes, leading to the training of a machine learning model that is applied to generating code in a programming language; [0053] — training of prediction models for which tokens of a programming language (code) are applied to the training); and
training, using the model input data, the code language processing model to analyze at least a part of the first body of programming code or a part of a second body of programming code, thus producing a customized and trained code language processing model in accordance with the hardware or software source attribute (Wang: [0117] — the training of a machine learning model that is applied to generating code in a programming language, making use of given portions of code; [0023] — the code suggestion development for making programming language suggestion models; [0034] — providing real-time analysis of code; [0054] — code development service that supports custom programming language models and the training may use these model; [0030] — code development for code to be written for hardware or software applications (indicating the association of the code to hardware or software source attributes).
For claim 2, claim 1 is incorporated and Wang discloses the non-transitory computer-readable medium, wherein the hardware or software source attribute comprises at least one of: a particular hardware configuration, a particular operating system, a particular programming language, a particular software project, or a particular operating entity (Wang: [0053] — having particular models for particular programming languages).
For claim 6, claim 1 is incorporated and Wang discloses the non-transitory computer-readable medium, wherein the first and second bodies of programming code are associated with a common programming language (Wang: [0118] — the different portions of code can be in a source programming language (association with a common programming language)).
For claim 7, claim 1 is incorporated and Wang discloses the non-transitory computer-readable medium, wherein the first and second bodies of programming code are associated with a common software project (Wang: [0053] — programming language tokens being trained on certain context information such as belonging to the same project).
For claim 8, claim 1 is incorporated and Wang discloses the non-transitory computer-readable medium, wherein the first and second bodies of programming code are associated with a common operation entity (Wang: [0020] — code suggestion such that the code is generated to be recommended to a developer (the developer being an operation entity)).
For claim 9, claim 1 is incorporated and Wang discloses the non-transitory computer-readable medium, wherein the operations further comprise analyzing, using the code language processing model, the at least a part of the first body of programming code (Wang: [0034] — providing a real-time analysis of the code).
For claim 10, claim 1 is incorporated and Wang discloses the non-transitory computer-readable medium, wherein the operations further comprise analyzing, using the code language processing model, the at least a part of the second body of programming code (Wang: [0034] — providing a real-time analysis of the code).
As for claim 11, method claim 11 and computer-readable medium claim 1 are related as method detailing procedures taken to implement the available computer-programmable instructions. Accordingly, claim 11 is similarly rejected under the same rationale as applied above with respect to computer-readable medium claim 1.
As for claim 12, method claim 12 and computer-readable medium claim 2 are related as method detailing procedures taken to implement the available computer-programmable instructions. Accordingly, claim 12 is similarly rejected under the same rationale as applied above with respect to computer-readable medium claim 2.
As for claim 16, method claim 16 and computer-readable medium claim 6 are related as method detailing procedures taken to implement the available computer-programmable instructions. Accordingly, claim 16 is similarly rejected under the same rationale as applied above with respect to computer-readable medium claim 6.
As for claim 17, method claim 17 and computer-readable medium claim 7 are related as method detailing procedures taken to implement the available computer-programmable instructions. Accordingly, claim 17 is similarly rejected under the same rationale as applied above with respect to computer-readable medium claim 7.
As for claim 18, method claim 18 and computer-readable medium claim 8 are related as method detailing procedures taken to implement the available computer-programmable instructions. Accordingly, claim 18 is similarly rejected under the same rationale as applied above with respect to computer-readable medium claim 8.
As for claim 19, method claim 19 and computer-readable medium claim 9 are related as method detailing procedures taken to implement the available computer-programmable instructions. Accordingly, claim 19 is similarly rejected under the same rationale as applied above with respect to computer-readable medium claim 9.
As for claim 20, method claim 20 and computer-readable medium claim 10 are related as method detailing procedures taken to implement the available computer-programmable instructions. Accordingly, claim 20 is similarly rejected under the same rationale as applied above with respect to computer-readable medium claim 1.
Claim Rejections - 35 USC § 103
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.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 3, 4, 5, 13, 14 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Wang (US 2023/0419036 A1), further in view of CAPELLMAN (US 2022/0121431 A1).
For claim 3, claim 1 is incorporated but the reference of Wang fails to disclose the limitation of this claim, for which the reference of Capellman is now introduced to teach as the non-transitory computer-readable medium, wherein the first and second bodies of programming code are associated with a common hardware configuration (Capellman: [0035] — a code generation training model whereby the target platform for the code has a particular hardware configuration).
The reference of Wang provides teaching for the identification of bodies of programming codes but differs from the claimed invention in that the claimed invention further provides that the bodies of code are associated with a common hardware configuration. This isn’t new to the art as the reference of Capellman is seen to teach above.
Hence, the prior art includes each element claimed, although not necessarily in a single prior art reference, with the only difference between the claimed invention and the prior art being the lack of actual combination of the elements in a single prior art reference.
In combination, the reference of Capellman performs the same function, as it does separately of ensuring that the collection of codes generated from a training process are associated with a particular hardware configuration. The reference of Wang performs the same function as it does separately of identifying bodies of programming code.
The results of the combination would have been predictable and resulted in modifying the invention according to the reference of Wang to include the provision of ensuring that the collection of codes generated from a training process are associated with a particular hardware configuration as disclosed by Capellman, thereby allowing the predictable result of ensuring uniformity in the type of code that’s being developed, such that the code would properly address whatever hardware it is being directed to, without causing any conflict.
For claim 4, claim 3 is incorporated and the reference of Wang, and further in view of Capellman discloses the non-transitory computer-readable medium, wherein the common hardware configuration comprises a common device or a common system (Jain: [0079] — the training data includes execution data that is related to an untethered device).
For claim 5, claim 1 is incorporated and the reference of Wang, and further in view of Capellman discloses the non-transitory computer-readable medium, wherein the first and second bodies of programming code are associated with a common operating system (Capellman: [0035] — a code generation training model whereby the target platform for the code has a particular operating system).
The reference of Wang provides teaching for the identification of bodies of programming codes but differs from the claimed invention in that the claimed invention further provides that the bodies of code are associated with a common operating system. This isn’t new to the art as the reference of Capellman is seen to teach above.
Hence, the prior art includes each element claimed, although not necessarily in a single prior art reference, with the only difference between the claimed invention and the prior art being the lack of actual combination of the elements in a single prior art reference.
In combination, the reference of Capellman performs the same function, as it does separately of ensuring that the collection of codes generated from a training process are associated with a particular operating system. The reference of Wang performs the same function as it does separately of identifying bodies of programming code.
The results of the combination would have been predictable and resulted in modifying the invention according to the combination of Jain in view of Decrop further in view of Wang to include the provision of ensuring that the collection of codes generated from a training process are associated with a particular operating system as disclosed by Capellman, thereby allowing the predictable result of ensuring uniformity in the type of code that’s being developed, such that the code would properly address whatever operating system it is being directed to, without causing any conflict.
As for claim 13, method claim 13 and computer-readable medium claim 3 are related as method detailing procedures taken to implement the available computer-programmable instructions. Accordingly, claim 13 is similarly rejected under the same rationale as applied above with respect to computer-readable medium claim 3.
As for claim 14, method claim 14 and computer-readable medium claim 4 are related as method detailing procedures taken to implement the available computer-programmable instructions. Accordingly, claim 14 is similarly rejected under the same rationale as applied above with respect to computer-readable medium claim 4.
As for claim 15, method claim 15 and computer-readable medium claim 5 are related as method detailing procedures taken to implement the available computer-programmable instructions. Accordingly, claim 15 is similarly rejected under the same rationale as applied above with respect to computer-readable medium claim 5.
Conclusion
The prior art made of record and not relied upon is considered pertinent to Applicant’s disclosure.
See PTO-892.
Any inquiry concerning this communication or earlier communications from the Examiner should be directed to OLUWADAMILOLA M. OGUNBIYI whose telephone number is (571)272-4708. The Examiner can normally be reached Monday – Thursday (8:00 AM – 5:30 PM Eastern Standard Time).
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, PARAS D. SHAH can be reached at (571) 270-1650. 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.
/OLUWADAMILOLA M OGUNBIYI/Examiner, Art Unit 2653
/JESSE S PULLIAS/Primary Examiner, Art Unit 2655 12/19/25