# Patent

## Title
System and method for realtime community information exchange

## Abstract

System and method for traffic mapping service are disclosed for allowing plurality of users having each a navigation device to transmit their locations to a server and optionally to signal to the server their requested destination. The system and method are further capable of calculating traffic parameters such as current traffic speed at a given road based on the momentary locations of the users. The system and method of the invention may also calculate and advise the users of preferred roads to take in order to arrive at the requested location with minimum delay.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation, of U.S. patent application Ser. No. 12/122,810, filed May 19, 2008, which the disclosure of which is incorporated herein by reference.


BACKGROUND OF THE INVENTION
There are known services for traffic reporting, for example, radio traffic reporting and websites which provide such services.
Additionally, there are services which calculate estimated preferred routes, for example, based on pre-calculated stored data, such as, for example, data on traffic lights, average velocities, roads conditions and other suitable data. The calculation of the estimated preferred route by these services usually does not take into account the actual current traffic conditions.



BRIEF DESCRIPTION OF THE DRAWINGS
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
FIG. 1 is a schematic illustration of roads system and members of service for mapping traffic according to one embodiment of the present invention;
FIG. 2 is a schematic illustration of an exemplary system for providing mapping traffic service according to embodiments of the present invention;
FIG. 3 is a schematic illustration of another exemplary system for providing mapping traffic service according to embodiments of the present invention;
FIG. 4 is a flow chart illustrating a method for providing traffic mapping service according to embodiments of the present invention; and
FIG. 5 is a flow chart illustrating a method for providing traffic mapping service according to embodiments of the present invention.



It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
DETAILED DESCRIPTION OF THE PRESENT INVENTION
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present invention.
Embodiments of the present invention may provide a service which may constantly provide a real time updated traffic reports and may calculate preferred routes based on real time data on the traffic conditions.
Embodiments of the present invention may enable traffic mapping and/or reporting, wherein members of the service may transmit their location and other data to a central server. Other data may comprise one or more of type of mobility (e.g. car, motorcycle, bicycle and the like), destinations/origins (e.g., home address, work address and the like), alerts, traffic information, messages and/or any other suitable data. The central server may map all the members and thus, for example, create a traffic map.
The members of the service may be grouped in groups of members, for example, group of members which advance in a same or similar route and/or with the same or similar location and/or destination. A user of the system and method according to embodiments of the invention may be ascribed to a group, for example, of members advancing in the same or similar route and at least the most of them are ahead of him. The user may receive updates from the system on the members of the group, for example, location and/or speed of members of the group and/or other information based on inputs received from the members of the group. The user may further receive updated relevant traffic information, inferred by the system based on actual information received from other members in the same group.
Reference is now made to FIG. 1, which is a schematic illustration of roads system 100 and members 10a-10l and 10x of a service for mapping traffic according to one embodiment of the present invention. Roads system 100 is an exemplary road system and the present invention is not limited to road system 100, its configuration as may be reflected in FIG. 1 or to any other road system. Each of members 10a-10k may transmit his/her location to a Real Time Server (RTS) 180. For example, each of members 10a-10k may have a navigation device (shown, for example, in FIG. 2) which may be in communication with RTS 180. RTS 180 may receive from the navigation device the location of the member, for example, periodically. For example, member 10a may be located at location 120 at a specific time and may transmit his/her location to RTS 180. RTS 180 may record the location received from, for example, member 10a, along with a time stamp indicating the time at which the location of member 10a was recorded.
Member 10a may also send its destination to RTS 180, for example, destination 110. Alternatively, RTS 180 may estimate a destination 110 of member 10a, taking into account, for example, the general direction, current road, historical tracks of member 10a and/or popular destinations and/or based on other suitable parameters. RTS 180 may automatically define a group of members 10 (confined with square dotted line), for example, which their momentary location may be relevant to on-going calculation of a route for member 10a from location 120 to destination 110. For example, each of the members in members group 10 may advance in one of several possible routes towards destination 110 and may be located between location 120 of member 10a and destination 110, for example, members 10b-10k. Member 10a may be defined as a user member 10a of group 10, which may be grouped according to requirements of member 10a. Additionally, members of group 10 may be selected by RTS 180 according to, for example, the type of mobility of the member, for example, if the member travels by car, motorcycle, bicycle, by foot, or any other type of transportation. The members of group 10 may be selected, for example, to have similar type of transportation/mobility. Additionally, the members of group 10 may be selected, for example, according to their direction, e.g., in case a member of the service is located in a route between location 120 of user member 10a and destination 110, but advances in the opposite direction, e.g., from destination 110 to location 120, this member may not be included in group 10. Additionally or alternatively, the membership in a group may be limited to members in a certain distance from the momentary location of the user member 10a. In some embodiments, user member 10a may instruct RTS 180 according to which parameters the members of group 10 may be selected, for example, the parameters mentioned above and/or other parameters, such as, for example, the kind of road preferred by user member 10a, e.g., a broad road, a narrow road, a main road, a highway, a sideway, or any other kind of road. Additionally or alternatively, member 10a may specify a road, for example, a specific road number, which should be excluded from or included in the route.
Group of members 10 may change with time according to changes in situations of the members, changes in the traffic in which members take part, etc. A member may be added to a group, for example group 10, if his/her respective parameters meet the definitions of the group. A member may be removed from a group, for example group 10, if his/her respective parameters no longer meet the definitions of the group. For example, members may be added to the group 10 if, for example, an additional member enters a route between the location 120 of member 10a and destination 110 and/or if a member, which was disconnected from RTS 180 for some reason, re-connects to RTS 180 at a certain later moment. For example, member 10l may enter a route between location 120 and destination 110 from road 112 and then, for example, it may be added to group 10. Members may be subtracted from the group 10 if, for example, a member is no longer located in a route between the location 120 of member 10a and destination 110, for example, the member departs from the route, or, for example, if a member disconnects from RTS 180 at a certain time. For example, member 10e may deviate to road 114 and then, for example, may not be located in a route between location 120 and destination 110 and thus, for example, may be subtracted from group 10. In other case member 10a may by-pass one of the members of group 10 and thus, for example, the by-passed member will no longer be located in a route to destination 110 between user member 10a and destination 110 and therefore it may be subtracted from group 10.
RTS 180 may receive the locations of the members of group 10, for example, periodically. RTS 180 may create a dynamic traffic map showing the locations of the members of group 10 based on the received locations and the changes in group 10. RTS 180 may also calculate the velocities of the members, for example, based on the changes in the locations between one update to the next one, for example, in case the locations updates are received periodically. Member 10a may receive from RTS 180 the traffic map, which may be displayed, for example, on a pre-loaded map on a display of, for example, the personal navigation device (shown in FIG. 2). The traffic map may dynamically change and show the location and movement of the members of group 10 and/or the changes in group 10. Each of the members of the service may request from RTS 180 that their location will not be shown to other members.
RTS 180 may receive from the members of the service other traffic data in addition to location data, such as, for example, alerts and/or notifications on traffic jams, long periods of red traffic lights, accidents, blocked lanes, or any other information that may be of assistance for a traveler of that route, for example user member 10a. RTS 180 may prepare a graphical representation of traffic data which forms a dynamic traffic map that may be displayed to member 10a with or without geographical map, street map, road map, etc. Based on the dynamic map Member 10a may decide on a preferred route to reach destination 110. Additionally or alternatively, according to some embodiments of the present invention, RTS 180 may calculate based on the continuously updating location data and optionally on the other traffic data received and/or calculated, a preferred route to reach destination 110, for example, according to one or more characteristic priorities and may notify member 10a on this route. Member 10a may request to receive the preferred route from RTS 180. Member 10a may define for RTS 180 the characteristics of the preferred route, for example, the shortest route, the fastest route, route that passes or not passes in certain roads and/or areas, and/or other preferences of member 10a. 
RTS 180 may re-calculate the preferred route, for example, periodically and/or upon request of user member 10a and/or upon change in the circumstances, for example, changes in traffic conditions, the disclosure of a new road accident which was not included in precious considerations, defective traffic lights, or any other change in the conditions that may have an impact on the decisions of member 10a regarding selecting a route to go to, for example, destination 110. RTS 180 may notify user member 10a on the updated preferred route for example, if the update in the preferred route is relevant to member 10a, for example, periodically and/or upon change in the preferred route. RTS 180 may take into account the current location of member 10a in order to decide whether the updated preferred route is relevant to member 10a. 
In the example of FIG. 1, member 10a may reach destination 110 through junction A or through junction B. Junction A may be a junction with traffic light 116. RTS 180 may be notified on traffic light 116 by one or more of the members of group 10, for example, by members 10k and/or 10i. Additionally or alternatively, data on traffic lights and/or traffic signs may be stored in RTS 180 and may be integrated by RTS 180 into the traffic map. RTS 180 may receive notifications and/or alerts on other traffic event. For example, RTS 180 may receive a notification if traffic light 116 is out of order. In other example, RTS 180 may receive a notice on a blocked lane at location 118, for example, near junction B. RTS 180 may integrate the received information into the traffic map and/or calculate based on the received information a preferred route to reach destination 110. For example, the blocked lane extending from location 118 and backwards (with respect to the traffic direction) may cause a traffic jam zone 119. RTS 180 may identify traffic jam zone 119 based, for example, on the average velocity of the members located in jam zone 119 or in areas preceding jam zone 119.
Additionally, RTS 180 may enable exchange of messages between members of the service. A message sent by a member may be transmitted, at the choice of said members and/or of RTS 180, to all the members of the service or to one or more groups of members which may be selected, for example, by the sending member and/or by RTS 180, for example, according to the relevance of the information to the members. Alternatively, a member may specify the members of the service to which the message should be sent, namely to each one or by groups or by any other relevant method of definition. The messages may include, for example, traffic information and/or alerts, such as, for example, police speed traps, accidents, special events along the route, and/or any other kind of messages. The Messages may be displayed on the display of the personal navigation device (shown in FIG. 2) or may be presented to the user on any other display or vocally, or any other means of system-user interface.
Additionally, member, such as for example member 10x, may request from RTS 180 advise or data of a preferred route from a certain starting point to a certain destination, and RTS 180 may calculate a preferred route, for example, based on information received from members of the service in relevant locations as well as based on personal preferences of member 10x. Member 10x may request to receive from RTS 180 a preferred route, for example, from location 120 to destination 110. RTS 180 may calculate the preferred route based on, for example, information received from the members of group 10 as described in detail above.
Each of the members of the service, for example, each of members 10a-10l, may be a user member, for which RTS 180 may create a group of members as described in detail above, for example, according to a beginning point, for example, a current location of the user member or other beginning point defined by the user member, and a required destination point, for example, defined by the user member. Additionally or alternatively, each of the users may define a group of his own according to, for example, parameters mentioned above and/or other suitable parameters.
Additionally, a member of the service may choose specific members to construct a group, from which he may receive information regarding their location and/or other traffic information and/or other messages, for example, a group of family members and/or friends and/or a work team or any other chosen group of members.
Reference is now made to FIG. 2, which is a schematic illustration of an exemplary system 200 for providing mapping traffic service according to embodiments of the present invention. System 200 may include a plurality of personal navigation devices 210, each of the navigation devices may belong to a member of the mapping traffic service. Personal navigation devices 210 may include, for example, GPS navigation device, mobile phones, Personal Digital Assistants (PDA), Personal Navigation Devices (PND), car PC, mobile computers, or any other suitable device able to include, receive and manipulate and/or operate navigation software. The plurality of personal navigation devices 210 with connectivity capability may be in communication with real time server (RTS) 220, for example, by a cellular network or wireless network or any other mobile communication means. The connection between navigation devices 210 and RTS 220 may be made by any known connection protocol, for example, Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), Wireless Application Protocol (WAP) or any other suitable protocol. Members of the service may send to RTS 220, for example, by personal navigation devices 210, their momentary location and/or speed details for example, periodically for example, as described in detail above with reference to FIG. 1. Additionally, the members may send to RTS 220, for example, by personal navigation devices 210, information on different events, for example, traffic information and/or alerts and/or messages to other members, for example, as described in detail above.
In some embodiments of the present invention, personal navigation device 210 may avoid sending redundant information to RTS 220. Personal navigation device 210 may receive and store parameters such as an average speed in a road, known traffic signs, traffic lights and/or other information. Personal navigation device 210 may avoid from sending information that is already known and/or data which may not add to the known information. This may allow an efficient information communication.
Personal navigation device 210 may automatically send momentary location and/or speed data of the member to RTS 220, for example, periodically, for example by a software included in navigation device 210. The software may be provided and/or installed on navigation device 210, for example, upon registration of the user of navigation device 210 as a member of the traffic mapping service. Other information that may be sent to RTS 220 by navigation device 210 may be entered by the member manually, for example, by keyboard 216 which may be included in navigation device 210 or by calling a service center or by any other suitable kind of communication.
Members of the traffic mapping service may receive, for example, displayable notices on a display 212 and/or vocal notices by a speaker 214, each may be included on navigation device 210. A map may be displayed on display 212, on which locations of members may be displayed. The map may be downloaded and/or installed on navigation device 210. Alternatively, navigation device 210 may receive map data from a tile map server 240, for example, by streaming the map data through a network or in any other suitable manner. Each of the members may request that his location will not be displayed on the map on display 212 of other users. Other traffic information may be received from RTS 220 and displayed on the map, for example, traffic lights location and status, accidents, blocked lanes and other information which may, for example, be received from users of the service and/or may be calculated by the service based on information received from users of the service. As described in detail above, a member may request and receive from RTS 220 a preferred route to reach a desired destination. The preferred route may be displayed on display 212, with or without additional map-associated data such as geographical map, road map, streets map and the like. A member, additionally or alternatively, may receive from RTS 220 vocal navigation instructions by speaker 214. The preferred route may be updated by RTS 220, as described in detail above with reference to FIG. 1, and the updated route may be displayed on the map display 212. An updated traffic map and/or updated route may be calculated periodically and/or upon request of the member or upon a significant change in the road and/or traffic conditions.
Additionally, a member may receive from RTS 220 alerts, information and messages from other members, which may be displayed on display 212 and/or may be notified vocally by speaker 214.
A member of the service may define for RTS 220 the kinds of information and/or alerts he wishes to receive, and then, for example, RTS 220 may transmit to the navigation device of the member information according to the member's preferences.
RTS 220 may calculate for each user member the group of members which may provide information relevant to the user member, for example, according to parameters as described in detail above. The group may dynamically change and may be calculated, for example, periodically and/or upon change in the situation of the group members and/or upon change in the preferences of the user member.
A preferred route may be calculated by a routing server 230. Routing server 230 may receive from RTS 220 traffic information and updates in real time, which may be received by RTS 220 from the members of the service. Additionally, routing server 230 may optionally receive from RTS 220 definitions of preferred routes of user members. Based on the received information and the optional definitions of a preferred route, routing server 230 may calculate and/or send to RTS 220 the preferred route for each user member. Routing server 230 may re-calculate and/or send to RTS 220 updates of the preferred routes, for example, periodically or upon receiving a traffic information update or upon request from RTS 220. It shall be noted that according to embodiments of that two or more of tile map server 240, RTS 220 and routing server 230 may be embodied as units within one device. Additionally, each one of tile map server 240, RTS 220 and routing server 230 may be implemented in hardware, in software or in a combination of them.
Reference is now made to FIG. 3, which is a schematic illustration of another exemplary system 200A for providing mapping traffic service according to embodiments of the present invention. System 200A may include a plurality of personal navigation devices 210, real time server (RTS) 220, routing server 230 and tile map server 240, which may by similar to the same elements included in system 200 and/or function as described with reference to FIG. 2. Additionally, System 200A may include a website 250. Website 250 may be in communication with at least one of personal navigation devices 210 and/or with RTS 220. Information may be uploaded to website 250, for example, by members of the service, for example, through personal navigation devices 210 and/or manually. At least a portion of the uploaded information may be communicated to each of personal navigation device 210 which may be in communication with website 250. The information uploaded to website 250 may be, for example, location information, velocity information, traffic information and/or other information and/or messages and/or alerts uploaded by a user. Website 250 may indicate traffic information and/or other information, messages and/or alerts communicated to website 250 by, for example, RTS 220 and/or a member of the service.
Reference is now made to FIG. 4, which is a flow chart illustrating a method for providing traffic mapping service according to embodiments of the present invention. As shown in block 310, the method may include, for example, receiving information on location and respective time of each of plurality of members. As shown in block 320 the method may include, for example, providing a traffic map based on said locations and said respective times, for example, as described in detail above with reference to FIGS. 1 and 2.
Reference is now made to FIG. 5, which is a flow chart illustrating a method for providing traffic mapping service according to embodiments of the present invention. As shown in block 410, the method may include, for example, receiving a required destination from a member of the service. As shown in block 420 the method may include, for example, creating a group of members including members of the service which share same group definitions, for example, advance in the direction of said destination, for example, as described in detail above with reference to FIGS. 1 and 2. As shown in block 430, the method may include, for example, providing the preferred route to reach the required destination according to location data and/or traffic information received from said group members and/or inferred based on information received from said group members, as described in detail above with reference to FIGS. 1 and 2.
While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

## Claims

1. A system comprising:
a server configured to:
receive location information from a set of navigation devices each navigation device of the set of navigation devices being associated with a member of a navigation service;
identify a first navigation device associated with a first member of the navigation service;
identify a current location of the first navigation device;
identify a destination for the first member;
identify a set of possible routes between the current location and the destination;
select a subset of navigation devices from the set of navigation devices based on whether the navigation devices of the set of navigation devices are on one of the possible routes between the current location and the destination; and
send the location information received from the subset of navigation devices to the first navigation device.

2. The system of claim 1, wherein the server is further configured to:
identify an updated current location of the first navigation device; and
filter the subset of navigation devices based on whether the navigation devices of the group of navigation devices are continuing to follow at least one possible routes between the updated current location and the destination.

3. The system of claim 1, wherein the server is further configured to:
identify an updated current location of the first navigation device; and
add one or more additional navigation devices to the subset of navigation devices based on whether the additional navigation devices are continuing to follow at least one possible route between the updated current location and the destination.

4. The system of claim 1, wherein the server is further configured to select the subset of navigation devices further based on whether the navigation devices of the set of navigation devices are within a certain distance of the current location.

5. The system of claim 1, wherein the server is further configured to select the subset of navigation devices further based on whether the navigation devices of the set of navigation devices are advancing towards the current location and not the destination.

6. The system of claim 1, wherein the server is further configured to select the subset of navigation devices further based on input received from the first member identifying one or more roads to be excluded from a route followed by the first navigation device to the destination.

7. The system of claim 1, wherein the server is further configured to select the subset of navigation devices further based on input received from the first member identifying one or more roads to be included from a route followed by the first navigation device to the destination.

8. The system of claim 1, wherein the server is further configured to send a traffic map for display at the first navigation device and information identify the location and movement of the navigation devices of the subset of navigation devices.

9. The system of claim 1, wherein the server is further configured to:
receive traffic data from one of the navigation devices of the subset of navigation devices; and
determine a preferred route for the first navigation device to the destination based on the received traffic data.

10. The system of claim 1, wherein the server is further configured to identify the destination by estimating the destination based on at least a direction of movement of the first navigation device, a current road corresponding to the current location, and historical tracks of the first member.

11. A method comprising:
receiving, by a server, location information from a set of navigation devices each navigation device of the set of navigation devices being associated with a member of a navigation service;
identifying, by the server, a first navigation device associated with a first member of the navigation service;
identifying, by the server, a current location of the first navigation device;
identifying, by the server, a destination for the first member;
identifying, by the server, a set of possible routes between the current location and the destination;
selecting, by the server, a subset of navigation devices from the set of navigation devices based on whether the navigation devices of the set of navigation devices are on one of the possible routes between the current location and the destination; and
sending the location information received from the subset of navigation devices to the first navigation device.

12. The method of claim 11, further comprising:
identifying an updated current location of the first navigation device; and
filtering the subset of navigation devices based on whether the navigation devices of the group of navigation devices are continuing to follow at least one possible routes between the updated current location and the destination.

13. The method of claim 11, further comprising:
identifying an updated current location of the first navigation device; and
adding one or more additional navigation devices to the subset of navigation devices based on whether the additional navigation devices are continuing to follow at least one possible route between the updated current location and the destination.

14. The method of claim 11, wherein selecting the subset of navigation devices is further based on whether the navigation devices of the set of navigation devices are within a certain distance of the current location.

15. The method of claim 11, wherein selecting the subset of navigation devices is further based on whether the navigation devices of the set of navigation devices are advancing towards the current location and not the destination.

16. The method of claim 11, wherein selecting the subset of navigation devices is further based on input received from the first member identifying one or more roads to be excluded from a route followed by the first navigation device to the destination.

17. The method of claim 11, wherein selecting the subset of navigation devices is further based on input received from the first member identifying one or more roads to be included from a route followed by the first navigation device to the destination.

18. The method of claim 11, further comprising sending a traffic map for display at the first navigation device and information identify the location and movement of the navigation devices of the subset of navigation devices.

19. The method of claim 11, further comprising:
receiving traffic data from one of the navigation devices of the subset of navigation devices; and
determining a preferred route for the first navigation device to the destination based on the received traffic data.

20. The method of claim 11, wherein identifying the destination includes estimating the destination based on at least a direction of movement of the first navigation device, a current road corresponding to the current location, and historical tracks of the first member.