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 .
Response to Arguments
Applicant’s arguments with respect to claim(s) 1-6, 8-13 and 15-19 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1-6, 8-13 and 15-19 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention.
Regarding claims 1, 8 and 15 have been amended to recite: obtaining a plurality of priorities of migrating applications executing on a first virtualization environment; and sending the plurality of priorities to the second virtualization environment.
Applicant states that support for the amendments can be found in paragraphs [0027], [0031] and [0041]. Paragraphs [0027] discloses that priorities assigned to chunks of application state information. It does not discloses obtaining respective priorities assigned to a plurality of migrating applications. Paragraphs [0027] does not disclose identifying multiple migrating applications, assigning or obtaining a priority for each application. Paragraphs [0031] discloses “a list of applications, their respective application state data, and priorities for migrating application state data.” The priorities are expressly define as priorities “for migrating application state data” rather than priorities assigned to the applications themselves. Paragraphs [0041] again discloses prioritized application state data, not a plurality of priorities assigned to migrating applications.
Other relevant sections [0015-0017], [0030], [0048] and [0050], similarly describe prioritizing application state data it does not stablish that the applications themselves are assigned priorities. For the purpose of prior art, the claims will be analyzed based on the priority associated with the migrating of application state data.
Regarding claims 2-6, 9-13, and 16-19, dependent claims inherit the deficiencies of the respective parent claim.
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-6, 8-13 and 15-19are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
Regarding claims 1, 8 and 15 recite “migrating applications” but next recites application state information associated with singular “an application”. The claims do not specify whether “an application” is one of the previously recited migrating applications.
Regarding claims 2, 4, 9, 12, 16 and 18 recite “the application.” Although the independents claims introduces “an application” they also recite plural “migrating applications” and does not clearly establish the relationship between the singular application and those migrating applications. Therefore, it is unclear whether “the application” refers to the singular application associated with application state information or each of the migrating applications.
Regarding claims 3, 5-6, 10, 12-13, 17 and 19, dependent claims inherit the deficiencies of the respective parent claim.
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 1-6, 8-13 and 15-19 are rejected under 35 U.S.C. 103 as being unpatentable over Ranjan (US 20210240522 A1) in view of Kandula (US 20200233692 A1).
Regarding claim 1, Ranja teaches:
A method comprising: (Claim 1. A computer-implemented method of migrating a stateful application from a first computing environment to a target virtualized environment, the method comprising)
obtaining a plurality of priorities of migrating applications executing on a first virtualization environment; ([0034] The historical data access pattern analyzer 231 may be used to create the initial DMPM 232, which represents the initial migration priorities assigned to the chunks of the source data volume. According to one embodiment, the historical data access pattern analyzer 231, divides the source data volume into a number of chunks (e.g., one or more data blocks) based on the predefined chunk size specified by the IT administrator 201 and the size of the source data volume. The historical data access pattern analyzer 231 may also rank/prioritize each chunk of the source data volume based on an analysis of information regarding the historical data access pattern associated with the source application, for example, as observed over time and persisted to the historical data access pattern data store 240. An example of the initial DMPM 232 is described below with reference to FIG. 3A.)
receiving a shutdown notification for the first virtualization environment; obtaining, by a processing device, application state information associated with an application executing on the first virtualization environment, the application state information divided into chunks that are prioritized according to the plurality of priorities; and ([0064] At block 540, each chunk of the source data volume is ranked to designate its relative priority in connection with the background data migration process. For example, a chunk having one or more hot data blocks may be prioritized so as to be migrated from the source data volume to the target data volume before a chunk having all cold data blocks. [0065] At block 550, the initial DMPM is created based on the analysis and ranking described above [0066] FIG. 6 is a flow diagram illustrating application migration processing in accordance with an embodiment. According to one embodiment, this application migration processing is triggered responsive to a request by the IT administrator to initiate the migration process issued to the stateful application migration engine 230, which invokes the application compute instance migrator 233.)
sending the chunks to a warm-start service to be delivered to a second virtualization environment; and sending the plurality of priorities to the second virtualization environment.
([0077] At block 750, the data migration manger is launched and provided with an initial priority map indicative of the relative priorities of the chunks of the source data volume. According to one embodiment, the application configuration engine 234 provides the data migration manager 260 with the initial DMPM 232 created by the historical data access pattern analyzer 231.[0078] At block 760 the background data migration process is started to begin replicating the source data on a chunk-by-chunk basis in accordance with the chunk priorities specified in the priority map. According to one embodiment, the background data migration process is one of two background jobs run at different frequencies by the data migration manager 260 until migration of all of the data in the source data volume has been completed.[0079] At block 770, the destination application instance is set to a live state (e.g., an active mode) to enable it to start accepting requests from end users. In one embodiment, the destination application
instance accepts requests from end users concurrently with the performance of the background data migration process. That is, the destination application instance is essentially immediately operational and available for use by end users as soon as the computational instance of the source application instance has been migrated despite the fact that not all of the data upon which it relies has been migrated to the destination data volume within the destination computational environment.)
Ranjan does not appear to explicitly teach: …applications executing on a first virtualization environment;
However, Kandula teaches: [0029] Turning now to FIG. 3, a VM 300 that is representative of the VMs 220-1, 220-2 . . . 220-x in the host computer 200 in accordance with an embodiment of the invention is shown. The VM 300 is a software implementation of a computer system. Thus, the VM 300 provides a complete system platform, which supports the execution of a complete operating system (OS) 302 in addition to one or more applications. The VM 300 may be instantiated in any of the cloud computing environments 106a, 106b and 106c using an image, which is typically a file system image, which may include the OS and one or more application to be executed by the VM. [0032] The monitoring agent core 306 operates to perform monitoring processes on the VM 300, which may involve collecting system metrics from the VM and application metrics from any applications running in the VM and sending the collected metrics to the AMEaaS 108. These metrics may include disk, CPU, network, and process metrics. For some applications, there may be plugins to properly collect metrics for those applications. Thus, the monitoring agent core may have one or more plugins to monitor different applications that are installed and running in the VM. See also [0027], [0033], [0041] and [0046]
Accordingly, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of Ranjan and Kandula before them, to execute multiple applications in virtual machine as taught by Kandula [0027][0029]. Applying Ranjan’s migration techniques to multiple applications hosted by the virtual machine would have predictably allowed the states of those hosted applications to be migrated .
Regarding claim 2, Ranja teaches:
The method of claim 1, wherein the application state information is divided into chunks by the application. ([0034] The historical data access pattern analyzer 231 may be used to create the initial DMPM 232, which represents the initial migration priorities assigned to the chunks of the source data volume. According to one embodiment, the historical data access pattern analyzer 231, divides the source data volume into a number of chunks (e.g., one or more data blocks) based on the predefined chunk size specified by the IT administrator 201 and the size of the source data volume. The historical data access pattern analyzer 231 may also rank/prioritize each chunk of the source data volume based on an analysis of information regarding the historical data access pattern associated with the source application, for example, as observed over time and persisted to the historical data access pattern data store 240. An example of the initial DMPM 232 is described below with reference to FIG. 3A. [0100] At block 970, the post application migration data access pattern is analyzed. For example, in one embodiment, the data captured responsive to application request processing and recorded in block 850 of FIG. 8 is retrieved and analyzed. See also [0042])
Regarding claim 3, Ranja teaches:
The method of claim 1, wherein dividing the application state information into chunks is based at least in part on read prediction probability. ([0063] At block 530, based on the analysis performed in block 520, a determination can be made regarding which portions of the data in the source data volume are hot (e.g., more frequently accessed) and which are cold (less frequently accessed).[0064] At block 540, each chunk of the source data volume is ranked to designate its relative priority in connection with the background data migration process. For example, a chunk having one or more hot data blocks may be prioritized so as to be migrated from the source data volume to the target data volume before a chunk having all cold data blocks.)
Regarding claim 4, Ranja teaches:
The method of claim 1, wherein the application state information is sent to the warm-start service in a priority order determined by the application. ([0077] At block 750, the data migration manger is launched and provided with an initial priority map indicative of the relative priorities of the chunks of the source data volume. According to one embodiment, the application configuration engine 234 provides the data migration manager 260 with the initial DMPM 232 created by the historical data access pattern analyzer 231. [0092] FIG. 9 is a flow diagram illustrating background processing in accordance with an embodiment. According to one embodiment, this background processing is performed by two separate background jobs being run by the data migration manger 260 at different frequencies. In one embodiment, the chunk migration is performed at a higher frequency than the DMPM updating. In one embodiment, the frequency of the chunk migration is selected so as to avoid significantly impacting the performance of the destination application instance (e.g., application 121). For example, in one embodiment, the chunk migration background process beginning at block 920 can be configured by the administrator, who ultimately decides how fast the data is to be migrated based on nature of transactions being performed by the application.)
Regarding claim 5, Ranja teaches:
The method of claim 1, wherein the application state information is sent to the warm-start service according to criteria stored in a warm-start manifest. ([0051] FIG. 3B illustrates a DMPM 350 after data migration for a stateful application has commenced and the DMPM 350 has been updated to reflect observed data usage patterns in accordance with an embodiment. In the context of the present example, those of the priorities 312 and migrated flags 315 that have been updated during operation of the migrated application (e.g., application 121) are highlighted with a grey background. For example, the migrated flag 315 of chunk IDs 2, 4, 6, and 7 indicates the migration for the blocks associated with these chunks has now been completed. Additionally, the priority 312 of chunk ID 6 has increased from a value of 80 to a value of 90 and the priority 312 of chunk 10 has decreased from a value of 43 to a value of 11, indicating a change in data usage patterns for these chunks as compared to the historical data access pattern.)
Regarding claim 6, Ranja teaches:
The method of claim 1, wherein sending the application state information to the warm-start service is performed in accordance with a policy. ([0032] According to one embodiment, an IT administrator 201 uses the application registry manager 210 to register information regarding the source application to be migrated (e.g., virtualized application 111) the accessibility of the destination application (e.g., application 121), and data migration attributes. [0092] . For example, in one embodiment, the chunk migration background process beginning at block 920 can be configured by the administrator, who ultimately decides how fast the data is to be migrated based on nature of transactions being performed by the application. An application that mostly relies on new data, for example, might be configured to migrate data slowly. With respect to the background DMRP update processing beginning at block 970, it may be scheduled to run every one to five hours, for example, or in accordance with a configuration parameter. In general the period for updating the DMRP should be long enough to allow observation of a sufficient number of user requests based on which intelligent learning can be made.)
Regarding claims 8-13 and 15-19 recite commensurate subject matter as claims 1-6. Therefore, they are rejected for the same reasons.
Conclusion
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 CARLOS A ESPANA whose telephone number is (703)756-1069. The examiner can normally be reached Monday - Friday 8 a.m - 5 p.m EST.
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 JR 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.
/C.A.E./Examiner, Art Unit 2199
/LEWIS A BULLOCK JR/Supervisory Patent Examiner, Art Unit 2199