Detailed Action
This Office Action is in response to application filed 04/06/2023
Claims 1-20 are pending and presented for examination.
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 .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 04/06/2023 is filed before the mailing of the first action. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
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.
(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.
Claim(s) 1-2, 4-9, 11-16 and 18-20 are rejected under 35 U.S.C. 102 (a)(1)/(a)(2) as being anticipated by SUBHRAVETI (US 2018/0088973 A1).
As per claim 1, Subhraveti discloses A method for containerization of an application [Fig. 4], by an application transformer running a first operating system [Fig. 1], to run on a second operating system, the method comprising:
gathering, by the application transformer running the first operating system [fig. 1 item #104: Inter-conversion management server, [0033]: the management server is running or executing an operating system], process artifacts of the application running on a first machine running the second operating system [i.e. source VM with OS2] [fig. 3 step#302-308: obtaining and capturing file system, contents of file system and metadata of the file system of the VM, [0038]: obtaining by the management server application state and metadata of the virtual machine which is running another operating system, e.g. [0027-0030], [0040-0041]: VM 402 is Unix-based system which is running Unix operating system];
sending, to a builder machine running the second operating system [i.e. target VM with OS2], the process artifacts of the application [[0054]: Docker-File and ADD instructions is provided to a target virtual machine to build the container, [0056-0057]: use base operating system (i.e. same OS as the source VM) provided by source distribution and ADD instructions to docker-file. Docker file is an example of container specification which is generated based on captured application state [0043], [0038]]; and
building, by the builder machine [target platform or target VM], a container image corresponding to the application based on the process artifacts [fig. 3 Step#310-312: create separate container image for each application of the virtual machine and use the container spec to generate second virtual machine, [0046], [0042]], the container image being configured to run on the second operating system [[0055-0057]: build VM from Docker-File, select the target VM and build the VM image for the specified or target cloud platform by using base operating system provided by the source, i.e. source VM, and applying instructions of Docker-File to the base operating system].
Note: [0048] Each container can be implemented across different machines or platforms with same or different operating systems.
As per claim 2, Subhraveti discloses the method of claim 1, wherein the first machine comprises a first virtual machine (VM), and the builder machine comprises a second VM [[0054-0057], fig. 4: source VM 402 and target VM].
As per claim 4, Subhraveti discloses the method of claim 1, wherein the builder machine runs a container engine, and wherein building the container image is performed by the container engine [fig. 3 step 312: Generate a 2nd VM using container specification, [0030], [0054]: The blobbed data is provided to target VM and container is built by the docker-file]. Because container is built by the docker-file at the target VM, container engine in the target VM becomes inherent component].
As per claim 5, Subhraveti discloses the method of claim 1, further comprising: discovering a plurality of components of a plurality of processes running on the first machine [fig. 3 step#302-308: obtaining and capturing file system, contents of file system and metadata of the file system of the VM including plurality of applications, [0038]: obtaining by the management server application state and metadata of the virtual machine which is running another operating system, [0040-0041, 0047]]; and receiving a selection of one or more of the plurality of components as the application [[0041-0042]: identify applications deployed in VM to create container for each application, [0038]: convert plurality of applications into a set of containers].
As per claim 6, Subhraveti discloses the method of claim 1, wherein building the container image is further based on a base container image associated with the second operating system [[0046]: choose base operating system image built for target and layering the application state data as indicated by container specification on top of it to produce container image], [0056-0057]].
As per claim 7, Subhraveti discloses the method of claim 1, wherein the first machine, the builder machine, and the application transformer are in a same data center [[0033-0034], fig. 1: the conversion management server and various virtual machines including source and target are implemented in the same cloud-computing platform, which is implicitly operating in the same data center, [0023]].
As per claims 8-9, 11-16, 18-20, they do not teach or further define over the limitations in claims 1-2, 4-7. Therefore, claims 8-9, 11-16, 18-20 are rejected for the same reasons as set forth in claims 1-2, 4-7.
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, 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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 3, 10 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over SUBHRAVETI (US 2018/0088973 A1) in view of Chawda et al. (hereinafter Chawda, US 11,327,750 B1).
As per claim 3, Subhraveti discloses the method of claim 1, as set forth above, wherein the first operating system is Linux [[0044]: conversion server is implementing the docker-file using Linux OS, [0026]] and the builder machine has CPU hardware virtualization enabled [[0030]: virtual machines are emulation of a given computer system, [0046, 0054] target VM. Note: Without hardware virtualization enabled, virtual machines cannot be implemented].
However, Subhraveti does not explicitly teach wherein the second operating system is Windows (i.e. the source VM and target VM are running Windows operating system).
Chawda, from the same field of endeavor [col. 8 L25-52], discloses a transformation service identifying one or more application components to be extracted from a first host running a second operating system which is Windows [col. 10 L26-43, col. 13 L48-67: 1st host operating system is Windows Server running Windows OS].
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Subhraveti in view of Chawda in order to run the windows-based operating system on the first or source virtual machine.
One of ordinary skill in the art would have been motivated because it would have enabled windows-based applications or any existing software applications executing on virtual machines to be “containerized” and migrated to any infrastructure hosting a suitable container engine [Chawda: col. 8 L25-52].
As per claims 10 and 17, they do not teach or further define over the limitations in claim 3. Therefore, claims 10 and 17 are rejected for the same reasons as set forth in claim 3.
Additional References
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Parthasarathy et al., US 2020/0034167 A1: Automatic Application Migration across virtualization environments.
McPherson et al., US 2016/0216948 A1: Source to Image framework for a platform as a service system
Varkhedi et al., US 2013/0166504 A1: Systems and Methods for Virtual Machine Migration.
Bo et al., US 2018/0196654 A1: Docker Container Operating Method and System.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KAMAL B DIVECHA whose telephone number is 571-272-5863. The examiner can normally be reached IFP Normal Hours M-F: 8am-4.30pm 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, Colleen Fauz can be reached at 5712721667. 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.
KAMAL B. DIVECHA
Primary Patent Examiner
Art Unit 2453
/KAMAL B DIVECHA/Supervisory Patent Examiner, Art Unit 2453