DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application is being examined under the pre-AIA first to invent provisions.
Claims 1-20 are pending in this office action.
Response to Arguments
Applicant's arguments filed 10/23//2025 have been fully considered but they are not persuasive.
Applicant’s argument:
This paragraph, however, also fails to teach or suggest broadcasting a request for available virtual machines. Instead, it teaches that the management system can identify the type of VM being requested and the resources necessary to instantiate a new VM. The Applicant respectfully submits that collecting resources to instantiate a new VM does not teach or suggest broadcasting a request for an available VM.
Examiner’s response:
The issue in the argument is that, art of record fails to discloses: “broadcasting…”.
Ferris disclosure is directed to determine the resource of availability and respond to the request by the resources detected. The request is initiated and the resources are determined by the matching module from different cloud as disclosed in fig. 3.
But to clarify broadcasting, Ferreira discloses makes a request for resources using: broadcasting the characteristics of the desired resources which correspond to the task to be executed [0022]. Using, same scenario, a matching module will return the available resources based on the broadcasted request.
NB: applicant’s representative is encouraged to call or email in response to his request for an interview before a response to this application.
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 pre-AIA 35 U.S.C. 103(a) which forms the basis for all obviousness rejections set forth in this Office action:
(a) A patent may not be obtained though the invention is not identically disclosed or described as set forth in section 102, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-2, 4, 8-9,11, 15-16 and 18 are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Peteanu et al US 20050283759A1 in view Ferris et al US20110213884A1 and Ferreira et al US20050273511A1.
As per claim 1, Peteanu discloses a method comprising:
receiving, by a controller of a computing environment:
[0018] “ Application characteristics 106 are obtained by an application structure mechanism 108 in the system 100”;
i) an identification of an application framework used to develop an application, and ii) at least a portion of the application:
[0043]“Alternatively, the application characteristics may be automatically obtained from the application itself. During development, cues may be embedded in the application that provide an indication of the resources used by each element of the application. These cues may be provided by a developer of the application or by a development environment in which the application is created”;
Examiner interpretation:
In order to deploy an application to a specific execution environment , resource requirement are disclosed in the application characteristic(indication of resource).Other type is the programming language used for creating of those element during the development. The language used, determine the element type and application type: Java for example need J2EE and should be reflected while selecting for example the resource needed to deploy the application. see for example: US20030212990A1 in deploying Java application.
receiving, by the controller, an indication of one or more services to bind to the application:
[0023]“ The deployment plan 138 may reference specific resources that might be assigned once for the entire time that the application is deployed”;
binding the one or more services to the application:
[0039] “The request is also reviewed in step 218 against other similar requests and against the available resources to determine whether the request can be satisfied. If the request can be satisfied then a correlation between the deployment plan to the available resources is made in step 220 to specify the exact resources and their configuration that are to be used in the deployment.”;
wherein the binding comprises modifying contents of the at least a portion of the application to insert service provisioning data to bind the one or more services according to a data organization structure imposed by the application framework used to develop the application:
[0039]“The request is reviewed in step 216 against a level of service that is to be provided for the application. This is to check if the level of service will be met based on the resources identified in the request or if there are so many resources requested that the level of service will be exceeded. The request is also reviewed in step 218 against other similar requests and against the available resources to determine whether the request can be satisfied. If the request can be satisfied then a correlation between the deployment plan to the available resources is made in step 220 to specify the exact resources and their configuration that are to be used in the deployment.”;
sending, by the controller, a request for available containers:
[0026]”The deployment plan 138 with the server template 140 are provided to a reservation mechanism 124 which forms a request for the resources identified in the deployment plan 138. This request is provided to request processing mechanism 126 of the system 100 where the resources request is reviewed”;
and deploy the application on at least one of the one or more available containers;
[0039] “The request is also reviewed in step 218 against other similar requests and against the available resources to determine whether the request can be satisfied. If the request can be satisfied then a correlation between the deployment plan to the available resources is made in step 220 to specify the exact resources and their configuration that are to be used in the deployment”;
[0040]”After the resource reservation request has been reviewed, a workflow structure is expanded to implement the deployment plan in step 222. This workflow is based on a workflow structure and is completed based on characteristics in the deployment plan and the correlation made in step 220. This expanded workflow is then executed in step 224 to deploy the application“;
But not explicitly:
broadcasting, by the controller, a request for available containers:
receiving, by the controller and in response to the broadcasting, an indication of one or more available containers;
broadcasting, by the controller, a request for available containers:
Ferris discloses:
receiving, by the controller and in response to the broadcasting, an indication of one or more available containers:
[0040]“The matching system 302 can be configured to receive requests for services from users 310, 312, and 314 and match the requests to available cloud appliances 316 and/or 318. The matching services provided by the matching system 302 can also provide information 332 corresponding to the matched available cloud appliances to the users 310, 312, and 314.”;
[0059] “In 510, the matching system 302 can provide the information about the matched at least one available cloud appliance 316 and/or 318 to the user 310. For example, the matching system 302 can generate reports 332 and provide the reports 332 to the user 310. “;
Ferris also discloses a request for available resources:
[0018]“To instantiate a new set of virtual machines, a user can transmit an instantiation request to the cloud management system 104 for the particular type of virtual machine they wish to invoke for their intended application. A user can for instance make a request to instantiate a set of virtual machines configured for email, messaging or other applications from the cloud 102. The request can be received and processed by the cloud management system 104, which identifies the type of virtual machine, process, or other resource being requested.”;
It would have been obvious to one of ordinary skill in the art at the time of the applicant's invention to incorporate the teachings of Ferris into teachings of Peteanu to reduce configuration defects in part by automating the deployment process. Furthermore, to enable the user to understand and review the available cloud appliances that correspond to a requested set of resources by providing matching services. Enables the user to understand and review the consequences of transferring previously purchased licenses, resource credits, or subscriptions [Ferris 0016].
But not explicitly:
broadcasting, by the controller, a request for available containers:
Ferreira discloses:
broadcasting, by the controller, a request for available containers:
[0022]“Preferably, the process of requesting a resources comprises the steps of a consumer making a request for resources by broadcasting to a peer-to-peer network the characteristics of the desired resources which correspond to the task to be executed; providers with matching and available resources replying to the requestor, potentially in accordance with local policies of the provider, wherein the set of replies from the providers instantiate the grid which is thereby made available in response to the consumers request”;
It would have been obvious to one of ordinary skill in the art at the time of the applicant's invention to incorporate the teachings of Ferreira into teachings of Peteanu and Ferris to reduce configuration defects in part by automating the deployment process. each participant expects resources to be offered in return in proportion to the level of resources which that participant offers. The request of the participant offering resources is prioritized even when there are conflicting requests from other participants. [Ferreira 0026].
As per claim 2, the rejection of claim 1 is incorporated and furthermore Peteanu discloses:
before receiving the indication of one or more services: receiving, by the controller, a request to identify available services in the computing environment:
[0026] The deployment plan 138 with the server template 140 are provided to a reservation mechanism 124 which forms a request for the resources identified in the deployment plan 138. This request is provided to request processing mechanism 126 of the system 100 where the resources request is reviewed”;
and after receiving the request, sending, by the controller, an indication of one or more available services in the computing environment:
[0028] After the service level has been confirmed to meet the agreed level of service, the balancing mechanism 148 considers the available resources 104 are considered in conjunction with the current reservation request and any other requests for resources in the resource system to confirm that there are sufficient available resources to satisfy the current request”;
wherein the one or more available services comprise the one or more services:
[0039]“If the request can be satisfied then a correlation between the deployment plan to the available resources is made in step 220 to specify the exact resources and their configuration that are to be used in the deployment”;
As per claim 4, the rejection of claim 1 is incorporated and furthermore Peteanu does not disclose:
wherein the controller broadcasts the request to a plurality of deployment agents executing in respective virtual execution spaces of a plurality of virtual machines that were previously launched on a plurality of different respective physical servers. Ferris discloses;
Ferris discloses:
wherein the controller broadcasts the request to a plurality of deployment agents executing in respective virtual execution spaces of a plurality of virtual machines that were previously launched on a plurality of different respective physical servers.
Ferris discloses;
wherein the controller broadcasts the request to a plurality of deployment agents executing in respective virtual execution spaces of a plurality of virtual machines that were previously launched on a plurality of different respective physical servers:
[0036] “he cloud management systems 320 and 322 can be supported by the computing resources of the clouds 304 and 306, respectively.”;
[0048] “For example, the matching module 324 can be configured to communicate with the cloud management systems 320 and 322 in order to collect information about the usage of the clouds 304 and 306. Likewise, the matching module 324 can be configured to communicate with the cloud appliances 316 and 318 to collect information about the details of the cloud appliances 316 and 318.”;
Examiner interpretation:
Communicating with multiple cloud management system such as in Ferreira [0022] broadcasting to peer-network for resource availability.
It would have been obvious to one of ordinary skill in the art at the time of the applicant's invention to incorporate the teachings of Ferris into teachings of Peteanu and Ferriera to reduce configuration defects in part by automating the deployment process. Furthermore, to enable the user to understand and review the available cloud appliances that correspond to a requested set of resources by providing matching services. Enables the user to understand and review the consequences of transferring previously purchased licenses, resource credits, or subscriptions [Ferris 0016].
Claims 8, 9, 11 are the system claim corresponding to method claims 1, 2 , 4and rejected under the same rational set forth in connection with the rejection of claims 1, 2, 4 above.
Claims 15, 16, 18 are the non-transitory computer-readable medium claim corresponding to method claims 1, 2 , 4 and rejected under the same rational set forth in connection with the rejection of claims 1, 2, 4 above.
Claims 3, 10 and 17 are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Peteanu et al US 20050283759A1 in view of Ferris et al US20110213884A1,Ferreira et al US20050273511A1 and Brown et al US20110138047A1.
As per claim 3, the rejection of claim 2 is incorporated and furthermore Peteanu does not explicitly disclose:
after receiving the request and before sending the indication of one or more available services:
submitting a request for information about available services to a service provisioner of the computing environment:
and obtaining, from the service provisioner, provisioning data characterizing a plurality of services of the computing environment.
Brown discloses:
submitting a request for information about available services to a service provisioner of the computing environment:
[0061] “If the service is not available in the catalog, the customer is able to post a `request for service` into the service catalog. In this example, there is a requirement for both computing and storage resources to execute web application 114. Each Cloud contains a services registry detailing the resources provided by the cloud. Cloud services catalog manager 116 reads each Cloud's services registry and determines Cloud A 102 provides the computing resources, while Cloud B 104 provides the storage resources. In this example, both provider Clouds integrate their services to create a new service in Cloud services catalog 110”;
and obtaining, from the service provisioner, provisioning data characterizing a plurality of services of the computing environment.
[0061] “ Cloud services catalog manager 116 reads each Cloud's services registry and determines Cloud A 102 provides the computing resources, while Cloud B 104 provides the storage resources. In this example, both provider Clouds integrate their services to create a new service in Cloud services catalog 110.”;
[0057]The Cloud services catalog will describe the types of Cloud services, attributes and interface definitions of the Cloud service, and additional Cloud service characteristics, including (but not limited) to SLO/SLA, known capacity limits, redundancy indicator (low, medium, high), platform level(s), and security requirements. Service Level Objectives (SLOs) are specific measurable characteristics of the SLA such as availability, throughput, frequency, response time, or quality. The Cloud services housed in the Cloud services catalog are collected, advertised and maintained using a Cloud services bus”;
It would have been obvious to one of ordinary skill in the art at the time of the applicant's invention to incorporate the teachings of Brown into teachings of Petenau Ferreira and Ferris for deploying a system for provisioning services from a plurality of Clouds in a Cloud computing environment, comprising: providing a computer infrastructure being operable to: connect the plurality of Clouds in a Cloud computing environment; to maintain a catalog of integrated Cloud services from the plurality of connected Clouds; and to display an index of the integrated services on a user interface[Brown 0016]..
Claim 10 is the system claim corresponding to method claim 3 and rejected under the same rational set forth in connection with the rejection of claim 3 above.
Claim 17 is the non-transitory computer-readable medium claim corresponding to method claim 3 and rejected under the same rational set forth in connection with the rejection of claim 3 above.
Claims 5, 12 and 19 are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Peteanu et al US 20050283759A1 in view of Ferris et al US20110213884A1, Ferreira et al US20050273511A1 and Chia et al US8,555,273 A1.
As per claim 5, the rejection of claim 1 is incorporated and furthermore Peteanu does not explicitly disclose:
wherein deploying the application on the at least one of the one or more available containers comprises: sending, to one or more deployment agents, a link to download an application deployment package for the application;
Chia discloses:
sending, to one or more deployment agents, a link to download an application deployment package for the application:
Col 44 lines 34-40“ By using a 3rd party FM, the update agent 3421 may also be adapted to employ a filename instead of an address space, for example. When starting an update, the update agent 3421 may load an update state descriptor (USD) from a non-volatile memory address. One field in the USD may be employed to store the address of an update package.’;
Col 53 lines 10-15 ‘The update store 3780 may return the URL of the update package descriptor file to the firmware management customer care module 3790 6, for example. The method may also comprise transmission of the URL of the update package descriptor file from the firmware management customer care module 3790 to the firmware management client 3710 7 employing the XML-based discovery protocol 3775, for example”;
It would have been obvious to one of ordinary skill in the art at the time of the applicant's invention to incorporate the teachings of chia into teachings of Peteanu, Ferreira and Ferris to facilitate selection of an update to be downloaded to an electronic device. The particular parameter value may be selected from at least one of electronic device model identification, electronic device manufacturer identification, a firmware version, a software version, a telephone number, and a device unique identification.[Chia col 2 lines 62-67].
Claim 12 is the system claim corresponding to method claim 5 and rejected under the same rational set forth in connection with the rejection of claim 5 above.
Claim 19 is the non-transitory computer-readable medium claim corresponding to method claim 5 and rejected under the same rational set forth in connection with the rejection of claim 5 above.
Claims 6, 13 and 20 are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Peteanu et al US 20050283759A1 in view of Ferris et al US20110213884A1, Ferreira et al US20050273511A1, Gupta et al US20100313185A1, Chia et al US8,555,273A1 and Wong et al US20080244600A1.
As per claim 6, the rejection of claim 5 is incorporated and furthermore Peteanu does not explicitly disclose:
wherein the one or more deployment agents run on one or more virtual machines hosting the at least one of the one or more available containers,
wherein each of the one or more deployment agents is configured to:
download the application deployment package using the link;
install a runtime environment for the application in the a virtual execution space over a server hosting the respective virtual machine in which the deployment agent runs; launch the runtime environment; and start the application in the runtime environment.
chia discloses:
and wherein each of the one or more deployment agents is configured to: download the application deployment package using the link:
Col 56 lines 7-13 “(417) In an embodiment according to the present invention, the method may also comprise the download agent 3920 employing the descriptor file URL to request the descriptor file from the delivery module 3960 employing the OMA download protocol 3950 9, for example”;
It would have been obvious to one of ordinary skill in the art at the time of the applicant's invention to incorporate the teachings of chia into teachings of Peteanu, Ferreira, and Ferris to facilitate selection of an update to be downloaded to an electronic device. The particular parameter value may be selected from at least one of electronic device model identification, electronic device manufacturer identification, a firmware version, a software version, a telephone number, and a device unique identification.[Chia col 2 lines 62-67].
But not explicitly:
wherein the one or more deployment agents run on the one or more virtual machines hosting the at least one of the one or more available containers,
install a runtime environment for the application in the a virtual execution space over a server hosting the respective virtual machine in which the deployment agent runs; launch the runtime environment; and start the application in the runtime environment.
Gupta discloses:
wherein the one or more deployment agents run on the one or more virtual machines hosting the at least one of the one or more available containers,
[0076] At block 320, the deployment information is sent to deployment agent(s) that executes inside the virtual machines. The deployment information may instruct deployment agents to install and/or configure programs on the virtual machines. For example, referring to FIG. 2, the lab server 205 may send deployment information to the deployment agents inside the lab systems 230-232”;
It would have been obvious to one of ordinary skill in the art at the time of the applicant's invention to incorporate the teachings of Gupta into teachings of Petenau Ferreira , Ferris and Chia such that the virtual machines may be configured with deployment agents that can be used to install and configure programs on the virtual machines. The virtual machines may also be configured with test agents that can engage in testing activities with respect to the virtual machines. [Gupta 0028].
But not explicitly:
install a runtime environment for the application in the a virtual execution space over a server hosting the respective virtual machine in which the deployment agent runs;
launch the runtime environment; and start the application in the runtime environment.
Wong discloses:
download the application deployment package
[0034]“If a suitable resource(s) in the shared computing environment is determined to be available, an application component can be hosted on such resource. Commonly, additional steps may be necessary in order to prepare the resource before it can host the application component (for example, software may have to be downloaded, installed and/or configured).
install a runtime environment for the application in the a virtual execution space over a server hosting the respective virtual machine in which the deployment agent runs:
[0034] “For example, where the application manager requests a host to run a web server, and the resource manager has allocated a suitable resource, the application manager then invokes the provisioning tools to install the web server and to download the configuration file onto the allocated resource.
launch the runtime environment; and start the application in the runtime environment:
[0034]”Then the web server is started. With the VM approach, the web server and the corresponding configurations can be prepared in VM images. Upon the application manager's request, the virtual machine is started on a physical host selected by the resource manager and the web server is configured to start once the virtual machine starts.
[0077] “if necessary, the resources may additionally be prepared for use; for example, this may involve installing, downloading or configuring a suitable operating system or any other software, which is necessary in order to host the respective application component of the application (block 46). Once the resources are prepared, the application components are activated on the resources and the application deployed thereon (block 48).”;
It would have been obvious to one of ordinary skill in the art at the time of the applicant's invention to incorporate the teaching of Wong into teaching of Peteanu, Ferreira, Gupta and Chia and Ferris, to deploy web application in the required resources and shared resource without leading to increases in the utilization of particular computing resources, and accordingly, to a reduction in capital and operational expenditures [wong 0002].
Claim 13 is the system claim corresponding to method claim 6 and rejected under the same rational set forth in connection with the rejection of claim 6 above.
Claim 20 is the non-transitory computer-readable medium claim corresponding to method claim 6 and rejected under the same rational set forth in connection with the rejection of claim 6 above.
Claims 7 and 14 are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Peteanu et al US 20050283759A1 in view Ferris et al US20110213884A1, Ferreira et al US20050273511A1 and Icaza et al US20080120412A1.
As per claim 7, the rejection of claim 1 is incorporated and furthermore Petenau does not explicitly disclose:
broadcasting network address information of each of the one or more virtual machines hosting the at least one of the one or more available containers and port information for the application running thereon.
Icaza discloses:
broadcasting network address information of each of the one or more virtual machines hosting the at least one of the one or more available containers and port information for the application running thereon.
[0031] “Once the application associated with the service is launched, it can bind to a local TCP/IP port on the HSM and start its own HTTP server.”;
[0035] “ The HSM may further facilitate message broadcasting from one or more services to one or more client applications”; …with the data to be sent to the various clients using:
[0036] http://localhost:1234/bus/im-presence/
[0037] The contents of the POST are then broadcast to clients actively listening on a URL associated with the "IM-Presence" space.”;
It would have been obvious to one of ordinary skill in the art at the time of the applicant's invention to incorporate the teachings of Icaza into teaching of Peteanu and Ferreira and Ferris to deploy web application in the required resources and shared resource without leading to increases in the utilization of particular computing resources, and accordingly, to a reduction in capital and operational expenditures [Wong 0002].
Claim 14 is the system claim corresponding to method claim 7 and rejected under the same rational set forth in connection with the rejection of claim 7 above.
Pertinent arts:
US20160179449A1:
reduce configuration defects in part by automating the deployment process and providing a single application configuration file for all different environments and server platforms. Embodiments described herein can also avoid configuration errors attributable to oversight and human error, that is, unintentional mistakes.
US20090133017A1:
A central library stores the virtual machines and each is available for check-out by users. A manager evaluates the virtual machines for satisfactory compliance with the computing policies at a time when the virtual machines are resident in the library. Upon confirmation of satisfactory compliance, the applications and shared services are available for deployment to users. Otherwise, the virtual machines are centrally serviced for compliance and/or tested before redeployment.
US20050289538A1:
an apparatus to deploy an application software embodied by one or more applications on a deployment target. The apparatus includes an intersection module to receive an application bundle, the application bundle having one or more applications, runtime configuration data, and mappings.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRAHIM BOURZIK whose telephone number is (571)270-7155. The examiner can normally be reached Monday-Friday (8-4:30).
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, Wei Y Mui can be reached at 571-270-2738. 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.
/BRAHIM BOURZIK/ Examiner, Art Unit 2191
/WEI Y MUI/ Supervisory Patent Examiner, Art Unit 2191