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 .
DETAILED ACTION
Status of Claim
1. Applicant's amendment dated 08/25/2025 responding to the Office Action 02/25/2025 provided in the rejection of claims 15-35.
2. Claims 15-35 are pending in the application, of which claims 15, 22 and 29 are in independent form and which have been fully considered by the examiner.
Examiner Notes
3. Examiner cites particular columns and line numbers in the references as applied to the claims below for the convenience of the applicant. 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 fully consider the references in 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.
Double Patenting
4. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
5. Claims 15-35 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 4-7, 9, 12-15 and 18-20 of U.S. Patent No. 11436006. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1, 4-7, 9, 12-15 and 18-20 of U.S. Patent No. 11436006 recite the elements of claims 15-35 of the instant application 17/903,008.
Both claim features of the instant application 17/903,008 and US Patent No. 11436006 can be compared as follows:
Instant Application
17/903,008
U.S. Patent No. 11436006
15. A method for displaying code objects of a source installation of an application to be transformed into a target installation of the application, comprising:
providing, by a computing device, a heat map interface in which characteristics of the source installation of the application are displayed;
displaying, by the computing device, a first region within the heat map interface representative of the source installation of the application;
displaying, by the computing device, a first plurality of sub-regions within the first region, each sub-region corresponding to a category of code objects of the source installation, and each sub-region having a displayed area proportional to a value of a first characteristic of the category of code objects and a displayed color selected from a predetermined plurality of colors according to a value of a second characteristic of the category of code objects;
receiving a selection of a first sub-region of the
first plurality of sub-regions via an input device of the computing device, the first sub-region corresponding to a first category of code objects; and
replacing, in response to the selection of the first sub-region, the display of the first region with a display of the first sub-region and a second plurality of sub-regions within the first sub- region, each of the second plurality of sub-regions corresponding to a sub-category of the first category of code objects of the selected first sub-region, and each sub-region in the second plurality of sub- regions having a displayed area proportional to a value of the first characteristic of the corresponding sub-category and a displayed color selected from a predetermined plurality of colors according to a value of the second characteristic of the corresponding sub-category;
wherein the value of the second characteristic of the category of code objects represents whether a majority of objects in the category of code objects are marked for migration.
1. A method for displaying code objects of a source installation of an application to be transformed into a target installation of the application, comprising:
providing, by a computing device, a heat map interface in which characteristics of the source installation of the application are displayed;
displaying, by the computing device, a first region within the heat map interface representative of the source installation of the application;
displaying, by the computing device, a first plurality of sub-regions within the first region, each sub-region corresponding to a category of code objects of the source installation, and each sub-region having a displayed area proportional to a value of a first characteristic of the category of code objects and a displayed color selected from a predetermined plurality of colors according to a value of a second characteristic of the category of code objects;
receiving a selection of a first sub-region of the first plurality of sub-regions via an input device of the computing device, the first sub-region corresponding to a first category of code objects; and
replacing, in response to the selection of the first sub-region, the display of the first region with a display of the first sub-region and a second plurality of sub-regions within the first sub-region, each of the second plurality of sub-regions corresponding to a sub-category of the first category of code objects of the selected first sub-region, and each of the second plurality of sub-regions having a displayed area proportional to a value of the first characteristic of the corresponding sub-category and a displayed color selected from a predetermined plurality of colors according to a value of the second characteristic of the corresponding sub-category;
wherein: the first characteristic comprises a frequency of execution of entry points within the corresponding region or sub-region, and each of the entry points comprises an input to, or an output from, a code object in a different region or sub-region.
16. The method of claim 15, further comprising: receiving, by the computing device, a selection of a second sub-region of the second plurality of sub-regions and a transformation action to be performed on code objects of the second sub-region; adding an identification of the transformation action to entries, in a list of code objects of the source installation, corresponding to each code object of the second sub-region; and applying the transformation action to the code objects of the second sub-region.
4. The method of claim 1, further comprising: receiving, by the computing device, a selection of a second sub-region of the second plurality of sub-regions and a transformation action to be performed on code objects of the second sub-region; adding an identification of the transformation action to entries, in a list of code objects of the source installation, corresponding to each code object of the second sub-region; and applying the transformation action to the code objects of the second sub-region.
17. The method of claim 15, wherein the first characteristic comprises a number of code objects within the corresponding region.
19. The method of claim 15, wherein the first characteristic comprises a number of code objects within the corresponding sub-region.
5. The method of claim 1, wherein the first characteristic comprises a number of code objects within the corresponding region or sub-region.
18. The method of claim 17, wherein the first characteristic comprises a number of code objects within the corresponding region that are identified as capable of automatic or semi-automatic transformation.
20. The method of claim 19, wherein the first characteristic comprises a number of code objects within the corresponding sub-region that are identified as capable of automatic or semi-automatic transformation.
6. The method of claim 5, wherein the first characteristic comprises a number of code objects within the corresponding region or sub-region that are identified as capable of automatic or semi-automatic transformation.
21. The method of claim 15, wherein the first characteristic comprises a frequency of access of functional areas of the application to be transformed into the target installation of the application.
7. The method of claim 1, wherein the first characteristic comprises a frequency of access of functional areas of the application to be transformed into the target installation of the application.
Claims 22-28 recite the same limitations as rejected claims 15-21 above.
Claims 9 and 12-14 recite the same limitations as rejected claims 1 and 4-7 above.
Claims 29-34 recite the same limitations as rejected claims 15-21 above.
Claims 15 and 18-20 recite the same limitations as rejected claims 1 and 4-7 above.
6. Claims 15-20 and 22-25 are rejected on the ground of nonstatutory double patenting as being unpatentable claims 1-4 of U.S. Patent No. 10528343. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1-4 of U.S. Patent No. 10528343 recite the elements of claims 15-20 and 22-25 of the instant application 17/903,008.
Both claim features of the instant application 17/903,008 and US Patent No. 10528343 can be compared as follows:
Instant Application
17/903,008
U.S. Patent No. 10528343
15. A method for displaying code objects of a source installation of an application to be transformed into a target installation of the application, comprising:
providing, by a computing device, a heat map interface in which characteristics of the source installation of the application are displayed;
displaying, by the computing device, a first region within the heat map interface representative of the source installation of the application;
displaying, by the computing device, a first plurality of sub-regions within the first region, each sub-region corresponding to a category of code objects of the source installation, and each sub-region having a displayed area proportional to a value of a first characteristic of the category of code objects and a displayed color selected from a predetermined plurality of colors according to a value of a second characteristic of the category of code objects;
receiving a selection of a first sub-region of the first plurality of sub-regions via an input device of the computing device, the first sub-region corresponding to a first category of code objects; and
replacing, in response to the selection of the first sub-region, the display of the first region with a display of the first sub-region and a second plurality of sub-regions within the first sub- region, each of the second plurality of sub-regions corresponding to a sub-category of the first category of code objects of the selected first sub-region, and each of the second plurality of sub- regions having a displayed area proportional to a value of the first characteristic of the corresponding sub-category and a displayed color selected from a predetermined plurality of colors according to a value of the second characteristic of the corresponding sub-category;
wherein the value of the second characteristic of the category of code objects represents whether a majority of objects in the category of code objects are marked for migration.
1. A method for displaying code objects of a source installation of an application to be transformed automatically into a target installation of the application, comprising:
providing, by a computing device, a heat map interface in which characteristics of a source installation are displayed;
displaying, by the computing device, a first region within the heat map interface representative of the source installation;
displaying, by the computing device, a first plurality of sub-regions within the first region, each sub-region corresponding to a category of code objects of the source installation, each sub-region having a size proportional to a value of a first characteristic of the category of code objects and a color selected from a predetermined plurality of colors according to a value of a second characteristic of the category of code objects;
receiving a selection of a first sub-region of the first plurality of sub-regions via an input device of the computing device, the first sub-region corresponding to a first category of code objects; in response to the selection of the first sub-region,
replacing the display of the first region with a display of the first sub-region and a second plurality of sub-regions within the first sub-region, each of the second plurality of sub-regions corresponding to a sub-category of the first category of code objects of the selected first sub-region, and each of the second plurality of sub-regions having a size proportional to a value of the first characteristic of the corresponding subcategory and a color selected from a predetermined plurality of colors according to a value of the second characteristic of the corresponding sub-category;
16. The method of claim 15, further comprising: receiving, by the computing device, a selection of a second sub-region of the second plurality of sub-regions and a transformation action to be performed on code objects of the second sub-region;
adding an identification of the transformation action to entries, in a list of code objects of the source installation, corresponding to each code object of the second sub-region; and applying the transformation action to the code objects of the second sub-region.
19. The method of claim 15, wherein the first characteristic comprises a number of code objects within the corresponding sub-region.
receiving, by the computing device, a section of a second sub-region of the second plurality of sub-region and a transformation action to be performed on code objects of the second sub-region; and
adding, by the computing device, an identification of the transformation action to entries, in a list of code objects of the source installation, corresponding to each code object of the second sub-region;
wherein the first characteristic comprises a number of entry points of the corresponding region or sub-region and a number of code objects within the corresponding region or sub-region, each entry point comprising an input to or output from a code object in a different region or sub-region; and wherein the second characteristic comprises an identifier of a number of differences between code objects of the source installation and code objects of the target installation within the corresponding region or sub-region.
Claims 22 – 25 recites the same limitations as claims 15-20 above.
Claims 3-4 recites the same limitations as claims 1-2 above.
Allowable Subject Matter
7. Claims 15-35 would be allowable if a Terminal Disclaimer is submitted to overcome the Double Patenting rejection.
The cited references:
Horning et al. (US Patent No. 8387022 B2 – IDS filed on 04/15/2025 – herein after Horning). Horning discloses the ability to identify procedures or other sequences of instructions that are the target of a subroutine or function call; the ability to insert instructions before and/or after other identified instructions, and to ensure that other instructions are appropriately relocated and updated so that the modified program functions correctly; the ability to rewrite and/or modify existing instructions in the program; the ability to insert new functions and procedures, including ones of non-trivial complexity (e.g., mapping functions); the ability to update symbol information, for example, to regenerate the mapping between symbols and lines of source code in a modified program; and the ability to update other program sections, such as the relocation information – See col. 9, lines 4-20. Performance-critical regions are flagged, and tamper testing code is not added to the flagged regions. In a preferred embodiment conventional automated tools are used to identify and flag the performance-critical sections, while in other embodiments, other techniques are used (such as, e.g., manual identification) – See col. 61, lines 45-50. Code can be modified in place or can be relocated to another location, such as the stack or the heap, and modified there. The following sections present several obfuscation techniques that involve code modification – See col. 27, lines 25-33. Horning does not disclose the claim invention.
Kochhar et al. (US Pub. No. 2017/0046143 A1 – herein after Kochhar). Kochhar discloses Software code from a source instance is labeled with a migration identifier to associate the software code with a migration project. Using a pre-migration comparison function, migration information pertaining to source database objects and target database objects associated with the migration project are compared against migration validation rules to determine whether to allow the migration of all…prior to the software code migration, the pre-migration comparison function may be configured to determine which source database objects and target database objects will be impacted by the software code migration, and create a backup of such source database objects and target database objects that will be impacted by the software code migration – See paragraph [0009]. Pre-compare and report function 524 may process and compare metadata descriptions pertaining to objects associated with source database instance 120A with objects associated with target database instance 120B to determine whether they are any acceptable and unacceptable differences in the type of objects, such as tables, indexes, stored procedures, sequences, views, synonyms, etc., as well as acceptable and unacceptable differences in other object information such as attributes, size, color, function, structure, and the like – See paragraph [0063]. Kochar further discloses given the differences between the objects between source database instance 120A and target database instance 120B include differences in the number of tables where migrating the software code would result in the loss of data (e.g., data deletion) in the target database instance 120B, pre-compare and report function 524 may be configured to stop some or all of the code migration project and report an error, for example, by sending an email notification to one or more personnel – See paragraphs [0063-0065]. Kochhar does not the claim invention.
Owen et al. (US Patent No. 10223076 B1 – herein after Owen). Owen discloses as shown in FIG. 2G, a user may interact with UI element 228 by selecting an area 232 of the plot displayed by UI element 228 (e.g., to zoom in on area 232). For example, the user may select area 232 by clicking at point 234 and dragging to point 236… As further shown in FIG. 2H, and by reference number 242, UI element 228 may include a graphics object that displays area 232 (e.g., a zoomed in area of the plot displayed by UI element 228 in FIGS. 2F and 2G). In some implementations, the user may interact with an input mechanism to toggle code editor 102 between an in-line display and a side-by-side display, similar to what was described above with regard to FIG. 1F – See col. 10, lines 15-47. TCE 320 may display UI element 246. In some implementations, UI element 246 may display output of program code 244. For example, UI element 246 may display a graphics object (e.g., a figure, such as a surface plot) that includes a graphical representation of data generated by program code 244. As shown, a user may interact with the graphics object, such as a FIG. 248. For example, the user may pan the graphics object, zoom in on or zoom out from a portion of the graphics object, rotate the graphics object, add and/or modify a title of the graphics object, add and/or modify an axis label of the graphics object, change a line thickness, move a legend to a new location, resize an axis, etc. – See col. 10, lines 62-67 and col. 11, lines 1-13. The user may manipulate a figure by adding or modifying a figure characteristic, such as a line thickness, a legend (e.g., a legend location, size, type, etc.), modifying a figure color, modifying a size of one or more axes of a figure (e.g., to resize the axis or axes), modifying a font size, and/or the like – See col. 14, lines 29-34. Owen does not disclose the claim invention.
Aveg Ashish (Clones Clustering Using K-Means, 2016 – herein after Ashish). Ashish discloses basic comparison and transformation algorithm. and makes them independent. This technique will be used for comparing for two or more code clone segments. Any program divided into some strings and lines and code fragments if strings match – See page 1. Parameters on Y-axis and number of clones on X-axis for sample.java file. Blue coloured region represents highest number of clones 200,195..etc, Red coloured region represents medium number of clones Red in 203, 195,128,155..etc. and Green coloured region represents lowest number of clones 41, 21,10..etc. Blue = High numbers of clone. Red = Medium numbers of clone. Green = Small numbers of clone – See page 3-4. Ashish does not disclose the claimed invention.
Conclusion
9. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Haviv et al. (US Patent No. 10740287 B2) discloses data migration between storage repositories or tiers Must not delete before date (WORM, Immutability) Delete after n days (from create or last read, or last update) or after it was archived Transformation, read through a set of objects matching the filters and generating a new transformation of data. Search, look for certain content or metadata in a set of objects matching the filter…Monitor (Source Host/Net/User/Group+Protocol, Object path/type, Current Tags) Counters/Charts: measure IO, Bandwidth, Opens, create, latency, cache-hits, random/seq statistics Alarms: send notification when min/max/avg/sum of counter is >/z/=X for at least N periods of T (time) Activity logs (record of all operations, by operation filter) Heatmaps per object, provide indication on seq/rand, r/w, data locality, cache hits Reports can be stored as templates/dashboards or sent on scheduled event to user email – See col. 14, lines 10-38).
Best (US Pub. No. 2016/0170745 A1) discloses identifying, by a processing device, a plurality of source code objects associated with an open source product stored in a version-controlled code repository, determining a first subset of the plurality of source code objects associated with a respective commit identifier indicating that each of the first subset of the plurality of source code objects is committed to the version-controlled code repository, determining a second subset of the plurality of source code objects not associated with any commit identifier of the version-controlled code repository, labeling each of the first subset of the plurality of source code objects as an upstream source code object, and labeling each of the second subset of the plurality of source code objects as a non-upstream source code object – See Abstract and specification for more details.
10. THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MONGBAO NGUYEN whose telephone number is (571)270-7180. The examiner can normally be reached Monday-Friday 8am-5pm.
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 on 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.
/MONGBAO NGUYEN/ Examiner, Art Unit 2192