DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1-30 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention.
Claims 1-30 are rejected under 112(a) because the recited claims were not described in the specification. There is nowhere in the specification to disclose a content fetching profile comprising at least one static parameter and its corresponding value, and at least one dynamic parameter and its corresponding value. The specification fails to provide an adequate written description for the claims. Therefore, the claims lack written description support, according to MPEP 2163.03.
The following is a quotation of 35 U.S.C. 112(d):
(d) REFERENCE IN DEPENDENT FORMS.—Subject to subsection (e), a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers.
The following is a quotation of pre-AIA 35 U.S.C. 112, fourth paragraph:
Subject to the following paragraph [i.e., the fifth paragraph of pre-AIA 35 U.S.C. 112], a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers.
Claims 23-28 are rejected under 35 U.S.C. 112(d) or pre-AIA 35 U.S.C. 112, 4th paragraph, as being of improper dependent form for failing to further limit the subject matter of the claim upon which it depends, or for failing to include all the limitations of the claim upon which it depends. Claim 23 is a dependent claim of claim 13. Claim 13 clearly recites “selecting, from the content fetching profile database, a selected content fetching profile closest aligned with parameters of the content request” which is directed to selecting a fetching profile based on a particular algorithm/criterion (e.g., closest aligned with parameters of the content request), not a random selection or any other selection algorithm. However, claim 23 recites “wherein the selecting comprises randomly selecting”. Claim 23 contradicts with parent claim 13. Same rationales apply to claim 27 and claim 28. Claims 23, 27 and 28 are not further limiting the parent claim 13 but instead altering it. Claims 24-26 are dependent claims of claim 23 and do not cure the deficiency. Applicant may cancel the claim(s), amend the claim(s) to place the claim(s) in proper dependent form, rewrite the claim(s) in independent form, or present a sufficient showing that the dependent claim(s) complies with the statutory requirements.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1, 3-7, 11-22, and 29 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Juravicius (US 20220100808 A1).
Regarding claim 1, Juravicius teaches a method of creating a content fetching profile for optimizing content requests comprising:
creating, in bulk or individually, a content fetching profile within a content fetching profile database; (Claim 1: creating, in bulk or individually, a browsing profile within a browsing profile database.)
populating the content fetching profile with at least one static parameter and at least one respective static value; (Claim 1: populating the browsing profile with at least one static parameter and at least one respective static value according to a parameters compatibility ruleset.)
populating the content fetching profile with at least one dynamic parameter; and (Claim 1: populating the browsing profile with at least one dynamic parameter according to the parameters compatibility ruleset.)
updating the at least one dynamic parameter of the content fetching profile and at least one respective dynamic value with data derived from response data collected during regular content fetching sessions, (Claim 1: updating the at least one dynamic parameter of the browsing profile and at least one respective dynamic value with enrichment data derived from response data collected during regular scraping sessions.)
wherein the content fetching profile comprises at least one dynamic and one static parameter, (Claim 1: wherein the browsing profile comprises at least one dynamic and one static parameter.)
wherein the at least one static parameter comprises country, state, city, timezone information, or any combination thereof, and (Claim 1: wherein the at least one static parameter comprises one of the following: operating system, browser, browser version, browser plugins, browser fonts, browser languages, screen resolution, country, state, city, timezone information, static transport layer security (TLS) parameters, , and rules by which parameter value combinations abide.)
wherein the at least one dynamic parameter comprises at least content fetching history. (Claim 1: wherein the at least one dynamic parameter comprises one of the following: cookie jar, browsing history, success and failures at particular web sites, keywords used for searches within the browsing session, TLS session state, content of local storage of the browser, content of local cache)
Regarding claim 3, Juravicius teaches the method of claim 1.
Juravicius teaches wherein the content fetching profile further comprises an Internet Protocol (IP) address in IPv4 or IPv6 form. ([0188]: FIG. 7 depicts the overview of a Browsing profile being selected for enriching an Unoptimized scraping request. The Unoptimized original request is the input for the enrichment flow, the request contains the set of essential request parameters, e.g., at least the URL address, the headers, and the cookies. Custom HTTP headers may be used as the channel for communicating the supplementary requirements, e.g., geographical location for the IP address to be used for connecting to the Target web server.)
Regarding claim 4, Juravicius teaches the method of claim 3.
Juravicius teaches wherein the content fetching profile further comprises an availability of the IP address to serve as a proxy IP for fetching content. ([0026]: tracking and analyzing the IP address of the last-mile proxies used for servicing the request. A proxy server acts as an intermediary for requests from the user seeking resources from target servers. [0036]: categorizing web visitors by their IP address, or the IP address of the proxy server used for reaching the Web server.)
Regarding claim 5, Juravicius teaches the method of claim 3.
Juravicius teaches for use with a client device addressed on the Internet by the IP address. ([0029]: registering a visitor's IP address and linking the user's logged web activity with said IP address. The registered IP address of the web user can also become an attribute taken into consideration and utilized by the web sites practicing fingerprinting the visiting users. [0036]: categorizing web visitors by their IP address, or the IP address of the proxy server used for reaching the Web server.)
Regarding claim 6, Juravicius teaches the method of claim 3.
Juravicius teaches wherein the content fetching profile further comprises a marking of an availability of the client device to serve as a proxy IP for fetching content, or a marking of a period of inactivity. ([0027]: a Residential proxy is an IP address linked to a physical device, for example, mobile phone or desktop computer. [0129]: The Proxy DB is populated with data from the proxy rotator and contains information about all the proxies available to the service provider.)
Regarding claim 7, Juravicius teaches the method of claim 5.
Juravicius teaches further comprising storing, operating, or using, by the client device, a client operating system. ([0045]: These attributes can be used to deduce information about the client, such as operating system (type and version). [0113]: User Device (e.g., client device) —can be any suitable user computing device including, but not limited to, a smartphone, a tablet computing device, a personal computing device, a laptop computing device, a gaming device, a vehicle infotainment device, a smart appliance (e.g., smart refrigerator or smart television), a cloud server, a mainframe, a notebook, a desktop, a workstation, a mobile device, or any other electronic device used for making a scraping request.)
Regarding claim 11, Juravicius teaches the method of claim 5.
Juravicius teaches wherein the client device comprises, or consists of, a cellular telephone device. ([0113]: User Device (e.g., client device) —can be any suitable user computing device including, but not limited to, a smartphone, a tablet computing device, a personal computing device, a laptop computing device, a gaming device, a vehicle infotainment device, a smart appliance (e.g., smart refrigerator or smart television), a cloud server, a mainframe, a notebook, a desktop, a workstation, a mobile device, or any other electronic device used for making a scraping request.)
Regarding claim 12, Juravicius teaches the method of claim 11.
Juravicius teaches wherein the client device comprises, or consists of, a cellular telephone device. ([0113]: User Device (e.g., client device) —can be any suitable user computing device including, but not limited to, a smartphone, a tablet computing device, a personal computing device, a laptop computing device, a gaming device, a vehicle infotainment device, a smart appliance (e.g., smart refrigerator or smart television), a cloud server, a mainframe, a notebook, a desktop, a workstation, a mobile device, or any other electronic device used for making a scraping request.)
Regarding claim 13, Juravicius teaches the method of claim 1.
Juravicius teaches further comprising: accepting a content request from a user device; selecting, from the content fetching profile database, a selected content fetching profile closest aligned with parameters of the content request; combining the content request with the selected content fetching profile to form a combined request; and sending the combined request to a target. ([0117]: to select a proxy for executing the request, locally or from a dedicated proxy management element such as Proxy Rotator, whereas the parameters of the proxy server selected are aligned with the requirements of the request. [0118]: accepts requests from the Scraping Agent 104 for examination and analysis and further identifying of the parameters that are relevant for selecting the Browsing profile, selecting a Browsing profile aligned with the request parameters and returning the Browsing profile to the Scraping Agent 104. Using an analysis algorithm, the Request Enrichment Unit 106 can identify and select the Browsing profile 260 containing the parameters and values most beneficial for the request and pass the Browsing profile selected to the Scraping Agent 104 for further adjusting the request to perform scraping of the Target 124-126.)
Regarding claim 14, Juravicius teaches the method of claim 13.
Juravicius teaches wherein at least one static parameter and at least one dynamic parameter are each used or added to the content request from the selected content fetching profile. ([0118]: accepts requests from the Scraping Agent 104 for examination and analysis and further identifying of the parameters that are relevant for selecting the Browsing profile, selecting a Browsing profile aligned with the request parameters and returning the Browsing profile to the Scraping Agent 104. Using an analysis algorithm, the Request Enrichment Unit 106 can identify and select the Browsing profile 260 containing the parameters and values most beneficial for the request and pass the Browsing profile selected to the Scraping Agent 104 for further adjusting the request to perform scraping of the Target 124-126. As an example, the Location attribute or attributes (Country, City and Timezone) within the Browsing profile may be required to be aligned with the location requirements contained within the request.)
Regarding claim 15, Juravicius teaches the method of claim 13.
Juravicius teaches wherein the selected content fetching profile is used for a single user request to the target. ([0118]: accepts requests from the Scraping Agent 104 for examination and analysis and further identifying of the parameters that are relevant for selecting the Browsing profile, selecting a Browsing profile aligned with the request parameters and returning the Browsing profile to the Scraping Agent 104. Using an analysis algorithm, the Request Enrichment Unit 106 can identify and select the Browsing profile 260 containing the parameters and values most beneficial for the request and pass the Browsing profile selected to the Scraping Agent 104 for further adjusting the request to perform scraping of the Target 124-126.)
Regarding claim 16, Juravicius teaches the method of claim 13.
Juravicius teaches wherein the selected content fetching profile is used for multiple requests to the target within a same or independent content fetching session. ([0118]: accepts requests from the Scraping Agent 104 for examination and analysis and further identifying of the parameters that are relevant for selecting the Browsing profile, selecting a Browsing profile aligned with the request parameters and returning the Browsing profile to the Scraping Agent 104. Using an analysis algorithm, the Request Enrichment Unit 106 can identify and select the Browsing profile 260 containing the parameters and values most beneficial for the request and pass the Browsing profile selected to the Scraping Agent 104 for further adjusting the request to perform scraping of the Target 124-126.)
Regarding claim 17, Juravicius teaches the method of claim 13.
Juravicius teaches further comprising receiving a response from the target in response to the sending of the combined request. ([0094]: allow combining the request with a browsing profile appropriate for the scraping target, submitting said request to the scraping application and consequently receiving data that is specific for the request. Claim 8: receiving a response to the request from the target.)
Regarding claim 18, Juravicius teaches the method of claim 17.
Juravicius teaches further comprising updating the selected content fetching profile in the content fetching profile database in response to the received response from the target. (Abstract: receiving and examining the parameters of a request received from a User's Device, enriching the request parameters with a pre-established browsing profile, sending the enriched request to a Target through the selected Proxy, receiving a response from the Target, dissecting the response's metadata that is appropriate for updating the browsing profile utilized for the request. Claim 1: updating the at least one dynamic parameter of the browsing profile and at least one respective dynamic value with enrichment data derived from response data collected during regular scraping sessions. Claim 8.)
Regarding claim 19, Juravicius teaches the method of claim 17.
Juravicius teaches further comprising updating the selected content fetching profile in the content fetching profile database in response to identifying, extracting, or analyzing data in the received response from the target that is relevant for updating the content fetching profile. (Abstract: receiving and examining the parameters of a request received from a User's Device, enriching the request parameters with a pre-established browsing profile, sending the enriched request to a Target through the selected Proxy, receiving a response from the Target, dissecting the response's metadata that is appropriate for updating the browsing profile utilized for the request. Claim 8: receiving a response to the request from the target; dissecting the response by the scraping agent to identify and extract data relevant for updating the browsing profile; conveying the data to the request enrichment unit for updating the at least one dynamic parameter of the profile within the browsing profile database.)
Regarding claim 20, Juravicius teaches the method of claim 13.
Juravicius teaches wherein the combined request is sent to the target through a proxy. (Abstract: receiving and examining the parameters of a request received from a User's Device, enriching the request parameters with a pre-established browsing profile, sending the enriched request to a Target through the selected Proxy, receiving a response from the Target. [0094]: allow combining the request with a browsing profile appropriate for the scraping target, submitting said request to the scraping application and consequently receiving data that is specific for the request.)
Regarding claim 21, Juravicius teaches the method of claim 13.
Juravicius teaches wherein the selecting is based on, or uses, the at least one static parameter or the at least one respective static value. ([0118]: accepts requests from the Scraping Agent 104 for examination and analysis and further identifying of the parameters that are relevant for selecting the Browsing profile, selecting a Browsing profile aligned with the request parameters and returning the Browsing profile to the Scraping Agent 104. Using an analysis algorithm, the Request Enrichment Unit 106 can identify and select the Browsing profile 260 containing the parameters and values most beneficial for the request and pass the Browsing profile selected to the Scraping Agent 104 for further adjusting the request to perform scraping of the Target 124-126. As an example, the Location attribute or attributes (Country, City and Timezone) within the Browsing profile may be required to be aligned with the location requirements contained within the request.)
Regarding claim 22, Juravicius teaches the method of claim 13.
Juravicius teaches wherein the selecting is based on, or uses, the country, the state, the city, or the timezone of the selected content fetching profile. ([0118]: accepts requests from the Scraping Agent 104 for examination and analysis and further identifying of the parameters that are relevant for selecting the Browsing profile, selecting a Browsing profile aligned with the request parameters and returning the Browsing profile to the Scraping Agent 104. Using an analysis algorithm, the Request Enrichment Unit 106 can identify and select the Browsing profile 260 containing the parameters and values most beneficial for the request and pass the Browsing profile selected to the Scraping Agent 104 for further adjusting the request to perform scraping of the Target 124-126. As an example, the Location attribute or attributes (Country, City and Timezone) within the Browsing profile may be required to be aligned with the location requirements contained within the request.)
Regarding claim 29, Juravicius teaches the method of claim 13.
Juravicius teaches wherein the country, the state, the city, or the timezone is based on a geolocatione. ([0118]: As an example, the Location attribute or attributes (Country, City and Timezone) within the Browsing profile may be required to be aligned with the location requirements contained within the request. [0188]: Upon examination of the request parameters the Request Enrichment Unit 106 approaches the Browsing profile DB 108 for selecting the Browsing profile most aligned with the parameters of the request 702 e.g. a profile with the geographical location declared identical, similar, or close to the geolocation of the request's Target.)
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 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.
Claim(s) 2 is rejected under 35 U.S.C. 103 as being unpatentable over Juravicius (US 20220100808 A1) in view of Ryan (US 20130139238 A1).
Regarding claim 2, Juravicius teaches the method of claim 1.
Juravicius does not explicitly disclose wherein the content fetching profile further comprises a sign-in timing data that comprises a date, a Time-of-Day (TOD), or both.
However, Ryan teaches wherein the content fetching profile further comprises a sign-in timing data that comprises a date, a Time-of-Day (TOD), or both. ([0039]: data associated with the user's personal computer including: cookies or flash objects stored in the user's browser, a comparison of browser and operating system details, the user's Internet Protocol address (or IP address subnet), the IP address geo-location and behaviour analysis such as a time of day logon.)
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to include above limitation into Juravicius. One would have been motivated to do so because it is well-known in the art that cookies stored in the user's browser track the user's Internet Protocol address (or IP address subnet), the IP address geo-location and behaviour analysis such as a time of day logon. As taught by Ryan, [0039].
Claim(s) 8 is rejected under 35 U.S.C. 103 as being unpatentable over Juravicius (US 20220100808 A1) in view of Joo (US 20070011674 A1).
Regarding claim 8, Juravicius teaches the method of claim 7.
Juravicius does not explicitly disclose wherein the client operating system consists or, comprises of, or is based on, Microsoft Windows 7, Microsoft Windows XP, Microsoft Windows 8, Microsoft Windows 8.1, Linux, or Google Chrome OS.
However, Joo teaches wherein the client operating system consists or, comprises of, or is based on, Microsoft Windows 7, Microsoft Windows XP, Microsoft Windows 8, Microsoft Windows 8.1, Linux, or Google Chrome OS. ([0005]: a personal computer (PC) or a notebook computer, an operating system (OS), such as Apple Mac OS, Microsoft Windows™ (Windows 95, Windows XP or Windows 2000), NEXTSTEP, Unix, Linux, and others, is required.)
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to include above limitation into Juravicius. One would have been motivated to do so because in order to operate a computer system, such as a personal computer (PC) or a notebook computer, an operating system (OS), such as Apple Mac OS, Microsoft Windows™ (Windows 95, Windows XP or Windows 2000), NEXTSTEP, Unix, Linux, and others, is required. As taught by Joo, [0005].
Claim(s) 9-10 are rejected under 35 U.S.C. 103 as being unpatentable over Juravicius (US 20220100808 A1) in view of Cusack (US 20140040035 A1).
Regarding claim 9, Juravicius teaches the method of claim 7.
Juravicius does not explicitly disclose wherein the client operating system comprises a mobile operating system.
However, Cusack teaches wherein the client operating system is a mobile operating system. ([0005]: Such handheld computerized devices, exemplified by laptop computers, tablet computers, and smartphones, often run iOS, Android, Windows, or other operating systems on one or more microprocessors.)
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to include the above limitation into Juravicius. One would have been motivated to do so because it is common for handheld computerized devices, exemplified by laptop computers, tablet computers, and smartphones, often run iOS, Android, Windows, or other operating systems on one or more microprocessors. As taught by Cusack, [0005].
Regarding claim 10, Juravicius and Cusack teach the method of claim 9.
Cusack teaches wherein the mobile operating system consists or, comprises of, or is based on, Android version 2.2 (Froyo), Android version 2.3 (Gingerbread), Android version 4.0 (Ice Cream Sandwich), Android Version 4.2 (Jelly Bean), Android version 4.4 (KitKat)), Apple iOS version 3, Apple iOS version 4, Apple iOS version 5, Apple iOS version 6, Apple iOS version 7, Microsoft Windows® Phone version 7, Microsoft Windows® Phone version 8, Microsoft Windows® Phone version 9, or Blackberry® operating system. ([0026]: devices such as the popular Apple iPhone/iPod touch/iPad series of devices, or to various Android series smartphones and tablets.)
Claim(s) 30 is rejected under 35 U.S.C. 103 as being unpatentable over Juravicius (US 20220100808 A1) in view of Montgomery (US 20140189802 A1).
Regarding claim 29, Juravicius teaches the method of claim 7.
Juravicius does not explicitly disclose wherein the geolocation is based on W3C Geolocation API.
Montgomery teaches wherein the geolocation is based on W3C Geolocation API. (sec [0074], lines 27-29)
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to include above limitation into Juravicius. One would have been motivated to do so because W3C Geolocation API is popular standard that enable web application running on a remote server to access user location data.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZI YE whose telephone number is (571)270-1039. The examiner can normally be reached Monday - Friday, 8:00am - 4:00pm.
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, Emmanuel Moise can be reached at 5712723865. 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.
/ZI YE/Primary Examiner, Art Unit 2455