WO2007007350A2 - A method and system for a real-time distributed search - Google Patents

A method and system for a real-time distributed search Download PDF

Info

Publication number
WO2007007350A2
WO2007007350A2 PCT/IN2006/000238 IN2006000238W WO2007007350A2 WO 2007007350 A2 WO2007007350 A2 WO 2007007350A2 IN 2006000238 W IN2006000238 W IN 2006000238W WO 2007007350 A2 WO2007007350 A2 WO 2007007350A2
Authority
WO
WIPO (PCT)
Prior art keywords
search
data
query
splitter
queries
Prior art date
Application number
PCT/IN2006/000238
Other languages
French (fr)
Other versions
WO2007007350A8 (en
Inventor
Prasanna Gorur Narayana Srinivasa
Arunmozhi Sivam
S. T. P. Ganeshram
M. V. Venkataraman
Vivek Gyaneshwar
Palani Vel Rajan.K.
V. R. P. Gokul
Sri Sai Ganesh Venkataramani
Dilip Sukumar
Nipun Vyas
Shibashish Guha
Ranajoy Malakar
Satyaveer Singh
Mayank Prasad
Rahul Ramesh
B. R. Karthik
Kundan Burnwal
Imanpreet Singh Arora
Anil Kumar Turumella
Abhijeeth Rao Regelle
Satchitanand Venkat Meher Kotra
Chittoor Vikas
A. Bharath
Srinath
Hariharan
Original Assignee
Gorur Narayana Srinivasa Prasa
Arunmozhi Sivam
Ganeshram S T P
Venkataraman M V
Vivek Gyaneshwar
Rajan K Palani Vel
Gokul V R P
Sri Sai Ganesh Venkataramani
Dilip Sukumar
Nipun Vyas
Shibashish Guha
Ranajoy Malakar
Satyaveer Singh
Mayank Prasad
Rahul Ramesh
Karthik B R
Kundan Burnwal
Imanpreet Singh Arora
Anil Kumar Turumella
Abhijeeth Rao Regelle
Venkat Meher Kotra Satchitanan
Chittoor Vikas
Bharath A
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
Application filed by Gorur Narayana Srinivasa Prasa, Arunmozhi Sivam, Ganeshram S T P, Venkataraman M V, Vivek Gyaneshwar, Rajan K Palani Vel, Gokul V R P, Sri Sai Ganesh Venkataramani, Dilip Sukumar, Nipun Vyas, Shibashish Guha, Ranajoy Malakar, Satyaveer Singh, Mayank Prasad, Rahul Ramesh, Karthik B R, Kundan Burnwal, Imanpreet Singh Arora, Anil Kumar Turumella, Abhijeeth Rao Regelle, Venkat Meher Kotra Satchitanan, Chittoor Vikas, Bharath A filed Critical Gorur Narayana Srinivasa Prasa
Publication of WO2007007350A2 publication Critical patent/WO2007007350A2/en
Publication of WO2007007350A8 publication Critical patent/WO2007007350A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting

Definitions

  • This invention relates to a system and method to conduct a distributed real-time search to enable a marketplace in the realm of electronic commerce.
  • Google provides a SMS (Short Message Service) mechanism, which enables users to easily get precise answers to specialized queries from your mobile phone or device. Queries are sent as text messages and users obtain phone book listings, dictionary definitions, product prices and more. This is a static directory based service with little or no dynamism involved.
  • SMS Short Message Service
  • Google Earth is an image database taken from a satellite of the entire planet and used for tracking down objects as small as a car.
  • the update frequency of the images is not known and this is still not supported on mobile devices. This is not real time and hence is not suitable for scheduling, meeting place or search splitting activities.
  • Google Maps is basically a directory-based service, which gives routes and directions from a given place to a destination. Also, the place could be searched based on many criterion like shopping items, locations etc.
  • Dodge Ball is a mobile social website specializing in buddy (friend) finders. This is mainly a connection network where in an alert is given when a friend is close by. This does not have an integrated routing mechanism nor does it provide a two way alert for an optimal meeting place.
  • Airtel has introduced SMS based Location Access Services (LAS) which allows users to get information about things like nearest police station, hospital, pharmacist
  • Microsoft MapPoint Web Service is a programmable web service hosted by Microsoft and used by enterprises and independent software developers to integrate location-based services such as maps, driving directions and proximity searches into software applications and business processes.
  • MapPoint Web Service companies can improve business results through better discoverability of store locations and business assets.
  • IBM's location based services deal with providing information related to a location (without manually providing local zip code) such as nearest business or service, ATM, restaurant, friend, traffic alerts, taxis, service-person according to skill (e.g. physician), automatic airport- check-in (based on location), resource-tracking, fleet-scheduling, dating, profile-matching, target- advertising, emergency 911 services, automatic toll-payment based upon location etc.
  • a location without manually providing local zip code
  • a location such as nearest business or service, ATM, restaurant, friend, traffic alerts, taxis, service-person according to skill (e.g. physician), automatic airport- check-in (based on location), resource-tracking, fleet-scheduling, dating, profile-matching, target- advertising, emergency 911 services, automatic toll-payment based upon location etc.
  • Sun Microsystems has develqped a J2METM Location API that can be used for developing location-based services.
  • hi WLAN location determination system we can estimate the user location in the continuous physical space using two techniques, namely the Center of Mass technique and Tune Averaging technique.
  • IBM China Research Lab's M-Commerce solution using WebSphere Commerce Suite provides cost-effective m-commerce business solution in which e-Businesses can use mobile phones for product promotion, ads, e-coupons and customers can respond to messages anywhere, anytime.
  • IBM-Research leverages spatial data to provide Location based services, Moving Object Databases, Spatial Data Warehousing & OLAP.
  • Each mobile user is provided individual tailored- rr services. This e.g. provides service like finding the current location, nearest neighbor search etc.
  • GeoVector Corporation provides the service of finding the information of a shop by Current search technology is single client, and relatively static, in that the search results vary very slowly with time, if at all, and have limited spatial dependence.
  • the current invention extends the state of art by incorporating,
  • the distributed search uses multiple criteria which cannot be aggregated into a single query due to a variety of reasons. Some examples of these kinds of searches are
  • the system aggregates requests from mobiles (for example) and comes up with subsets of common items, and either orders them from stores or locates other mobile vendors, which have partial sets of goods in their inventory.
  • Real time stock updates can be part of this search, as can be individual scheduling/routing constraints. For example a client could require buying a refrigerator before they look to see if they have cash for a fruits.
  • An exemplary use of these ideas is in searching using agents carrying mobile phones, pda's or laptops.
  • Buyers can search for sellers of goods or services (e.g. banana sellers/doctors), service sellers (e.g. banana sellers/doctors) can search for buyers, with or without the use of the cellular provider's servers.
  • Real time updates of search attributes - location, stock availability, prior or instantaneous reservation, etc can be incorporated in the service.
  • the search not only identifies the buyers/sellers, but also determines places for them to meet to transact the business (meeting places). Once the meeting places have been determined, final searching and "homing - i.e. route guidance to these exact meeting place" can be done using signaling amongst phones in the cellular band or other special bands assigned for this purpose. Schedules for the buyers and sellers, expected meeting time constraints, etc. could be incorporated in the searching.
  • the queries occur in data, which represents geographically, commercially or temporally significant points. The data used also changes rapidly in time and is frequently updated.
  • the entities involved in generating and providing information are users (also referred to as buyers) and vendors (also referred to as sellers). These entities are generically referred to as agents. Further to the queries generated by the agents, the search algorithms are implemented in order to provide a suitable answer with the additional constraint of performing the same in real-time.
  • Figure 1 shows the Overall layout of the system.
  • Figure 2 shows an example of the Meeting Place algorithm.
  • Figure 3 depicts a Multiple Meeting place scenario.
  • Figure 4 illustrates the Split Search.
  • Figure 5 illustrates an example of a combination of Split Search and the Meeting place algorithms.
  • Figure 6 shows the block diagram of the proposed architecture.
  • the data that the real-time search operates upon could be any of geospatial information, shopping lists, personal schedules, core and elective subject lists, spatially dependent web pages optionally associated with auxiliary information, such as location and generally any data conveying geographical, commercial or temporally dependent information.
  • the data associated with each agent might contain portions that are private to that agent, implying that these portions are not to be shared with the other agents involved in the transaction. For example, in order to determine the meeting place for two or more people at different locations in a city, with the meeting place conforming to certain constraints imposed by the users (people who want to meet) such as:
  • the user specifies a requirement of combining a visit to a restaurant and a theater.
  • the meeting-place algorithm is used where the city is modeled as a connected graph whose nodes include important landmarks and junctions with its edges being the roads that connect these points.
  • the city can be modeled accurately given that a large number of nodes are represented.
  • the distance between adjacent nodes is assigned a weight, which is representative of the length and the average traffic encountered on these roads.
  • the location of users is considered as the vertices of a polygon with each vertex being given a weight, which is proportional to the reciprocal of then: speed.
  • the city map is stored as a matrix of dimensions N*N, where N is the number of nodes in the map.
  • the matrix contains weights between all pairs of nodes calculated using the Floyd Warshall algorithm.
  • Clients 1, 2, 3, 4 and 5 send requests to a server, which answers these requests. These answers have a common part (marked in red for clients 1, 2, and 3, and in green for 4, and 5), and an individual part.
  • Compute shortest path between valid meeting points using Floyd Warshall method The city is considered as a graph, and its valid meeting points as nodes, and roads between points as edges in the graph. The weights attached to edges are according to their distances and avg. traffic congestion.
  • Meeting points lying in the region are determined. For each of them the actual path distance from the individual requesting points is found from the resultant output matrix of the Floyd Warshall algorithm. Among these meeting points the optimal point is chosen as the one for which the maximum time taken by any of the requesting individual to reach there is the minimum.
  • Fig. 2 a group of four people respectively located at FIG2 JLlOO, FIG2JL200, FIG2_L300,
  • Fig2JL400 traveling with velocities of 20Kmph,20Kmph,40 Kmph,60 Rmph want to meet, exemplarily in the shortest time.
  • the system provides the user with the optimum Meeting place, which is at Fig2_M500.
  • Fig2_M500 may or may not be located on a road network connecting the locations Fig2_L100 through Fig2_L400. Given the relative velocities, Fig2_M500 would be nearer Fig2 JLlOO and Fig2JL200 compared to Fig2J ⁇ 300 and Fig2_L400, for the earliest possible meeting time.
  • the meeting place problem can be generalized into deciding multiple meeting places.
  • a person or other entity wants to meet different possibly overlapping groups of people in a particular pre- specified order. This is illustrated in Figure 3.
  • Fig. 3 depicts a Multiple Meeting place scenario wherein a person at Fig3_ L103 wants to meet people at Fig3_L101, Fig3_L102, Fig3_L104 (group 1) followed by Fig3_L201, Fig3JL202, Fig3_L203 (group 2) followed by Fig3_L301, Fig3_L302, Fig3 JL303 (group 3).
  • the optimal meeting places are determined to be Fig3JM105, Fig3JVI204 and Fig3_M304 respectively. Note that all members of group 1 meet at Fig3JVI105, all those of group 2 meet at Fig3JM204, and all those of group 3 meet at Fig3JM304.
  • the locations of these meeting places can be chosen so as to minimize the total time for all participants, the total time for one or more of them, a fair criterion having the time taken for most being equal, etc.
  • the split search algorithm executes a type of search in which answers to many partial searches are aggregated with the objective of providing a near-optimal solution based on the search criteria specified by the user.
  • Hash-joins are used to perfbrm-split search.
  • the data space is divided in to grids and is statically maintained.
  • the priority of all the objects of interests depends on the density of its presence. These priorities are also statically maintained.
  • the search for the object of interest begins from the user location and incrementally covers the entire area, stopping when a solution is found. Here the search can be satisfied by finding:
  • a theater and a restaurant which need not be co-located.
  • the algorithm determines whether (a) or (b) is best, based on criteria like the total distance, travel cost etc. In general, if there are N criteria in a split search query, up to 2 N subsets of these criteria have been explored to determine the optimal split search.
  • Split search optimally determines the split of the criteria, the entities that are associated with these subsets and the location of these entities.
  • Fig. 4 illustrates split search.
  • a user specifies a search query such as "I need the nearest combination " of a Restaurant and a Theatre".
  • the system finds the entities satisfying the search criteria namely Theatre Fig4_T104 and Restaurant Fig4_R103 and returns the geographical location co-ordinates to the user.
  • the system also has intelligence built into it to ignore the other solutions namely Theatre Fig4_T106 and Restaurant Fig4_R105, which will result in a higher cost solution when compared to Fig4_T104 and Fig4_R103.
  • Fig. 5 indicates a scenario wherein a person at Fig5_L100 wants to meet a group of people at Fig5_L200, Fig5_L300, Fig5_L400 and go to the nearest Hotel for lunch, and on his way draw money from the ATM.
  • the system provides the user with the Meeting place Fig5_M500 and the nearest combination of ATM, Hotel and Theatre, from there on he wants to meet another group of people at Fig5_L50 Fig5_L60 and Fig5_L70, wherein the system provides the meeting place as Fig5_M600.
  • Fig5_M500 So the path he has to take is Fig5_M500, Fig5_A30, Fig5_R40, Fig5_T30 and Fig5_M600 in order to fulfill his schedule.
  • the user may or may not specify that the events occur in this particular order - the system determines the optimal grouping of events/meetings, locates and schedules them. If an order or partial order is specified, then the combination respects that order/partial order.
  • the agents are assumed to possess such devices as mobile phones, personal data assistants (PDAS) and laptops with appropriate user interfaces to register queries and receive outputs from the search service.
  • Real time search handles service requests and location detection of services within a mobile marketplace in the realm of electronic commerce.
  • the data upon which the search is executed has a temporally varying nature with rapid updates being the hallmark.
  • the system executing the real time search has to be responsive and cannot take time in the order of several hours to generate an output.
  • FIG. 6 An architecture that may be used for a real time search broker is outlined below, and depicted in Fig_6.
  • a centralized database Fig_6_D100 at a mobile service- provider, stores location, stock inventory, and other attribute information of agents Fig_6_A600. This information is updated on a real-time basis. Queries from agents Fig_6_A600 are sent to the broker via interface Fig ⁇ ⁇ JSOO. Database Fig_6JD100 is queried for sites fulfilling user criteria (e.g. required service) by query engine Fig_6_Q200.
  • user criteria e.g. required service
  • the answers are filtered by location in filter Fig ⁇ ⁇ J ⁇ OO
  • An optimization algorithm Fig_6_O400 using simulated annealing is used to find the optimal answers to each of the agent's queries, and the answers sent back to agents via interface Fig_6_I500.
  • This architecture has been used to implement a variety of embodiments including finding goods to buy/sell, locate nearest buses, etc.
  • the geographic setting is the city of Bangalore in India.
  • a prototype was developed using Java operating on a space represented as a grid of dimension 10 * 10 with 60 units each having 25 nodes with nearly 30 undirected edges.
  • 60 sellers at random locations were implemented as an independent threads, each seller having 0 to 5 items whose number was updated randomly to specify the residual inventory available.
  • 5 bus routes having three buses on each route were implemented as separate threads.
  • Table 1 outlines the inputs and outputs associated with each of these abstract modules.
  • Table 2 provides the details associated with each module. Once this maximum bound is set, all the list of sellers offering one or more of the required items is found. Once this is done, all the possible combinations of sellers satisfying the requirements are compiled, i.e. the lists of complete sets are formed. The intermediary distances between these shops are calculated from their respective co-ordinates, i.e. A TSP is then done which gives the optimal solution. (In case of the sellers moving the TSP transforms itself into a dynamic problem.) The list of complete sellers with the optimal distance from the user is then presented.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

A METHOD AND SYSTEM FOR A IUEAL-TTME DISTRIBUTED SEARCH
BACKGROUND
FDZLD OF THE INVENTION
This invention relates to a system and method to conduct a distributed real-time search to enable a marketplace in the realm of electronic commerce.
DISCUSSION OF PRIOR ART
Google provides a SMS (Short Message Service) mechanism, which enables users to easily get precise answers to specialized queries from your mobile phone or device. Queries are sent as text messages and users obtain phone book listings, dictionary definitions, product prices and more. This is a static directory based service with little or no dynamism involved.
Google Earth is an image database taken from a satellite of the entire planet and used for tracking down objects as small as a car. The update frequency of the images is not known and this is still not supported on mobile devices. This is not real time and hence is not suitable for scheduling, meeting place or search splitting activities.
Google Maps is basically a directory-based service, which gives routes and directions from a given place to a destination. Also, the place could be searched based on many criterion like shopping items, locations etc.
Dodge Ball is a mobile social website specializing in buddy (friend) finders. This is mainly a connection network where in an alert is given when a friend is close by. This does not have an integrated routing mechanism nor does it provide a two way alert for an optimal meeting place.
Airtel has introduced SMS based Location Access Services (LAS) which allows users to get information about things like nearest police station, hospital, pharmacist
Microsoft MapPoint Web Service is a programmable web service hosted by Microsoft and used by enterprises and independent software developers to integrate location-based services such as maps, driving directions and proximity searches into software applications and business processes. By using the MapPoint Web Service, companies can improve business results through better discoverability of store locations and business assets.
IBM's location based services (LBS) deal with providing information related to a location (without manually providing local zip code) such as nearest business or service, ATM, restaurant, friend, traffic alerts, taxis, service-person according to skill (e.g. physician), automatic airport- check-in (based on location), resource-tracking, fleet-scheduling, dating, profile-matching, target- advertising, emergency 911 services, automatic toll-payment based upon location etc.
Sun Microsystems has develqped a J2ME™ Location API that can be used for developing location-based services.
hi WLAN location determination system, we can estimate the user location in the continuous physical space using two techniques, namely the Center of Mass technique and Tune Averaging technique.
IBM China Research Lab's M-Commerce solution using WebSphere Commerce Suite provides cost-effective m-commerce business solution in which e-Businesses can use mobile phones for product promotion, ads, e-coupons and customers can respond to messages anywhere, anytime.
IBM-Research leverages spatial data to provide Location based services, Moving Object Databases, Spatial Data Warehousing & OLAP. Each mobile user is provided individual tailored- rr services. This e.g. provides service like finding the current location, nearest neighbor search etc.
GTX corporation's location based real time traffic & weather, gaming, navigation/mapping, roadside assistance, Find-A-Friend™ GPS location finding, Employee-tracking & Dispatch.
Maplnfo's service of locating potential insurance consumers based upon market demographics for insurance agents, to enable the agents to effectively target the desired group of prospective consumers.
GeoVector Corporation provides the service of finding the information of a shop by Current search technology is single client, and relatively static, in that the search results vary very slowly with time, if at all, and have limited spatial dependence. The current invention extends the state of art by incorporating,
(1) Distributed queries, with a query being composed of sub queries at multiple agents. The search results can be likewise composed of partial results - split search.
(2) General forms of spatial and temporal dependence of both the search criteria and data record/web page attributes. The contents of any web page can change with position and time (possibly at high speed, exemplarily much faster than the time between visits of a web crawler indexing the pages), and the search criteria are similarly varying. The varying nature of the web page and the search criterion make standard algorithms like page rank inapplicable, unless modified significantly. In all that follows, our definition of the word "web page" refers to a general data record, not necessarily an HTML page.
The distributed search uses multiple criteria which cannot be aggregated into a single query due to a variety of reasons. Some examples of these kinds of searches are
1. Multiple clients trying to determine meeting places satisfying individual scheduling and routing (e.g. distance traversed constraints). Specifically we can have people using their mobiles to determine meeting places and routes. Here the schedule of different individuals is available only to them, and the server has to aggregate them to run a meeting place algorithm. Indeed an individual's schedule may be private information, not to be shared with other clients.
2. Multiple clients trying to locate information, with a common shared portion. An example would be students trying to locate and determine a set of core and elective textbooks, autonomously. The core subjects are shared searches, and the elective subjects are potentially private information. The system performing the aggregation determines the common core textbooks, and sends it to all, plus their individual elective textbooks.
3. Multiple clients having individual shopping lists. The system aggregates requests from mobiles (for example) and comes up with subsets of common items, and either orders them from stores or locates other mobile vendors, which have partial sets of goods in their inventory. Real time stock updates can be part of this search, as can be individual scheduling/routing constraints. For example a client could require buying a refrigerator before they look to see if they have cash for a fruits. An exemplary use of these ideas is in searching using agents carrying mobile phones, pda's or laptops. Buyers can search for sellers of goods or services (e.g. banana sellers/doctors), service sellers (e.g. banana sellers/doctors) can search for buyers, with or without the use of the cellular provider's servers. Real time updates of search attributes - location, stock availability, prior or instantaneous reservation, etc can be incorporated in the service. The search not only identifies the buyers/sellers, but also determines places for them to meet to transact the business (meeting places). Once the meeting places have been determined, final searching and "homing - i.e. route guidance to these exact meeting place" can be done using signaling amongst phones in the cellular band or other special bands assigned for this purpose. Schedules for the buyers and sellers, expected meeting time constraints, etc. could be incorporated in the searching.
SUMMARY OF THE INVENTION
It is an object of this invention to provide a system and method for distributed real-time search, where queries can be constructed out of several sub-queries and answered with real-time constraints. This is achieved by using two algorithms namely, the split-search algorithm and the meeting-place algorithm. The queries occur in data, which represents geographically, commercially or temporally significant points. The data used also changes rapidly in time and is frequently updated. The entities involved in generating and providing information are users (also referred to as buyers) and vendors (also referred to as sellers). These entities are generically referred to as agents. Further to the queries generated by the agents, the search algorithms are implemented in order to provide a suitable answer with the additional constraint of performing the same in real-time.
BRIEF DESCRIPTION OF DRAWINGS
Figure 1 shows the Overall layout of the system.
Figure 2 shows an example of the Meeting Place algorithm.
Figure 3 depicts a Multiple Meeting place scenario. Figure 4 illustrates the Split Search.
Figure 5 illustrates an example of a combination of Split Search and the Meeting place algorithms. Figure 6 shows the block diagram of the proposed architecture.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
DATAAGGREGATION
The data that the real-time search operates upon could be any of geospatial information, shopping lists, personal schedules, core and elective subject lists, spatially dependent web pages optionally associated with auxiliary information, such as location and generally any data conveying geographical, commercial or temporally dependent information. The data associated with each agent might contain portions that are private to that agent, implying that these portions are not to be shared with the other agents involved in the transaction. For example, in order to determine the meeting place for two or more people at different locations in a city, with the meeting place conforming to certain constraints imposed by the users (people who want to meet) such as:
• The users are capable of traveling to their destinations at different speeds.
• The maximum time taken for travel by any of the users must be rninimized so that the wait-time for all users trying to meet is minimized
• The user specifies a requirement of combining a visit to a restaurant and a theater.
• The user wishes to find all automatic teller machines (ATMs) and Hotels that are within a certain radius with respect to his current position.
• A user wishes to purchase bananas but wants to do so while τniτiinrri:/ing cost.
m order to provide the users with a meeting place, the meeting-place algorithm is used where the city is modeled as a connected graph whose nodes include important landmarks and junctions with its edges being the roads that connect these points. The city can be modeled accurately given that a large number of nodes are represented. The distance between adjacent nodes is assigned a weight, which is representative of the length and the average traffic encountered on these roads. The location of users is considered as the vertices of a polygon with each vertex being given a weight, which is proportional to the reciprocal of then: speed. The city map is stored as a matrix of dimensions N*N, where N is the number of nodes in the map. The matrix contains weights between all pairs of nodes calculated using the Floyd Warshall algorithm.
In general, the invention is illustrated in Figure 1. Clients 1, 2, 3, 4 and 5 send requests to a server, which answers these requests. These answers have a common part (marked in red for clients 1, 2, and 3, and in green for 4, and 5), and an individual part.
Li order to provide the users with a solution to such complex queries as visiting a restaurant and a theatre, the split search algorithm is used.
SEARCH ALGORITHM
First we describe the meeting point algorithm in details
1. Compute shortest path between valid meeting points using Floyd Warshall method. The city is considered as a graph, and its valid meeting points as nodes, and roads between points as edges in the graph. The weights attached to edges are according to their distances and avg. traffic congestion.
2. Accept request to find meeting place. Each request must contain points of origin from which the meeting place is requested, and the corresponding speeds.
3. With each of these points as origin, draw circles, with the radius of these circles proportionate to their corresponding speeds. Thus for a speed of 'x' from a point, draw a circle with radius 'kx', where k is a little larger than the seed value as described in the basic algorithm. 4. Find a region of intersection of all the circles. Since 'k' is a little larger than the seed value, the common region is found in the very fist step. The value by which 'k' exceeds the seed value as described in the previous section depends upon the density of the nodes in the graph.
5. Meeting points lying in the region are determined. For each of them the actual path distance from the individual requesting points is found from the resultant output matrix of the Floyd Warshall algorithm. Among these meeting points the optimal point is chosen as the one for which the maximum time taken by any of the requesting individual to reach there is the minimum. In Fig. 2, a group of four people respectively located at FIG2 JLlOO, FIG2JL200, FIG2_L300,
Fig2JL400, traveling with velocities of 20Kmph,20Kmph,40 Kmph,60 Rmph want to meet, exemplarily in the shortest time. The system provides the user with the optimum Meeting place, which is at Fig2_M500. Fig2_M500 may or may not be located on a road network connecting the locations Fig2_L100 through Fig2_L400. Given the relative velocities, Fig2_M500 would be nearer Fig2 JLlOO and Fig2JL200 compared to Fig2J^300 and Fig2_L400, for the earliest possible meeting time.
The meeting place problem can be generalized into deciding multiple meeting places. A person or other entity wants to meet different possibly overlapping groups of people in a particular pre- specified order. This is illustrated in Figure 3.
Fig. 3 depicts a Multiple Meeting place scenario wherein a person at Fig3_ L103 wants to meet people at Fig3_L101, Fig3_L102, Fig3_L104 (group 1) followed by Fig3_L201, Fig3JL202, Fig3_L203 (group 2) followed by Fig3_L301, Fig3_L302, Fig3 JL303 (group 3). These meeting may involve sales/purchases, discussions, etc. The optimal meeting places are determined to be Fig3JM105, Fig3JVI204 and Fig3_M304 respectively. Note that all members of group 1 meet at Fig3JVI105, all those of group 2 meet at Fig3JM204, and all those of group 3 meet at Fig3JM304. The locations of these meeting places can be chosen so as to minimize the total time for all participants, the total time for one or more of them, a fair criterion having the time taken for most being equal, etc.
The split search algorithm executes a type of search in which answers to many partial searches are aggregated with the objective of providing a near-optimal solution based on the search criteria specified by the user. Hash-joins are used to perfbrm-split search. The data space is divided in to grids and is statically maintained. The priority of all the objects of interests depends on the density of its presence. These priorities are also statically maintained. The search for the object of interest begins from the user location and incrementally covers the entire area, stopping when a solution is found. Here the search can be satisfied by finding:
a) A theater and a restaurant, which need not be co-located. b) A mall having a theater and a restaurant etc. The algorithm determines whether (a) or (b) is best, based on criteria like the total distance, travel cost etc. In general, if there are N criteria in a split search query, up to 2N subsets of these criteria have been explored to determine the optimal split search. Split search optimally determines the split of the criteria, the entities that are associated with these subsets and the location of these entities.
Fig. 4 illustrates split search. A user specifies a search query such as "I need the nearest combination" of a Restaurant and a Theatre". The system finds the entities satisfying the search criteria namely Theatre Fig4_T104 and Restaurant Fig4_R103 and returns the geographical location co-ordinates to the user. The system also has intelligence built into it to ignore the other solutions namely Theatre Fig4_T106 and Restaurant Fig4_R105, which will result in a higher cost solution when compared to Fig4_T104 and Fig4_R103.
An example, involving meeting a group of people, drawing money from an ATM, going to a hotel from there going to a theatre and then meeting another group of people is shown in Figure
5. This describes a situation where the meeting place algorithm is used in conjunction with the split search algorithm with a more complex set of constraints than the example depicted in Fig.4.
Fig. 5 indicates a scenario wherein a person at Fig5_L100 wants to meet a group of people at Fig5_L200, Fig5_L300, Fig5_L400 and go to the nearest Hotel for lunch, and on his way draw money from the ATM. The system provides the user with the Meeting place Fig5_M500 and the nearest combination of ATM, Hotel and Theatre, from there on he wants to meet another group of people at Fig5_L50 Fig5_L60 and Fig5_L70, wherein the system provides the meeting place as Fig5_M600. So the path he has to take is Fig5_M500, Fig5_A30, Fig5_R40, Fig5_T30 and Fig5_M600 in order to fulfill his schedule. Note that the user may or may not specify that the events occur in this particular order - the system determines the optimal grouping of events/meetings, locates and schedules them. If an order or partial order is specified, then the combination respects that order/partial order.
The agents are assumed to possess such devices as mobile phones, personal data assistants (PDAS) and laptops with appropriate user interfaces to register queries and receive outputs from the search service. Real time search handles service requests and location detection of services within a mobile marketplace in the realm of electronic commerce. The data upon which the search is executed has a temporally varying nature with rapid updates being the hallmark. The system executing the real time search has to be responsive and cannot take time in the order of several hours to generate an output.
ARCHITECTURE
An architecture that may be used for a real time search broker is outlined below, and depicted in Fig_6. In Figure 6, a centralized database, Fig_6_D100 at a mobile service- provider, stores location, stock inventory, and other attribute information of agents Fig_6_A600. This information is updated on a real-time basis. Queries from agents Fig_6_A600 are sent to the broker via interface Fig^δJSOO. Database Fig_6JD100 is queried for sites fulfilling user criteria (e.g. required service) by query engine Fig_6_Q200. The answers are filtered by location in filter Fig^δJ^OO An optimization algorithm Fig_6_O400 using simulated annealing is used to find the optimal answers to each of the agent's queries, and the answers sent back to agents via interface Fig_6_I500.
This architecture has been used to implement a variety of embodiments including finding goods to buy/sell, locate nearest buses, etc. The geographic setting is the city of Bangalore in India.
EXAMPLE
A prototype was developed using Java operating on a space represented as a grid of dimension 10 * 10 with 60 units each having 25 nodes with nearly 30 undirected edges. 60 sellers at random locations were implemented as an independent threads, each seller having 0 to 5 items whose number was updated randomly to specify the residual inventory available. 5 bus routes having three buses on each route were implemented as separate threads. Further three abstract modules, the scheduler, the router and the search splitter were also implemented. Table 1 outlines the inputs and outputs associated with each of these abstract modules.
Figure imgf000010_0001
Figure imgf000011_0001
Table 2 provides the details associated with each module.
Figure imgf000012_0001
Once this maximum bound is set, all the list of sellers offering one or more of the required items is found. Once this is done, all the possible combinations of sellers satisfying the requirements are compiled, i.e. the lists of complete sets are formed. The intermediary distances between these shops are calculated from their respective co-ordinates, i.e. A TSP is then done which gives the optimal solution. (In case of the sellers moving the TSP transforms itself into a dynamic problem.) The list of complete sellers with the optimal distance from the user is then presented.
Table 2 - Module Details

Claims

1. A method to implement distributeD real-time search within data conveying locations having either of geographical, commercial or temporal significance involving at least one server which executes the search, one ore more of a set of entities, said entities being a combination of users (also referred to as buyers) or vendors (also referred to as sellers), generally referred to as agents, which are part of a network, enabling a real-time marketplace in an electronic commerce domain, comprising the steps of: a. Data Aggregation: wherein data is collected and aggregated in a real-time data store from various sources; b. Input Logging: wherein queries are accepted from the agents; c. Query Construction: wherein complex queries are constructed piecewise to obtain a near-optimal solution; d. Searching: wherein two search methods, the meeting-place method and the search-splitter method are employed to generate a response to the agent's query; and e. Generating a result which is output to the agent: wherein the computed output is transmitted to the agent.
2. A method of claim 1 wherein there are more than one servers which implement the distributed, real-time search, also referred to as base-stations.,
3. A method of claim 1 wherein the agents could contribute to the data-set over which the search is executed in the form of personal schedules, text-book lists and shopping lists.
4. A method of claim 3 wherein the data which is associated with agents contains portions which are private to that agent and are not revealed to the other entities participating in the search.
5. A method of claim 1 wherein the network connecting the agents and the server is wire line or wireless.
6. A method of claim 1 wherein the step of data aggregation stores the data in a real-time data store with the capability of rapid and frequent updates on the data.
7. A method of claim 1 wherein the step of data aggregation stores data from any of geospatial data and spatially dependent web-pages with auxiliary information such as location.
8. A method of claim 1 wherein the step of input logging occurs by the agents registering their queries from personal devices such as mobile phones, personal data assistants (PDAs) and laptops.
9. A method of claim 1 wherein the step of query construction is carried out in order to find search results for complex queries involving more than one parameter being searched on.
10. A method of claim 1 wherein the step of query construction being performed on location- dependent queries.
11. A method of claim 1 wherein the step of searching works with either a simple query of a complex query, constructed from several queries, employing two separate methods, the meeting-place method and the search-splitter method.
12. A method of claim 11 wherein the meeting place method comprises the steps of: a. Computing the shortest path between valid meeting points using Floyd "Warshall method where the city is considered as a graph, and its valid meeting points as nodes, and roads between points as edges in the graph with weights attached to edges according to their distances and avg. traffic congestion; b. Accepting requests to find a meeting place with each request containing points of origin from which the meeting place is requested, and the corresponding speeds at which the users can travel; c. Drawing circles with each of these points as the origin, with the radius of these circles proportionate to their corresponding speeds; d. Finding a region of intersection of all the circles; e. Determining meeting points lying in the region along, computing the actual path distance from the individual requesting points from the resultant output matrix of the Floyd Warshall algorithm and choosing the optimal point as the one for which the maximum time taken by any of the requesting individual to reach there is the minimum.
13. A method of claim 11 wherein the search splitter method executes a type of search in which answers to many partial searches are aggregated with the objective of providing a near-optimal solution based on the search criteria specified by the user.
14. A method of claim 13 wherein the search splitter method uses hash-joins to perform split search.
15. A method of claim 13 wherein the search splitter method divides the data space into grids and is statically maintained.
16. A method of claim 13 wherein the search splitter method determines the priority of all the objects of interests depending on the density of its presence.
17. A method of claim 16 wherein the search splitter method maintains priorities statically.
18. A method of claim 13 wherein the search splitter method starts the search for the object of interest from the user location and incrementally covers the entire area, stopping when a solution is found.
19. A method of claim 13 wherein the search splitter method determines the optimal combination of co-located queries, based on several agent-imposed criteria.
20. A method of claim 13 wherein the search splitter method having N criteria splits the search query with upto 2N subsets of these criteria requiring exploration to determine the optimal split search.
21. A method of claim 13 wherein the search splitter method optimally determines the split of the criteria, the entities which are associated with these subsets and the location of these entities.
22. A method of claim 1 wherein the result of the query is transmitted to the agent's personal mobile phone, personal data assistant or laptop.
23. A method of claim 1 wherein the result of the query includes producing route guidance, in the case of a query for finding a meeting place, accomplished by signaling amongst phones in the cellular band or other special purpose bands.
24. A system to implement distributes real-time search within data conveying locations having either of geographical, commercial or temporal significance involving at least one server which executes the search, one ore more of a set of entities, said entities being a combination of users (also referred to as buyers) or vendors (also referred to as sellers), generally referred to as agents, which are part of a network, enabling a real-time marketplace in an electronic commerce domain, comprising: a. Data Aggregation means able to collect and aggregate data in a real-time data store from various sources; b. Input Logging means able to accept queries from the agents; c. Query Construction means: able to construct complex queries piecewise to obtain a near-optimal solution; d. Searching means: able to perform two search methods, the meeting-place method and the search-splitter method to generate a response to the agent's query; and e. Result generation means: able to transmit the result of the search to the agent.
25. A system of claim 24 wherein there are more than one servers which implement the distributed, real-time search, also referred to as base-stations.
26. A system of claim 24 wherein the agents contribute to the data-set over which the search is executed in the form of personal schedules, text-book lists and shopping lists.
27. A system of claim 3 wherein the data which is associated with agents contains portions which are private to that agent and are not revealed to the other entities participating in the search.
28. A system of claim 24 wherein the network connecting the agents and the server wire line or wireless.
29. A system of claim 24 wherein the data aggregation means stores the data in a real-time data store with the capability of rapid and frequent updates on the data.
30. A system of claim 24 wherein the data aggregation means stores data from any of geospatial data and spatially dependent web-pages with auxiliary information such as location.
31. A system of claim 24 wherein the input logging means registers queries from the agents from their personal devices such as mobile phones, personal data assistants (PDAs) and laptops.
32. A system of claim 24 wherein the query construction means provides the carry out search results for complex queries involving more than one parameter being searched on.
33. A system of claim 24 wherein the query construction means operates on location- dependent queries.
34. A system of claim 24 wherein the searching means works with either a simple query of a complex query, constructed from several queries, employing two separate methods, the meeting-place method and the search-splitter method.
35. A system of claim 34 wherein the meeting place method comprises the steps of: f. Computing the shortest path between valid meeting points using Floyd Warshall method where the city is considered as a graph, and its valid meeting points as nodes, and roads between points as edges in the graph with weights attached to edges according to their distances and avg. traffic congestion; g. Accepting requests to find a meeting place with each request containing points of origin from which the meeting place is requested, and the corresponding speeds at which the users can travel; h. Drawing circles with each of these points as the origin, with the radius of these circles proportionate to their corresponding speeds; i. Finding a region of intersection of all the circles; j. Determining meeting points lying in the region along, computing the actual path distance from the individual requesting points from the resultant output matrix of the Floyd Warshall algorithm and choosing the optimal point as the one for which the maximum time taken by any of the requesting individual to reach there is the minimum.
36. A system of claim 34 wherein the search splitter method executes a type of search in which answers to many partial searches are aggregated with the objective of providing a near-optimal solution based on the search criteria specified by the user.
37. A system of claim 13 wherein the search splitter method uses hash-j oins to perform split search.
38. A system of claim 13 wherein the search splitter method divides the data space into grids and is statically maintained.
39. A system of claim 13 wherein the search splitter method determines the priority of all the objects of interests depending on the density of its presence.
40. A system of claim 16 wherein the search splitter method maintains priorities statically.
41. A system of claim 36 wherein the search splitter method starts the search for the object of interest from the user location and incrementally covers the entire area, stopping when a solution is found.
42. A system of claim 36 wherein the search splitter method determines the optimal combination of co-located queries, based on several agent-imposed criteria.
43. A system of claim 36 wherein the search splitter method having N criteria splits the search query with upto 2N subsets of these criteria requiring exploration to determine the optimal split search.
44. A system of claim 36 wherein the search splitter method optimally determines the split of the criteria, the entities which are associated with these subsets and the location of these entities.
45. A system of claim 24 wherein the result of the query is transmitted to the agent's personal mobile phone, personal data assistant or laptop.
46. A system of claim 24 wherein the result of the query includes producing route guidance, in the case of a query for finding a meeting place, accomplished by signaling amongst phones in the cellular band or other special purpose bands.
47. A computer program product containing software code means loadable into the internal memory of a computer in a computerized system, characterized in that said computer program product has means to make said computer carry out the steps of a method according to claim 1.
48. A computer program product according to claim 47, characterized in that said computer program product has means to make said computer carry out the steps of a method according to any of the claims 2-23.
49. A computer program product according to claim 47, characterized in that said computer program product has a centralized database, at a mobile service provider, stores location, stock inventory, and other attribute information of agents, this information being updated on a real-time basis with queries from agents being sent to a broker via a interface where the database is queried for sites fulfilling user criteria (e.g. required service) by a query engine with the answers being filtered by location hi a filter, with an optimization algorithm using simulated annealing being used to find the optimal answers to each of the agent's queries, and the answers sent back to agents via interface.
PCT/IN2006/000238 2005-07-07 2006-06-07 A method and system for a real-time distributed search WO2007007350A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN902CH2005 2005-07-07
IN902/CHE/2005 2005-07-07

Publications (2)

Publication Number Publication Date
WO2007007350A2 true WO2007007350A2 (en) 2007-01-18
WO2007007350A8 WO2007007350A8 (en) 2007-10-11

Family

ID=37132139

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IN2006/000238 WO2007007350A2 (en) 2005-07-07 2006-06-07 A method and system for a real-time distributed search

Country Status (1)

Country Link
WO (1) WO2007007350A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10228257B2 (en) 2016-11-29 2019-03-12 Microsoft Technology Licensing, Llc Tool for assisting user in finding a fair meeting location
US12041593B2 (en) 2008-03-19 2024-07-16 Nec Corporation Wireless communication system, wireless communication setting method, base station, mobile station, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12041593B2 (en) 2008-03-19 2024-07-16 Nec Corporation Wireless communication system, wireless communication setting method, base station, mobile station, and program
US10228257B2 (en) 2016-11-29 2019-03-12 Microsoft Technology Licensing, Llc Tool for assisting user in finding a fair meeting location

Also Published As

Publication number Publication date
WO2007007350A8 (en) 2007-10-11

Similar Documents

Publication Publication Date Title
JP6636106B2 (en) Systems and Methods for Mobile Advertising in Marketing
US20200286125A1 (en) Determining locations of interest based on user visits
US8103445B2 (en) Dynamic map rendering as a function of a user parameter
US8843309B2 (en) Virtual earth mapping
EP1872294B1 (en) Virtual earth
US7466244B2 (en) Virtual earth rooftop overlay and bounding
US9143541B1 (en) Systems, computer-implemented methods, and computer-readable media to target internet-based services on a geographic location
JP5486680B2 (en) Portal service based on dialogue with points of interest detected via directional device information
US20090292464A1 (en) System and method for providing geographic markers on electronic objects and real-world objects
WO2008086290A1 (en) Dynamic rendering of map information
KR20110124782A (en) System and method for delivering sponsored landmark and location labels
US9234763B1 (en) Systems and methods for identifying and selecting personalized waypoints for presentation on a map
US20150330800A1 (en) Systems and Methods for Personalized Multi-Destination Trip Planning
US9406091B1 (en) Persona based recommendations
US9817907B1 (en) Using place of accommodation as a signal for ranking reviews and point of interest search results
US10972900B2 (en) Method and apparatus for providing selected access to user mobility data based on a quality of service
WO2016153426A1 (en) Method and apparatus for creating map data for calculating commute time using public transit information
Boulmakoul et al. A system architecture for heterogeneous moving-object trajectory metamodel using generic sensors: Tracking airport security case study
Gao et al. Smartphone-based parking guidance algorithm and implementation
Huang A schedule-based pathfinding algorithm for transit networks using pattern first search
WO2007007350A2 (en) A method and system for a real-time distributed search
US20130086229A1 (en) Method for data interchange in a computer network (variants)
Hosen et al. Quality analysis of pathao ride-sharing service in bangladesh
US10402864B2 (en) Data processor, content distribution system, and communication apparatus
Elalami et al. Location-Based Services Using Web-Gis By An Android Platform To Improve Students’ Navigation During Covid-19

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase in:

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06780525

Country of ref document: EP

Kind code of ref document: A1