DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-20 have been submitted for examination and are pending further prosecution by the United States Patent & Trademark Office.
Information Disclosure Statement
Cite numbers 1-2 under the section Non-Patent Literature Documents in the IDS filed on 12/17/24 have been crossed out and not considered as the respective citations require at least the year of publication or a full date of online retrieval. See MPEP 609.04(a). Applicant is advised that the date of any re-submission of any item of information contained in this information disclosure statement or the submission of any missing element(s) will be the date of submission for purposes of determining compliance with the requirements based on the time of filing the statement, including all certification requirements for statements under 37 CFR 1.97(e). See MPEP § 609.05(a).
Claim Rejections
Claims 1, 3-9, 11 and 13-19 are rejected under 35 U.S.C. 101.
Claims 2, 10, 12 and 20 are not rejected under 35 U.S.C. 101.
Claims 1, 3, 4, 11, 13 and 14 are rejected under 35 U.S.C. 102(a)(1).
Claims 2, 6-10, 12 and 16-20 are rejected under 35 USC § 103.
Claims 5 and 15 are not rejected under 35 USC § 103.
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, 3-9, 11 and 13-19 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Claim 1 recites a method for generating code of a microservice based on a business model. Under a broadest reasonable interpretation, claim 1 would fall under the category of mental processes as the claim features limitations performable as mental steps, with the assistance of pen & paper, but without additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea. An analysis of claim 1 according to the 2019 Revised Patent Subject Matter Eligibility test follows:
Step 1: Is the claim directed to a process, machine, manufacture or composition of matter?
Yes, claim 1 is directed to a method and, therefore, a process.
Step 2A Prong 1: Does the claim recite an Abstract Idea, Law of Nature, or Natural Phenomenon?
Yes, claim 1 recites an abstract idea as the following limitations are performable as mental processes with the assistance of pen & paper: receiving a business model that is of a microservice and that is based on a first configuration by the user - A user can receive a printed description of a business model of a microservice based on a user configuration; wherein the business model comprises first metadata of a plurality of business objects and second metadata of a relation object that identifies a relation between the plurality of business objects; and -- The description of the business model can include the names of business objects and types of dependencies between the business objects; generating code of the microservice based on the business model. -- The user can manually author source code of the microservice based upon the description of the business model.
Step 2A Prong 2: Does the Claim Recite Additional Elements That Integrate The Judicial Exception Into A Practical Application?
No. While claim 1 recites the additional elements of presenting a configuration interface to a user; receiving a business model that is of a microservice and that is based on a first configuration by the user via the configuration interface, use of a generic user interface for receiving an input amounts to mere instructions for implementing the abstract idea on a computer. Thus, the additional elements do not integrate the abstract idea into a practical application.
Step 2B: Does the Claim Recite Additional Elements That Amount To Significantly More Than The Judicial Exception?
No. While claim 1 recites the additional elements of presenting a configuration interface to a user; receiving a business model that is of a microservice and that is based on a first configuration by the user via the configuration interface, use of a generic user interface for receiving an input amounts to mere instructions for implementing the abstract idea on a computer. Thus, the additional elements do not amount to significantly more than the abstract idea.
Claim 11 is rejected for the same reasons given for analogous claim 1. While claim 1 also recites the additional elements of a computing device cluster, a memory configured to store instructions; and at least one processor coupled to the memory and configured to execute the instructions, these additional elements amount to using a computer as a tool to perform the abstract idea. Thus, these additional elements do not integrate the abstract idea into a practical application or amount to significantly more than the abstract idea.
Claims 3 and 13 are also directed to the abstract idea as the user can manually author source code consistent with one or more of the listed code types. The claims do not recite additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea as the claims lack additional element(s), per se.
Claims 4 and 14 are also directed to the abstract idea as the user can manually author source code consistent with the aggregating and generating limitations. The claims do not recite additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea as the claims lack additional element(s), per se.
Claims 5 and 15 are also directed to the abstract idea as the user can manually author source code consistent with the aggregating limitations. The claims do not recite additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea as the claims lack additional element(s), per se.
Claims 6 and 16 are also directed to the abstract idea as the user can manually author source code of an API and corresponding metadata. The claims do not recite additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea as the claims lack additional element(s), per se.
Claims 7 and 17 are also directed to the abstract idea as the user can manually obtain a code generation policy and author source code according to the policy constraints. While the claims recite the additional element of a configuration interface for receiving the policy, use of a generic user interface for receiving an input amounts to mere instructions for implementing the abstract idea on a computer. Thus, the additional element does not integrate the abstract idea into a practical application or amount to significantly more than the abstract idea.
Claims 8 and 18 are also directed to the abstract idea as the user can manually obtain a component extension policy and author source code of a listed extended component according to the policy constraints. While the claims recite the additional element of a configuration interface for receiving the policy, use of a generic user interface for receiving an input amounts to mere instructions for implementing the abstract idea on a computer. Thus, the additional element does not integrate the abstract idea into a practical application or amount to significantly more than the abstract idea.
Claims 9 and 19 are also directed to the abstract idea as the user can manually author a database model referencing a root table object and a sharding object. The claims do not recite additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea as the claims lack additional element(s), per se.
Claim Rejections - 35 USC § 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, 3, 4, 11, 13 and 14 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by KR 20210125742 A - hereinafter "Kim".
With respect to claim 1, Kim teaches,
A method comprising:
presenting a configuration interface to a user; - "The visual editor 110 may make it possible to view, modify, and/or delete all the results of configuring apps and services on one screen through a user interface (UI) design in consideration of user convenience." (page 7, paragraph 3)
receiving a business model that is of a microservice and that is based on a first configuration by the user via the configuration interface, wherein the business model comprises first metadata of a plurality of business objects - "FIGS. 8a to 8e are an exemplary diagram of a microservice configuration through a visual editor," (page 5, paragraph 9) "The visual editor 110 according to the present embodiment is implemented as SVG (Scalable Vector Graphic), so that service components (business objects) of microservices displayed in the main window 210 can be freely enlarged/reduced or moved/arranged." (page 7, paragraph 3) "The microservice configuration screen 200 includes a main window 210 in which service components (eg, apps, services, networks, etc.) to be included in the microservice are visually displayed." (page 7, paragraph 4) "On the right side of the main window 210 , menu items for selecting service components, networks, routing, settings, and APIs that can configure microservices are provided. For example, since the menu item is provided as an image such as an icon, it can be easily included as a service component in the main window 210 by a drag-and-drop method." (page 7, paragraph 6) "App information (first metadata) may include an app name, an instance, a memory, a disk, and the like." (page 7, paragraph 9)
and second metadata of a relation object that identifies a relation between the plurality of business objects; and - "Information (second metadata) on the routing object 350 may include a service name, a path, and the like." (page 8, paragraph 8) "By simply placing the service components (app object, service object) of the microservice by drag and drop, etc. through the main window 210, and setting the connection relationship (network object, routing object) between the service components, the configuration is performed." (page 8, paragraph 9)
generating code of the microservice based on the business model. - "After completion, the edited microservice can be saved by clicking the Save button in the menu at the top of the main window 210 . The process of creating and storing the microservice is shown in FIGS. 9 to 10D." (page 8, paragraph 9)
With respect to claim 11, Kim teaches,
A computing device cluster comprising: a memory configured to store instructions; and at least one processor coupled to the memory and configured to execute the instructions to cause the computing device cluster to: (page 11, paragraphs 4-5)
The remaining limitations are rejected using the mapping from analogous claim 1.
With respect to claims 3 and 13, Kim teaches,
wherein the code of the microservice comprises at least one of...code at a data persistence operation layer, - "In the present embodiment, service components included in the microservices-based app may include apps and services related to a frontend, a backend, a gateway, a registry server, and a setting server." (page 6, paragraph 7); wherein generating the code of the microservice based on the business model comprises generating the code at the data persistence operation layer based on...the first metadata or the second metadata, and - "App information (first metadata) may include an app name, an instance, a memory, a disk, and the like." (page 7, paragraph 9); wherein the code at the data persistence operation layer comprises interface code and query resource code. - "The backend app plays the role of implementing the format of data delivered from the frontend, database input/output, and various business processes as programming code." (page 6, paragraph 9)
With respect to claims 4 and 14, Kim teaches,
wherein the plurality of business objects comprise a first business object and a second business object, wherein the relation is an aggregation relation, - "By simply placing the service components (app object, service object) of the microservice by drag and drop, etc. through the main window 210, and setting the connection relationship (network object, routing object) between the service components, the configuration is performed." (page 8, paragraph 9)
aggregating the first business object and the second business object to obtain a data transfer object; and - "The registration of the network can be performed by the following simple editing method. Among the objects to be interconnected, place the mouse over the object corresponding to the source, hold down a specific key (for example, Shift) and drag the mouse over the object corresponding to the target. A network may be formed while an arrow (network object 340) is created between two corresponding objects." (page 8, paragraph 4)
generating query resource code for the data transfer object. - "When a location and a connection relationship between objects are established, a source code related to a microservice having a corresponding topology is automatically generated according to a storage request of a developer, and may be stored in the repository 120." (page 9, last 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 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.
Claims 2 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over KR 20210125742 A - hereinafter "Kim", in view of US 20170177664 A1 - hereinafter "Ma".
With respect to claims 2 and 12, Kim does not explicitly teach,
wherein generating the code of the microservice based on the business model comprises generating base module code and extension module code based on the business model, wherein the base module code is incapable of being modified by the user, wherein the extension module code is capable of being modified by the user, and wherein the base module code is separated from the extension module code.
However, in the analogous field of code generation, Ma teaches:
"[0039] In the example of FIG. 3, code generation context structure includes immutable data sections 1-n (generally 320) and mutable data sections 1-n (generally 322). Immutable data refers data that cannot be changed in the code generation context structure and at run-time of the query execution. In an embodiment, immutable data includes a virtual address of an operator, a child index of an operator, a parent index of an operator, a value indicating whether the operator is unique, and/or any combination thereof. Any combination of immutable data can be turned into one or more constants, such as in intermediate representation code. Mutable data refers to data that can be changed in the code generation context structure. In an embodiment, mutable data includes one or more code generation functions corresponding to an operator."
It would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to implement Kim with Ma's teachings because doing so would provide Kim's system with the ability to prevent degradation of code quality, increased development complexity, and increased maintenance burden, as suggested by Ma [0001].
Claims 6 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over KR 20210125742 A - hereinafter "Kim", in view of US 20160019033 A1 - hereinafter "Ebner".
With respect to claims 6 and 16, Kim does not explicitly teach,
wherein the business model further comprises third metadata of an extended application programming interface (API), and wherein the method further comprises generating code of the extended API based on the third metadata.
However, in the analogous field of code generation, Ebner teaches:
"[0048] In some embodiments, a static API is extended by expressive APIs (i.e., models) that are automatically created from the model definitions."
It would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to implement Kim with Ebner teachings because doing so would provide Kim's system with the ability to reduce the time and effort required to develop a software program, as suggested by Ebner [0031].
Claims 7, 8, 17 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over KR 20210125742 A - hereinafter "Kim", in view of WO 2021217655 A1 - hereinafter "Gu".
With respect to claims 7 and 17, Kim teaches,
wherein generating the code of the microservice based on the business model comprises generating the code of the microservice based on the business model - "After completion, the edited microservice can be saved by clicking the Save button in the menu at the top of the main window 210 . The process of creating and storing the microservice is shown in FIGS. 9 to 10D." (page 8, paragraph 9)
Kim does not explicitly teach the following limitations which, in the analogous field of graphical programming are taught by Gu as follows:
receiving a code generation policy that is based on a second configuration by the user via the configuration interface, - "Step S303: Obtain coordination rule configuration information." (page 6, paragraph 2) "Figures 8-9 exemplarily illustrate a schematic diagram of a user interface corresponding to the method for obtaining coordination rule configuration information." (page 7, paragraph 3); wherein generating the code of the microservice based on the business model comprises generating the code of the microservice - "Step S305: Generate corresponding one or more cooperative control microservices 522 according to the coordination rule configuration information, where each cooperative control microservice 522 includes a cooperative node or a plurality of interconnected cooperative nodes, and each cooperative node is associated with a microservice." (page 6, paragraph 3)
It would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to implement Kim with Gu's teachings because doing so would provide Kim's system with the ability to facilitate the development of software using graphical means, as suggested by Gu (page 7, paragraph 2)
With respect to claims 8 and 18, Kim teaches,
wherein generating the code of the microservice based on the business model comprises generating code of an extended component of the microservice based on the business model - "By simply placing the service components (app object, service object) of the microservice by drag and drop, etc. through the main window 210, and setting the connection relationship (network object, routing object) between the service components, the configuration is performed. After completion, the edited microservice can be saved by clicking the Save button in the menu at the top of the main window 210 . The process of creating and storing the microservice is shown in FIGS. 9 to 10D." (page 8, paragraph 9)
and wherein the extended component comprises one or more of...a probe component. - "By simply placing the service components (app object, service object) of the microservice by drag and drop, etc. through the main window 210, and setting the connection relationship (network object, routing object) between the service components, the configuration is performed." (page 8, paragraph 9)
Kim does not explicitly teach the following limitations which, in the analogous field of graphical programming are taught by Gu as follows:
receiving a component extension policy that is based on a second configuration by the user via the configuration interface, - "Step S303: Obtain coordination rule configuration information." (page 6, paragraph 2) "Figures 8-9 exemplarily illustrate a schematic diagram of a user interface corresponding to the method for obtaining coordination rule configuration information." (page 7, paragraph 3); wherein generating the code of the microservice based on the business model comprises generating code of an extended component of the microservice - "Step S305: Generate corresponding one or more cooperative control microservices 522 according to the coordination rule configuration information, where each cooperative control microservice 522 includes a cooperative node or a plurality of interconnected cooperative nodes, and each cooperative node is associated with a microservice." (page 6, paragraph 3)
It would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to implement Kim with Gu's teachings because doing so would provide Kim's system with the ability to facilitate the development of software using graphical means, as suggested by Gu (page 7, paragraph 2)
Claims 9 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over KR 20210125742 A - hereinafter "Kim", in view of US 11496588 B2 - hereinafter "Tsang".
With respect to claims 9 and 19, Kim does not explicitly teach,
creating a database model, wherein the database model comprises a root table object and a sharding object.
However, in the analogous field of databases, Tsang teaches:
"Based (at least in part) on the determination that the API call is at least one of a request to create, retrieve, or delete a database resource, instructions 458 may determine, at clustering layer 450, a location of the database resource based (at least in part) on the database resource and/or API call." (col. 10:33-38)
"Based (at least in part) on a determination that the API call is a request to create a database resource, clustering layer 450 may assign an identifier to the database resource that maps to a particular database shard (or shards)." (col. 10:53-57)
"In some examples, an API call to retrieve or delete a database resource may not include a partitioning key value or hashing key, but may include another attribute that clustering layer 450 can map to a database shard via a table, a list, a key, or the like." (col. 11:8-12)
It would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to implement Kim with Tsang's teachings because doing so would provide Kim's system with the ability to promote horizontal scaling and sharding of a database while minimizing modifications to database layers, as suggested by Tsang (col. 2:32-39).
Claims 10 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over KR 20210125742 A - hereinafter "Kim", in view of US 11947495 B1 - hereinafter "Emelyanov".
With respect to claims 10 and 20, Kim does not explicitly teach,
wherein the code of the microservice comprises a plurality of layers of code, wherein the method further comprises generating a code directory of the microservice, wherein the code directory comprises a plurality of subdirectories, and wherein the plurality of subdirectories is in a one-to-one correspondence with the plurality of layers of code.
However, in the analogous field of microservices, Emelyanov teaches:
"In step 630, the method starts creation of dependency layers for MSs. In step 640, the method creates, for a given MS, a layer with a directory. In step 650, for each dependency of the given MS, the method creates a subdirectory in the directory of the layer." (col. 7:16-21)
It would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to implement Kim with Emelyanov's teachings because doing so would provide Kim's system with the ability to create microservices more efficiently, as suggested by Emelyanov (col. 1:36-40).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. WO 2022095412 A1 discloses a microservice development method, apparatus, storage medium, and electronic device.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GEOFFREY R ST LEGER whose telephone number is (571)270-7720. The examiner can normally be reached M-F (IFP) ~9:00-5:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hyung S Sough can be reached at 571-272-6799. 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.
/GEOFFREY R ST LEGER/Primary Examiner, Art Unit 2192