DETAILED ACTION
The following is a first office action upon examination of application number 18/389976. Claims 1-20 are pending in the application and have been examined on the merits discussed below.
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 § 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 a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
(Step 1) Claims 1-10 are directed to a method; thus these claims are directed to a process, which is one of the statutory categories of invention. Claims 11-20 are directed to a system comprising computer; thus the system comprises a device or set of devices, and therefore, is directed to a machine which is a statutory category of invention.
(Step 2A) The claims recite an abstract idea instructing how to aggregate data over custom polygons to evaluate demand gap, which is described by claim limitations reciting:
ingesting demographic, business, and service data…;
receiving an input from a user specifying an area of interest;
generating a list of regular geographic polygons falling within the area of interest;
and for each regular geographic polygon, generating a respective custom geographic polygon as a trade area for the regular geographic polygon, the custom geographic polygon generated from the centroid of the regular geographic polygon and extending beyond the area of the regular geographic polygon;
aggregating the demographic, business, and service data to the custom geographic polygons and associating the aggregated data with the regular geographic polygon;
training a demand and service level model with use of the aggregated data;
determining a demand gap for each regular geographic polygon with use of the trained model and the aggregated data associated with the regular geographic polygon; and
presenting the demand gap to the user…
The identified limitations in the claims describing aggregating data over custom polygons to evaluate demand gap (i.e., the abstract idea) fall within the “Certain Methods of Organizing Human Activity” grouping of abstract ideas, which covers fundamental economic practices or, alternatively, the “Mental Processes” grouping of abstract ideas since the identified limitations can be performed by a human, mentally or with pen and paper. Dependent claims 2-10 and 12-20 recite limitations that further narrow the abstract idea (i.e., aggregating data over custom polygons to evaluate demand gap); therefore, these claims are also found to recite an abstract idea.
This judicial exception is not integrated into a practical application because additional elements such as the computer system in claim 1, and the computer system in claim 11, do not add a meaningful limitation to the abstract idea since these elements are only broadly applied to the abstract ideas at a high level of generality; thus, none of recited hardware offers a meaningful limitation beyond generally linking the abstract idea to a particular technological environment, in this case, implementation via a computer.
Additional elements such as ingesting … data into the computer system and presenting … via a display device of the computer system do not yield an improvement in the functioning of the computer itself, nor do they yield improvements to a technical field or technology; further, these limitations only add insignificant extra-solution activities (data gathering/display). Accordingly, these additional element do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea.
(Step 2B) The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception because as discussed above with respect to integration of the abstract idea into a practical application, the hardware additional elements amount to no more than mere instructions to apply the exception using a generic computer component (see Spec. [0079]). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. Additional elements such as ingesting … data into the computer system and presenting … via a display device of the computer system do not yield an improvement in the functioning of the computer itself, nor do they yield improvements to a technical field or technology; further, these limitations only add insignificant extra-solution activities (data gathering/display). With respect to data gathering limitations, the courts have recognized the use of computers to receive and transmit data as a well-understood, routine, and conventional, OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network). With respect to data display limitations, the courts have found the presentation of data to be a well-understood, routine, conventional activity, OIP Techs., 788 F.3d at 1362-63, 115 USPQ2d at 1092-93 (see MPEP 2106.05(d)). In addition, when taken as an ordered combination, the ordered combination adds nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements improves the functioning of a computer or improves any other technology.
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 and 11 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by US 2020/0356596 (Lu).
As per claim 1, Lu teaches: a computer implemented method of assisted location strategy, carried out by a computer system, the method comprising: ingesting demographic, business, and service data into the computer system; ([0003] Online networks commonly include nodes representing individuals and/or organizations, along with links between pairs of nodes that represent different types and/or levels of social familiarity between the entities represented by the nodes. For example, two nodes in an online network may be connected as friends, acquaintances, family members, classmates, and/or professional contacts. Online networks may further be tracked and/or maintained on web-based networking services, such as online networks that allow the individuals and/or organizations to establish and maintain professional connections, list work and community experience, endorse and/or recommend one another, promote products and/or services, and/or search and apply for jobs. [0043] Profile data 216 includes data associated with member profiles in the online network. For example, profile data 216 for an online professional network includes a set of attributes for each user, such as (but not limited to) demographic (e.g., gender, age range, nationality, location, language), professional (e.g., job title, professional summary, employer, industry, experience, skills, seniority level, professional endorsements), social (e.g., organizations of which the user is a member, geographic area of residence), and/or educational (e.g., degree, university attended, certifications, publications) attributes. Profile data 216 also, or instead, includes a set of groups to which the user belongs, the user's contacts and/or connections, awards or honors earned by the user, licenses or certifications attained by the user, patents or publications associated with the user, and/or other data related to the user's interaction with the platform)
receiving an input from a user specifying an area of interest; ([0023] … a candidate's commute/transit preference includes a maximum commute/transit time, a hand-drawn polygon representing a geographic area within which the candidate is willing to commute, and/or another representation of a limit or boundary related to the candidate's preferences regarding commuting or traveling. [0052] A management apparatus 206 obtains one or more commute preferences 240 for a candidate. [0103] Initially, a polygon representing a geographic area within a map is obtained (operation 402). For example, the polygon is represented as an ordered list of vertices, with edges connecting consecutive vertices in the list. The list of vertices is optionally downsampled to fall within a maximum number of vertices to limit the size and/or complexity of the polygon)
generating a list of regular geographic polygons falling within the area of interest; ([0104] Next, a set of map tiles that substantially cover the geographic area of the polygon is identified (operation 404) [0024] After a polygon representing a commute (or other type of transit) preference is obtained or generated, a set of map tiles is identified that substantially cover the geographic area denoted by the polygon. To match the polygon to the map tiles, an initial map tile that contains every vertex in the polygon is identified, and the initial map tile is recursively divided into smaller map tiles (e.g., a larger square map tile is divided into four square map tiles that occupy the four quadrants of the larger map tile). After a map tile is divided into a set of smaller map tiles, each of the smaller map tiles is compared to the boundaries of the polygon. If a map tile is entirely enclosed by the polygon, the map tile is added to the set of map tiles).
and for each regular geographic polygon, generating a respective custom geographic polygon as a trade area for the regular geographic polygon, the custom geographic polygon generated from the centroid of the regular geographic polygon and extending beyond the area of the regular geographic polygon; ([0024] After a polygon representing a commute (or other type of transit) preference is obtained or generated, a set of map tiles is identified that substantially cover the geographic area denoted by the polygon. To match the polygon to the map tiles, an initial map tile that contains every vertex in the polygon is identified, and the initial map tile is recursively divided into smaller map tiles (e.g., a larger square map tile is divided into four square map tiles that occupy the four quadrants of the larger map tile). After a map tile is divided into a set of smaller map tiles, each of the smaller map tiles is compared to the boundaries of the polygon. If a map tile is entirely enclosed by the polygon, the map tile is added to the set of map tiles [0061] To generate prefix tree 226, mapping apparatus 204 recursively divides larger map tiles 224 encompassing polygon 222 into smaller map tiles 224 and compares each map tile to the area covered by polygon 222. When a given map tile is found entirely within polygon 222, mapping apparatus 204 adds the map tile to prefix tree 226. When a map tile is found entirely outside polygon 222, mapping apparatus 204 omits the map tile from prefix tree 226 and discontinues further subdivision of the map tile. When a map tile is partially intersected by polygon 222, mapping apparatus 204 divides the map tile into additional smaller map tiles 224 and repeats the comparison with the smaller map tiles 224. When a minimum map tile size is reached, mapping apparatus 204 applies a threshold to the area of each map tile covered by polygon 222 to determine if the map tile should be included in prefix tree 226 or excluded from prefix tree 226. [0067] As shown in FIG. 3B, mapping apparatus 204 performs two rounds of division related to map tiles 304-310 until a minimum map tile size is reached by map tiles that are intersected by the lower two edges of polygon 302. In one embodiment, the minimum map tile size is selected based on a mode of transportation associated with the commute preference for which polygon 302 was generated. Thus, the minimum map tile size for a walking commute preference is smaller than the minimum map tile size for a cycling commute preference, and the minimum map tile size for the cycling commute preference is smaller than the minimum map tile size for a driving commute preference.).
aggregating the demographic, business, and service data to the custom geographic polygons and associating the aggregated data with the regular geographic polygon; ([0027] …outputted as search results that meet a candidate's commute preference [0028] By mapping polygons to map tiles and retrieving jobs and/or other entities that are indexed by the map tiles, the disclosed embodiments allow location-based searches related to the jobs and/or entities to be performed within arbitrarily defined geographic areas. In addition, the use of prefix tree representations of the map tiles to identify entities that are located in the polygons reduces computational complexity over naïve techniques that perform one-to-one matching of map tiles in geographic areas to locations of entities. Consequently, the disclosed embodiments improve computer systems, applications, user experiences, tools, and/or technologies related to location-based search, route planning, user recommendations, employment, recruiting, and/or hiring. [0057] After isochrones 242 are generated based on commute preferences 240, management apparatus 206 identifies a set of jobs that meet the candidate's commute preferences 240 by comparing locations of the jobs with geographic representations of commute preferences 240. In one or more embodiments, each geographic representation of a candidate's commute preferences 240 includes a corresponding polygon 222 that covers an area within a map. For example, as discussed above, the geographic representations of commute preferences 240 include one or more polygonal isochrones 242 representing locations that can be reached during a commute that meets commute preferences 240. The geographic representations also, or instead, include a user-specified polygon 222, such as a custom shape drawn by the candidate that represents a geographic “area of interest” within which the candidate would like to search for jobs).
training a demand and service level model with use of the aggregated data; ([0037] Data in data repository 134 is then used to generate recommendations and/or other insights related to listings of jobs or opportunities within online network 118. For example, one or more components of online network 118 may track searches, clicks, views, text input, conversions, and/or other feedback during the entities' interaction with a job search tool in online network 118. The feedback may be stored in data repository 134 and used as training data for one or more machine learning models, and the output of the machine learning model(s) may be used to display and/or otherwise recommend a number of job listings to current or potential job seekers in online network 118. [0038] More specifically, data in data repository 134 and one or more machine learning models are used to produce rankings of candidates associated with jobs or opportunities).
determining a demand gap for each regular geographic polygon with use of the trained model and the aggregated data associated with the regular geographic polygon; and presenting the demand gap to the user via a display device of the computer system ([0037] …The feedback may be stored in data repository 134 and used as training data for one or more machine learning models, and the output of the machine learning model(s) may be used to display and/or otherwise recommend a number of job listings to current or potential job seekers in online network 118. [0038] More specifically, data in data repository 134 and one or more machine learning models are used to produce rankings of candidates associated with jobs or opportunities; demand gap (job opportunity)).
As per claim 11, this claim recites limitations substantially similar to those addressed by the rejection of claim 1, above; therefore, the same rejection applies.
Claim(s) 2-6 and 12-16 are rejected under 35 U.S.C. 103 as being unpatentable over US 2020/0356596 (Lu); in view of US 2023/0394356 (Chizalli).
As per claim 2, although not explicitly taught by Lu, Chizalli teaches: wherein each regular geographic polygon is a level 7 hexbin of an H3 geographic partitioning system ([0056] H3 cell: Grid cell of a geocoding system in the shape of a hexagon. The H3 grid system has 16 different levels of resolution ranging from zero to fifteen. The larger the level, the smaller the cell area).
It would have been obvious, before the effective filing date of the claimed invention, for one of ordinary skill in the art to have modified the teachings of Lu with the aforementioned teachings of Chizalli with the motivation of providing different levels of resolution (Chizalli [0056]). Further, one of ordinary skill in the art would have recognized that applying the teachings of Chizalli to the system of Lu would have yielded predictable results and doing so would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow for the use of a level 7 resolution in an H3 grid.
As per claim 3, Lu teaches: wherein each custom geographic polygon is an isochrone generated from the centroid of each hexbin ([0055] After transit time thresholds are defined with respect to the candidate's maximum and/or preferred commute time, management apparatus 206 obtains isochrones 242 representing geographic boundaries for the transit time thresholds with respect to one or more starting points, one or more methods of transportation, and/or one or more starting times specified in commute preferences 240. To produce isochrones 242, management apparatus 206 and/or another component retrieves transit schedules, historical traffic patterns, and/or other data related to the candidate's specified method of transportation, starting point, and/or starting time in commute preferences 240. The component then generates each isochrone as one or more polygons (e.g., polygon 222) representing geographic areas reachable within the corresponding transit time threshold from the starting point, at the starting time, and/or using the method of transportation. [0098] …isochrones to estimate transit times between starting points associated with users (e.g., candidates) and entities (e.g., jobs) enable scaling of the estimates to a large number of user-entity pairs. [0101] …the system obtains transit preferences that include homes, schools, jobs, cities, airports, businesses, and/or other types of entities as starting points. The system identifies additional entities that are within a certain time-based geographic boundary of the starting points, uses isochrones 242 related to the transit preferences calculate transit times 244 between the starting points and the additional entities, and/or recommends a subset of entities with transit times 244 that meet one or more thresholds to users associated with the transit preferences).
As per claim 4, Lu teaches: wherein each isochrone is defined using a 30-minute drive time ([0054] …transit time threshold includes a numeric value denote a number of minutes, hours, and/or other units of time spent on the candidate's commute. For example, management apparatus 206 obtains predefined transit time thresholds of 15 minutes, 30 minutes).
As per claim 5, Lu teaches: wherein aggregating the demographic, business, and service data to the isochrones includes: for each isochrone, determining whether each standard geographic polygon with which the data is associated falls within or intersects with the isochrone, and if so, associating the standard geographic polygon with the isochrone; and for each isochrone, aggregating the data of the associated standard geographic polygons into new data associated with the isochrone ([0024] After a polygon representing a commute (or other type of transit) preference is obtained or generated, a set of map tiles is identified that substantially cover the geographic area denoted by the polygon. [0096] …comparisons of job locations with isochrones 242 representing the user's commute preferences 240 to estimate transit times 244 between a user and the jobs instead of incurring much greater computational overhead in calculating a route between the user and each job and determining the transit time associated with the route. As a result, management apparatus 206 is able to scale estimation of personalized transit times 244 to a large number of users, commute preferences 240, and/or jobs (or other entities). [0097] Management apparatus 206 generates and/or outputs recommendations 246 based on transit times 244 and/or other results of comparisons involving job locations and polygon 222 and/or map tile representations of geographic areas. In one example, management apparatus 206 returns a set of jobs that are located in a set of map tiles 224 representing a geographic area covered by a given polygon 222 and/or set of polygons. Management apparatus 206 and/or another component optionally rank the jobs by compatibility, relevance, and or transit time for a user associated with the polygon(s) (e.g., a candidate with commute preferences 240 that are represented by the polygon(s)). The component then outputs some or all of the jobs and/or ranked jobs as recommendations 246 to the user).
As per claim 6, Lu teaches: prior to aggregating the data to the isochrones: aggregating geographic location-based data to each standard geographic polygon, including, determining whether the geographic location with which the geographic location- based data is associated falls within the standard geographic polygon, and if so, aggregating the geographic location-based data to the standard geographic polygon generating data associated with the standard geographic polygon ([0066] Mapping apparatus 204 divides map tile 300 into four smaller map tiles 302-310. In the example shown in FIG. 3A, map tile 300 has an ID of 0123, which is the prefix for the IDs of 01230, 01231, 01232, and 01233 for map tiles 304, 306, 308, and 310, respectively. Because all four map tiles 304-310 overlap partially with polygon 302 (e.g., based on intersections of the edges of map tiles 304-310 with the edges of polygon 302), mapping apparatus 204 recursively divides map tiles 304-310 into additional smaller map tiles until each map tile is entirely inside polygon 302, entirely outside polygon 302, and/or has reached a minimum map tile size. [0067] As shown in FIG. 3B, mapping apparatus 204 performs two rounds of division related to map tiles 304-310 until a minimum map tile size is reached by map tiles that are intersected by the lower two edges of polygon 302. In one embodiment, the minimum map tile size is selected based on a mode of transportation associated with the commute preference for which polygon 302 was generated. Thus, the minimum map tile size for a walking commute preference is smaller than the minimum map tile size for a cycling commute preference, and the minimum map tile size for the cycling commute preference is smaller than the minimum map tile size for a driving commute preference. [0068] After recursive division of map tiles 304-310 is complete, a number of map tiles 312-338 of varying size are assigned to the geographic area represented by polygon 302. Two larger map tiles 312 and 326 are produced by division of map tiles 304 and 306 into four additional map tiles each. Because map tiles 312 and 326 are found entirely inside the polygon, additional division of map tiles 312 and 326 is omitted, and IDs of 012301 and 0312310 for map tiles 312 and 326 are added to a list of map tiles assigned to the geographic area represented by polygon 302).
As per claims 12-16, these claims recite limitations substantially similar to those addressed by the rejection of claims 2-6, above; therefore, the same rejection applies.
Claim(s) 7-9 and 17-19 are rejected under 35 U.S.C. 103 as being unpatentable over US 2020/0356596 (Lu); in view of US 2023/0394356 (Chizalli); in view of An Adjusted Inverse Distance Weighted Spatial Interpolation Method (Wang, 2018).
As per claim 7, although not explicitly taught by Lu, Wang teaches: performing an inverse distance weighting of the data of the associated standard geographic polygons, for data which is mean based (Page 1 Probably one of the most famous interpolation methods is IDW, which is a simple and intuitive deterministic interpolation. IDW is easy to be implemented and available in almost any GIS software, so it is applied frequently in various disciplines [1]. The well-known advantage of IDW is that keeping the measured value at sample location [5,13]. … IDW interpolation accords to the First Law of Geography "everything is related to everything else, but near things are more related than distant things." [13,22]. The IDW formula is given as (1)
PNG
media_image1.png
49
107
media_image1.png
Greyscale
).
One of ordinary skill in the art would have recognized that applying the teachings of Wang to the system of Lu would have yielded predictable results and doing so would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow for the use of inverse distance weighting.
As per claim 8, although not explicitly taught by Lu, Wang teaches: wherein aggregating the data into new data associated with the isochrone comprises performing a variation of inverse distance weighting of the data of the associated standard geographic polygons, according to
PNG
media_image2.png
82
113
media_image2.png
Greyscale
for data which is sum based (Page 1 Probably one of the most famous interpolation methods is IDW, which is a simple and intuitive deterministic interpolation. IDW is easy to be implemented and available in almost any GIS software, so it is applied frequently in various disciplines [1]. The well-known advantage of IDW is that keeping the measured value at sample location [5,13]. … IDW interpolation accords to the First Law of Geography "everything is related to everything else, but near things are more related than distant things." [13,22]. The IDW formula is given as (1)
PNG
media_image1.png
49
107
media_image1.png
Greyscale
).
One of ordinary skill in the art would have recognized that applying the teachings of Wang to the system of Lu would have yielded predictable results and doing so would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow for the use of inverse distance weighting.
As per claim 9, although not explicitly taught by Lu, Chizalli teaches: wherein the demand and service level model is trained to return an expected level of demand associated with a hexbin based on the aggregated data associated with the respective isochrone of the hexbin ([0029] Uber is using H3 to analyze various business aspects on a geographical level, such as predicting ride supply and demand for various geographical areas. [0031] …creating predictive models for mobility is the extent of a geographical area a given model covers. It may not be practically feasible to train and operate one global model responsible for forecasting locations anywhere on Earth. [0041] For each Hexcluster, an ML model may be trained independently based on that cluster's data. In addition, model updates and hyperparameter tuning (H3 cell level, prediction horizon) can be automatically triggered based on data collected and model performance monitoring. [0043] … data collection and model training/updating are performed in an isolated fashion relative to each Hexcluster. [0045] In some embodiments, predictions may typically be performed by ML models that need to be trained based on data collected including, for example, vehicles themselves and/or the networks that vehicles connect to. Models for location prediction may use, for example, historical location data of vehicles. These models can explicitly or implicitly learn road topologies, meaning that models for this purpose may be typically trained for a specific geographical area. [0095] …embodiments herein may be used to predict the next future data demands in a model region that includes cells that correspond to data sources. [0099]).
It would have been obvious, before the effective filing date of the claimed invention, for one of ordinary skill in the art to have modified the teachings of by with the aforementioned teachings of Chizalli with the motivation of predicting demand (Chizalli [0095]). Further, one of ordinary skill in the art would have recognized that applying the teachings of Chizalli to the system of by would have yielded predictable results and doing so would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow for the training of a model to predict demand.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALAN TORRICO-LOPEZ whose telephone number is (571)272-3247. The examiner can normally be reached M-F 10AM-5PM.
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, Beth Boswell can be reached at (571)272-6737. 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.
/ALAN TORRICO-LOPEZ/ Primary Examiner, Art Unit 3625