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 .
Claims 1 – 20 are pending for examination.
Examiner’s Note
The prior art rejection below cites particular paragraphs, columns, and/or line numbers in the references for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1 – 20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
As to claim 1, the claim recites
“A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations comprising:
receiving, from a third party service, an aggregation request requesting aggregation of client data from a client of the third party service;
receiving, from an application programming interface (API) executed by a client device of the client, a first portion of the client data;
storing the first portion of the client data;
after storing the first portion of the client data, receiving, from the API, a second portion of the client data;
determining that the second portion of the client data is a final portion of the client data;
in response to determining that the second portion of the client data is the final portion of the client data, aggregating the first portion of the client data with the second portion of the client data; and
transmitting the aggregated client data to the third party service”.
Step 1: the claim is directed to a process which is one of the statutory categories of invention.
Step 2A:
Prong 1: the limitations of " determining that the second portion of the client data is a final portion of the client data;
in response to determining that the second portion of the client data is the final portion of the client data, aggregating the first portion of the client data with the second portion of the client data” are all functions that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgement and opinion.
Prong 2: the additional elements “receiving, from a third party service, an aggregation request requesting aggregation of client data from a client of the third party service; receiving, from an application programming interface (API) executed by a client device of the client, a first portion of the client data” and “transmitting the aggregated client data to the third party service” and “storing the first portion of the client data” merely recites insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application. See MPEP 2106.05(d). The additional element “A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations” merely link the use of the judicial exception to a particular technological environment or field of use, thus does not integrate the judicial exception into a practical application. MPEP 2106.05(h).
Accordingly, the additional elements do not amount to significantly more than the abstract idea.
Step 2B: the additional elements “receiving, from a third party service, an aggregation request requesting aggregation of client data from a client of the third party service; receiving, from an application programming interface (API) executed by a client device of the client, a first portion of the client data” and “transmitting the aggregated client data to the third party service” mere data gathering which the courts have held to be insignificant extra-solution activity (see MPEP 2106.05(g)). The additional element “storing the first portion of the client data” merely recites insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application. See MPEP 2106.05(d). The additional element “A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations” merely link the use of the judicial exception to a particular technological environment or field of use, thus does not integrate the judicial exception into a practical application. MPEP 2106.05(h).
Thus, these additional elements do not integrate the judicial exception into a practical application.
As to claim 2, The method of claim 1, wherein the operations further comprise, prior to transmitting the aggregated client data to the third party service:
The additional element “receiving, from a second API executed by a second client device of a second client, a third portion of the client data” mere data gathering which the courts have held to be insignificant extra-solution activity (see MPEP 2106.05(g));
The additional element “aggregating the third portion of the client data with the first portion of the client data and the second portion of the client data” mere data gathering which the courts have held to be insignificant extra-solution activity (see MPEP 2106.05(g)).
As to claim 2, “the method of claim 1, wherein the operations further comprise, prior to aggregating the first portion of the client data with the second portion of the client data, authenticating the client” mere data gathering which the courts have held to be insignificant extra-solution activity (see MPEP 2106.05(g)).
As to claim 4, “The method of claim 3, wherein authenticating the client comprises receiving, from the API, client credentials” mere data gathering which the courts have held to be insignificant extra-solution activity (see MPEP 2106.05(g)).
As to claim 5, “The method of claim 1, wherein storing the first portion of the client data comprises determining that a data limit threshold has failed to be satisfied” mere data gathering which the courts have held to be insignificant extra-solution activity (see MPEP 2106.05(g)).
As to claim 6, “The method of claim 5, wherein aggregating the first portion of the client data with the second portion of the client data comprises determining that the data limit threshold has been satisfied” mere data gathering which the courts have held to be insignificant extra-solution activity (see MPEP 2106.05(g)).
As to claim 7, “The method of claim 1, wherein aggregating the first portion of the client data with the second portion of the client data comprises:
combining the first portion of the client data and the second portion of the client data; filtering the first portion of the client data and the second portion of the client data; or transforming the first portion of the client data and the second portion of the client data” mere data gathering which the courts have held to be insignificant extra-solution activity (see MPEP 2106.05(g)).
As to claim 8, “The method of claim 1, wherein receiving the first portion of the client data comprises transmitting, to the API, a response acknowledging receipt of the first portion of the client data” merely recites insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application. See MPEP 2106.05(d).
As to claim 9, “The method of claim 1, wherein the operations further comprise, after transmitting the aggregated client data to the third party service:
receiving, from the third party service, a success response indicating successful processing of the aggregated client data; and forwarding the success response to the API” merely recites insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application. See MPEP 2106.05(d).
As to claim 10, “The method of claim 1, wherein the operations further comprise, prior to receiving the aggregation request, receiving, from the third party service, a configuration file, the configuration file comprising configuration information defining collection of the aggregated client data” merely recites insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application. See MPEP 2106.05(d).
As to claim 11, it is a system claim of claim 1. See rejection for claim 1 above.
As to claims 12 - 20, see rejection for claims 2 – 20 above.
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.
Claims 1 – 7, 10 – 17 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Liongosari et al., (US PUB 2017/0053032 hereinafter Liongosari) in view of Cronin et al., (US PUB 2016/0014481 hereinafter Cronin).
As to claim 1, Liongosari teaches a computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations comprising:
receiving, from a third party service (“… (e.g., third party) recommendation platform…” para. 0016), an aggregation request requesting aggregation of client data from a client of the third party service (“…In some examples, the aggregate data 118 may be generated based on particular requests from data consumers, end-user(s) 116, and/or recommendation platform(s)…” para. 0042) and (“As shown in FIG. 1B, the recommendation platform 128 may call into the API 124 to request aggregate data 118 and/or recommendation(s) 122 for one or more end-users 116.…” para. 0053);
receiving, from an application programming interface (API) (“… The data 104 generated by the individual platforms 102 may be sent to a (e.g., centralized) super-platform 108. For each individual platform 102, the super-platform 108 may include a gateway 110 that operates as an interface to receive the data 104 from the individual platform 102…” para. 0031) executed by a client device of the client, a first portion of the client data (“…For example, the end-user 116 may submit a query requesting comedy films and/or television shows recommended for the end-user 116. As another example, the end-user 116 may submit a query requesting particular types of products, services, and/or locations recommended for the end-user 116, such as recommended restaurants, vacation spots, bicycles, clothing items, games, and so forth…” para. 0050);
storing the first portion of the client data (“…The super-platform 108 may store the data 104, and may perform operations on the data 104 to process, store, analyze, aggregate, or otherwise handle the data 104 during various stages of the data lifecycle…” para. 0031 - 0032);
after storing the first portion of the client data, receiving, from the API, a second portion of the client data (“…An end-user may interact with multiple individual (e.g., siloed) platforms of different types or that support different business purposes or industries. The individual platforms may generate data describing, and/or resulting from, these interactions with end-user(s). The data from the various individual platforms may be received, ingested, stored, analyzed, and/or otherwise processed by a super-platform…” para. 0016, 0019 and 0048. Note: multiple platforms would comprise second platform generating second portion of data for the user) and (“…For each individual platform 102, the super-platform 108 may include a gateway 110 that operates as an interface to receive the data 104 from the individual platform 102.…” para. 0031 - 0032);
[determining that the second portion of the client data is a final portion of the client data;
[in response to determining that the second portion of the client data is the final portion of the client data,] aggregating the first portion of the client data with the second portion of the client data (“…In some implementations, the data may be aggregated to generate aggregate data. The data and/or aggregate data may be analyzed by a recommendation engine executing on the super-platform. The recommendation engine may determine one or more recommendations for a particular end-user based on an analysis of the data and/or aggregate data associated with that end-user…” para. 0016) and (“…In some implementations, the super-platform 108 may execute one or more aggregation module(s) 112 that aggregate the data 104 to generate aggregate data 118. Data aggregation may aggregate data 104 that is associated with a single end-user 116 of one or more platforms 102.” para. 0033) and (“…For example, data 104 from a wearable computing device (e.g., a Fitbit™, watch computer, etc.) may indicate that an end-user 116 runs at a particular time each evening, and data 104 from a streaming site may indicate that the end-user 116 watches a particular genre of video content (e.g., sports movies) at a subsequent time. The recommendation engine 120 may determine a time-based correlation between these two sets of data 104, and infer that the end-user 116 exhibits a pattern of watching the particular genre of video content after running…” para. 0048); and
transmitting the aggregated client data to the third party service (“…The data may be aggregated and the data and/or aggregate data may be analyzed by a recommendation engine executing on the super-platform to determine one or more recommendations for a particular end-user based on an analysis of the data and/or aggregate data associated with that end-user…” abstract and para. 0016).
Liongosari does not but Cronin teaches
determining that the second portion of the client data is a final portion of the client data; and in response to determining that the second portion of the client data is the final portion of the client data (“…A portion of the video may be determined to be associated with the identified portion of received data that meets the threshold…” abstract. Note: the specification defines the received data that meets the threshold is the final portion (para. 0005, 0007 and 0027 - 0028) and (“…identifying that a portion of the received data meets a threshold, determining which portion of the video is associated with the identified portion of received data that meets the threshold, and extracting a video snippet for the determined portion” para. 0011 and 0020).
It 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 was made to modify Liongosari by applying the teachings of Cronin because Cronin’s threshold value as a condition to perform action on received data (0009 – 0011).
As to claim 2, Liongosari modified by Cronin teaches the method of claim 1, Liongosari teaches wherein the operations further comprise, prior to transmitting the aggregated client data to the third party service:
receiving, from a second API executed by a second client device of a second client, a third portion of the client data (“…For example, the recommendation engine 120 may determine a pattern that the end-user 116 watches a particular genre of video content based on the data 104 received from different content streaming platforms…” para. 0046); and
aggregating the third portion of the client data with the first portion of the client data and the second portion of the client data (“Generating the recommendation(s) 122 may also include identifying correlations between different types of data 104 and/or aggregate data 118. For example, data 104 from a wearable computing device (e.g., a Fitbit™, watch computer, etc.) may indicate that an end-user 116 runs at a particular time each evening, and data 104 from a streaming site may indicate that the end-user 116 watches a particular genre of video content (e.g., sports movies) at a subsequent time…” para. 0048).
As to claim 3, Liongosari modified by Cronin The method of claim 1, Liongosari teaches wherein the operations further comprise, prior to aggregating the first portion of the client data with the second portion of the client data, authenticating the client (“…Aggregation may also determine that different sets of data 104, from different individual platforms 102, are associated with a same end-user 116. This determination may be based on a common user identifier used by the various platforms…” para. 0043).
As to claim 4, Liongosari modified by Cronin The method of claim 3, Liongosari teaches wherein authenticating the client comprises receiving, from the API, client credentials (“…Aggregation may also determine that different sets of data 104, from different individual platforms 102, are associated with a same end-user 116. This determination may be based on a common user identifier used by the various platforms…” para. 0043).
As to claim 5, Liongosari modified by Cronin The method of claim 1, Liongosari does not but Cronin teaches wherein storing the first portion of the client data comprises determining that a data limit threshold has failed to be satisfied (“…A portion of the video may be determined to be associated with the identified portion of received data that meets the threshold…” Abstract. Note: other portions do not meet the threshold).
It 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 was made to modify Liongosari by applying the teachings of Cronin because Cronin’s threshold value as a condition to perform action on received data (0009 – 0011).
As to claim 6, Liongosari modified by Cronin The method of claim 5, Liongosari teaches wherein aggregating the first portion of the client data with the second portion of the client data (“…Aggregation may also determine that different sets of data 104, from different individual platforms 102, are associated with a same end-user 116. This determination may be based on a common user identifier used by the various platforms…” para. 0043).
comprises determining that the data limit threshold has been satisfied (“…A portion of the video may be determined to be associated with the identified portion of received data that meets the threshold…” abstract. Note: the specification defines the received data that meets the threshold is the final portion (para. 0005, 0007 and 0027 - 0028) and (“…identifying that a portion of the received data meets a threshold, determining which portion of the video is associated with the identified portion of received data that meets the threshold, and extracting a video snippet for the determined portion” para. 0011 and 0020).
It 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 was made to modify Liongosari by applying the teachings of Cronin because Cronin’s threshold value as a condition to perform action on received data (0009 – 0011).
As to claim 7, Liongosari modified by Cronin The method of claim 1, Liongosari teaches wherein aggregating the first portion of the client data with the second portion of the client data comprises:
combining the first portion of the client data and the second portion of the client data (“…Aggregation may also determine that different sets of data 104, from different individual platforms 102, are associated with a same end-user 116. This determination may be based on a common user identifier used by the various platforms…” para. 0043);
filtering the first portion of the client data and the second portion of the client data (“…The determination may be based on pixels, beacons, cookies, or other data employed to track an end-user's activities across multiple platforms. In some examples, user context, location, behavioral characteristics, or other information may be employed to infer that an end-user is the same individual using multiple platforms 102.” para. 0043); or
transforming the first portion of the client data and the second portion of the client data (“In some examples, the data 104 may be received in a variety of formats or according to a variety of protocols supported by the various individual platforms 102. The aggregation module(s) 112 may normalize the data 104 to a common format or protocol prior to or during aggregation…” para. 0043).
As to claim 10, Liongosari modified by Cronin 10. The method of claim 1, Liongosari teaches wherein the operations further comprise, prior to receiving the aggregation request, receiving, from the third party service, a configuration file, the configuration file comprising configuration information defining collection of the aggregated client data (“…In some examples, the data 104 may be received in a variety of formats or according to a variety of protocols supported by the various individual platforms 102. The aggregation module(s) 112 may normalize the data 104 to a common format or protocol prior to or during aggregation. Aggregation may also determine that different sets of data 104, from different individual platforms 102, are associated with a same end-user 116. The determination may be based on pixels, beacons, cookies, or other data employed to track an end-user's activities across multiple platforms. In some examples, user context, location, behavioral characteristics, or other information may be employed to infer that an end-user is the same individual using multiple platforms 102…” para. 0043).
As to claim 11, this claim recites a system claim of claim 1. See rejection for claim 1 above. Further, Liongosari teaches data processing hardware; and memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations (“…a computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations…” para. 0006).
As to claims 12 – 17 and 20, they recite the same scope of claims 2 – 7 and 10. See rejection for claims 2 – 7 and 10 above.
Claims 8 – 9 and 18 - 19 are rejected under 35 U.S.C. 103 as being unpatentable over Liongosari in view of Cronin, as applied to claims 1 and 10 above, and further in view of et al., (US PUB 2023/0359513 hereinafter Tumala).
As to claim 8, Liongosari modified by Cronin The method of claim 1, Liongosari and Cronin do not but Tumala teaches wherein receiving the first portion of the client data comprises transmitting, to the API, a response acknowledging receipt of the first portion of the client data (“…send a response message if there is at least one success…” para. 0142).
It 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 was made to modify Liongosari and Cronin by applying the teachings of Tumala because Tumala would return success response for the system know the provider state to take action (para. 0114 and 0141).
As to claim 9, Liongosari modified by Cronin The method of claim 1, Liongosari and Cronin do not but Tumala teaches wherein the operations further comprise, after transmitting the aggregated client data to the third party service:
receiving, from the third party service, a success response indicating successful processing of the aggregated client data (“…In step 259, the orchestrator 120 aggregates successes and errors and responds to clients 10 based on response policies. These response policies may be to: [0142] send a response message if there is at least one success…” para. 0141 - 0142); and forwarding the success response to the API (“Adapter 141 then returns “data5” to the orchestrator 120” para. 0159 - 0161) and (“…The current API orchestration system provides complete decoupling of client and provider data. Idempotent APIs are combined with dynamic integration models. Provider request and responses are persisted with hashed identifiers guaranteeing that any change in client data results in update(s) to all impacted provider(s)….” Para. 0030).
It 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 was made to modify Liongosari and Cronin by applying the teachings of Tumala because Tumala would return success response for the system know if the providers fulfill the request for further action (para. 0011 and 0136).
As to claims 18 - 19, they recite the same scope of claims 8 – 9. See rejection for claims 8 – 9 above.
Conclusion
The prior art made of record but not relied upon request is considered to be pertinent to applicant’s disclosure.
Marra, (US PUB 2016/0328481), discloses method for presenting content to a social networking system user, wherein the content having at least a threshold number of targeting criteria satisfied by characteristics of the use (title, abstract and figures 1 – 5).
Elangovan, (US PUB 20190230169), discloses integrating third-party vendors' APIs, wherein a current call from a client computing system to an API associated with a third-party vendor is identified and including a configuration file for calling the API (title, abstract and figures 1 – 4).
Beyer, (US PUB 2020/0089518), discloses a method for resource management integration in cloud computing environment
Bogatin, (US PUB 2022/0239971), discloses a method for delivering real-time content using broadcasting and unicasting mode (title, abstract and figures 1 – 18).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PHUONG N HOANG whose telephone number is (571)272-3763. The examiner can normally be reached 9:5-30.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, KEVIN YOUNG can be reached at 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.
/PHUONG N HOANG/Examiner, Art Unit 2194 /KEVIN L YOUNG/Supervisory Patent Examiner, Art Unit 2194