AU2019206112A1 - Database system using multi-modal search keys - Google Patents

Database system using multi-modal search keys Download PDF

Info

Publication number
AU2019206112A1
AU2019206112A1 AU2019206112A AU2019206112A AU2019206112A1 AU 2019206112 A1 AU2019206112 A1 AU 2019206112A1 AU 2019206112 A AU2019206112 A AU 2019206112A AU 2019206112 A AU2019206112 A AU 2019206112A AU 2019206112 A1 AU2019206112 A1 AU 2019206112A1
Authority
AU
Australia
Prior art keywords
destinations
property
user
search
transport
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
AU2019206112A
Inventor
Anthony Ishran Joseph
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2016903643A external-priority patent/AU2016903643A0/en
Application filed by Individual filed Critical Individual
Priority to AU2019206112A priority Critical patent/AU2019206112A1/en
Publication of AU2019206112A1 publication Critical patent/AU2019206112A1/en
Pending legal-status Critical Current

Links

Abstract

DATABASE SYSTEM USING MULTI-MODAL SEARCH KEYS Abstract Disclosed herein are a method and system for identifying relevant results from a database. The system comprises: a property database storing a set of property listings, each property listing having an associated set of attributes; a transport database storing transport information; and a server coupled to a communications network. The server includes: a destinations database storing a set of destinations; and a processing module for processing search criteria received from a user via the communications network, the search criteria including at least one commute, each commute having an associated proximity range. The processing module identifies a set of search results properties from the set of property listings, based on the search criteria, the transport information, and at least one destination from the set of destinations. -4/19 C~) .) C) C'-) CU CIaO coo aco CC) '

Description

DATABASE SYSTEM USING MULTI-MODAL SEARCH KEYS
Related Applications [0001] This application is related to Australian Provisional Patent Application No. 2016903643 titled Database system using multi-modal search keys and filed 9 September 2016 in the name of Anthony Ishran Joseph, and Australian Patent Application No. 2017225133 titled Database system using multi-modal search keys and filed 8 September 2017 in the name of Anthony Ishran Joseph, the content of each of which is incorporated by reference as if fully set forth herein.
Technical Field [0002] The present disclosure relates to a method and system using a database. In particular, the present disclosure relates to a method and system for identifying relevant search results from a database, based on commute times through multi-modal transportation means.
Background [0003] Real estate is commonly advertised via online real estate websites or portals. Such websites and portals often include or are coupled to a database that stores information relating to the various properties that are available to buy, rent, or lease. The information typically includes attributes of each property, such as the street address, suburb, number of bedrooms, number of bathrooms, and size. Other information may include a list of other amenities, such as courtyard, swimming pool, tennis court, and the like.
[0004] Real estate websites and portals often provide simple search engines, which allow a user to specify a set of attributes. By specifying a set of attributes, a user browsing a real estate website or portal is able to identify properties with broad suitability, whilst excluding properties that are not suitable for that particular user. People searching for residential or commercial property often search by geographical classifications; for example, by specifying that returned search results should be restricted to properties located within a particular suburb (e.g., Strathfield), postcode (e.g., 2137), council jurisdiction (e.g., Strathfield Municipal Council), or region (e.g., the Inner West of Sydney).
2019206112 19 Jul 2019 [0005] This broad geographical criterion is often used as a proxy for a more explicit need of the user, due to the limitations in existing websites, portals, and their associated search tools. Thus, a user looking for a property within a certain distance or travel time from one or more points-of-interest relevant to that person's circumstances has to conduct their own investigations and assessments in order to identify suitable geographical locations in which to search for property.
[0006] It is often difficult for a person moving to a new area to make such investigations and assessments. As a consequence, the person may end up looking at properties in an unsuitable geographical area. Further, the person may remain unaware of properties in other geographical areas that would be suitable for that person's needs.
[0007] Thus, a need exists to provide an improved method and system for identifying relevant real estate results from a database, based on commute times associated with multi-modal transportation means.
Summary [0008] The present disclosure relates to a method and system for identifying relevant search results from a database, based on commute times associated with multi-modal transportation means.
[0009] A first aspect of the present disclosure provides a system for identifying relevant results from a database, the system comprising:
a property database storing a set of property listings, each property listing having an associated set of attributes;
a transport database storing transport information, the transport database being coupled to a communications network; and a server coupled to said communications network, said server including:
a destinations database storing a set of destinations organised by categories and sub-categories; and a processing module for processing search criteria received from a user via said communications network, said search criteria including: a set of user propertyrelated constraints; a set of potential user destinations; and a plurality of commutes each having at least one route based on said sets of user property-related constraints and potential user destinations, each commute having an associated proximity range;
wherein said processing module is configured to perform the steps of:
2019206112 19 Jul 2019
a) generating a power set of criteria and altering said search criteria by a predefined offset based on the power set of criteria;
b) generating a property subset including a plurality of property elements from said set of property listings, said property subset satisfying said set of user property-related constraints;
c) generating a destinations subset including a plurality of destination elements said the set of destinations, said destinations subset satisfying said set of potential user destinations;
d) locating said property subset and said destinations subset on a routing graph; and
e) for each of the plurality of commutes, calculating said at least one route between at least one of said plurality of property elements and at least one of said plurality of destination elements, including generating an isochrone on said routing graph corresponding to said set of user propertyrelated constraints and said set of potential user destinations;
wherein said processing module identifies a set of search results properties from said set of property listings, based on said at least one route satisfying said altered search criteria, said transport information, and at least two destinations from said set of destinations.
[0010] A second aspect of the present disclosure provides a method comprising the steps of:
storing a set of property listings in a property database, each property listing having an associated set of attributes;
storing a set of destinations in a destinations database organised by categories and sub-categories;
receiving a search query, said search query defining: a set of user property-related constraints; a set of potential user destinations; and a plurality of commutes, each commute having at least one route based on said sets of user property-related constraints and potential user destinations, each commute having an associated proximity range;
generating a property subset including a plurality of property elements from said set of property listings, said property subset satisfying said set of user property-related constraints;
2019206112 19 Jul 2019 generating a destinations subset including a plurality of destination elements from said set of destinations, said destinations subset satisfying said set of potential user destinations;
locating said property subset and said destinations subset on a routing graph;
for each of the plurality of commutes, calculating said at least one route between at least one of said plurality of property elements and at least one of said plurality of destination elements, including generating an isochrone on said routing graph corresponding to said set of user property-related constraints and said set of potential user destinations; and identifying a set of search results properties from said set of property listings, based on said at least one route satisfying said search query, transport information derived from at least one transport database, and at least two destinations from said set of destinations, wherein said identified set of search results is based on satisfying said offset search query.
[0011] According to another aspect, the present disclosure provides an apparatus for implementing any one of the aforementioned methods.
[0012] According to another aspect, the present disclosure provides a computer program product including a computer readable medium having recorded thereon a computer program for implementing any one of the methods described above.
[0013] Other aspects of the present disclosure are also provided.
Brief Description of the Drawings [0014] One or more embodiments of the present disclosure will now be described by way of specific example(s) with reference to the accompanying drawings, in which:
[0015] Fig. 1 is a flow diagram illustrating a method for adding new data to a multi-modal transport database;
[0016] Figs 2a and 2b are flow diagrams illustrating a method for searching a database based on multi-modal transport means;
[0017] Fig. 3 is a schematic representation of a system on which one or more embodiments of the present disclosure may be practised;
2019206112 19 Jul 2019 [0018] Fig. 4 is a schematic block diagram representation of a system that includes a general purpose computer on which one or more embodiments of the present disclosure may be practised;
[0019] Fig. 5 is a schematic block diagram representation of a system that includes a general smartphone on which one or more embodiments of the present disclosure may be practised;
[0020] Fig. 6 is a screenshot of a search interface in accordance with an embodiment of the present disclosure;
[0021] Fig. 7 is a screenshot of a search interface in accordance with an embodiment of the present disclosure;
[0022] Fig. 8 is a screenshot of search results in accordance with an embodiment of the present disclosure;
[0023] Fig. 9 is a screenshot of a map for the Sydney suburb of Pyrmont, showing a set of destinations and indicating how many instances of each type of destination are shown on the current map;
[0024] Fig. 10 is a screenshot of search results presented in the graphical format of a map;
[0025] Fig. 11 shows a screenshot of the user interface 600 of Fig. 6 populated with search criteria of the user 301 for another example;
[0026] Fig. 12 is a flow diagram featuring inclusion destinations;
[0027] Fig. 13 is a flow diagram illustrating recommender functionality;
[0028] Fig. 14 is a screenshot of a map for the Sydney suburb of Pyrmont and Sydney, showing a private vehicle route between 1 Harwood Street Pyrmont and 40 King Street Sydney; and [0029] Fig 15 is a screenshot of a map of the Sydney area, showing a 7.5 minute, private vehicle isochrone map around the 1 Harwood Street Pyrmont location.
Detailed Description [0030] Method steps or features in the accompanying drawings that have the same reference numerals are to be considered to have the same function(s) or operation(s), unless the contrary intention is expressed or implied.
2019206112 19 Jul 2019 [0031] The present disclosure provides a method and system for querying a database to return search results based on commute times using multi-modal transportation means. In one embodiment, the database relates to real estate listings. However, it will be appreciated that other applications using multi-modal transportation means may equally be practised without departing from the spirit and scope of the present application.
[0032] The method and system of the present disclosure provide home buyers, investors, renters, and house sharers with the ability to search for property within a predefined proximity range to a set of points of interest. Such points of interest may include, for example, but are not limited to, public transport, schools, sporting facilities, shops, parks, and hospitals. The predefined proximity may be measured in travel time, direct distance, or travel distance. Further, a different proximity range may be defined for and associated with each separate point of interest.
[0033] An embodiment of such a system may be used by a customer to search for suitable properties that match the needs of that customer. In particular, a customer can use such a system to identify properties within different specified proximity ranges of a set of one or more points of interest.
[0034] An embodiment of such a system may be used by real estate agents to identify, for a given property to be listed, points of interest within a predefined proximity range. Further, real estate agents are optionally able to view and process search data derived from queries presented by customers.
[0035] In one arrangement, a user is able to select a set of potential points of interest (or destinations). A destination may be a specific destination, a class of destinations, or a sub-class of destinations, as will be explained below. Each destination is associated with a predefined proximity range, also referred to herein as a maximum routing time. The maximum routing time is set by the user on a per destination, per destination-class, or per destination sub-class basis. The system uses a set of user preferences and search criteria to search a database of property listings and return a set of search results that comply with the user preferences and search criteria.
[0036] Potential destinations will vary from user to user, as each user has different requirements. However, examples of such potential destinations include, but are not limited to:
• specific destinations, such as a place of employment;
2019206112 19 Jul 2019 • a class of destinations, such as schools; or • a subset of a class of destinations, such as public or private schools.
[0037] Search criteria may include one or more different transport modes, such as car, bicycle, walking, bus, or ferry. Further, each transport mode may have an associated profile that determines availability of that particular transport means.
[0038] The user then selects modes of transport available to travel to each of the potential destinations. Such modes of transport may include, but are not limited to:
• walking;
• running;
• bicycling;
• private vehicle, such as a car, taxi or motorcycle;
• public transport, such as bus, ferry, train, light rail or subway; or • air-based transportation, such as private air travel or commercial airline routes.
[0039] The user then specifies a maximum commute time in a relevant unit of time. The user optionally performs this operation multiple times for other destinations and transport modes related to the user. In one example, a user is searching for residential property located within a 40-minute drive by private car to their place of employment and within a 30-minute walk to public school for the user's children. Thus, different destination points may be associated with different proximity ranges/commute times.
[0040] For example, in one implementation the transport mode of bus has an associated bus profile that is linked to a set of timetables for an area. When a user provides a search criterion of being within 30 minutes' travel time of a sporting field on a Saturday, the system uses the bus profile and the linked timetables to perform the search. Thus, a user is able to provide a search criterion relating to a commute time by a particular transport mode, whereby the system will use a profile associated with that particular transport mode to establish travel durations for a specified time period. For commute times, the system will examine travel durations during peak travel times on business days.
[0041] In addition to the destination points and associated commute times, the user optionally provides other search criteria relevant to their property search. Such criteria
2019206112 19 Jul 2019 may include, for example, sale or rental cost, property size, and available resources (such as number of bedrooms, bathrooms and car parking).
[0042] Once the user has completed entering their search criteria, the system uses the search criteria as keys for a search of available properties registered in one or more property databases.
[0043] Fig. 3 is a schematic representation of a system 300 for identifying relevant search results from a database, based on commute times through multi-modal transportation means. The system 300 includes a multi-modal search server 310 connected to a communications network 305. The communications network 305 may include, for example, one or more wired or wireless connections, including a Local Area Network (LAN), Wide Area Network (WAN), a virtual private network (VPN), cellular telephony network, the Internet, or any combination thereof.
[0044] The system 300 also includes a computing device 320 coupled to the communications network 305. The computing device 320 may be implemented using a smartphone, laptop, desktop computer, server, tablet computing device, phablet computing device, or other general purpose computer. A user 301 uses the computing device 320 to access the multi-modal search server 310 in order to search for properties that match criteria set by the user. The criteria include one or more destinations, as described above, wherein each destination is associated with a proximity range.
[0045] In the example of Fig. 3, the multi-modal search server 310 includes a destinations database 312, which stores one or more destinations. For example, the destinations database 312 may store points of interest, railway station locations, playing fields, schools, hospitals, shopping centres, swimming pools, beaches, playgrounds, childcare centres, business parks, veterinaries, and the like. The different types of destinations stored in the destinations database 312 may be tailored for a particular application. For example, in a coastal area the destinations database 312 may store boat ramp locations, marina locations, and the like.
[0046] The multi-modal search server 310 also includes a customer database 314, which stores details relating to registered users. Each registered user has an associated profile, which includes a set of attributes, such as username, password, and contact details. The customer database 314 can be used by registered users to store search preferences and previous search criteria. In one arrangement, the multi-modal search server 310 is ίο
2019206112 19 Jul 2019 adapted to be configured to send out alerts when new properties are listed that match the search criteria of a registered user.
[0047] The multi-modal search server 310 also includes a database 318, which may be integral with or external to the server 310. In one arrangement, the multi-modal search server 310 hosts a website for property searches and the database 318 stores property listings. The property listings may include current listings, as well as historical data relating to previous listings. The database 318 may also be used to store transport data relating to one or more modes of transport. Such transport data may include, for example, predefined average speeds for each mode of transport. For example, the database 318 may store a predefined speed of 4km/hr for walking, 10 km/hr for running, 20km/hr for cycling, and 50km/hr for private car.
[0048] The transport data may also include, depending on the implementation, various timetable information relating to public transport services available in a particular geographical area. The transport data may also include maps, route data, topographical information, and the like. The multi-modal search server 310 includes a processing module 316 that receives transport data from the database 318 and processes the transport data to determine whether a property listing is within a specified proximity range for a particular transport mode, in accordance with search criteria provided by a user.
[0049] The system 300 includes a set of transport databases 330. In the example of Fig. 3, the set of transport databases 330 includes a Footpath and Bike Lane database 332, a Road Data database 334, and a Public Transport database 336. The Footpath and Bike Lane database 332 stores information relating to infrastructure for pedestrians and bicycle riders, such as footpaths, bike lanes, and multi-use paths within one or more geographical areas. The Road Data database 332 stores information relating to roads within one or more geographical areas, such as public and private roads, routes, speed limits, one-way street information, and traffic lights. The Public Transport database 336 stores information relating to public transport within one or more geographical areas. The public transport information may include the mode of transport, such as bus, train, ferry, tram, as well as various timetable information and fare information, as well as stop locations, and public transport routes.
[0050] Each of the databases 332, 334, 336 in the set of transport databases 330 is coupled to the communication network 305 and can be polled by the multi-modal search
2019206112 19 Jul 2019 server 310 to determine the travel time from a property to a destination by one or more modes of transport. It will be appreciated that other embodiments of the system 300 may incorporate other transport databases, such as air travel databases with information pertaining to private and commercial airports/airstrips, airline timetables, heliports and helipads.
[0051] The system 300 of Fig. 3 also includes a set of property search portals/websites 340, which includes Portal 1 342 and Portal 2 344. Each of Portal 1 342 and Portal 2 344 provides a set of property listings from one or more real estate agents or private vendors/lessors. The multi-modal search server 310 can interact with the Portal 1 342 and the Portal 2 344 in response to a search query received from the user 301 accessing the computing device 320, in order to identify properties that satisfy search criteria associated with the search query.
[0052] In one example, a user 301 is looking to buy a property in the Inner West region of Sydney, and/or the suburb of Strathfield, being either an apartment or a house, with the following destinations and associated proximity ranges:
• 15 minutes by bicycle or walking to a primary school during school hours;
• 45 minutes by car, train, and walking commute to workplace A; and • 30 minutes by bus or ferry commute to workplace B during business hours.
[0053] The user 301 accesses the computing device 320 to communicate with the multi-modal search server 310. In one arrangement, the multi-modal search server 310 presents a user interface to a display of the computing device 320 to receive input from the user 301 in relation to the search criteria. Fig. 6 is a screenshot of one implementation of such a user interface 600, populated with the search criteria of the user 301 of this example. The user interface 600 provides a set of input receiving devices, including drop-down lists, dialog boxes, and the like. In particular, the user 301 is able to specify one or more commutes that must be satisfied by a matching property.
[0054] Fig. 7 is a screenshot of a commute user interface 700 that may be used to receive information relating to a commute specified as part of the search criteria for the user 301. In this example, the commute user interface 700 includes separate fields for entering either a single destination or multiple destinations. In a single destination field 710, the user is able to specify a name, address, or GPS co-ordinates for a destination. A multiple destinations field 720 includes a selection of different destinations, which in the example of Fig. 7 includes schools, childcare centres, and public
2019206112 19 Jul 2019 transport. Further, the user 301 is able to select schools as a general destination or specify one or more destination sub-classes, such as public schools, independent schools, and the like.
[0055] The commute user interface 700 includes a region for entering one or more transportation modes and an associated proximity range, also referred to as a commute time. In this example, the user 301 enters 15 minutes as the commute time for a multi-modal commute. The user 301 is able to select from many different transport modes and can combine two or more transport modes to form a multi-modal commute. In this particular example, the commute user interface 700 provides transport modes that include car, car-share, taxi, ride hailing, walking, cycling, bus, train, ferry, and light rail/tram. The user 301 is also able to restrict the search to accessible public transport. In the example of Fig. 7, the user has selected a multi-modal transport journey that may include both walking and cycling. In the example of Fig. 7, the commute user interface 700 allows the user 301 to enter a maximum distance or time for the particular commute, as well as the option of avoiding steep hills and/or steps.
[0056] The server 310 optionally allows the user 301 to specify one or more preferred or optional features relating to the search criteria. Such preferred or optional features may include, for example:
• a user having access to a private vehicle for only a portion of a day;
• checking availability of vehicles for hire, if a user needs to book access to a private vehicle through a car-sharing scheme;
• a user has a physical disability that limits access to public transport infrastructure with accessible features;
• a user can only ride a bicycle or walk for a maximum distance or time; or • a maximum cost for a nominated commute, determined by public transportation or taxi fares and expenses for private vehicle usage.
[0057] The multi-modal search server 310 accesses data from one or more of the databases 318, 332, 334, 336 and processes retrieved data regarding possible commute distances, routes, timetables, and the like to generate a network graph, also referred to herein as a routing graph. A routing graph is constructed based on two primary categories of input data: road data and transportation data.
[0058] Road data is geographical vector data describing the roads in a city as a set of edges and nodes representing roads and their intersections, respectively. Road data may
2019206112 19 Jul 2019 be derived from one or more sources, including official sources, such as the Australian Public Sector Mapping Agency or the USA National Imagery and Mapping Agency, or be community generated, such as the OpenStreetMap project. Metadata such as speed limits and elevation may also be included in these Road data datasets.
[0059] Transportation data is geographical vector data describing public or private transportation routes in a standardised format, such as the General Transit Feed Specification. In addition to the edges and nodes of the transportation route, the transportation data stores times when a transportation medium is scheduled to arrive. For example, transportation data may describe a timetable for a light rail tram service: the route the light rail follows with stops represented by nodes on a route described by multiple edges. This transportation data also stores the times that the light rail is scheduled to arrive at the respective stops.
[0060] A route using a graph of nodes and paths with associated costs related to search preferences of a user can be determined through a route-finding algorithm, such as, for example, A*, Branch and bound, or Dijkstra's algorithm. The selected route-finding algorithm is used to determine the most appropriate route between a source node and an end node. Appropriateness for a given search may be defined by the user and may be, for example, the route requiring the shortest time, the route having the shortest distance, the route without toll roads, or the route requiring least physical effort between a start node and an end node.
[0061] Fig. 1 is a flow diagram illustrating a method 100 for adding new data to a routing graph based on data from one or more multi-modal transport databases, such as the databases 332, 334, 336 of Fig. 3. For example, the routing graph may relate to the geographical area of Sydney and Sydney road data and timetables relating to various modes of public transport available in Sydney are imported to the system.
[0062] The method 100 begins at a Start step 105 and proceeds to decision step 110, which determines whether there is any new data available. If there is no new data available, No, control passes to step 115, which waits for more data, before returning to step 110. If at step 110 there is new data available, Yes, control passes to step 120, which determines whether the data contains edges. If the data does contain edges, Yes, control passes to step 125, which adds new edges or modifies existing edges to a graph. Step 125 sends edge data to a routing graph 140 and then passes control to decision step
2019206112 19 Jul 2019
130, which determines whether the data contains nodes. Returning to step 120, if the data does not contain edges, No, control passes directly from step 120 to step 130.
[0063] At step 130, if the data does not contain nodes, No, then control returns to step 110. However, if at step 130 the data does contain nodes, Yes, then control passes to step 135, which adds new nodes or modifies existing nodes in a graph. Step 135 sends node data to a routing graph 140 and then sends control back to step 110.
[0064] When the user 301 searches for a property, the system 300 performs the following steps:
1. The server 310 generates a subset of all properties (called the property subset) that satisfy the user's property-related constraints.
2. The server 310 generates a subset of destinations (called the destinations subset) that satisfy the user's potential destinations.
3. The server 310 locates the property subset and the destinations subset on the routing graph.
4. The server 310 calculates routes between each element in the property and destinations subsets. If at least one route is identified between a property element and a destination element that satisfies the user's requirements for all user requirements, then the property element is added to a set of results. If not, the property element is ignored.
[0065] The existence of a route can be determined by two methods:
a. As per Fig. 14, if a route exists between a source and a destination where the route's duration is less than the user's requirement then the source can be added to the set of results.
b. As per the shaded polygon in Fig. 15, an isochrone corresponding to the user's requirements can be generated with the source as the centre of the isochrone (represented by the green marker). If the destination lies within the polygon (such as the red marker) then a route exists between the source and destination that satisfies the user's requirements. If a destination lies outside the polygon (such as the blue marker), then no route exists between the source and destination that meets the user's requirements.
2019206112 19 Jul 2019 [0066] Fig. 8 is a screenshot of a search results page 800 presented to a display of the computing device 320 accessed by the user 301. The results page 800 includes 3 search results based on the input search criteria: Listing 1, Listing 2, and Listing 3. The results page 800 also provides the user with options to increase the number of search results by varying one or more of the stipulated commutes. In this example, the system offers to return a further 23 results if the commute criterion of 45 minutes by car, train, and walking to Workplace A is removed. The system offers a further 45 results if the commute criterion of 5 min walk to School a is increased to 15 minutes. This assists the user 301 to compromise by adjusting one or more search criteria in order to receive a greater number of search results.
[0067] Figs 2a and 2b are flow diagrams illustrating a method 200 for searching a database based on multi-modal transport means. The method 200 begins at a Start step 205 and proceeds to step 210, in which a user, such as the user 301 of Fig. 3, enters standard search criteria 255 relating to a property. The standard search criteria 255 are also presented to step 260, along with a set of all source nodes 265, to generate a set of source nodes. Control passes from step 210 to step 215, in which the user enters commute search criteria. The step 215 receives user commute search criteria 240, which is also presented to step 245, which generates destination nodes from a set of all destination nodes 250, and to step 235, which gets commute settings.
[0068] Step 235 gets the routing settings from the search criteria. For example, if a user indicates that they want to live within a 30-minute bus or walk commute from a public school, then this function stores the commute time (30 minutes) and the commute modes (bus and walking). Step 245 gets the destination_subset from the set of all destination nodes based on the preferences of the user. So, like in the previous example, function 245 obtains a list of all public schools from the set of all destination nodes.
Step 250 acts as an input into the algorithm, and is a database of all nodes. It is a set of all the destinations with appropriate metadata. For example, data relating to a school would include the name of the school, whether the school is a public or private school, whether the school caters to primary, secondary or both students, and the like, in order to allow function 245 to search by using this metadata.
[0069] Returning to step 215, control passes to decision step 220, which determines whether the user has clicked a Search button. If the user has not clicked the Search button, No, control returns to step 210 to receive further user search criteria. However, if
2019206112 19 Jul 2019 the user has clicked the Search button, then control passes to each of steps 225 and step 260. Step 225 gets data and then passes to step 230, which maps to step Fig. 2b.
[0070] In Fig. 2b, step 230 passes to step 270, which initialises the set of results to an empty set. Steps 272, 280, 296 and 274 are for-loop iterating over the source_subset, and steps 298, 282, 284 and 294 are a for-loop iterating over the destination_subset. Steps 286 and 288 involves calculating a route between the current_source and the current_destination based on the user's routing_settings.
[0071] For example, if the user's routing settings specify that a 30-minute route using cars only is to be used, then only routes between a current source and current destination that only use a car and have a duration under 30 minutes would be stored in the routes variable. Step 288 calculates alternative routes between the current_source and the current_destination that satisfy the user's routing_settings. Step 290 tests if there exists at least one route between the current_source and the current_destination: if so, then the current_source is added to the result_set.
[0072] Step 276 prepares the result_set for display to the user with information such as the route (or routes) between the source and potential destinations.
[0073] Fig. 11 shows a screenshot 1100 of the user interface 600 populated with search criteria of the user 301 for another example. In this example, the search criteria includes a location of Sydney Inner West, a first commuting parameter of 15 minutes train or walking commute to a primary school during school hours, and a second commuting parameter of 45 minutes car commute to workplace A. Other search criteria provided by the user 301 includes a property type of either an apartment/unit or house, property for sale, a price range of $500,000 to $700,000, at least 3 bedrooms, at least 2 bathrooms, and at least 1 car space.
[0074] Table 1 describes the source nodes corresponding to those described above in step 265.
2019206112 19 Jul 2019
ID Property Type Transact! on Type Cost Bedroo ms Bathroo ms Carspac es Locatio n
Listing 1 Apartmen t Sale $500,00 0 3 2 1 Sydney Northern beaches
Listing 2 Apartmen t Rent $500/ week 1 1 1 Sydney Inner West
Listing 3 Apartmen t Sale $500,00 0 1 2 1 Sydney Inner West
Listing 4 House Sale $500,00 0 3 2 1 Sydney Inner West
Listing 5 Apartmen t Sale $800,00 0 3 2 1 Sydney Inner West
Listing 6 Apartmen t Sale $500,00 0 3 2 1 Sydney Inner West
Listing 7 Apartmen t Sale $550,00 0 3 2 1 Sydney Inner West
Listing 8 Apartmen t Sale $600,00 0 3 2 1 Sydney Inner West
Listing 9 Apartmen t Sale $650,00 0 3 2 1 Sydney Inner West
Table 1 [0075] When Step 260 is run, the listings shown in Table 2 below are returned to
Step 225 as a source_subset:
2019206112 19 Jul 2019
ID Included in source_subset? Reason
Listing 1 No Incorrect region
Listing 2 No Incorrect transaction type
Listing 3 No Insufficient number of bedrooms
Listing 4 No Incorrect property type
Listing 5 No Price is out of range
Listing 6 Yes All criteria satisfied
Listing 7 Yes All criteria satisfied
Listing 8 Yes All criteria satisfied
Listing 9 Yes All criteria satisfied
Table 2 [0076] In this example, there are two destination_subset sets for each search criterion:
• destination_subset - {primary_school_l, primary _school_2, ..., primary_school_n} • destination_subset = {workplace_A} [0077] Table 3 summarises the results in step 276 after applying step 286 to listings 6 to 9.
2019206112 19 Jul 2019
Listing 15 minutes train or walking commute to a primary school 45 minutes car commute to workplace A Result
Listing 6 10 minute train commute, 5 minute walk to primary_school_l 30 minutes car commute to workplace_A Include in result_set: all criteria satisfied
Listing 7 20 minute train commute, 10 minute walk to primary_school_l 20 minutes car commute to workplace_A First criteria failed: add as a suggested listing
Listing 8 5 minute train commute, 10 minute walk to primary_school_2 60 minutes car commute to workplace_A Second criteria failed: add as a suggested listing
Listing 9 10 minute walk to primary_school_l 40 minutes car commute to workplace_A Include in result_set: all criteria satisfied
Table 3 [0078] Listing 7 and Listing 8 do not satisfy the first travelling criterion of being within 15 minutes' train or walking commute to a primary school. However, in this embodiment, the system includes a recommendation facility, whereby results that are within a predefined offset of one or more specified criteria may be included in search results. Depending on the implementation, such recommended results may be displayed in a different manner, such as being presented in a different colour or at the end of the other search results.
[0079] The recommender functionality increases the number of results returned by omitting criteria from the user's standard search criteria and commute search criteria.
Fig. 13 illustrates a method 1300 for implementing a recommendation facility (recommender functionality). The method 1300 begins at a start step 1300 and proceeds to step 1310. The search criteria are retrieved from the user's specified criteria (step 1310). These criteria are expressed as a set of individual criterion. Step 1315 involves converting the set obtained in step 1310 into a set of alternative criteria to be used for searching. These processes for searching for alternatives are divided into two subprocesses:
2019206112 19 Jul 2019 • Step 1320 involves generating power set of search criteria that does not include the empty set or the original set. The power set function is a function that obtains all subsets of a set. Expressed mathematically, if an example set is {a, b, c}, then the power set of the example set is {{}, {a}, {b}, {c}, {a,b}, {a,c}, {b,c}, {a,b,c}} where {} represents the empty set. The search process (called run search in Fig 2a and Fig 2b, referenced as step 1345) is repeated for every element in the search_criteria_alternates.
• Step 1325 involves altering the user's search criteria by a predefined offset. For example, if a user has requested results within a 15-minute public transport commute, then step 1325 generates search criteria such as 20-minute public transport commute.
[0080] Steps 1340, 1345 and 1355 are a for-loop iterating over the search_criteria_alternatives set: for each alternative search criteria (described as current_criteria), the search process described in Figs 2a and 2b is run for the current_criteria in step 1350. The results are displayed to the user in step 1360: this step differs from the format_results function in step 276, as step 1360 does not display results already shown to the user in previous iterations of step 1360 or 276.
[0081] These new search criteria are used to search for results, substituting these search criteria for the user's search criteria. The difference between the number of results obtained using the user's original search criteria and new search criteria is displayed on a search results screen, as shown under the map in Fig. 8.
[0082] The multi-modal search system of the present disclosure may be practised using a computing device, such as a general purpose computer or computer server. Fig. 4 is a schematic block diagram of a system 400 that includes a general purpose computer 410. The general purpose computer 410 includes a plurality of components, including: a processor 412, a memory 414, a storage medium 416, input/output (I/O) interfaces 420, and input/output (I/O) ports 422. Components of the general purpose computer 410 generally communicate using one or more buses 448.
[0083] The memory 414 may be implemented using Random Access Memory (RAM), Read Only Memory (ROM), or a combination thereof. The storage medium 416 may be implemented as one or more of a hard disk drive, a solid state flash drive, an optical disk drive, or other storage means. The storage medium 416 may be utilised to store one or more computer programs, including an operating system, software applications, and
2019206112 19 Jul 2019 data. In one mode of operation, instructions from one or more computer programs stored in the storage medium 416 are loaded into the memory 414 via the bus 448. Instructions loaded into the memory 414 are then made available via the bus 448 or other means for execution by the processor 412 to implement a mode of operation in accordance with the executed instructions.
[0084] One or more peripheral devices may be coupled to the general purpose computer 410 via the I/O ports 422. In the example of Fig. 4, the general purpose computer 410 is coupled to each of a speaker 424, a camera 426, a display device 430, an input device 432, a printer 434, and an external storage medium 436. The speaker 424 may be implemented using one or more speakers, such as in a stereo or surround sound system. In the example in which the general purpose computer 410 is utilised to implement the computing device 320 or server 310, one or more peripheral devices may relate to external storage devices, displays, or input devices connected to the I/O ports 422.
[0085] The camera 426 may be a webcam, or other still or video digital camera, and may download and upload information to and from the general purpose computer 410 via the I/O ports 422, dependent upon the particular implementation. For example, images recorded by the camera 426 may be uploaded to the storage medium 416 of the general purpose computer 410. Similarly, images stored on the storage medium 416 may be downloaded to a memory or storage medium of the camera 426. The camera 426 may include a lens system, a sensor unit, and a recording medium.
[0086] The display device 430 may be a computer monitor, such as a cathode ray tube screen, plasma screen, or liquid crystal display (LCD) screen. The display 430 may receive information from the computer 410 in a conventional manner, wherein the information is presented on the display device 430 for viewing by a user. The display device 430 may optionally be implemented using a touch screen to enable a user to provide input to the general purpose computer 410. The touch screen may be, for example, a capacitive touch screen, a resistive touchscreen, a surface acoustic wave touchscreen, or the like.
[0087] The input device 432 may be a keyboard, a mouse, a stylus, drawing tablet, or any combination thereof, for receiving input from a user. The external storage medium 436 may include an external hard disk drive (HDD), an optical drive, a floppy disk drive, a flash drive, or any combination thereof and may be implemented as a single
2019206112 19 Jul 2019 instance or multiple instances of any one or more of those devices. For example, the external storage medium 436 may be implemented as an array of hard disk drives.
[0088] The I/O interfaces 420 facilitate the exchange of information between the general purpose computing device 410 and other computing devices. The I/O interfaces may be implemented using an internal or external modem, an Ethernet connection, or the like, to enable coupling to a transmission medium. In the example of Fig. 4, the I/O interfaces 422 are coupled to a communications network 438 and directly to a computing device 442. The computing device 442 is shown as a personal computer, but may be equally be practised using a smartphone, laptop, or a tablet device. Direct communication between the general purpose computer 410 and the computing device 442 may be implemented using a wireless or wired transmission link.
[0089] The communications network 438 may be implemented using one or more wired or wireless transmission links and may include, for example, a dedicated communications link, a local area network (LAN), a wide area network (WAN), the Internet, a telecommunications network, or any combination thereof. A telecommunications network may include, but is not limited to, a telephony network, such as a Public Switch Telephony Network (PSTN), a mobile telephone cellular network, a short message service (SMS) network, or any combination thereof. The general purpose computer 410 is able to communicate via the communications network 438 to other computing devices connected to the communications network 438, such as the mobile telephone handset 444, the touchscreen smartphone 446, the personal computer 440, and the computing device 442.
[0090] One or more instances of the general purpose computer 410 may be utilised to implement a server acting as a multi-modal search server to implement a search multimodal search system in accordance with the present disclosure. In such an embodiment, the memory 414 and storage 416 are utilised to store data relating to different transport modes. Software for implementing the multi-modal search system is stored in one or both of the memory 414 and storage 416 for execution on the processor 412. The software includes computer program code for implementing method steps in accordance with the method of multi-modal transport searching described herein.
[0091] Fig. 5 is a schematic block diagram of a system 500 on which one or more aspects of a multi-modal searching method and system of the present disclosure may be practised. The system 500 includes a portable computing device in the form of a smartphone 510, which may be used to implement the computing device 320 accessed by
2019206112 19 Jul 2019 a registered user of the search system in Fig. 3. The smartphone 510 includes a plurality of components, including: a processor 512, a memory 514, a storage medium 516, a battery 518, an antenna 520, a radio frequency (RF) transmitter and receiver 522, a subscriber identity module (SIM) card 524, a speaker 526, an input device 528, a camera 530, a display 532, and a wireless transmitter and receiver 534. Components of the smartphone 510 generally communicate using one or more bus connections 548 or other connections therebetween. The smartphone 510 also includes a wired connection 545 for coupling to a power outlet to recharge the battery 518 or for connection to a computing device, such as the general purpose computer 410 of Fig. 4. The wired connection 545 may include one or more connectors and may be adapted to enable uploading and downloading of content from and to the memory 514 and SIM card 524.
[0092] The smartphone 510 may include many other functional components, such as an audio digital-to-analogue and analogue-to-digital converter and an amplifier, but those components are omitted for the purpose of clarity. However, such components would be readily known and understood by a person skilled in the relevant art.
[0093] The memory 514 may include Random Access Memory (RAM), Read Only Memory (ROM), or a combination thereof. The storage medium 516 may be implemented as one or more of a solid state flash drive, a removable storage medium, such as a Secure Digital (SD) or microSD card, or other storage means. The storage medium 516 may be utilised to store one or more computer programs, including an operating system, software applications, and data. In one mode of operation, instructions from one or more computer programs stored in the storage medium 516 are loaded into the memory 514 via the bus 548. Instructions loaded into the memory 514 are then made available via the bus 548 or other means for execution by the processor 512 to implement a mode of operation in accordance with the executed instructions.
[0094] The smartphone 510 also includes an application programming interface (API) module 536, which enables programmers to write software applications to execute on the processor 512. Such applications include a plurality of instructions that may be pre-installed in the memory 514 or downloaded to the memory 514 from an external source, via the RF transmitter and receiver 522 operating in association with the antenna 520 or via the wired connection 545.
2019206112 19 Jul 2019 [0095] The smartphone 510 further includes a Global Positioning System (GPS) location module 538. The GPS location module 538 is used to determine a geographical position of the smartphone 510, based on GPS satellites, cellular telephone tower triangulation, or a combination thereof. The determined geographical position may then be made available to one or more programs or applications running on the processor 512.
[0096] The wireless transmitter and receiver 534 may be utilised to communicate wirelessly with external peripheral devices via Bluetooth, infrared, or other wireless protocol. In the example of Fig. 5, the smartphone 510 is coupled to each of a printer 540, an external storage medium 544, and a computing device 542. The computing device 542 may be implemented, for example, using the general purpose computer 410 of Fig. 4.
[0097] The camera 526 may include one or more still or video digital cameras adapted to capture and record to the memory 514 or the SIM card 524 still images or video images, or a combination thereof. The camera 526 may include a lens system, a sensor unit, and a recording medium. A user of the smartphone 510 may upload the recorded images to another computer device or peripheral device using the wireless transmitter and receiver 534, the RF transmitter and receiver 522, or the wired connection 545.
[0098] In one example, the display device 532 is implemented using a liquid crystal display (LCD) screen. The display 532 is used to display content to a user of the smartphone 510. The display 532 may optionally be implemented using a touch screen, such as a capacitive touch screen or resistive touchscreen, to enable a user to provide input to the smartphone 510.
[0099] The input device 528 may be a keyboard, a stylus, or microphone, for example, for receiving input from a user. In the case in which the input device 528 is a keyboard, the keyboard may be implemented as an arrangement of physical keys located on the smartphone 610. Alternatively, the keyboard may be a virtual keyboard displayed on the display device 532.
[00100] The SIM card 524 is utilised to store an International Mobile Subscriber Identity (IMSI) and a related key used to identify and authenticate the user on a cellular network to which the user has subscribed. The SIM card 524 is generally a removable card that can be used interchangeably on different smartphone or cellular telephone devices. The SIM card 524 can be used to store contacts associated with the user,
2019206112 19 Jul 2019 including names and telephone numbers. The SIM card 524 can also provide storage for pictures and videos. Alternatively, contacts can be stored on the memory 514.
[00101] The RF transmitter and receiver 522, in association with the antenna 520, enable the exchange of information between the smartphone 510 and other computing devices via a communications network 590. In the example of Fig. 5, RF transmitter and receiver 522 enable the smartphone 510 to communicate via the communications network 590 with a cellular telephone handset 550, a smartphone or tablet device 552, a computing device 554 and the computing device 542. The computing devices 554 and 542 are shown as personal computers, but each may be equally be practised using a smartphone, laptop, or a tablet device.
[00102] The communications network 590 may be implemented using one or more wired or wireless transmission links and may include, for example, a cellular telephony network, a dedicated communications link, a local area network (LAN), a wide area network (WAN), the Internet, a telecommunications network, or any combination thereof. A telecommunications network may include, but is not limited to, a telephony network, such as a Public Switch Telephony Network (PSTN), a cellular (mobile) telephone cellular network, a short message service (SMS) network, or any combination thereof.
[00103] In one arrangement, the server 310 is able to be accessed by the portals 342, 344 to enable the portals 342, 344 to display particular destinations within proximity of a listed property. The destinations may relate to various points of interest, such as schools, childcare centres, bus stops, train stations, shopping centres, playing fields, and the like. Fig. 9 is a screenshot of a map 900 for the Sydney suburb of Pyrmont. The map 900 shows a set of destinations and indicates how many instances of each type of destination are shown on the current map. In this example, the set of destinations includes schools, childcare centres, hospitals, public transport and instances of those destinations that appear on the map are highlighted by corresponding icons. The set of destinations may be retrieved, for example, from the database 312 of the server 310 for display to a user via the portals 342, 344.
[00104] Fig. 10 is a screenshot of search results 1000 presented in the graphical format of a map in relation to a search query for properties next to Blacktown high schools and Blacktown public hospital. The search criteria indicates that a user has selected all public schools and all hospitals. In this example, the user has not chosen to highlight any public transport infrastructure, such as bus stops, train stations, ferry stops,
2019206112 19 Jul 2019 or light rail stops. Based on the nominated destinations of the public schools and the hospital, the search engine implemented on the server 310 generates a set of search results comprising all real estate listings within a certain proximity range of the nominated destinations. As described above with reference to step 235 of Fig. 2a and as shown in Figs 6, 7 and 11, the proximity range is provided by the user in relation to each nominated destination. The proximity range is, for example, specified as a maximum travel time from a destination or set of destinations by one or more transport modes.
Not-for-profit social venture [00105] A not-for-profit venture using the core My House Geek real estate advertising service is envisioned. This service is a web-based service that enables people who are currently or are at risk of becoming homeless as well as their advocates to search for accommodation appropriate to their needs.
[00106] The community housing version enables users to search for community housing close to support services. In one implementation, the community housing version optionally provides functionality to enable a user to search for community housing further away from a specific location. The specific location may relate, for example, to a scene of a previous traumatic event or a residence of a known aggressor. In another implementation, this a user could search for property within a maximum commute distance of an emergency or healthcare response, such as an ambulance, on-call doctor or nurse.
[00107] This venture introduces the concept of exclusion and inclusion destinations. The system described above in relation to commuting distances may be referred to as describing inclusion destinations, as the system searches for a destination (or source) within a travel range defined by the user's search criteria.
[00108] An exclusion destination is where the system searches for sources where there is no route between a source and an exclusion destination that meets the user's search criteria. For example, an exclusion destination could involve a user who cannot live within a 15-minute car commute between their future residence and a point of interest the user is not allowed to approach. In another example, a user utilises an exclusion destination to find a home, for example, that is no closer than a predefined travel range to a factory or airport or other specified destination.
2019206112 19 Jul 2019 [00109] The addition of exclusion and inclusion destinations introduces the respective concepts of exclusion and inclusion search criteria: search criteria that require inclusion destinations are inclusion search criteria and search criteria that require exclusion destinations are exclusion search criteria.
[00110] Fig. 12 is a flow diagram 1200 illustrating an alternative to Fig. 2b, where the flow diagram 1200 of Fig. 12 features inclusion destinations. Step 230 of Fig. 2a maps to step 230 of Fig. 2c, which passes to step 270, as described above with reference to Fig. 2b. Step 270 initialises the set of results to an empty set. Steps 272, 280, 296 and 274 are for-loop iterating over the source_subset.
[00111] Steps 282, 298, 1210 and 1245 represent a for-loop over the destination_subset. Much like in steps 286 and 288 in Fig. 2b, steps 1215 and 1220 calculate routes between the current_source and current_destination, based on the routing_settings provided. Steps 1225, 1230, 1235 and 1240 represent the inclusion and exclusion destination logic:
• If a destination is to be included (for example, in the case where a user searches for property with a commute time of a public school), then step 1225 would continue to step 1240: at least one route that meets the routing_settings needs to be located for it to be added to the result_set. If an isochrone is created based on the routing_settings like the isochrone in Fig. 15, then the destination must be located within the isochrone to be added to the result_set.
• If a destination is to be excluded (for example, in the case where a user searches for property that cannot be within a specified commute time of a public school), then step 1225 would continue to step 1230: no route meeting the routing_settings should exist for the destination to be added to the result_set. If an isochrone is created based on the routing_settings like the isochrone in Fig. 15, then the destination must not be located within the isochrone to be added to the result_set.
[00112] Exclusion and inclusion destinations can be combined. For example, one arrangement allows a user to specify exclusion search criteria and inclusion search criteria, such that the user can search for a home (i.e., a source) that is, no less than 30minute drive from a steel smelter and at most a 15 minute drive from a golf course. The first condition no less than 30-minute drive from a steel smelter is an example of an
2019206112 19 Jul 2019 exclusion search criteria and the second condition at most a 15 minute drive from a golf course is an example of an inclusion search criteria.
[00113] In the following example, listings A through to D are sources in the source_subset set in steps 274 and 296. Step 1215 calculates the shortest route possible between the current_source and current_destination: for exclusion search criteria, if no route exists with a duration less than the criteria's duration using the routing_settings, then it is included in the result_set. In the following example, Listing A and B are included in the final result_set, and Listing C and D are included as suggested results as they do not satisfy all criteria.
Listing no less than 30 minute drive from a steel smelter at most a 15 minute drive from a golf course Result
Listing A 45 minute drive 10 minute drive Include in result_set: all criteria satisfied
Listing B 50 minute drive 5 minute drive Include in result_set: all criteria satisfied
Listing C 25 minute drive 5 minute drive First criteria failed: add as a suggested listing
Listing D 35 minute drive 20 minute drive Second criteria failed: add as a suggested listing
Table 4 [00114] In addition to exclusion search criteria, the routing_settings can set a maximum allowed distance from a point-of-interest, class of points-of-interest or sub-class of points-of-interest. For example, a setting could find routes between a destination and a source that do not involve travelling less than the maximum allowed distance between the point of interest.
Industrial Applicability [00115] The arrangements described are applicable to the real estate and computing industries.
2019206112 19 Jul 2019 [00116] The foregoing describes only some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the embodiments being illustrative and not restrictive.
[00117] In the context of this specification, the word comprising and its associated grammatical constructions mean including principally but not necessarily solely or having or including, and not consisting only of. Variations of the word comprising, such as comprise and comprises have correspondingly varied meanings.
[00118] As used throughout this specification, unless otherwise specified, the use of ordinal adjectives first, second, third, fourth, etc., to describe common or related objects, indicates that reference is being made to different instances of those common or related objects, and is not intended to imply that the objects so described must be provided or positioned in a given order or sequence, either temporally, spatially, in ranking, or in any other manner.
[00119] Although the invention has been described with reference to specific examples, it will be appreciated by those skilled in the art that the invention may be embodied in many other forms.
Further Embodiments [00120] A system for identifying relevant results from a database, the system comprising:
a property database storing a set of property listings, each property listing having an associated set of attributes;
a transport database storing transport information; and a server coupled to a communications network, said server including:
a destinations database storing a set of destinations; and a processing module for processing search criteria received from a user via said communications network, said search criteria including at least two commutes, each commute being associated with a destination selected from said set of destinations and having an associated proximity range;
wherein said processing module identifies a set of search results properties from said set of property listings, based on said search criteria and said transport information; and
2019206112 19 Jul 2019 wherein each said commute includes at least two transport modes selected from the group consisting of: car, taxi, walking, cycling, bus, ferry, train, plane, helicopter, tram, and public transport.
[00121] In one arrangement, proximity range is one of a commute time, a commute distance, and a commute cost.
[00122] In one arrangement, each said destination in said set of destinations is one of a school, childcare centre, hospital, transport stop, playing field, beach, swimming pool, airport, shopping centre, workplace, marina, boat ramp, or business park.
[00123] In one arrangement, said processing identifies said set of search results based on a routing graph derived from said transport information, at least one of said property listings, and at least two destinations from said set of destinations.
[00124] A method comprising the steps of:
storing a set of property listings in a property database, each property listing having an associated set of attributes;
storing a set of destinations in a destinations database;
receiving a search query, said search query defining at least two commutes, each commute being associated with a destination selected from said set of destinations and having an associated proximity range; and identifying a set of search results properties from said set of property listings, based on said search query and transport information derived from at least one transport database;
wherein each commute includes at least two transport modes selected from the group consisting of: car, taxi, walking, cycling, bus, ferry, train, plane, helicopter, tram, and public transport.
[00125] In one arrangement, proximity range is one of a commute time, a commute distance, and a commute cost.
[00126] In one arrangement, each destination in said set of destinations is one of a school, childcare centre, hospital, transport stop, playing field, beach, swimming pool, airport, shopping centre, workplace, marina, boat ramp, or business park.
[00127] In one arrangement, said identifying includes:
generating a routing graph derived from said transport information, at least one of said property listings, and at least two destinations from said set of destinations.
2019206112 19 Jul 2019 [00128] In one arrangement, said search query includes an exclusion destination, wherein each search results property in said set of search results properties is located beyond a predefined exclusion range from said exclusion destination.
[00129] In one arrangement, said predefined exclusion range is based on the proximity range associated with each commute in said search query.
[00130] In one arrangement, said search query includes an inclusion destination, wherein each search results property in said set of search results properties is located within a predefined inclusion range from said inclusion destination.
[00131] In one arrangement, said predefined inclusion range is based on the proximity range associated with each commute in said search query.

Claims (12)

  1. The claims defining the invention are as follows:
    1. A system for identifying relevant results from a database, the system comprising: a property database storing a set of property listings, each property listing having an associated set of attributes;
    5 a transport database storing transport information, the transport database being coupled to a communications network; and a server coupled to said communications network, said server including:
    a destinations database storing a set of destinations organised by categories and sub-categories; and io a processing module for processing search criteria received from a user via said communications network, said search criteria including: a set of user property-related constraints; a set of potential user destinations; and a plurality of commutes each having at least one route based on said sets of user property-related constraints and potential user destinations, each commute having an associated proximity range;
    is wherein said processing module is configured to perform the steps of:
    a) generating a power set of criteria and altering said search criteria by a predefined offset based on the power set of criteria;
    b) generating a property subset including a plurality of property elements from said set of property listings, said property subset satisfying said set of user
    20 property-related constraints;
    c) generating a destinations subset including a plurality of destination elements said the set of destinations, said destinations subset satisfying said set of potential user destinations;
    d) locating said property subset and said destinations subset on a routing
    25 graph; and
    e) for each of the plurality of commutes, calculating said at least one route between at least one of said plurality of property elements and at least one of said plurality of destination elements, including generating an isochrone on said routing graph corresponding to said set of user property-related so constraints and said set of potential user destinations;
    wherein said processing module identifies a set of search results properties from said set of property listings, based on said at least one route satisfying said altered search criteria, said transport information, and at least two destinations from said set of destinations.
    2019206112 19 Jul 2019
  2. 2. The system according to claim 1, wherein each of said plurality of commutes includes a transport mode selected from the group consisting of at least one of the following transport modes: car, taxi, walking, cycling, bus, ferry, train, plane, helicopter, and public transport.
  3. 5 3. The system according to claim 2, wherein each of said plurality of commutes includes at least two transport modes selected from the group consisting of at least one of the following transport modes: car, taxi, walking, cycling, bus, ferry, train, plane, helicopter, and public transport.
    io 4. The system according to any one of claims 1 to 3, wherein proximity range is a commute time.
    5. The system according to any one of claims 1 to 4, wherein said each destination in said set of destinations is one of a school, childcare centre, hospital, transport stop, playing is field, beach, swimming pool, airport, shopping centre, or business park.
  4. 6. A method comprising the steps of:
    storing a set of property listings in a property database, each property listing having an associated set of attributes;
    20 storing a set of destinations in a destinations database organised by categories and sub-categories;
    receiving a search query, said search query defining: a set of user property-related constraints; a set of potential user destinations; and a plurality of commutes, each commute having at least one route based on said sets of user property-related constraints and
    25 potential user destinations, each commute having an associated proximity range;
    generating a power set of criteria and altering said search query by a predefined offset based on the power set of criteria;
    generating a property subset including a plurality of property elements from said set of property listings, said property subset satisfying said set of user property-related constraints; so generating a destinations subset including a plurality of destination elements from said set of destinations, said destinations subset satisfying said set of potential user destinations;
    locating said property subset and said destinations subset on a routing graph;
    for each of the plurality of commutes, calculating said at least one route between at least one of said plurality of property elements and at least one of said plurality of
    35 destination elements, including generating an isochrone on said routing graph corresponding
    2019206112 19 Jul 2019 to said set of user property-related constraints and said set of potential user destinations; and identifying a set of search results properties from said set of property listings, based on said at least one route satisfying said search query, transport information derived from at
    5 least one transport database, and at least two destinations from said set of destinations, wherein said identified set of search results is based on satisfying said offset search query.
  5. 7. The method according to claim 6, wherein each of said plurality of commutes includes a transport mode selected from the group consisting of: car, taxi, walking, cycling, bus,
    10 ferry, train, plane, helicopter, and public transport.
  6. 8. The system according to claim 7, wherein each of said plurality of commutes includes at least two transport modes selected from the group consisting of at least one of the following transport modes: car, taxi, walking, cycling, bus, ferry, train, plane, helicopter, and is public transport.
  7. 9. The method according to any one of claims 6 to 8, wherein proximity range is a commute time.
    20
  8. 10. The method according to any one of claims 6 to 9, wherein each destination in said set of destinations is one of a school, childcare centre, hospital, transport stop, playing field, beach, swimming pool, airport, shopping centre, or business park.
  9. 11. The method according to any one of claims 6 to 10, wherein said search query
    25 includes an exclusion destination, wherein each search results property in said set of search results properties is located beyond a predefined exclusion range from said exclusion destination.
  10. 12. The method according to claim 11, wherein said predefined exclusion range is based so on the proximity range associated with each commute in said search query.
  11. 13. The method according to any one of claims 6 to 12, wherein said search query includes an inclusion destination, wherein each search results property in said set of search results properties is located within a predefined inclusion range from said inclusion
    35 destination.
    2019206112 19 Jul 2019
  12. 14. The method according to claim 12, wherein said predefined inclusion range is based on the proximity range associated with each commute in said search query.
AU2019206112A 2016-09-09 2019-07-19 Database system using multi-modal search keys Pending AU2019206112A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2019206112A AU2019206112A1 (en) 2016-09-09 2019-07-19 Database system using multi-modal search keys

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
AU2016903643A AU2016903643A0 (en) 2016-09-09 Database system using multi-modal search keys
AU2016903643 2016-09-09
AU2017225133A AU2017225133A1 (en) 2016-09-09 2017-09-08 Database system using multi-modal search keys
AU2019206112A AU2019206112A1 (en) 2016-09-09 2019-07-19 Database system using multi-modal search keys

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU2017225133A Division AU2017225133A1 (en) 2016-09-09 2017-09-08 Database system using multi-modal search keys

Publications (1)

Publication Number Publication Date
AU2019206112A1 true AU2019206112A1 (en) 2019-08-08

Family

ID=61693394

Family Applications (3)

Application Number Title Priority Date Filing Date
AU2017225133A Abandoned AU2017225133A1 (en) 2016-09-09 2017-09-08 Database system using multi-modal search keys
AU2019101822A Active AU2019101822A4 (en) 2016-09-09 2019-07-19 Database system using multi-modal search keys
AU2019206112A Pending AU2019206112A1 (en) 2016-09-09 2019-07-19 Database system using multi-modal search keys

Family Applications Before (2)

Application Number Title Priority Date Filing Date
AU2017225133A Abandoned AU2017225133A1 (en) 2016-09-09 2017-09-08 Database system using multi-modal search keys
AU2019101822A Active AU2019101822A4 (en) 2016-09-09 2019-07-19 Database system using multi-modal search keys

Country Status (1)

Country Link
AU (3) AU2017225133A1 (en)

Also Published As

Publication number Publication date
AU2017225133A1 (en) 2018-03-29
AU2019101822A4 (en) 2021-11-18

Similar Documents

Publication Publication Date Title
US20200402194A1 (en) Systems and methods for providing information for an on-demand service
US11594137B2 (en) Method and apparatus for providing mobility insight data for points of interest
US9488485B2 (en) Method and apparatus for route selection based on recorded and calculated routes
Steiniger et al. Foundations of location based services
US9068837B2 (en) Method of operating a navigation system
EP3048422B1 (en) Method and apparatus for providing relevant point of interest on a multi-modal route
US20070262860A1 (en) Distribution of Targeted Messages and the Serving, Collecting, Managing, and Analyzing and Reporting of Information relating to Mobile and other Electronic Devices
US20080072139A1 (en) Mobilizing Webpages by Selecting, Arranging, Adapting, Substituting and/or Supplementing Content for Mobile and/or other Electronic Devices; and Optimizing Content for Mobile and/or other Electronic Devices; and Enhancing Usability of Mobile Devices
US20050055353A1 (en) Acquiring, managing, distributing, and presenting contextual data relating to a known postion for location-based services to and between users
US20150363748A1 (en) Method and apparatus for time-based notification during an event
EP3967977A1 (en) Method, apparatus, and system for computing a recommended starting point and tour sequence based on multiple points of interest
US20150106427A1 (en) Method and apparatus for controlling access to information and applications between clients in a telecommunications network
JP6789608B2 (en) Advertising system, advertising program, server and advertising method
US20090187337A1 (en) System and method for navigation of a building, campus or retail structure with a mobile device
US20210044959A1 (en) Method and apparatus for providing selected access to user mobility data based on a quality of service
US10904705B2 (en) Method and apparatus for recommending mobility service operators based on user mobility patterns
US11187545B2 (en) Method and apparatus for generating a pooled route to extend a service area of a shared vehicle
AU2019101822A4 (en) Database system using multi-modal search keys
US20220012656A1 (en) Method and apparatus for using pedestrian probe data for ridesharing services
JP2020013327A (en) Information processing device and information processing method
US20230280188A1 (en) System and method for facilitating real-time sharing of location of points of interest
US20230191944A1 (en) Apparatus and methods for ensuring availability of designated electric vehicles during an emergency

Legal Events

Date Code Title Description
DA3 Amendments made section 104

Free format text: THE NATURE OF THE AMENDMENT IS: APPLICATION IS TO PROCEED UNDER THE NUMBER 2019101822