DETAILED ACTION
Claims 1-20 are pending in this application.
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 .
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-9 and 11-16 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-5, 7, 6, 10-13, 15, and 17-19 of U.S. Patent No. 12,131,202 B2 issued to Young et al. Although the claims at issue are not identical, they are not patentably distinct from each other because all limitations in the instant application are present int the 12,131,202 B2 patent.
U.S. Application No. 18/830,189
U.S. Pat. No. 12,131,202 B2
Claim 1:
A computer-implemented method for operating a user application including a user rendered context and a user programmer context, comprising:
receiving, by the user rendered context, an input, wherein the user rendered context executes on a user device and maintains a current render tree;
responsive to receiving the input, sending, by at least one computer processor, an event notification to the user programmer context, wherein the user programmer context executes on a cloud computing system, and wherein the user rendered context starts operation on the user device
after the user programmer context is initialized on the cloud computing system;
receiving, from the user programmer context, a difference tree to update the current render tree; and
updating, by the user rendered context, the current render tree based on the difference tree.
Claim 1:
A method for operating a user application, comprising:
receiving, by a user rendered context of the user application, an input, wherein the user rendered context operates on a user device and maintains a current render tree, the user rendered context includes an application user interface presented within a user renderer frame on a display of the user device, and generates drawing instructions to an abstracted two dimensional drawing surface without running HyperText Markup Language (HTML) in a browser;
responsive to receiving the input, sending an event notification to a user programmer context of the user application, wherein the user programmer context operates on a cloud computing system, the user application is different from a web application and includes the user rendered context and the user programmer context, and the user rendered context starts operation on the user device after the user programmer context is initialized on the cloud computing system;
receiving, from the user programmer context, a difference tree to update the current render tree; and
updating, by the user rendered context, the current render tree based on the difference tree.
Claim 2:
The computer-implemented method of claim 1, wherein the user programmer context is responsible for operations related to business logic, application flow, data model, or responses to user navigations.
Claim 2:
The method of claim 1, wherein the user programmer context is a part of the user application that is executed in the cloud computing system and is responsible for operations related to business logic, application flow, data model, or responses to user navigations.
Claim 3:
The computer-implemented method of claim 1, wherein the user rendered context is responsible for providing input or output functions for the user application.
Claim 3:
The method of claim 1, wherein the user rendered context is executed on the user device and is responsible for providing input or output functions for the user application.
Claim 4:
The computer-implemented method of claim 1, wherein the user rendered context includes an application user interface presented within a user renderer frame
Claim 4:
The method of claim 1, wherein the user rendered context includes an application user interface presented within a user rendered frame on the display of the user device.
Claim 5:
The computer-implemented method of claim 4, wherein the user renderer frame is contained within a root window of a graphical user interface (GUI) for a web browser installed on
the user device.
Claim 5:
The method of claim 4, wherein the user renderer frame is contained within a root window of a graphical user interface (GUI) for a web browser installed on the user device.
Claim 6:
The computer-implemented method of claim 1, wherein the difference tree is represented in accordance with a JavaScript Object Notation (JSON) format.
Claim 7:
The method of claim 1, wherein the difference tree received from the user programmer context operated in the cloud computing system is represented by JavaScript Object Notation (JSON).
Claim 7:
The computer-implemented method of claim 1, wherein the user rendered context is initialized with an initial render tree provided from the user programmer context.
Claim 6:
The method of claim 1, wherein the user rendered context is initialized with an initial render tree provided from the user programmer context.
Claim 8:
A system for operating a user application including a user rendered context and a user programmer context, comprising:
one or more memories; and
at least one processor each coupled to at least one of the one or more memories and
configured to perform operations comprising:
receiving, by the user rendered context, an input, wherein the user rendered context executes on the system and maintains a current render tree;
responsive to receiving the input, sending, an event notification to the user programmer context, wherein the user programmer context executes on a cloud computing system, and wherein the user rendered context starts operation on the system after the user
programmer context is initialized on the cloud computing system;
receiving, from the user programmer context, a difference tree to update the current
render tree; and
updating, by the user rendered context, the current render tree based on the difference tree.
Claim 10:
A user device, comprising:
at least one processor; and
a user rendered context of a user application operated by the at least one processor, wherein the user rendered context operates on the user device and maintains a current render tree, the user rendered context includes an application user interface presented within a user renderer frame on a display of the user device, and generates drawing instructions to an abstracted two dimensional drawing surface without running HyperText Markup Language (HTML) in a browser, and the user rendered context is configured to:
receive an input;
responsive to receiving the input, send an event notification to a user programmer context of the user application, wherein the user programmer context operates on a cloud computing system, the user application is different from a web application and includes the user rendered context and the user programmer context, and the user rendered context starts operation on the user device after the user programmer context is initialized on the cloud computing system;
receive, from the user programmer context, a difference tree to update the current render tree maintained by the user rendered context; and
update the current render tree based on the difference tree.
Claim 9:
The system of claim 8, wherein the user programmer context is responsible for
operations related to business logic, application flow, data model, or responses to user navigations.
Claim 11:
The user device of claim 10, wherein the user renderer context is executed on the user device and is responsible for providing input or output functions for the user application, and the user programmer context is a part of the user application that is executed in the cloud computing system and is responsible for operations related to business logic, application flow, data model, or responses to user navigations.
Claim 11:
The system of claim 8, wherein the user rendered context includes an application user
interface presented within a user renderer frame.
Claim 12:
The user device of claim 10, wherein the user renderer context includes an application user interface presented within a user rendered frame on the display of the user device.
Claim 12:
The system of claim 11, wherein the user renderer frame is contained within a root
window of a graphical user interface (GUI) for a web browser installed on the system.
Claim 13:
The user device of claim 12, wherein the user renderer frame is contained within a root window of a graphical user interface (GUI) for a web browser installed on the user device.
Claim 13:
The system of claim 8, wherein the difference tree is represented in accordance with a
JavaScript Object Notation (JSON) format.
Claim 15:
The user device of claim 10, wherein the difference tree received from the user programmer context operated in the cloud computing system is represented by JavaScript Object Notation (JSON).
Claim 14:
The system of claim 8, wherein the user rendered context is initialized with an initial
render tree provided from the user programmer context.
Claim 17:
The user device of claim 10, wherein the user rendered context is initialized with an initial render tree provided from the user programmer context.
Claim 15:
A non-transitory computer-readable medium having instructions stored thereon that,
when executed by at least one computing device, cause the at least one computing device to perform operations comprising:
receiving, by a user rendered context of a user application, an input, wherein the user rendered context executes on a user device and maintains a current render tree;
responsive to receiving the input, sending an event notification to a user programmer context
of the user application, wherein the user programmer context executes on a cloud computing system,
and wherein the user rendered context starts operation on the user device after the user programmer
context is initialized on the cloud computing system;
receiving, from the user programmer context, a difference tree to update the current render
tree; and
updating, by the user rendered context, the current render tree based on the difference tree.
Claim 18:
A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least a computing device, cause the computing device to perform operations comprising:
receiving, by a user rendered context of a user application, an input, wherein the user rendered context operates on the computing device and maintains a current render tree, the user rendered context includes an application user interface presented within a user renderer frame on a display of a user device, and generates drawing instructions to an abstracted two dimensional drawing surface without running HyperText Markup Language (HTML) in a browser;
responsive to receiving the input, sending an event notification to a user programmer context of the user application, wherein the user programmer context operates on a cloud computing system, the user application is different from a web application and includes the user rendered context and the user programmer context, and the user rendered context starts operation on the user device after the user programmer context is initialized on the cloud computing system;
receiving, from the user programmer context, a difference tree to update the current render tree; and
updating, by the user rendered context, the current render tree based on the difference tree.
Claim 16:
The non-transitory computer-readable medium of claim 15, wherein the user
programmer context is responsible for operations related to business logic, application flow, data
model, or responses to user navigations.
Claim 19:
The non-transitory computer-readable medium of claim 18, wherein the user rendered context is executed on the computing device and is responsible for providing input or output functions for the user application, and the user programmer context is a part of the user application that is executed in the cloud computing system and is responsible for operations related to business logic, application flow, data model, or responses to user navigations.
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 1-3, 6, 8, 9, 10, 13, 15, 16, 17 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2015/0193399 A1 to Woker et al. in view of U.S. Pub. No. 2016/0094483 A1 to Johnston et al.
As to claim 1, Woker teaches a computed-implemented method for operating a user application including a user rendered context and user programmer context, comprising:
receiving, by a user rendered context (web browser application), an input (a user may click/press on a link within a webpage already loaded at the device), wherein the user rendered context executes on a user device (mobile device) and maintains a current render tree (hierarchical DOM tree) (“…In one embodiment, the system 100 may process and/or facilitate a processing of event data resulting from at least one interaction with a document object model to determine at least one modification to at least one node of the document object model. In one embodiment, a user or an application at a device (e.g., a mobile device) may cause a submission of a request for access to a web content available via a service or a content provider web page. For example, a user may utilize a web browser application for accessing a website. In one embodiment, the interaction may be with a web content already at the device where the interaction may be with a content item within the web content. For example, a user may click/press on a link within a webpage already loaded at the device. In one embodiment, a proxy platform may process the interaction to determine a modification to one or more nodes in a DOM. In one example, a modification in a DOM may be associated with a node providing textual information for a web content item...The process 300 may begin at step 301 of the FIG. 3, where the proxy platform 121 may process and/or facilitate a processing of event data resulting from at least one interaction with a document object model to determine at least one modification to at least one node of the document object model. In one embodiment, a user or an application at a device (e.g., a mobile device) may cause a submission of a request for access to a web content available via a service or a content provider web page. For example, a user may utilize a web browser application for accessing a website. In one embodiment, the interaction may be with a web content already at the device where the interaction may be with a content item within the web content. For example, a user may click/press on a link within a webpage already loaded at the device. In one embodiment, a proxy platform may process the interaction to determine a modification to one or more nodes in a DOM. In one example, a modification in a DOM may be associated with a node providing textual information for a web content item…” paragraphs 0028/0064);
responsive to receiving the input (a user may click/press on a link within a webpage already loaded at the device), sending, by at least one computer processor, an event notification to a content provider (service or a content provider) of the user application (“…In one embodiment, a user or an application at a device (e.g., a mobile device) may cause a submission of a request for access to a web content available via a service or a content provider web page. For example, a user may utilize a web browser application for accessing a website. In one embodiment, the interaction may be with a web content already at the device where the interaction may be with a content item within the web content. For example, a user may click/press on a link within a webpage already loaded at the device. In one embodiment, a proxy platform may process the interaction to determine a modification to one or more nodes in a DOM. In one example, a modification in a DOM may be associated with a node providing textual information for a web content item...The process 300 may begin at step 301 of the FIG. 3, where the proxy platform 121 may process and/or facilitate a processing of event data resulting from at least one interaction with a document object model to determine at least one modification to at least one node of the document object model. In one embodiment, a user or an application at a device (e.g., a mobile device) may cause a submission of a request for access to a web content available via a service or a content provider web page. For example, a user may utilize a web browser application for accessing a website. In one embodiment, the interaction may be with a web content already at the device where the interaction may be with a content item within the web content. For example, a user may click/press on a link within a webpage already loaded at the device. In one embodiment, a proxy platform may process the interaction to determine a modification to one or more nodes in a DOM. In one example, a modification in a DOM may be associated with a node providing textual information for a web content item…” paragraphs 0028/0064);
receiving, from the content provider, a difference tree (content change result list/partial update) to update the current render tree (‘…In step 305, the proxy platform 121 may cause, at least in part, a generation of at least one content change result list for the document object model based, at least in part, on the registration. For example, the proxy platform may generate a list including the temporal notifications detected in the DOM. In one embodiment, the at least one content change result list specifies, at least in part, one or more mutated nodes in the document object model. In one embodiment, the one or more mutated nodes are registered by one or more mutation event listeners for determining at least one least-sized sub-tree including the one or more mutated nodes…” paragraph 0066-0069); and
updating, by the user rendered context, the current render tree based on the difference tree (content change result list/partial update) (“…In step 307, the proxy platform 121 may cause, at least in part, a transmission of the at least one content change result list to at least one proxy client for updating of the document object model. In one embodiment, the proxy platform may transmit the content change result list to a user device including the proxy client application. In one embodiment, the updating of the document object model includes causing, at least in part, a comparison of a first version of the document object model before the at least one interaction and a second version of the document object model after the at least one interaction. In one scenario, the proxy platform may cause a comparison of an original DOM and a modified DOM for updating a DOM to a proxy client…The process 400 may begin at step 401 of the FIG. 4, where the proxy platform 121 may determine whether to initiate a full update of the document object model or a partial update of the document object model based, at least in part, on a size of the at least one content change result list. In one embodiment, a proxy platform may calculate the size of the content change result list based on digital size of the list. For example, a size of the file on the content change result list. In one embodiment, the proxy platform may utilize a threshold for the size of the content change result list in order to determine whether to initiate a full or a partial update of the DOM. For example, if the size of the content change result list is greater than a certain threshold value, then the DOM will be fully updated instead of a partial update…In step 403, the proxy platform 121 may determine whether to initiate a full update of the document object model or a partial update of the document object model based, at least in part, on a number of the one or more mutated nodes. In one embodiment, the proxy platform may determine the number of mutated nodes in the modified DOM and then based on a threshold for the number of mutated nodes, the proxy platform may determine whether to initiate a full or a partial update of the DOM. For example, if there are a greater number of mutated nodes compared to the threshold value, then the DOM will be fully updated instead of a partial update…” paragraphs 0067-0069).
Woker is silent with reference to wherein the user programmer context operates on a cloud computing system (Cloud Ecosystem (ECO) core module 120) and the user programmer context (“…In one embodiment, the framework is provided in the form of a JSON (JavaScript Object Notation) descriptor file. Usage of JSON descriptor for defining the requirements is exemplary and should not be considered restrictive as other program languages or other syntax or file forms or data structures may be used. The descriptor file represents a tree-structure of name/value pairs and includes a plurality of records, with each record in the descriptor file specifying the service/resource requirements for executing an application in an environment of a specific cloud service or a server computing system. Each record, for example, specifies the storage, network, processing resource, cloud service, and other kind of technical resource requirements that need to be provisioned in order for the application to execute in the specific environment…FIG. 1 illustrates a simplified overview of a deployment mechanism that is used to deploy an application on to a specific environment of a cloud service, in one embodiment. In this embodiment, an application developer, developing an application 110, can access the deployment mechanism through an application programming interface (API) to specify the resources/services required for successful execution of the application 110. The deployment mechanism is represented in FIG. 1 as a Cloud Ecosystem (ECO) core module 120 and the API to access the ECO core is represented as the ECO API. The deployment mechanism 120 allows the developer to describe the environment 122, in which the application 110 is to execute. For example, the deployment mechanism may provide tools, such as the API accessed through a graphical user interface or command line interface, to allow the developer to specify the minimal resources and/or services required in the environment so that the application 110 can execute. The aforementioned tool(s) are exemplary and should not be considered exhaustive. Other tools or ways may be provided to enable the developer to specify the environment for executing the application that he/she has developed. The environment description 122 specified by the developer is provided as a descriptor record that is updated to a descriptor file 124, such as a JSON descriptor file. In an alternate embodiment, the developer may provide the code of the application to the deployment mechanism 120. The deployment mechanism 120 may analyze the code of the application to determine the resources/services that are required for successful execution of the application in a specific environment. The resource/service requirement information is used to define a descriptor record that is updated to the descriptor file and is used during execution of the application for provisioning services/resources in the specific environment…The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a wire-based or wireless network…” paragraphs 0035/00360138).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Woker with the teaching of Johnston because the teaching of Johnston would improve the system of Woker by providing an on-demand availability of computing resources.
As to claim 2, Johnston teaches the method of claim 1, wherein the user programmer context (Cloud Ecosystem (ECO) core module 120) and is responsible for operations related to business logic, application flow (executing an application), data model, or responses to user navigations (“… In one embodiment, the framework is provided in the form of a JSON (JavaScript Object Notation) descriptor file. Usage of JSON descriptor for defining the requirements is exemplary and should not be considered restrictive as other program languages or other syntax or file forms or data structures may be used. The descriptor file represents a tree-structure of name/value pairs and includes a plurality of records, with each record in the descriptor file specifying the service/resource requirements for executing an application in an environment of a specific cloud service or a server computing system. Each record, for example, specifies the storage, network, processing resource, cloud service, and other kind of technical resource requirements that need to be provisioned in order for the application to execute in the specific environment…FIG. 1 illustrates a simplified overview of a deployment mechanism that is used to deploy an application on to a specific environment of a cloud service, in one embodiment. In this embodiment, an application developer, developing an application 110, can access the deployment mechanism through an application programming interface (API) to specify the resources/services required for successful execution of the application 110. The deployment mechanism is represented in FIG. 1 as a Cloud Ecosystem (ECO) core module 120 and the API to access the ECO core is represented as the ECO API. The deployment mechanism 120 allows the developer to describe the environment 122, in which the application 110 is to execute. For example, the deployment mechanism may provide tools, such as the API accessed through a graphical user interface or command line interface, to allow the developer to specify the minimal resources and/or services required in the environment so that the application 110 can execute. The aforementioned tool(s) are exemplary and should not be considered exhaustive. Other tools or ways may be provided to enable the developer to specify the environment for executing the application that he/she has developed. The environment description 122 specified by the developer is provided as a descriptor record that is updated to a descriptor file 124, such as a JSON descriptor file. In an alternate embodiment, the developer may provide the code of the application to the deployment mechanism 120. The deployment mechanism 120 may analyze the code of the application to determine the resources/services that are required for successful execution of the application in a specific environment. The resource/service requirement information is used to define a descriptor record that is updated to the descriptor file and is used during execution of the application for provisioning services/resources in the specific environment…” paragraphs 0035/0036).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Woker with the teaching of Johnston because the teaching of Johnston would improve the system of Woker by providing an on-demand availability of computing resources.
As to claim 3, Woker teaches the method of claim 1, wherein the user rendered context is responsible for providing input or output functions for the user application (“…In one embodiment, the system 100 may process and/or facilitate a processing of event data resulting from at least one interaction with a document object model to determine at least one modification to at least one node of the document object model. In one embodiment, a user or an application at a device (e.g., a mobile device) may cause a submission of a request for access to a web content available via a service or a content provider web page. For example, a user may utilize a web browser application for accessing a website. In one embodiment, the interaction may be with a web content already at the device where the interaction may be with a content item within the web content. For example, a user may click/press on a link within a webpage already loaded at the device. In one embodiment, a proxy platform may process the interaction to determine a modification to one or more nodes in a DOM. In one example, a modification in a DOM may be associated with a node providing textual information for a web content item...The process 300 may begin at step 301 of the FIG. 3, where the proxy platform 121 may process and/or facilitate a processing of event data resulting from at least one interaction with a document object model to determine at least one modification to at least one node of the document object model. In one embodiment, a user or an application at a device (e.g., a mobile device) may cause a submission of a request for access to a web content available via a service or a content provider web page. For example, a user may utilize a web browser application for accessing a website. In one embodiment, the interaction may be with a web content already at the device where the interaction may be with a content item within the web content. For example, a user may click/press on a link within a webpage already loaded at the device. In one embodiment, a proxy platform may process the interaction to determine a modification to one or more nodes in a DOM. In one example, a modification in a DOM may be associated with a node providing textual information for a web content item…” paragraphs 0028/0064).
As to claim 6, Johnston teaches the method of claim 1, wherein the difference tree is represented by JavaScript Object Notation (JSON) format (“…In one embodiment, the framework is provided in the form of a JSON (JavaScript Object Notation) descriptor file. Usage of JSON descriptor for defining the requirements is exemplary and should not be considered restrictive as other program languages or other syntax or file forms or data structures may be used. The descriptor file represents a tree-structure of name/value pairs and includes a plurality of records, with each record in the descriptor file specifying the service/resource requirements for executing an application in an environment of a specific cloud service or a server computing system. Each record, for example, specifies the storage, network, processing resource, cloud service, and other kind of technical resource requirements that need to be provisioned in order for the application to execute in the specific environment…FIG. 1 illustrates a simplified overview of a deployment mechanism that is used to deploy an application on to a specific environment of a cloud service, in one embodiment. In this embodiment, an application developer, developing an application 110, can access the deployment mechanism through an application programming interface (API) to specify the resources/services required for successful execution of the application 110. The deployment mechanism is represented in FIG. 1 as a Cloud Ecosystem (ECO) core module 120 and the API to access the ECO core is represented as the ECO API. The deployment mechanism 120 allows the developer to describe the environment 122, in which the application 110 is to execute. For example, the deployment mechanism may provide tools, such as the API accessed through a graphical user interface or command line interface, to allow the developer to specify the minimal resources and/or services required in the environment so that the application 110 can execute. The aforementioned tool(s) are exemplary and should not be considered exhaustive. Other tools or ways may be provided to enable the developer to specify the environment for executing the application that he/she has developed. The environment description 122 specified by the developer is provided as a descriptor record that is updated to a descriptor file 124, such as a JSON descriptor file. In an alternate embodiment, the developer may provide the code of the application to the deployment mechanism 120. The deployment mechanism 120 may analyze the code of the application to determine the resources/services that are required for successful execution of the application in a specific environment. The resource/service requirement information is used to define a descriptor record that is updated to the descriptor file and is used during execution of the application for provisioning services/resources in the specific environment…” paragraphs 0035/0036).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Woker with the teaching of Johnston because the teaching of Johnston would improve the system of Woker by providing an on-demand availability of computing resources.
As to claims 8 and 15, see the rejection of claim 1 above, expect for at least one processor, and non-transitory computer-readable medium.
Woker teaches at least one processor (Processor 902), and non-transitory computer-readable medium (Storage Device 908).
As to claims 9 and 16, see the rejection of claim 2 above.
As to claims 10 and 17, see the rejection of claim 3 above.
As to claims 13 and 20, see the rejection of claim 6 above.
Claims 4, 5, 11, 12, 18 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2015/0193399 A1 to Woker et al. in view of U.S. Pub. No. 2016/0094483 A1 to Johnston et al. as applied to claims 1, 8 and 15 above, and further in view of U.S. Pub. No. 2016/0313983 A1 to Davidchuk et al.
As to claim 4, Woker as modified by Johnston teaches the method of claim 1, however it is silent with reference to wherein the user rendered context includes an application user interface presented within a user rendered frame.
Davidchuk teaches wherein the user rendered context includes an application user interface presented within a user rendered frame (iframe) (“…Iframes can be embedded in documents. When a user clicks on a DOM element in an iframe, the DOM event bubbling is different from the case where no iframes are present. When no iframe is present there is only 1 DOM tree in the window. When N iframes are present there are N+1 DOM trees present: 1 DOM tree in the top level window and 1 DOM tree in each of the N nested windows that is associated with each iframe. When clicking on a DOM element in an iframe, the DOM event bubbles up through the DOM tree in that iframe's window and is never received by the top level window's DOM tree…” paragraph 0078).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Woker and Johnston with the teaching of Davidchuk because the teaching of Davidchuk would improve the system of Woker and Johnston by providing frames that allows a visual HTML browser window to be split into segments so that each could show different documents.
As to claim 5, Woker as modified by Johnston teaches the method of claim 4, however it is silent with reference to wherein the user renderer frame is contained within a root window of a graphical user interface (GUI) for a web browser installed on the user device.
Davidchuk teaches wherein the user renderer frame is contained within a root window (top level window) of a graphical user interface (GUI) for a web browser installed on the user device (“…Iframes can be embedded in documents. When a user clicks on a DOM element in an iframe, the DOM event bubbling is different from the case where no iframes are present. When no iframe is present there is only 1 DOM tree in the window. When N iframes are present there are N+1 DOM trees present: 1 DOM tree in the top level window and 1 DOM tree in each of the N nested windows that is associated with each iframe. When clicking on a DOM element in an iframe, the DOM event bubbles up through the DOM tree in that iframe's window and is never received by the top level window's DOM tree…” paragraph 0078).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Woker and Johnston with the teaching of Davidchuk because the teaching of Davidchuk would improve the system of Woker and Johnston by providing frames that allows a visual HTML browser window to be split into segments so that each could show different documents.
As to claims 11 and 18, see the rejection of claim 4 above.
As to claims 12 and 19, see the rejection of claim 5 above.
Claims 7 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2015/0193399 A1 to Woker et al. in view of U.S. Pub. No. 2016/0094483 A1 to Johnston et al. as applied to claims 1 and 8 above, and further in view of U.S. Pub. No. 2015/0135061 A1 to Palanichamy et al.
As to claim 7, Woker as modified by Johnston teaches the method of claim 1, however it is silent with reference to wherein the user rendered context is initialized with an initial render tree provided from the user programmer context.
Palanichamy teaches wherein the user rendered context is initialized with an initial render tree provided from the user programmer context (“…If the DOM tree is new or has been modified at step 404, the element cache may be initialized or invalidated at step 406. For example, the element cache may be flagged for updating. At step 408, the DOM tree may be traversed, either serially with one processing thread or in parallel with multiple processing threads, to collect the pointers of element nodes. Each node of the DOM tree may be traversed and pointers of the element nodes may be stored in the element cache at step 410…” paragraph 0040).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Woker and Johnston with the teaching of Palanichamy because the teaching of Palanichamy would improve the system of Woker and Johnston by a technique for starting or initializing the execution a rendering engine/tree.
As to claim 14, see the rejection of claim 7 above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
U.S. Pub. No. 2012/0013622 A1 to Mahajan et al. and directed to a user utilizing an app delivered to a client device via an app server as he/she interacts with the app.
U.S. Pub. No. 2017/0091160 A1 to Lee et al. and directed to a processor to receive web-based content, detect an attribute of a remote rendering device and process the web-based content according to the detected attribute, analyze the Web-based content to construct a render tree corresponding to the content, prepare render tree data for rendering render tree data corresponding to the constructed render tree by the remote rendering device and transmit the render tree data to the remote rendering device over a communication network.
U.S. Pat. No. 12.170.807 B2 issues to Li et al. and directed to techniques for managing generation and rendering of user interfaces on client devices.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES E ANYA whose telephone number is (571)272-3757. The examiner can normally be reached Mon-Fir. 9-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, KEVIN YOUNG can be reached on 571-270-3180. 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.
/CHARLES E ANYA/Primary Examiner, Art Unit 2194