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 .
Specification
The disclosure is objected to because of the following informalities:
Par. [0056] recites:
User device 1610 may comprise a local computing system operated by a user to access functionality of a user application executed by application server 1620.
It is believed this should read:
User device 1620 may comprise a local computing system operated by a user to access functionality of a user application executed by application server 1610”.
Appropriate correction is required.
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.
Claim(s) 1-4, 7-10 and 13-16 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2023/0094887 to Sridhara et al. (Sridhara) in view of US 2023/0168887 to Tamilselvam et al. (Tamilselvam).
Claims 1, 7 and 13: Sridhara discloses a system comprising:
memory storing processor-executable program code; and
a processing unit to execute the processor-executable program code to cause the system to:
identify a plurality of entities of an application and navigation relationships between the plurality of entities (par. [0036] “identify one or more software functions in the plurality of software classes”);
determine a plurality of primary groups of entities based on the navigation relationships, where no entities of a primary group have a navigation relationship with any entities of another primary group (par. [0036] “isolating non-overlapping software functions”); and
present the groups (Sridhara par. [0024] “the deployable microservices 114 may be output to the user”).
Sridhara does not explicitly teach:
for each of the plurality of primary groups of entities:
determine a closeness of each entity of the primary group to each other entity of the primary group based on received queries of the navigation relationships between the entities of the primary group; and
cluster the entities of the primary group into two or more secondary groups based on the determined closeness of each entity of the primary group; and
Tamilselvam teaches:
determine a closeness of each entity of the primary group to each other entity of the primary group based on received queries of the navigation relationships between the entities of the primary group (par. [0023] “the static analysis may be used to identify interactions between different code elements … and/or affinity of different code elements”); and
cluster the entities of the primary group into two or more secondary groups based on the determined closeness of each entity of the primary group (par. [0024] “perform and agglomerative clustering process to generate groups of code elements”).
It would have been obvious at the time before the effective filing of the claimed invention to cluster entities based on a determined closeness of the entities of the primary group(s). Those of ordinary skill in the art would have been motivated to do so as a known means of providing a finer grained control over the microservice generation (see e.g. Tamilselvam par. [0019] “It is desirable to have control over the microservices”).
Claims 2, 8 and 14: Sridhara and Tamilselvam teach claims 1, 7 and 13, where the entities are Web service entities (Sridhara par. [0020] “Web APIs”), and wherein the plurality of entities and navigation relationships between the plurality of entities are identified from metadata associated with the application (Tamilselvam pars.[0057]-[0068] “a number of different metrics”).
Claims 3, 9 and 15: Sridhara and Tamilselvam teach claims 1, 7 and 13, wherein determination of the closeness of each entity of a primary group to each other entity of the primary group comprises:
counting a number of the received queries for each of the navigation relationships between the entities of the primary group to determine closeness values ci,j between every two entities entityi and entityj of the primary group, where ci,j=cj,I (Tamilselvam par. [0035] “ICU matrix 200 show usage information … c0 calls APIs in c1 3 times”).
Claims 4, 10 and 16: Sridhara and Tamilselvam teach claims 3, 9 and 15, wherein the queries are received from a plurality of users of the application (Tamilselvam par. [0026] “interfaces to be invoked by … users”).
Claim(s) 5-6, 11-12 and 17-18 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2023/0094887 to Sridhara et al. (Sridhara) in view of US 2023/0168887 to Tamilselvam et al. (Tamilselvam) in view of US 2023/0342428 to Kramer et al. (Kramer).
Claims 5-6, 11-12 and 17-18: Sridhara and Tamilselvam teach claim 3, 1, 9, 7, 15 and 13, but do not explicitly teach wherein clustering of the entities of the primary group into two or more secondary groups comprises:
generation of a closeness matrix of the closeness values ci,j ;
summing of each column of the closeness matrix and forming of a degree matrix including the summed values on a diagonal of the degree matrix;
generation of a Laplacian matrix based on a difference between the degree matrix and the closeness matrix;
determination of eigenvectors of the Laplacian matrix;
determination of an affinity matrix based on the Laplacian matrix and a desired number of secondary groups, where each row of the affinity matrix represents an entity of the primary group; and
clustering of the rows of the affinity matrix into the desired number of secondary groups.
Kramer teaches:
generation of a closeness matrix of the closeness values ci,j (par. [0091] “the similarity or distance matrix”);
summing of each column of the closeness matrix and forming of a degree matrix including the summed values on a diagonal of the degree matrix (par. [0091] “computing the degree matrix D”);
generation of a Laplacian matrix based on a difference between the degree matrix and the closeness matrix (computing … the Laplacian matrix”);
determination of eigenvectors of the Laplacian matrix (par. [0091] “finding the eigenvalues and eigenvectors”);
determination of an affinity matrix based on the Laplacian matrix and a desired number of secondary groups, where each row of the affinity matrix represents an entity of the primary group (par. [0091] “forming a matrix with the eigenvectors of k largest eigenvalues”); and
clustering of the rows of the affinity matrix into the desired number of secondary groups (par. [0091] “clustering the data points”).
It would have been obvious at the time of filing to perform the spectral clustering taught by Kramer. Those of ordinary skill in the art would have been motivated to do so as a known alternative method of clustering.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JASON D MITCHELL whose telephone number is (571)272-3728. The examiner can normally be reached Monday through Thursday 7:00am - 4:30pm and alternate Fridays 7:00am 3:30pm.
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, Lewis Bullock can be reached at (571)272-3759. 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.
/JASON D MITCHELL/Primary Examiner, Art Unit 2199