DETAILED ACTION
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 have been examined in this application. This communication is the first action on the merits.
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 non-statutory subject matter.
Step 1. When considering subject matter eligibility under 35 U.S.C. 101, it must be determined whether the claim is directed to one of the four statutory categories of invention, i.e., process, machine, manufacture, or composition of matter.
Step 2A – Prong One. If the claims fall within one of the statutory categories, it must then be determined whether the claims recite an abstract idea, law of nature, or natural phenomenon.
Step 2A – Prong Two. If the claims recite an abstract idea, law of nature, or natural phenomenon, it must then be determined whether the claims recite additional elements that integrate the judicial exception into a practical application. If the claims do not recite additional elements that integrate the judicial exception into a practical application, then the claims are directed to a judicial exception.
Step 2B. If the claims are directed to a judicial exception, it must be evaluated whether the claims recite additional elements that amount to an inventive concept (i.e. “significantly more”) than the recited judicial exception.
In the instant case, claims 1-11 are directed to a process; claims 12-19 are directed to a machine; and claim 20 is directed to a manufacture.
A claim “recites” an abstract idea if there are identifiable limitations that fall within at least one of the groupings of abstract ideas enumerated in MPEP 2106. In the instant case, claim 1, and similarly claims 12 and 20, recites the steps of:
receiving, input item content data from real-time data sources, the input item content data including a plurality of data types and each data type being received at a different ingestor service and from a different data source, the plurality of data types including item identification data, item inventory data, and item location data indicating physical locations of items within a store layout of a physical retail location; for each data type, providing the input item content data to an intermediate data queue, wherein item content data for each data type is provided to a data queue independently from other data types, and wherein the data pipeline includes a plurality of distinct intermediate data queues; using a hierarchy of aggregators, continuously aggregating the input item content data from the plurality of intermediate data queues into a plurality of data aggregates by at least aggregating the input item content data into searchable topics based on item identifiers associated with items available for purchase from the retail enterprise; and continuously providing the data aggregates from each of the plurality of searchable topics to a search independently of others of the plurality of searchable topics, the search being configured to power an enterprise search tool, wherein the search is a reverse index search storing item content data within item records associated with items available for purchase from the retail enterprise and sorted based at least in part by the item identifiers -- these claim limitations set forth certain methods of organizing human activity, particularly commercial interactions including advertising, marketing, and sales activities/behaviors.
Additionally, these steps set forth mental processes, particularly concepts performed in the human mind or by a human using a pen and paper, including, inter alia, the observation and evaluation of information.
Further, the limitations of the claims are not indicative of integration into a practical application. Taking the independent claim elements separately, the additional elements of performing the steps at an ingestor platform operating within a data pipeline, the ingestor platform having a plurality of separate ingestor services, automatically. Via streaming data queue operating within the data pipeline, a database, and called by an Application Programming Interface (API) -- merely implement the abstract idea on a computer environment. Considered in combination, the steps of Applicant’s method add nothing that is not already present when the steps are considered separately.
The remaining claim limitations recited in dependent claims merely narrow the abstract idea and do not recite further additional elements.
Thus, claims 1-20 are directed to an abstract idea.
Regarding the independent claims, the technical elements of performing the steps at an ingestor platform operating within a data pipeline, the ingestor platform having a plurality of separate ingestor services, automatically. Via streaming data queue operating within the data pipeline, a database, and called by an Application Programming Interface (API) -- merely implement the abstract idea on a computer environment. Additionally, the dependent claims do not recite further technical elements.
When considering the elements and combinations of elements, the claim(s) as a whole, do not amount to significantly more than the abstract idea itself. This is because the claims do not amount to an improvement to another technology or technical field; the claims do not amount to an improvement to the functioning of a computer itself; the claims do not move beyond a general link of the use of an abstract idea to a particular technological environment; the claims merely amounts to the application or instructions to apply the abstract idea on a computer; or the claims amounts to nothing more than requiring a generic computer to perform generic computer functions that are well-understood, routine and conventional activities previously known to the industry.
The analysis above applies to all statutory categories of invention. Accordingly, claims 1-20 are rejected as ineligible for patenting under 35 USC 101 based upon the same rationale.
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 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 of this title, 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-20 are rejected under 35 U.S.C. 103 as being unpatentable over Bauer (US PGP 2006/0238307) in view of Whitman (US PGP 2013/0262471).
As per claim 1, Bauer teaches a method of streaming data to a search database for powering a search functionality usable by a retail enterprise, the method comprising:
receiving, at an ingestor platform operating within a data pipeline, the ingestor platform having a plurality of separate ingestor services, input item content data from real-time data sources, the input item content data including a plurality of data types and each data type being received at a different ingestor service and from a different data source, the plurality of data types including item identification data, item inventory data, and item location data indicating physical locations of items within a store layout of a physical retail location; (Bauer: Fig. 3A-3D; [0077]-[0080] (The block diagram of FIG. 3B shows an alternate embodiment where each shelf 503 a, 503 b . . . 503 n is provided with multiple antennae 200. The multiple antennae 200 are each connected to a reader unit 120 by a transmission cable 222. Each reader unit 120 has a controller 124 to select which antenna is active at any time.); [0085] (An additional advantage of placing the control unit 124 between the electronic network and the reader units is that different types of readers 120 can be used as desired. The commands from the electronic network to the control unit may be generic and not reader-specific. For example the electronic network can send to the control unit a “read antennas” command. The control unit in turn can translate this command into the appropriate command syntax required by each reader unit. Likewise the control unit can receive the response syntax from the reader unit (which may differ based on the type of the reader unit), and parse it into a generic response back to the electronic network. The command and response syntax may differ for each type of reader unit 120, but the control unit 124 makes this transparent to the electronic network.); [0082]-[0084] (In steps 358 and 360, a “read” command is sent to the reader 120 that awaits and reads the data from the selected antenna and sends the data to the host application in step 362.); [0172], [0220] (inventory); [0010]; [0138]; [0222] (locations of various items); [0147])
for each data type, automatically providing the input item content data to an intermediate streaming data queue operating within the data pipeline, wherein item content data for each data type is provided to a streaming data queue independently from other data types, and wherein the data pipeline includes a plurality of distinct intermediate streaming data queues; (Bauer: Fig. 3A-3D; [0077]-[0080]; [0085]-[0086] (An additional advantage of placing the control unit 124 between the electronic network and the reader units is that different types of readers 120 can be used as desired. The commands from the electronic network to the control unit may be generic and not reader-specific. For example the electronic network can send to the control unit a “read antennas” command. The control unit in turn can translate this command into the appropriate command syntax required by each reader unit. Likewise the control unit can receive the response syntax from the reader unit (which may differ based on the type of the reader unit), and parse it into a generic response back to the electronic network. The command and response syntax may differ for each type of reader unit 120, but the control unit 124 makes this transparent to the electronic network.); [0082]-[0084] (FIG. 3D is a flowchart illustrating exemplary management function processing performed by control unit according to the present invention. In step 350, the control unit 124 receives a command from a host application that requests a count of the total number of antennae controlled by the control unit 124. Therefore, in step 352, the control unit 124 determines the number of antennae controlled directly by the control unit 124. Thereafter, in step 354, the control unit 124 issues a command to the secondary control units 125 to select the next antenna on their list and waits for a confirmation from the secondary control units 125 in step 356. In steps 358 and 360, a “read” command is sent to the reader 120 that awaits and reads the data from the selected antenna and sends the data to the host application in step 362. Thereafter, the control unit sends a “standby” command to the reader 120 in step 364 and determines in step 366 whether all the antennae have been read. If it is determined that all the antennae have been read in step 366, the processing is terminated. Otherwise, the process control returns to step 354 so that the control unit 124 can issue a command to the secondary control units to select the next antenna on the list that has not yet been selected.);
using a hierarchy of aggregators operating within the data pipeline, continuously aggregating the input item content data from the plurality of intermediate streaming data queues into a plurality of data aggregates by at least aggregating the input item content data . . . based on item identifiers associated with items available for purchase from the retail enterprise; and (Bauer: Fig. 3A-3D; [0077]-[0080]; [0085]-[0086] (An additional advantage of placing the control unit 124 between the electronic network and the reader units is that different types of readers 120 can be used as desired. The commands from the electronic network to the control unit may be generic and not reader-specific. For example the electronic network can send to the control unit a “read antennas” command. The control unit in turn can translate this command into the appropriate command syntax required by each reader unit. Likewise the control unit can receive the response syntax from the reader unit (which may differ based on the type of the reader unit), and parse it into a generic response back to the electronic network. The command and response syntax may differ for each type of reader unit 120, but the control unit 124 makes this transparent to the electronic network.); [0082]-[0084] (FIG. 3D is a flowchart illustrating exemplary management function processing performed by control unit according to the present invention. In step 350, the control unit 124 receives a command from a host application that requests a count of the total number of antennae controlled by the control unit 124. Therefore, in step 352, the control unit 124 determines the number of antennae controlled directly by the control unit 124. Thereafter, in step 354, the control unit 124 issues a command to the secondary control units 125 to select the next antenna on their list and waits for a confirmation from the secondary control units 125 in step 356. In steps 358 and 360, a “read” command is sent to the reader 120 that awaits and reads the data from the selected antenna and sends the data to the host application in step 362. Thereafter, the control unit sends a “standby” command to the reader 120 in step 364 and determines in step 366 whether all the antennae have been read. If it is determined that all the antennae have been read in step 366, the processing is terminated. Otherwise, the process control returns to step 354 so that the control unit 124 can issue a command to the secondary control units to select the next antenna on the list that has not yet been selected.);
continuously providing the data aggregates . . . associated with items available for purchase from the retail enterprise . . . (Bauer: Fig. 3A-3D; [0077]-[0080]; [0085]-[0086] (An additional advantage of placing the control unit 124 between the electronic network and the reader units is that different types of readers 120 can be used as desired. The commands from the electronic network to the control unit may be generic and not reader-specific. For example the electronic network can send to the control unit a “read antennas” command. The control unit in turn can translate this command into the appropriate command syntax required by each reader unit. Likewise the control unit can receive the response syntax from the reader unit (which may differ based on the type of the reader unit), and parse it into a generic response back to the electronic network. The command and response syntax may differ for each type of reader unit 120, but the control unit 124 makes this transparent to the electronic network.); [0082]-[0084] (FIG. 3D is a flowchart illustrating exemplary management function processing performed by control unit according to the present invention. In step 350, the control unit 124 receives a command from a host application that requests a count of the total number of antennae controlled by the control unit 124. Therefore, in step 352, the control unit 124 determines the number of antennae controlled directly by the control unit 124. Thereafter, in step 354, the control unit 124 issues a command to the secondary control units 125 to select the next antenna on their list and waits for a confirmation from the secondary control units 125 in step 356. In steps 358 and 360, a “read” command is sent to the reader 120 that awaits and reads the data from the selected antenna and sends the data to the host application in step 362. Thereafter, the control unit sends a “standby” command to the reader 120 in step 364 and determines in step 366 whether all the antennae have been read. If it is determined that all the antennae have been read in step 366, the processing is terminated. Otherwise, the process control returns to step 354 so that the control unit 124 can issue a command to the secondary control units to select the next antenna on the list that has not yet been selected.); [0143])
Bauer does not explicitly disclose the following known techniques which are taught by Whitman:
. . . aggregating the input item content data into searchable topics . . . (Whitman: [0030] (Data source 105 contains records as inverted indices in which terms are indexes to documents for artist names or song titles. For example, the terms “Sexy”, “R&B”, and “Dance” might index to a document for artist “Beyonce”, as described more fully below with respect to FIG. 4. An exemplary platform for storing such inverted indices is the open source enterprise search platform)
. . . data aggregates from each of the plurality of searchable topics to a search database independently of others of the plurality of searchable topics, the search database being configured to power an enterprise search tool called by an Application Programming Interface (API), wherein the search database is a reverse index search database storing item content data within item records associated with items . . . and sorted based at least in part by the item identifiers. (Whitman: [0053]-[0054] (Referring to FIGS. 1 and 4, FIG. 4 illustrates a representative view of inverted indices stored in data source 105, which is an index database containing records as inverted indices in which terms are indexes to documents. Of course, records can be implemented in any other way that allows fast retrieval of desired information. An inverted index 403 can be generated for any term that appears in the documents in the document database 107. The term is then mapped to the list of documents that contain the term. The inverted indices in data source 105 allow the artists, songs or other subjects in music domains that might be associated with terms corresponding to a user's music experience to be identified quickly. After the management module 101 performs processing to fulfill the request and sends the processing result back to the network, the API 109 outputs the processing result to the client device.); [0056]-[0067] (A bitset that contains all documents in data source 107 associated with the artist is in turn generated and sorted based on the API call (similar artist query).)
This known technique is applicable to the method of Bauer as they both share characteristics and capabilities, namely, they are directed to managing data.
One of ordinary skill in the art at the time of filing would have recognized that applying the known technique of Whitman would have yielded predictable results and resulted in an improved method. It would have been recognized that applying the technique of Whitman to the teachings of Bauer would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such searchable features into similar methods. Further, applying the aggregating the input item content data into searchable topics, and data aggregates from each of the plurality of searchable topics to a search database independently of others of the plurality of searchable topics, the search database being configured to power an enterprise search tool called by an Application Programming Interface (API), wherein the search database is a reverse index search database storing item content data within item records associated with items . . . and sorted based at least in part by the item identifiers to the teachings of Bauer would have been recognized by those of ordinary skill in the art as resulting in an improved method that would allow support thousands of users accessing databases (Whitman: Para [0005]-[0010]).
As per claim 2, Bauer/Whitman teaches wherein the plurality of data types includes item change data, item location data, and facet information. (Bauer: [0145]; [0222]; see also Whitman [0030]-[0033])
As per claim 3, Bauer/Whitman teaches wherein the enterprise search tool enables a store search functionality configured to look up item location and item availability within the retail enterprise at a physical retail location. (Bauer: ; [0172], [0220] (inventory); [0010]; [0138]; [0222] (locations of various items); [0147]; see also Whitman [0030]-[0033])
As per claim 4, Bauer/Whitman teaches wherein the enterprise search tool enables a digital search functionality configured to determine item availability within the retail enterprise by combining in-store and online item availability information. (Bauer: [0172], [0220]-[0226](inventory)
As per claim 5, Bauer/Whitman teaches further comprising: staging data from at least one input item content data type in an intermediate staging database within the data pipeline before providing the data to the reverse index search database. (Whitman [0054]-[0067])
As per claim 6, Bauer/Whitman teaches wherein a scheduler tool operates to push data from the intermediate staging database to the reverse index search database at a predetermined schedule. (Whitman [0028];[0032])
As per claim 7, Bauer/Whitman teaches wherein the predetermined schedule is every 10 minutes. (Whitman [0028];[0032]; Examiner notes that regular intervals includes every 10 minutes).
As per claim 8, Bauer/Whitman teaches further comprising: providing updated input item content data associated with an item available for purchase from the retail enterprise to the reverse index search database, wherein the updated item content data is displayed on a user interface in response to a search request from a user device associated with a physical retail location of the retail enterprise for item location information or item availability information, and wherein the updated item content data causes a change to a portion of an item record for the item available for purchase, the portion being less than the entire item record. (Bauer: [0172], [0220]-[0226]; see also Whitman ([0054]-[0067])
As per claim 9, Bauer/Whitman teaches wherein the change to the item record is a change to the item location within a physical retail store. (Bauer: [0222]; [0147])
As per claim 10, Bauer/Whitman teaches wherein the updated item content data displayed on the user interface includes an indicator of a physical location of the item within a store layout of the physical retail location. (Bauer: Figs. 3A-3D; [0078]-[0080]; [0222]; [0147])
As per claim 11, Bauer/Whitman teaches wherein continuously aggregating the input item content data from the plurality of intermediate streaming data queues comprises: aggregating input item content data from a first set of intermediate streaming data queues with a primary aggregator; providing the aggregated data from the primary aggregator into an intermediate streaming data queue within a second set of intermediate streaming data ques; and aggregating the input item content data from the second set of intermediate streaming data queues with a secondary aggregator. (Bauer: Figs. 3A-3D; [0077]-[0080]; [0082]-[0086]
As per claims 12-19, these claims are substantially similar to claims 1-4 and 8-11, respectively, and are therefore rejected in the same manner as these claims, as set forth above.
As per claim 20, this claim is substantially similar to claim 1 and is therefore rejected in the same manner as this claim, as set forth above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Weismaier (US PGP 2018/0203744 – Data ingestion and analytics platform
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JENNIFER V LEE whose telephone number is (571)272-4778. The examiner can normally be reached Monday - Friday 9AM - 5PM EST.
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, JEFFREY A. SMITH can be reached at (571)272-6763. 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.
/JENNIFER V LEE/ Examiner, Art Unit 3688
/Jeffrey A. Smith/ Supervisory Patent Examiner, Art Unit 3688