DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Remarks
2. Claims 1-20 have been examined and rejected. This Office action is responsive to the amendment filed on March 2, 2026, which has been entered in the above identified application.
Claim Objections
3. The corrections to claims 15 and 20 have been approved, and the objections to claims 15-20 are withdrawn.
Claim Rejections - 35 USC § 112
4. The corrections to claims 1 and 8 have been approved, and the rejections to claims 1-14 under 35 U.S.C. 112(b) are withdrawn.
Claim Rejections - 35 USC § 103
5. 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.
6. Claims 1-6, 8-13, and 15-19 are rejected under 35 U.S.C. 103 as being unpatentable over Gorelik et al (U.S. Patent No. 6,651,142), in view of Nicholls et al (U.S. Patent No. 10,079,931), and further in view of Luo et al (U.S. Patent No. 10,242,061).
6-1. Regarding claims 1 and 8, Gorelik teaches the claim comprising: receiving, in the browser, a web page that includes a user interface (UI) script-code snippet, by disclosing a web client 110 that connects to a wide area network 120 using a web browser [column 4, lines 26-43; column 8, lines 25-26] to access a web page that provides a user interface for viewing and executing plans stored in a repository [column 4, lines 50-56].
Gorelik does not expressly teach monitoring in the browser, according to a browser security policy parameter, an activity related to the web page;… applying a browser security policy defined by the browser security policy parameter. Nichols discloses monitoring information input to, output from, used on or exchanged with or in any other manner utilized by an electronic device [column 32, lines 54-62] including accessing websites and web services when throttling information [column 33, lines 21-31; column 69, lines 28-32]. A usage context monitor determines the context in which a user is currently using a device based on types of usage rules [column 69, lines 3-25] and an information throttle uses context to determine whether and how to throttle the device based on the rules associated with workplace use policy [column 69, lines 25-28]. The throttle may modify access to applications, services, features, information sources, information items, data, websites, web services, and hardware capabilities based on the rules and based on the context [column 69, lines 28-32]. For example, access to certain applications and databases may be blocked [column 69, lines 32-50]. This would provide more security over access to certain information. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to monitor context with which a user is using a device based on usage rules and restrict access to certain data based on the context and usage rules, as taught by Nichols. This would provide more security over access to certain information.
Gorelik-Nichols teach detecting a first event in the web page to initiate the monitored activity associated with the UI script-code snippet, by disclosing receiving a user request to process data using a particular plan, including one or more data parameters [Gorelik, column 4, lines 56-59; column 7, lines 5-9].
Although Gorelik-Nichols disclose that after determining that data parameters are not stored in any cache in a plurality of tiers [Gorelik, column 7, lines 10-23], processing the user request in each tier using the data parameters to create a result set [Gorelik, column 7, lines 24-25], Gorelik-Nichols do not expressly teach determining a processing cost of executing the UI script-code snippet; comparing the processing cost to a processing cost threshold; in response to the processing cost not having a predetermined relationship to the processing cost threshold, controlling execution of the UI script-code snippet to generate an output value. Luo discloses a computing device 100 comprising memory 204 [column 4, lines 32-47; figure 2] for storing all or a portion of components and data shown in figure 3 [column 5, lines 9-27; figure 3]. A query transformation engine 302 implements a query planning function [column 7, lines 7-12], and is configured to determine a cost estimate of executing a candidate expression at the computing device 100 [column 8, lines 21-31; column 9, lines 22-25] and whether the cost estimate is greater than a threshold [column 8, lines 31-41; column 9, lines 25-27]. If the cost estimate is not greater than the threshold, the candidate expression will be executed by a query execution engine 306 at the computing device 100, and if the cost estimate is greater than the threshold, the candidate expression will be pushed down to an underlying data provider for execution [column 9, lines 27-33]. A data cache 314 is provided to store results of multidimensional queries [column 8, lines 61-64]. The query execution engine 306 is configured to execute a multidimensional expression (MDX) query against the multidimensional cache 314, or if the requested data is not in the cache, against a multidimensional or Online Analytical Processing (OLAP) database 110 using the MDX processing engine 310 [column 8, lie 67 to column 9, line 4]. This would help prevent the computing device from being overloaded. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to process the user request of Gorelik-Nichols based on determining whether a cost estimate is greater than a threshold, as taught by Luo. This would help prevent the computing device from being overloaded.
Gorelik-Nichols-Luo teach generating a first user interface of the web page based at least upon the generated output value, by disclosing displaying a final result set to the user [Gorelik, column 7, lines 28-30].
Gorelik-Nichols-Luo teach storing the output value in at least one of an in-memory map or an in-local storage map of the browser, by disclosing storing the result set with the data parameters in a corresponding cache for use in processing of subsequent user requests [Gorelik, column 7, lines 25-28; Luo, column 8, lines 61-64].
Gorelik-Nichols-Luo teach detecting a second event in the web page to initiate the monitored activity, by disclosing receiving a user request to process data using a particular plan, including one or more data parameters [Gorelik, column 7, lines 38-43].
Gorelik-Nichols-Luo teach determining the at least one of the in-memory map or the in-local storage map stores the output value of the UI script-code snippet, by disclosing searching cache memories of multiple tiers until a parameterized result set associated with the data parameter is found [Gorelik, column 7, lines 44-65].
Gorelik-Nichols-Luo teach retrieving the output value of the UI script-code snippet from the determined at least one of the in-memory map or the in-local storage map, by disclosing creating the final result set [Gorelik, column 7, lines 66-67].
Gorelik-Nichols-Luo teach generating a second user interface of the web page based at least upon the retrieved output value, by disclosing displaying the final result set [Gorelik, column 8, lines 1-9].
6-2. Regarding claims 2 and 9, Gorelik-Nichols-Luo teach all the limitations of claims 1 and 8 respectively, wherein said applying a browser security policy comprises: blocking the activity, by disclosing that the throttle may modify access to applications, services, features, information sources, information items, data, websites, web services, and hardware capabilities based on the rules and based on the context [Nichols, column 69, lines 28-32]. For example, access to certain applications and databases may be blocked [Nichols, column 69, lines 32-50].
6-3. Regarding claims 3 and 10, Gorelik-Nichols-Luo teach all the limitations of claims 1 and 8 respectively, wherein said detecting the first event in the web page comprises: detecting a user input to the web page to request the activity, by disclosing receiving a user request, such as clicking a hypertext link, to process data using a particular plan, including one or more data parameters [Gorelik, column 4, lines 56-59; column 7, lines 5-9].
6-4. Regarding claims 4 and 11, Gorelik-Nichols-Luo teach all the limitations of claims 1 and 10 respectively, wherein the monitored activity includes at least one of: a clipboard action, a printing action, a download action, or an upload action, by disclosing that information input to, output from, used on or exchanged with or in any other manner utilized by an electronic device is monitored [Nichols, column 32, lines 54-62] including accessing websites and web services [Nichols, column 33, lines 21-31; column 69, lines 28-32] which requires the download of information.
6-5. Regarding claims 5 and 12, Gorelik-Nichols-Luo teach all the limitations of claims 1 and 10 respectively, wherein said detecting a first event in the web page is performed in a first monitored session and said detecting a second event in the web page is performed in a second monitored session, by disclosing receiving a user request to process data using a particular plan, including one or more data parameters in a first session [Gorelik, column 4, lines 56-59; column 7, lines 5-9] and receiving a user request to process data using a particular plan, including one or more data parameters in a second session [Gorelik, column 7, lines 38-43]. Information input to, output from, used on or exchanged with or in any other manner utilized by an electronic device is monitored [Nichols, column 32, lines 54-62].
6-6. Regarding claims 6 and 13, Gorelik-Nichols-Luo teach all the limitations of claims 1 and 10 respectively, wherein the output value includes code structured for at least one of monitoring policies of the browser or enforcing policies of the browser, by disclosing that based on monitored information, information throttling may at least partially increase or decrease capabilities or functionality or information related bandwidth or information type, e.g., from 0% to 100% functional and all values in between and including fully blocked and fully functional of software applications and websites [Nichols, column 33, lines 4-31], thus adjusting output based on monitoring policies.
6-7. Regarding claim 15, Gorelik teaches the claim comprising: receiving, in the browser, a web page that includes a user interface (UI) script-code snippet, by disclosing a web client 110 that connects to a wide area network 120 using a web browser [column 4, lines 26-43; column 8, lines 25-26] to access a web page that provides a user interface for viewing and executing plans stored in a repository [column 4, lines 50-56].
Gorelik does not expressly teach monitoring in the browser, according to a browser security policy parameter, an activity related to the web page;… applying a browser security policy defined by the browser security policy parameter. Nichols discloses monitoring information input to, output from, used on or exchanged with or in any other manner utilized by an electronic device [column 32, lines 54-62] including accessing websites and web services when throttling information [column 33, lines 21-31; column 69, lines 28-32]. A usage context monitor determines the context in which a user is currently using a device based on types of usage rules [column 69, lines 3-25] and an information throttle uses context to determine whether and how to throttle the device based on the rules associated with workplace use policy [column 69, lines 25-28]. The throttle may modify access to applications, services, features, information sources, information items, data, websites, web services, and hardware capabilities based on the rules and based on the context [column 69, lines 28-32]. For example, access to certain applications and databases may be blocked [column 69, lines 32-50]. This would provide more security over access to certain information. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to monitor context with which a user is using a device based on usage rules and restrict access to certain data based on the context and usage rules, as taught by Nichols. This would provide more security over access to certain information.
Gorelik-Nichols teach detecting a first event in the web page to initiate the monitored activity associated with the UI script-code snippet, by disclosing receiving a user request to process data using a particular plan, including one or more data parameters [Gorelik, column 4, lines 56-59; column 7, lines 5-9].
Although Gorelik-Nichols teach in response to determining an in-memory map and an in-local storage map do not store an output value, controlling execution of the UI script-code snippet to generate the output value of the UI script-code snippet, by disclosing that after determining that data parameters are not stored in any cache in a plurality of tiers [Gorelik, column 7, lines 10-23], processing the user request in each tier using the data parameters to create a result set [Gorelik, column 7, lines 24-25], Gorelik-Nichols do not expressly teach that after determining that data parameters are not stored in any cache in a plurality of tiers, determining a processing cost of performing the execution of the UI script-code snippet; comparing the processing cost to a processing cost threshold; in response to the processing cost not having a predetermined relationship to the processing cost threshold, controlling execution of the UI script-code snippet to generate an output value of the UI script-code snippet. Luo discloses a computing device 100 comprising memory 204 [column 4, lines 32-47; figure 2] for storing all or a portion of components and data shown in figure 3 [column 5, lines 9-27; figure 3]. A query transformation engine 302 implements a query planning function [column 7, lines 7-12], and is configured to determine a cost estimate of executing a candidate expression at the computing device 100 [column 8, lines 21-31; column 9, lines 22-25] and whether the cost estimate is greater than a threshold [column 8, lines 31-41; column 9, lines 25-27]. If the cost estimate is not greater than the threshold, the candidate expression will be executed by a query execution engine 306 at the computing device 100, and if the cost estimate is greater than the threshold, the candidate expression will be pushed down to an underlying data provider for execution [column 9, lines 27-33]. A data cache 314 is provided to store results of multidimensional queries [column 8, lines 61-64]. The query execution engine 306 is configured to execute a multidimensional expression (MDX) query against the multidimensional cache 314, or if the requested data is not in the cache, against a multidimensional or Online Analytical Processing (OLAP) database 110 using the MDX processing engine 310 [column 8, lie 67 to column 9, line 4]. This would help prevent the computing device from being overloaded. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to, after determining that data parameters are not stored in any cache in a plurality of tiers, process the user request of Gorelik-Nichols based on determining whether a cost estimate is greater than a threshold, as taught by Luo. This would help prevent the computing device from being overloaded.
Gorelik-Nichols-Luo teach generating a first user interface of the web page based at least upon the generated output value, by disclosing displaying a final result set to the user [Gorelik, column 7, lines 28-30].
Gorelik-Nichols-Luo teach storing the output value in the in-memory map and in the in-local storage map, by disclosing storing the result set with the data parameters in a corresponding cache for use in processing of subsequent user requests [Gorelik, column 6, lines 21-28; column 7, lines 25-28].
6-8. Regarding claim 16, Gorelik-Nichols-Luo teach all the limitations of claim 15, further comprising: detecting a second event in the web page to initiate the monitored activity, by disclosing receiving a user request to process data using a particular plan, including one or more data parameters [Gorelik, column 7, lines 38-43].
Gorelik-Nichols-Luo teach determining at least one of the in-memory map or the in-local storage map stores the output value of the UI script-code snippet, by disclosing searching cache memories of multiple tiers until a parameterized result set associated with the data parameter is found [Gorelik, column 7, lines 44-65].
Gorelik-Nichols-Luo teach retrieving the output value of the UI script-code snippet from the determined at least one of the in-memory map or the in-local storage map, by disclosing creating the final result set [Gorelik, column 7, lines 66-67].
Gorelik-Nichols-Luo teach generating a user interface of the web page based at least upon the retrieved output value, by disclosing displaying the final result set [Gorelik, column 8, lines 1-9].
6-9. Regarding claim 17, Gorelik-Nichols-Luo teach all the limitations of claim 15, wherein the output value includes code structured for at least one of monitoring policies of the browser or enforcing policies of the browser, by disclosing that based on monitored information, information throttling may at least partially increase or decrease capabilities or functionality or information related bandwidth or information type, e.g., from 0% to 100% functional and all values in between and including fully blocked and fully functional of software applications and websites [Nichols, column 33, lines 4-31], thus adjusting output based on monitoring policies.
6-10. Regarding claim 18, Gorelik-Nichols-Luo teach all the limitations of claim 15, wherein said controlling execution comprises: transmitting the UI script-code snippet to a server device for performing the execution of the script-code snippet to generate the output value; and receiving the output value from the server device, by disclosing that after determining that data parameters are not stored in any cache in a plurality of tiers [Gorelik, column 7, lines 10-23] and that the cost estimate is greater than the threshold [Luo, column 9, lines 30-33], processing the user request in each tier using the data parameters to create a result set [Gorelik, column 7, lines 24-25]. The multiple tiers include one or more processes running on a web server [Gorelik, column 7, lines 15-19].
6-11. Regarding claim 19, Gorelik-Nichols-Luo teach all the limitations of claim 15, wherein said applying a browser security policy comprises: blocking the activity, by disclosing that the throttle may modify access to applications, services, features, information sources, information items, data, websites, web services, and hardware capabilities based on the rules and based on the context [Nichols, column 69, lines 28-32]. For example, access to certain applications and databases may be blocked [Nichols, column 69, lines 32-50].
7. Claims 7, 14, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Gorelik et al (U.S. Patent No. 6,651,142), in view of Nicholls et al (U.S. Patent No. 10,079,931), in view of Luo et al (U.S. Patent No. 10,242,061), and further in view of Mattis (U.S. Patent No. 6,292,880.
7-1. Regarding claims 7 and 14, Gorelik-Nichols-Luo teach all the limitations of claims 1 and 8 respectively. Although Gorelik-Nichols-Luo disclose storing a result set into a cache using one or more parameters that represent a key of the result set [Gorelik, column 5, lines 27-35], Gorelik-Nichols-Luo do not expressly teach wherein said storing the output value comprises: generating a key by performing a hashing function on the UI script-code snippet; and storing the output value in the in-memory map using the key as an index. Mattis discloses establishing a cache table in a memory of the server, the cache table comprising a name key that references a vector of alternates; (B) computing a content key that uniquely identifies the information object by applying a hash function to the information object; and (C) storing the content key in the cache table in one of the alternates [column 5, lines 28-36; column 8, lines 18-36]. This enables the cache to detect duplicate objects that have different names but the same content [column 8, lines 37-41], thus increasing storage space efficiency [column 8, line 55 to column 9, line 6]. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply a hash function to an information object to obtain an object key that serves as indexes into tables of a cache, as taught by Mattis. This would increase storage space efficiency.
7-2. Regarding claim 20, Gorelik-Nichols-Luo teach all the limitations of claim 15. Although Gorelik-Nichols-Luo disclose storing a result set into a cache using one or more parameters that represent a key of the result set [Gorelik, column 5, lines 27-35], Gorelik-Nichols-Luo do not expressly teach wherein said storing the output value comprises: generating a key by performing a hashing function on the UI script-code snippet; and storing the output value in the in-memory map using the key as an index. Mattis discloses establishing a cache table in a memory of the server, the cache table comprising a name key that references a vector of alternates; (B) computing a content key that uniquely identifies the information object by applying a hash function to the information object; and (C) storing the content key in the cache table in one of the alternates [column 5, lines 28-36; column 8, lines 18-36]. This enables the cache to detect duplicate objects that have different names but the same content [column 8, lines 37-41], thus increasing storage space efficiency [column 8, line 55 to column 9, line 6]. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply a hash function to an information object to obtain an object key that serves as indexes into tables of a cache, as taught by Mattis. This would increase storage space efficiency.
Response to Arguments
8. The Examiner acknowledges the Applicant’s amendments to claims 1, 3, 7, 8, 15, and 20.
Regarding independent claim 1, Applicant alleges that Gorelik et al (U.S. Patent No. 6,651,142) in view of Nicholls et al (U.S. Patent No. 10,079,931) fail to teach or suggest, "determining a processing cost of performing the execution of the UI script-code snippet," "comparing the processing cost to a processing cost threshold," and "in response to the processing cost not having the predetermined relationship to the processing cost threshold” as has been amended to the claim. Examiner has rejected claim 1 under 35 U.S.C. 103 as being unpatentable over Gorelik et al (U.S. Patent No. 6,651,142), in view of Nicholls et al (U.S. Patent No. 10,079,931), and further in view of Luo et al (U.S. Patent No. 10,242,061). Applicant’s arguments have been considered but are moot in view of the new grounds of rejection.
Similar arguments have been presented for independent claims 8 and 15 and thus, Applicant’s arguments are not persuasive for the same reasons.
Applicant states that dependent claims 2-7, 9-14, and 16-20 recite all the limitations of the independent claims, and thus, are allowable in view of the remarks set forth regarding independent claims 1, 8, and 15. However, as discussed above, Gorelik, in view of Nicholls, and further in view of Luo are considered to teach claims 1, 8, and 15, and consequently, claims 2-7, 9-14, and 16-20 are rejected.
Conclusion
9. Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
10. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALVIN H TAN whose telephone number is (571)272-8595. The examiner can normally be reached M-F 10AM-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, Scott Baderman can be reached at 571-272-3644. 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.
/ALVIN H TAN/Primary Examiner, Art Unit 2118