DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the. Claims 1-21 are pending.
Specification
The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed.
Claim Rejections - 35 USC § 112
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-21 are rejected under 35 U.S.C. 112(b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which applicant regards as the invention.
The following claim languages are not clear and indefinite:
As per claims 1, 8 and 15 it is not clear what the “SNC” can be (e.g. an SNC is a pod, which contains multiple containers; or an SNC is a physical node that can be used to host a plurality of pods).
It is not clear if the “virtual agent” is on the “SNCs” or they are remote to the “SNCs”.
The dependent claims do not cure the 112(b) issues of their respective parent claims. Therefore, they are rejected for the same reasons as those presented for their respective parent claims.
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.
Claims 1-5, 7-12 and 14 are rejected under 102(a)(2) as being unpatentable over Lee et al (U.S. Pub. 2024/0080277).
As per claim 1 Lee teaches the invention as claimed including a method for a computer system to perform cloud native network function deployment, wherein the method comprises: obtaining cluster configuration information associated with multiple single node clusters (SNCs) that include at least (a) a first SNC and (b) a second SNC that are capable of implementing one or more cloud native network functions ([0086], [0115], [0163], [0080] provisioning or deployment requests for different number, based on policy or specification or configuration files, of SMC nodes in a dynamic pool can be received from a user, CIOS or service teams; each SMC node can host one or more containers or pods thus are each a so-called SNC);
based on the cluster configuration information, configuring (a) the first SNC on a first node and (b) the second SNC on a second node ([0115], [0163], based on the provisioning or deployment requests different number of SMC nodes can be selected for pod deployment);
configuring (a) a first virtual agent associated with the first SNC, and (b) a second virtual agent associated with the second SNC ([0081], [0110], [0172] kubelets, which are responsible for management of lifecycles of pods, are configured on SMC nodes and they are authenticated to be part of SMC cluster to be used to host pods); and
in response to receiving a deployment request to deploy a first pod and a second pod, processing the deployment request by (a) deploying, using the first virtual agent, the first pod on the first SNC, and (b) deploying, using the second virtual agent, the second pod on the second SNC) ([0165], [0109] in response to pod deployment request, scheduler selects SMC nodes on which the pods are to be deployed, and kubelets of the selected SMC nodes spawn the pod[s]).
As per claim 8, it is a reworded product version of method claim 1. Therefore, it is rejected for the same reasons, mutatis mutandis, as those presented for claim 1. In particular Lee teaches that the “configuring (a) a first virtual agent associated with the first SNC, and (b) a second virtual agent associated with the second SNC” of claim 1 involves “ configuring (a) a first virtual agent associated with the first SNC to register the first SNC as a first virtual node, and (b) a second virtual agent associated with the second SNC to register the second SNC as a second virtual node” ([0172] kubelets of worker nodes, are authenticated/registered, to join SMC cluster so that they can be selected by scheduler later for pod deployments: [0180]).
As per claim 2 Lee teaches wherein configuring the first virtual agent and the second virtual agent comprises: registering, by the first virtual agent in the form of a first virtual kubelet, the first SNC as a first virtual node; and registering, by the second virtual agent in the form of a second virtual kubelet, the second SNC as a second virtual node ([0172] kubelets of worker nodes, are authenticated/registered, to join SMC cluster so that they can be selected by scheduler later for pod deployments: [0180]).
As per claim 3 Lee teaches wherein processing the deployment request comprises: selecting, by a scheduler supported by the computer system, the first virtual node and the second virtual node based on a label specified by the deployment request; and generating and sending, by the scheduler, (a) a first pod creation request to cause the first virtual agent to deploy the first pod on the first SNC, and (b) a second pod creation request to cause the second virtual agent to deploy the second pod on the second SNC ([0109], [0180], [0200] scheduling constraints are specified by labeling nodes, and the scheduling constraints are used by scheduler to determine which SMC worker nodes of a dynamic pool are to be selected, and pods are spawned on the selected nodes).
As per claim 4 Lee teaches wherein processing the deployment request comprises: configuring, by the first virtual agent, a first pod creation custom resource (CR) on the first SNC to deploy the first pod on the first SNC; and configuring, by the second virtual agent, a second pod creation CR on the second SNC to deploy the second pod on the second SNC ([0152], [0263] pod specific IP addresses are allocated and images for pods are pulled by kubelets in order to deploy pods on the nodes selected by the scheduler).
As per claim 5 Lee teaches wherein processing the deployment request comprises: deploying, using the first virtual agent, the first pod on the first SNC via an application programming interface (API) proxy component; and deploying, using the second virtual agent, the second pod on the second SNC via the API proxy component ([0150], [0180] an API server is used to carry out pod creation).
As per claim 7 Lee teaches wherein receiving and processing the deployment request comprises: receiving the deployment request that is associated with hybrid mode deployment, wherein the deployment request specifies a label that is assigned to the first SNC, the second SNC and at least one worker node associated with a stretched cluster; and processing the deployment request by deploying (a) the first pod on the first SNC, (b) a second pod on the second SNC, and (c) a further pod on the at least one worker node associated with a stretched cluster ([0200], [0193], [0217]-[0219] pod deployment requests are associated with scheduling constraints that derives from labeling of nodes with assigned fault domain, which determines which nodes can be used directed for pod deployments, while other nodes are used as failover or reserved nodes that can be used to handle pods during peak load, or when threshold is reached).
As per claims 9-12 and 14 they are reordered product versions of method claims 2-5 and 7, where unlike its corresponding claim 3, which depends on claim 2, claim 10 does not depend on claim 9. Therefore, they are rejected for the same reasons, mutate mutandis, as those presented for claims 2-5 and 7, respectively.
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.
Claims 15-21, 6 and 13 are rejected under 103 as being unpatentable over Lee et al (U.S. Pub. 2024/0080277) in view of Huo et al (U.S. Pat. 12282789).
As per claim 15 Lee teaches the invention substantially as claimed including a computer system, comprising: a processor; and a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor ([0297]), cause the processor to perform the following:
configure multiple single node clusters (SNCs) that include (a) a first SNC on a first node and (b) a second SNC on a second node, wherein the first SNC and second SNC are capable of implementing one or more cloud native network functions ([0086], [0115], [0163], [0080] provisioning or deployment requests for different number, based on policy or specification or configuration files, of SMC nodes in a dynamic pool can be received from a user, CIOS or service teams; each SMC node can host one or more containers or pods thus are each a so-called SNC; based on the provisioning or deployment requests different number of SMC nodes can be selected for pod deployment);
configure (a) a first virtual agent associated with the first SNC, and (b) a second virtual agent associated with the second SNC ([0081], [0110], [0172] kubelets, which are responsible for management of lifecycles of pods, are configured on SMC nodes and they are authenticated to be part of SMC cluster to be used to host pods);
and in response to receiving a deployment request to deploy a first pod and a second pod, processing the deployment request by (a) deploying, using the first virtual agent, the first pod on the first SNC and (b) deploying, using the second virtual agent, the second pod on the second SNC ([0165], [0109] in response to pod deployment request, scheduler selects SMC nodes on which the pods are to be deployed, and kubelets of the selected SMC nodes spawn the pod[s]).
Lee does not explicitly teach establish (a) a first communication tunnel between the first virtual agent and the first SNC and (b) a second communication tunnel between the second virtual agent and the second SNC; and that the first and second virtual agent deploy first and second pods via their respective communication tunnels.
However, Huo teaches establish (a) a first communication tunnel between the first virtual agent and the first SNC and (b) a second communication tunnel between the second virtual agent and the second SNC (col 7 lines 18-34, col 9 line 33 – col 10 line 36, col 11 lines 44-62 shims are virtual agents that are responsible for creation and lifecycle management of remote pods, they are effectively kubelets for remote pods, and are responsible for setting up communication tunnels to respective pod virtual machines); and that the first and second virtual agent deploy first and second pods via their respective communication tunnels (col 10 lines 1-36 after communication tunnel has been set up, the shims are used to initiate in their respective pod virtual machines).
It would have been obvious to one with ordinary skill in the prior to the effective filling date of the invention to combine the teachings of Huo and Lee because both are directed towards Kubernetes pod deployment. One with ordinary skill in the art would be motivated to incorporate the teachings of Huo into that of Lee because Huo further improves expandability of pod deployment (col 1 lines 43-62).
As per claim 6 Huo teaches wherein the method further comprises: prior to processing the deployment request, establishing (a) a first communication tunnel between the first virtual agent and the first SNC via the API proxy component, and (b) a second communication tunnel between the second virtual agent and the second SNC via the API proxy component, wherein the first SNC and the second SNC are located behind a network address translation (NAT) gateway. (col 7 lines 18-34, col 9 line 33 – col 10 line 36, col 11 lines 44-62 shims are virtual agents that are responsible for creation and lifecycle management of remote pods, they are effectively kubelets for remote pods, and are responsible for setting up communication tunnels to respective pod virtual machines, after communication tunnel has been set up, the shims are used to initiate in their respective pod virtual machines; col 10 lines 56-65 the overlay network on which the tunnels are created can be VLANs, this means that the remote pod virtual machines are behind NAT gateway).
As per claim 13, it is a product version of method claim 6. Therefore, it is rejected for the same reasons, mutatis mutandis, as those presented for claim 6.
As per claims 16-21 they are reordered system versions of method claims 6, 5, 2-4 and 7, respectively. Therefore, they are rejected for the same reasons, mutate mutandis, as those presented for claims 6, 5, 2-4 and 7, respectively.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BING ZHAO whose telephone number is (571)270-1745. The examiner can normally be reached 9:30am - 6pm.
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, James Trujillo can be reached on (571) 272-3677. 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.
/BING ZHAO/Primary Examiner, Art Unit 2151