DETAILED ACTION
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 .
This Office Action is responsive to the application filed 24 September 2024.
Claims 1-12 and 14-21 are pending and have been presented for examination.
Claim 13 has been cancelled.
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.
Claim 14 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter.
As per claim 14, they are rejected because the applicant has provided evidence that the applicant intends the term “Computer Readable Medium” to include non-statutory subject matter. The applicant describes a computer readable medium as including open ended language and thus it is reasonable to interpret it to include all possible mediums, including non-statutory mediums (see paragraph [0177]). The words "storage" and/or "recording" are insufficient to convey only statutory embodiments to one of ordinary skill in the art absent an explicit and deliberate limiting definition or clear differentiation between storage media and transitory media in the disclosure. As such, the claim(s) is/are drawn to a form of energy. Energy is not one of the four categories of invention and therefore this /these claim(s) is/are non-statutory. Energy is not a series of steps or acts and this is not a process. Energy is not a physical article or object and as such is not a machine or manufacture. Energy is not a combination of substances and therefore not a composition of matter.
The Examiner suggests amending the claim(s) to read as a “non-transitory Computer Readable Medium.”
Claim Rejections - 35 USC § 102
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 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-4, 12, and 14-17 is/are rejected under 35 U.S.C. 102(a)(1)/(a)(2) as being anticipated by DIAZ-CUELLAR (U.S. Patent Application Publication #2022/0276886).
1. DIAZ-CUELLAR discloses A data channel building method applied to a second virtual machine running in a first virtual machine (see [0022]-[0025]: L1 host is a virtual machine executing on a physical host, the L1 host hosts multiple containers; [0017]: a container is a virtualization of a machine; [0041]: process isolated container within the L2 host), comprising: determining a first data transmission interface of the first virtual machine and a second data transmission interface for data transmission with the first virtual machine, wherein the first data transmission interface is communicated with the second data transmission interface (see [0043]: VF corresponding to the isolated container [0036]: vmNICs assigned to the level 2 host); determining module information of a virtual network module according to attribute information of the second data transmission interface (see [0036]: virtual switch); generating the virtual network module according to the module information of the virtual network module (see [0043]-[0044]: instantiation of the NetVSC; [0036]: NetVCS is mapped to the process isolated container); and building a target data transmission channel according to the first data transmission interface, the second data transmission interface and the virtual network module (see [0044]: virtual switch configuring the policies and access control lists), wherein the target data transmission channel is a channel for data transmission between the first virtual machine and an application program in the second virtual machine (see [0046]: packets are routed to the process isolated container; [0026]: the isolated container provides application isolation, so any communication with the container would be with the application).
2. The data channel building method according to claim 1, wherein the building the target data transmission channel according to the first data transmission interface, the second data transmission interface and the virtual network module comprises: determining interface identification information of the second data transmission interface (see [0042] VF of the isolated container); communicating the second data transmission interface with the virtual network module according to the interface identification information (see [0043]: mapping VF to network virtual service client, NetVSC); and building the target data transmission channel according to the first data transmission interface, the second data transmission interface communicated with the first data transmission interface and the virtual network module communicated with the second data transmission interface (see [0044]: virtual switch configuring the policies and access control lists).
3. The data channel building method according to claim 2, wherein the communicating the second data transmission interface with the virtual network module according to the interface identification information comprises: determining a module data transmission interface of the virtual network module and module interface identification information of the module data transmission interface (see [0043]: assigning the NetVSC 252a to the VF); and communicating the second data transmission interface with the module data transmission interface of the virtual network module according to the interface identification information of the second data transmission interface and the module interface identification information (see [0044]-[0046]: access control and routing of packets thorough the NetVSC to each of the virtual functions).
4. The data channel building method according to claim 1, wherein the building the target data transmission channel according to the first data transmission interface, the second data transmission interface communicated with the first data transmission interface and the virtual network module communicated with the second data transmission interface comprises: determining an initial data transmission channel corresponding to the first data transmission interface and the second data transmission interface, wherein the first data transmission interface is communicated with the second data transmission interface through the initial data transmission channel (see figure 3, path between the process isolated container and the NetVSC would be the transmission channel); and building the target data transmission channel according to the initial data transmission channel, the first data transmission interface, the second data transmission interface and the virtual network module (see [0044]: virtual switch configuring the policies and access control lists).
12. DIAZ-CUELLAR discloses A data channel building apparatus applied to a second virtual machine running in a first virtual machine, comprising: at least one processor and a memory (see [0058]: processor and memory); the memory stores computer executable instructions (see [0059]: computer readable media storing instructions); the at least one processor executes the computer executable instructions stored in the memory to: determine a first data transmission interface of the first virtual machine and a second data transmission interface for data transmission with the first virtual machine, wherein the first data transmission interface is communicated with the second data transmission interface (see [0043]: VF corresponding to the isolated container [0036]: vmNICs assigned to the level 2 host); determine module information of a virtual network module according to attribute information of the second data transmission interface (see [0036]: virtual switch); generate the virtual network module according to the module information of the virtual network module (see [0043]-[0044]: instantiation of the NetVSC; [0036]: NetVCS is mapped to the process isolated container); build a target data transmission channel according to the first data transmission interface, the second data transmission interface and the virtual network module (see [0044]: virtual switch configuring the policies and access control lists), wherein the target data transmission channel is a channel for data transmission between the first virtual machine and an application program in the second virtual machine (see [0046]: packets are routed to the process isolated container; [0026]: the isolated container provides application isolation, so any communication with the container would be with the application).
14. DIAZ-CUELLAR discloses A computer-readable storage medium storing computer-executable instructions which, when executed by a processor, causing the processor to execute the following operations (see [0058]-[0059]: software modules executed by a processor and stored on computer readable media): determining a first data transmission interface of the first virtual machine and a second data transmission interface for data transmission with the first virtual machine, wherein the first data transmission interface is communicated with the second data transmission interface (see [0043]: VF corresponding to the isolated container [0036]: vmNICs assigned to the level 2 host); determining module information of a virtual network module according to attribute information of the second data transmission interface (see [0036]: virtual switch); generating the virtual network module according to the module information of the virtual network module (see [0043]-[0044]: instantiation of the NetVSC; [0036]: NetVCS is mapped to the process isolated container); and building a target data transmission channel according to the first data transmission interface, the second data transmission interface and the virtual network module (see [0044]: virtual switch configuring the policies and access control lists), wherein the target data transmission channel is a channel for data transmission between the first virtual machine and an application program in the second virtual machine (see [0046]: packets are routed to the process isolated container; [0026]: the isolated container provides application isolation, so any communication with the container would be with the application).
15. The data channel building apparatus according to claim 12, wherein the processor is specifically configured to: determine interface identification information of the second data transmission interface (see [0042] VF of the isolated container); communicate the second data transmission interface with the virtual network module according to the interface identification information (see [0043]: mapping VF to network virtual service client, NetVSC); and build the target data transmission channel according to the first data transmission interface, the second data transmission interface communicated with the first data transmission interface and the virtual network module communicated with the second data transmission interface (see [0044]: virtual switch configuring the policies and access control lists).
16. The data channel building apparatus according to claim 15, wherein the processor is specifically configured to: determine a module data transmission interface of the virtual network module and module interface identification information of the module data transmission interface (see [0043]: assigning the NetVSC 252a to the VF); and communicate the second data transmission interface with the module data transmission interface of the virtual network module according to the interface identification information of the second data transmission interface and the module interface identification information (see [0044]-[0046]: access control and routing of packets thorough the NetVSC to each of the virtual functions).
17. The data channel building apparatus according to claim 12, wherein the processor is specifically configured to: determine an initial data transmission channel corresponding to the first data transmission interface and the second data transmission interface, wherein the first data transmission interface is communicated with the second data transmission interface through the initial data transmission channel (see figure 3, path between the process isolated container and the NetVSC would be the transmission channel); and build the target data transmission channel according to the initial data transmission channel, the first data transmission interface, the second data transmission interface and the virtual network module (see [0044]: virtual switch configuring the policies and access control lists).
Allowable Subject Matter
Claim 11 is allowed.
Claims 5-10 and 18-21 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The following is a statement of reasons for the indication of allowable subject matter:
The state of the art fails to anticipate, or render obvious, “… after the building the target data transmission channel according to the first data transmission interface, the second data transmission interface and the virtual network module, further comprising: receiving initial data to be processed sent by the first virtual machine through the target data transmission channel; performing data type conversion on the initial data to be processed according to the virtual network module to obtain target data to be processed; and processing the target data to be processed according to the application program.”
The state of the art fails to anticipate, or render obvious, “… performing data type conversion on the initial data to be processed according to a virtual network module deployed in the second virtual machine to obtain target data to be processed; processing the target data to be processed according to an application program deployed in the second virtual machine to obtain a data processing result; performing data type conversion on the data processing result according to the virtual network module to obtain a converted data processing result; and sending the converted data processing result to the first virtual machine through the target data transmission channel.”
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
TSIRKIN [2023/0043929] discloses virtual machines that are executing inside another virtual machine and allowing communication between the virtual machines. [0015]-[0023]
LI [2020/0134171] discloses an enclave VM that executes within another VM to provide a secure execution environment. [0018]-[0023]
KOCHEVAR-CURETON [2020/0110626] discloses remote direct memory access between virtual machines and sending packets between VM’s using a customer address. [0050]-[0063]
SHEVADE [2019/0392150] discloses a micro VM, creation of a micro VM, communication channels between VM’s and a micro VM performing client specified application tasks. [0032]-[0037]
CANTU [2014/0310704]: discloses nested hypervisors. [0024]
TENE [2004/0172629] discloses creating a shell VM and a core VM to divide the processing of a traditional VM, and communication between the VM and an external application. [0022]-[0026]
Any inquiry concerning this communication or earlier communications from the examiner should be directed to EDWARD J DUDEK JR whose telephone number is (571)270-1030. The examiner can normally be reached Monday - Friday, 8:00A-4:00P.
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, Hosain T Alam can be reached at 571-272-3978. 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.
/EDWARD J DUDEK JR/Primary Examiner, Art Unit 2132