A METHOD AND A SYSTEM FOR TRANSMITTING DATA BETWEEN UNITS

Abstract: The present invention relates to a method and a system for transmitting data between communication units. In particular, the present invention relates to a method and a system for use in wireless communication networks. Even more particular, the present invention relates to a method and a system for automatic notification of a user "A" of the entry of pre-selected user "B" into a pre-determined area (or proximity to a particular location). The notification may further depend on a successful match of user specified parameters. The location of users "A" and "B" is determined by reference to the position of their personal wireless communication unit, such as a mobile telephone or a pager.

Description: A METHOD AND A SYSTEM FOR TRANSMITTING DATA BETWEEN UNITS FIELD OF THE INVENTION The present invention relates to a method and a system for transmitting data between communication units. In particular, the present invention relates to a method and a system for use in wireless communication networks. Even more particular, the present invention relates to a method and a system for automatic notification of a user "A" of the entry of pre-selected user "B" into a pre-determined area (or proxim- ity to a particular location). The notification may further depend on a successful match of user specified parameters. The location of users "A" and "B"" is determined by reference to the position of their personal wireless communication unit, such as a mobile telephone or a pager. BACKGROUND OF THE INVENTION Numerous systems for location determination in mobile networks exists, e.g. WO98/00821 , W094/1 2892, W093/2491 1 , WO92/05672, EP 0766491 , EP 0546758, EP 0335558, US 5,600,706, US 5,508,708, US 5,293,645, GB 231 0098, GB 2304500. The simplest form of location determination is based on the fact that all cellular networks are built of a number of "cells", each covering an area ranging from a few hundred meters to several miles. Users of the system are constantly located by the systems universal tracking function. This means the individual users are tracked by cell. Although this method is not very accurate and precision varies with cell size, it may be sufficient for some embodiments of the system described in this document. More precise systems use technologies such as time difference of arrival, (TDOA), power/signal attenuation, angle of arrival (AOA), Radio Signal Mapping, GPS (Global Positioning System) or a combination to establish the position of the user. These systems can be purchased from third-party providers and installed in existing cellular networks. The only requirement for use in this system is that they can provide a streaming real-time or near real-time feed of user location data to a database. Systems which automatically alert a central location of the exit of a wireless communication unit from a pre-determined area are well-known, e.g. US Patent 5,327, 144. These are typically used for vehicle theft alarms, bail absconding units and the like. Systems which automatically notify arrival at a particular location are also well- known, e.g. international patent application WO 94/27264, a system for notifying a recipient of an unscheduled delivery of an item. GB Patent 2814736 describes a system which, on request of a user, presents a list of active handsets allowing the user to see which other users are available for communications, but this only refers to whether the users handset is active or not, and does not include location information. US Patent US 5, 144,301 describes a system for alerting school children that a school bus is moving towards a nearby bus stop, thus prompting the children to leave their residences to reach the bus stop at or before the bus arrives at the stop. An Internet equivalent of the first embodiment of this system exists in the form of so-called "Buddy List" programs, of which the most well-known is "ICQ" (http:/www. icq.com). These systems provide a user with the ability to be notified when friends are on-line, allowing the user to contact them using a variety of methods such as real-time chat, instant messages or e-mail. It is a disadvantage of the above-mentioned systems, that none of these systems provide automatic notification of a user "A" of the entry of pre-selected user "B" into a pre-determined area (or proximity to a particular location). It is a further disadvantage of the above-mentioned systems, that none of these sys- terns provide automatic notification of a user "A" of the proximity of another user with a matching Personal Profile. SUMMARY OF THE INVENTION It is an object of the present invention to solve the above-mentioned problem by providing a method and a system wherein e.g. a user "A" is automatically notified of the entry of pre-selected user "B" into a pre-determined area (or proximity to a particular location). Furthermore, it is an object of the present invention to provide a method and a system wherein e.g. a user "A" is automatically notified of the proximity of another user "B" when a match is found between the Personal profiles of users "A" and "B". Thus, it is an object of the present invention to provide a method and system for e.g. two-way (wireless) communication devices (e.g. telephones or pagers) comprising the ability to alert user "A's" communication device when a user "B" enters a predefined area (or proximity to a particular location), according to user "A's" personally defined selection criteria. It is a further object of the present invention to provide a method and system for e.g. two-way (wireless) communication devices (e.g. telephones or pagers) comprising the ability to alert user "A's" communication device when a user "B" enters a the proximity of user "A" and a match is found between the Personal Profiles of users "A" and "B". It is an advantage of the present invention that user "A" can be alerted when user "B" arrives or leaves the defined location(s) or area(s). The particular effect of this information is to enable user "A" to know in advance the proximity or approximate whereabouts of user "B" before possibly acting upon this information by contacting user "B" - or allowing "B" to contact "A": It is a further advantage of the present invention that user "A" can be automatically alerted of the proximity of another user with a matching Personal Profile. The particular effect of this information is to enable user "A" to know about the presence of another person with one or more matching interests, allowing user "A" to act upon this information by contacting the other user - or vice versa. The above-mentioned object is complied with by providing, in a first aspect, a method for transmitting data to a unit in a set of communication units, the data relating to distance between a first and a second unit in the set, the method comprising the steps of: determining a distance between the first and the second unit, generating a message when the distance between the first and the second unit is within a predetermined range, and transmitting the generated message to a unit in the set. The method further comprising the steps of - determining the position of one or more units in the set, storing the determined positions together with corresponding unit identifications in a database, and wherein the step of determining a distance comprises determining the distance from the corresponding stored positions. Generally, a user is associated with each of the units in the set. The associated user may enter additional information, such as rating information, into the database, said rating information being associated with an associated user to a unit in the set. A unit in the set may comprise a wireless telephone, such as a mobile telephone, a pager and/or a portable PC's. A unit may also comprise virtual units, such as e-mail addresses. In addition, a unit in the set may be selected from the group consisting of wristwatches, personal digital assistants, embedded chips or circuits, implanted chips or circuits, navigational units and personal security units The generated message may identify the associated user to a unit in the set. The associated user to a unit in the set may select a subject of interest. The subject of interest may be stored in a database together with the corresponding unit identification. The generated message may comprise information relating to the subject of in- terest selected by the associated user to a unit in the set. The determination of the position of one or more units in the set may comprise the use of several determination methods, such as triangulation methods, GPS, AOA, TDOA, Radio Signal Mapping, power/signal attenuation or a combination. Further, the determination of a position of a unit in the set may comprise monitoring movements of a unit within a network comprising a plurality of cells. The determined position of one or more units in the set may further comprise information about date and time. The generated message may comprise text, e.g. information about the distance between user "A" and user "B", graphics, such as an image or an icon, a map or diagram with a pointer showing the location of the user, a video clip, sound, such as voice, a fragrance, light emission, and/or movements, such as vibration, or any com- bination thereof. In an optional implementation, closer proximity decreases the intervals between alert signals (i.e. light or sound emission), resulting in an escalation of signal frequency as users approach each other. The user interface can be designed in various ways, partly dependant on the available messaging technologies in a given implementation. A simple user interface can be implemented using text-based alerts, instructions and commands. In these cases, complex user interactions with the system - i.e. submitting and changing Buddy Lists - may be to be carried out via other channels, for example through a web-based interface or by calling a customer service representative at a call-center. More advanced and user-friendly implementations of the system may make use of graphic and/or menu-based user interfaces. The predetermined range may be selected by the user associated with a unit. Each predetermined range may have associated communication expenses. The user may select a range of communication expenses, and thereby determines the range. Communication expenses may be dependent on time and/or distance. Each predetermined range may be associated with a geographic area, such as a continent, country, district, city, co-ordinate range or a street. The geographical area may be selected by the user. The predetermined range may be indicated as a direct distance which may be in the range from 0 to 100 km, preferable in the range from 0 to 80 km, more preferable in the range from 0 to 60 km, more preferable in the range from 0 to 40 km, more preferable in the range from 0 to 20 km, more preferable in the range from 0 to 1 5 km, more preferable in the range from 0 to 1 2 km, more preferably in the range from 0 to 9 km, more preferable in the range from 0 to 6 km, more preferably in the range from 0 to 3 km, more preferable in the range from 0 to 1 km, more preferable in the range from 0 to 500 km, more preferable in the range from 0 to 250m. A unit to which the generated message is transmitted may be selected by the user associated with a unit. In a second aspect, the present invention relates to a system for transmitting data to a unit in a set of communication units, the data relating to distance between a first and a second unit in the set, the system comprising: means for determining a distance between the first and the second unit, means for generating a message when the distance between the first and the second unit is within a predetermined range, and means for transmitting the generated message to a unit in the set. The system further comprising: means for determining the position of one or more units in the set, means for storing the determined positions together with corresponding unit identifications in a database, and wherein the determination of a distance comprises determining the distance from the corresponding stored positions. Generally, each unit in the set is associated with a user. The associated user may enter additional information, such as rating information, into the database, said rating information being associated with an associated user to a unit in the set. A unit in the set may comprise a wireless telephone, such as a mobile telephone, a pager and/or a portable PC's. A unit may also comprise virtual units, such as e-mail addresses. In addition, a unit in the set may be selected from the group consisting of wristwatches, personal digital assistants, embedded chips or circuits, implanted chips or circuits, navigational units and personal security units The generated message may identify the associated user to a unit in the set. The associated user to a unit in the set may select a subject of interest. The subject of interest may be stored in a database together with the corresponding unit identification. The generated message may comprise information relating to the subject of interest selected by the associated user to a unit in the set. The determination of the position of one or more units in the set may comprise the use of several determination methods, such as triangulation methods, GPS, AOA, TDOA, Radio Signal Mapping, power/signal attenuation or a combination. Further, the determination of a position of a unit in the set may comprise monitoring movements of a unit within a network comprising a plurality of cells. The determined position of one or more units in the set may further comprise information about date and time. The generated message may comprise text, e.g. information about the distance between user "A" and user "B", graphics, such as an image or an icon, a map or diagram with a pointer showing the location of the user, a video clip, sound, such as voice, a fragrance, light emission, and/or movements, such as vibration, or any com- bination thereof. In an optional implementation, closer proximity decreases the intervals between alert signals (i.e. light or sound emission), resulting in an escalation of signal frequency as users approach each other. The predetermined range may be selected by the user associated with a unit. Each predetermined range may have associated communication expenses. The user may select a range of communication expenses, and thereby determines the prede- termined range. Communication expenses may be dependent on time and/or distance. Each predetermined range may be associated with a geographic area, such as a continent, country, district, city, co-ordinate range or a street. The geographical area may be selected by the user. The predetermined range may be indicated as a direct distance which may be in the range from 0 to 100 km, preferable in the range from 0 to 80 km, more preferable in the range from 0 to 60 km, more preferable in the range from 0 to 40 km, more preferable in the range from 0 to 20 km, more preferable in the range from 0 to 1 5 km, more preferable in the range from 0 to 1 2 km, more preferably in the range from 0 to 9 km, more preferable in the range from 0 to 6 km, more preferably in the range from 0 to 3 km, more preferable in the range from 0 to 1 km, more preferable in the range from 0 to 500 m, more preferable in the range from 0 to 250 m. A unit to which the generated message is transmitted may be selected by the user associated with a unit. BRIEF DESCRIPTION OF THE DRAWING The present invention will now be described in detail with reference to the accompanying figures, wherein Figure 1 shows a preferred embodiment of the invention. Figure 2 describes receipt of user position reports, Figure 3 describes the periodic database scanning, and Figure 4 describes the user profile update process. DETAILED DESCRIPTION OF THE INVENTION In a first embodiment, the present invention relates to a method and a system for transmitting data between communication units. In particular, the present invention relates to a method and a system for distribution of data in wireless communication networks. Even more particular, the present invention relates to a method and a sys- tem for automatic notification of a user "A" of the entry of pre-selected user "B" into a pre-determined area (or proximity to a particular location). The location of user "B" is determined by reference to the position of a personal mobile communication unit, e.g. telephone or pager. Although the following description involves only two users, "A" and "B", an arbitrary number of users may be involved in various configurations, e.g. one-to-one, one-to- many, many-to-many and many-to-one. As an example, the system could be configured to alert user "A" only when five or more buddies are in the proximity. The application is based upon a list of users whose location and/or movements the user wishes to be notified of. This list is henceforth referred to as a "Buddy List". The Buddy List may be altered by the user at will, adding or deleting buddies and set- ting various preferences. This can be done in several ways; e.g. directly from the handset of the users cellular phone, using a web-based interface, or by calling an operator at a call-center. The Buddy List may be displayed on the display of the users handset, giving the user and at-a-glance overview of who is in the proximity. The Buddy List may be displayed as text, images, icons, or video clips. Buddies who are in the proximity may be highlighted or in other way emphasised, e.g. by being displayed at the top of the list. The user may have the possibility to group Buddies into different categories, i.e. "Friends", "Relatives", and sub-categories such as "Bowling Friends", "Friends from work", "Best Friends", etc. - and rank them by proximity or popularity. It may also be possible to transfer a Buddy List from one user to another, and it may be possible to transfer Buddy Lists in various ways, e.g. "All Records", "Selected Re- cords only", "Specific Category" or "Synchronisation". Preferences can be configured on an individual Buddy basis or as overall preferences comprising all Buddies on the personal Buddy List. Configuration options may include an ability to specify to be alerted only when certain criteria relating to distance, loca- tion, time or date are met. It may also be possible to specify an alternative alerting method - e.g. by email, synthesized voice call to a specified number, etc. As an example, user "A" chooses not to be alerted when he is in the geographical area covering his home even though another user - "B" - enters that area. In another example, user "A" will not be alerted in the situation where user "B" repetitively moves in and out of a predetermined range. In yet another example, user "A" can configure the system so that he does not receive any alerts between 10 PM and 8 AM, avoiding nightly interruptions. In yet another example, user "A" configures the system so that he only receives alerts when he is not within a specific geographical area or within a predetermined distance from user "B". Preferences can be configured in several ways; e.g. directly from the handset of the users cellular phone, using a web-based interface, or by calling an operator at a call- center. A distance preference controls the sensitivity of the location alerter. This allows the user to specify that he only wants to be alerted when a buddy comes within a certain range, subject to any personal filters as described in the aforementioned paragraph. For example, user "A" may choose to configure the system so that he only receives alerts when a Buddy comes within the range of 500 meters. All preferences can be configured on a per-buddy basis, on a per-category basis, or as overall preferences comprising all buddies on the Buddy List. Use of the system builds on mutual consent, requiring users who wish to be alerted of the location and/or movements of other users to obtain acceptance by the polled party. For example, John would like to add Jane to his Buddy List. He goes to an "Add Buddy" menu on his handset and types in Jane's cellular phone number. This prompts the system to send out an SMS message asking Jane for her acceptance - "Joe Smith has asked for permission to add you to his Buddy List - do you accept?". This request is displayed on Jane's cellular phone, prompting her for a decision. If Jane consents, her affirmative response goes to the system, which in turn updates Joe's Buddy List. If not, Joe gets a "request declined" response. Preferably, the present invention provides a method and system suitable for two-way wireless communication devices (e.g. telephones or pagers) with the ability to alert user "A's" communication device when a user "B" enters a pre-defined area (or proximity to a particular location), according to user "A's" personally defined alert selection criteria. In this way user "A" can be alerted when user "B" arrives or leaves the defined location(s) or area(s). The particular effect of this information is to enable user "A" to know in advance the proximity or approximate whereabouts of user "B" before possibly acting upon this information by contacting user "B". This is achieved through matching current unit position data (including time tags) with predefined alerting profiles, which may include matching criteria based on unit locations or proximity, time and date, as well as alerting permissions. Determination of a match results in the generation and delivery of a message to the alerted user via his or her specified medium - i.e. an SMS message or a synthesized voice call. Real-time notification allows the user to single out other users by identity and, based upon this information, selectively (choose to) communicate with users in his area (or another designated area). Distance and precision is not crucial to the system, because the exchange of afore- mentioned data works at many levels of precision and delivers the same result except for exact co-ordinates. The present invention is not constrained to any particular communication technology. Any system providing two fundamental elements is a candidate for hosting the invention. These two elements are: 1. Reporting of current unit position, and 2. Delivery of messages to individual users. The invention described in this document adds a third element to provide the position- based alerting service. This processing element is: 3. Matching position reports with predefined user profiles, and based on resulting matches, generating user alert messages. To be useful to the users, each of the three functions (position reporting, profile matching, and message delivery) should be accomplished in near real time, i.e., in seconds or minutes, rather than in hours or days. Communication technologies compatible with implementation of this invention include most mobile wireless systems supporting data transfer, such as second- and third-generation cellular, two-way paging, and satellite systems. The present invention may be used in such a way that either one or both parties are automatically alerted by the system of the other parties' presence in an area. Each party will typically have the option to disable and re-enable their participation in the system at will, allowing the individual user of the system to pass though any area incognito. EXAMPLES: 1 ): Joe likes to visit cafes to meet friends. He wants to know where the action is - as do his friends. So they all configure the location alerter to notify them whenever one of their friends are in the vicinity - this way they can be sure of never missing a chance to meet. They can disable and re-enable their participation in the system at will - even on a per-person basis - whenever they wish to be alone or pass through an area incognito - while retaining the option to be alerted of others' presence. 2): Wife Julie and husband John work irregular hours. Despite this, the first one home always manages to have dinner ready by the time the other returns, thanks to the location alerter. A request to be alerted of the spouse's arrival at a given area on his/her regular route home leaves enough time to for the other to prepare dinner, and saves the need and expense of routine "I'm coming home" calls. In a second embodiment, the present invention relates to a method and a system for transmitting data between communication units. In particular, the present invention relates to a method and a system for distribution of data in wireless communication networks. Even more particular, the present invention relates to a method and a system for automatic notification of a user "A" of the proximity of another user ("B"), when a match is found between the Personal Profiles of user "A" and "B". The location of user "B" is determined by reference to the position of a personal wireless communication unit, e.g. telephone or pager. Similar to the first embodiment the following description involves only two users, "A" and "B", but an arbitrary number of users may be involved in various configurations, e.g. one-to-one, one-to-many, many-to-many and many-to-one. As an example, the system could be configured to alert user "A" when five or more users with a matching Personal Profile are in the proximity. Use of the system builds on mutual consent, requiring users who wish to be alerted of the location and/or movements of other users to obtain acceptance by the polled party. The application is based upon personal interest profiles, henceforth referred to as "Personal Profiles", submitted by users and stored in one or more central locations (databases). Submission of data to the Personal Profile may be mandatory for use of the system. Categories in the Personal Profile may be divided into two logical parts; a passive and an active part. The passive part involves users specifying own interests and bio- graphical information - information that will be available for other users' interest matching and instant requests. If for example a doctor specifies his profession, he is allowing others to seek him out according to that information. If his qualifications or facilities include a pilot's license and his facilities a clinic or an aeroplane, these criteria can similarly be included as searchable data for other users. The user who lists areas of competence consents to being sought on that basis. The active part involves users specifying what they are looking for in other users, as described in detail below. Information that can be stored in the Personal Profile can be broken down into two main categories: - Categorised information. This information is categorised in a pre-determined hierarchical information structure with set categories - categories may be created by users and/or system operators. Users can submit information e.g. through a web-based interface, directly from the handset of their wireless communication unit, or by calling a call-center. As an example, a fan of the Chicago Bulls would select his Interest in the "Chicago Bulls" category, and the path to this category could for example be "Sports - Basketball - NBA league - Chicago Bulls". Interests and search requests can be specified with varying granularity - the user in the above-men- tioned example could choose to specify his interest on the most general level, by selecting "Sports", on a more detailed level, by selecting "Sports - Basketball", on an even more detailed level, by selecting "Sports - Basketball - NBA league". There is no limit to the granularity of the categorisation system. The above-mentioned example could also comprise the individual players of Chi- cago Bulls, so that a user would be able to specify his interest in a specific player, e.g. Michael Jordan. Free-text entries. Free-text entries are typically used when no appropriate category exists to classify an interest. This can also be used by clubs, co - munities or closed circles, where a keyword is selected so that a user - "A" - will be automatically alerted when another user - "B" - triggers the exchange by reason of their common interest and proximity. A possible consequence of free-text searches with no matching interest group is that these searches may over time accumulate and generate new interest groups. Personal profiles can be submitted in several different ways; e.g. directly from the handset of the users cellular phone, using a web-based interface, or by calling an operator at a call-center. It may also be possible for non-users to search the database. Any kind of data can be stored in the Personal Profile - three examples will be described here. Personal Interests. E.g. "Backgammon", "Opera", "Sports Cars". This enables users to establish contact with other people with matching fields of interest. Example hierarchical structure: "Entertainment - Games - Backgammon" Classifieds. The objective is to establish contact between buyers and sellers of goods and services. As an example, a user can specify that he is interested in selling a "red bicycle, mint condition, price level USD 100-200". - Example hierarchical structure: "Classifieds - Transportation - Bikes - New Bikes - Men's bikes" or "Financial Advisors - Pensions - Mutual Funds". Matchmaking. Here users can submit personal information about themselves and their partner preferences - this enables users to be alerted to the proxim- ity of potential partners who match the criteria specified. Example hierarchical structure: "Matchmaking - Women - Latin American - Age 20 - 25" When specifying a Personal Profile, the user can combine selection criteria from one or more categories to form his Personal Profile. As an example, a user may specify that he is interested in being alerted when another user who matches certain criteria from both the "Personal Interest" and "Matchmaking" category is in the proximity - i.e. a Latin American woman, between the ages of 20 and 25, who is interested in "Backgammon" and "Travelling". User interests can be divided into three categories; instant, dynamic and static. Static interests have two characteristics - they have no set expiry date and are users rarely change them. Examples include long-term interests, hobbies and personal values. Dynamic interests are needs and interests of a temporary nature, typically expiring within minutes, hours or days. The expiry time can be set by the user during submission of interest data. Dynamic interests are by nature situational and differ from static interests in their expiry time. Examples of dynamic interests include: People looking to share a taxi to a specific destination People looking for specific social events in the vicinity - e.g. parties, sporting events, competitions, dining, musical events, etc. Whereas dynamic and static interests are based on stored user interest profiles, instant interests are based on a user-activated "pull" functionality. In contrast to dynamic and static interests, there is no expiry time for instant requests. Instant requests are used to satisfy sudden needs. As an example, a car breaks down in the middle of nowhere. Rather than wait for am unspecified time, our stranded driver chooses an instant proximity search for mechanics with pick-up trucks. This instant request is matched with those stored user profiles that include profession - if a match is found, an alert is sent. Search results may be listed by phone numbers and proximity in descending order. In another example, Jack missed the bus and is late for work. He has unsuccessfully tried to get a taxi - instead he keys in a request for a shared ride to his destination. Since the system already knows his approximate location, he only needs to key in his destination. Already posted user data from drivers heading in that direction with a seat to spare match Jack's request in a matter of seconds - the contact information that is sent in the alert message enables the driver to contact Jack immediately to arrange a ride. The present invention may also include a ratings system. The system empowers users to rate other people by personal and professional qualities. Ratings are typically submitted on the basis of first-hand experience - e.g. following a rendezvous facilitated through interest matching. As an example, Jack has just had an encounter with a person he met through Interest Matching. He now wishes to rate the person in one or more categories. He grabs his wireless telephone. The alert that originally led to the encounter is still stored, so now he simply chooses the "Ratings" menu, and keys in his ratings for that individual - giving marks on a scale from 0 - 10 in categories such as "Fun", "Intelligence", "Friendliness" and "Honesty "in the personal ratings. Correspondingly, professional may berated in categories such as "Value for money", "Service level", "Efficiency" and "Competence". Apart from the automatic notifications generated when a match is found between two or more stored Personal Profiles, users may also have the option to do a manual request for nearby users with one or more particular interests. The user may have the ability to configure various preferences. Configuration options may include an ability to specify to be alerted only when certain criteria relating to distance, location, time or date are met. These preferences may be configured on three different levels: - Overall preferences - comprises all records in the Personal Profile Per-category preferences. These preferences comprise all records in a given category (e.g. "Football") Per-record preferences. These preferences apply only to one record in the Personal Profile - e.g. "Michael Jordan" in the "Sports - Basketball - NBA league - Chicago Bulls" category. As an example, a user "A" may choose to be alerted to matches in the "Football" category when user "A" is in a specific city - e.g. "Manchester United" - and the user "B" is within the range of 500 meters. In another example, user "A" may choose to be alerted to matches in the "Classifieds - Transportation - Bikes - New Bikes - Men's bikes" and the month is "January". In a third example, user "A" may choose to be alerted to all matches only when other users comes within the range of 250 meters. The present invention provides a method and system suitable for two-way wireless communication devices (e.g. telephones or pagers) with the ability to alert user "A's" communication device when a user "B" enters the proximity of user "A". When a match is found between the Personal Profiles of user "A" and "B" an alert is transmitted to user "A", user "B", or both, depending on their respective preferences. The particular effect of this information is to enable user "A" to be notified of the presence of others users with matching Personal Profiles. This is achieved through matching current unit position data (including time tags) with predefined alerting profiles, which may include matching criteria based on unit locations or proximity, time and date, user interests, as well as alerting permissions. Determination of a match results in the generation and delivery of a message to the alerted user via his or her specified medium - i.e. an SMS message or a synthesized voice call. The Personal Profile is continuously compared with the Personal Profiles of other nearby users - when a match is found an alert is sent to the user(s); each can then choose to contact the other party, e.g. by sending an SMS text message or by call- ing the other party directly. This real-time notification allows the user to single out other users in his area by shared interest and, based upon this information, selectively (choose to) communicate with these users now or later. Distance and precision are not crucial to the system, because the exchange of aforementioned data works at many levels of precision and delivers the same result except for exact co-ordinates. The present invention is not constrained to any particular communication technology. Any system providing two fundamental elements is a candidate for hosting the invention. These two elements are: 1. Reporting of current unit position, and 2. Delivery of messages to individual users. The invention described in this document adds a third element to provide the position- based alerting service. This processing element is: 3. Matching position reports with predefined user profiles, and based on resulting matches, generating user alert messages. To be useful to the users, each of the three functions (position reporting, profile matching, and message delivery) should be accomplished in near real time, i.e., in seconds or minutes, rather than in hours or days. Communication technologies compatible with implementation of this invention include most mobile wireless systems supporting data transfer, such as second- and third-generation cellular, two-way paging, and satellite systems. The present invention may be used in such a way that either one or both parties are automatically alerted by the system of the other parties' presence in an area. Each party will typically have the option to disable and re-enable participation in the system at will, allowing a user of the system to pass though an area incognito. Examples Dave is a person with a lot of interests, but he finds that it is hard to get in touch with others who share his interests. To solve this problem he keys in his interests in the interest database. He himself chooses how detailed he wants his profile to be. Dave is very interested in football, and he's a fan of the Manchester United football team. So he goes to the "Sports" category, and selects "Football". He then goes further down the hierarchy, through "Football teams - United Kingdom", and selects "Manchester United". He then clicks a "Preferences" and selects e.g. a "No alerts during night time" option - even though he's a great fan of Manchester United, he does not want to be woken up by his wireless phone when a fellow Manchester United fan walks past his house at 3 AM ... The next day, Dave is visiting town to do some shopping. When he's done he sits down to have a beer. Suddenly his wireless phone beeps - "A Manchester United and Football fan is in the proximity - do you wish to contact him?". Dave now has the option to contact the person directly by simply hitting the "Dial" button. Figure 1 illustrates an example of the operation of the invention attached to a terrestrial wireless (e.g., cellular) network. In this example, both User A and User B represent "sub- scribers" to the system. As such, each has previously provided profile information to the system, now stored in the system database. User A's profile includes a desire to be alerted when User B is in his vicinity; User B's profile includes a permission to notify User A of his whereabouts. (For example, A and B may be co-workers who will share a taxi if they arrive at the terminal at the same time.) Each carries a communications device (e.g., data-enabled cellular phone), the position of which is known to the wireless network. Whether the position calculation is network-based or mobile-based, as illustrated here, is irrelevant to the invention. In the example, User "B" has just entered into User "A"'s area of interest. Previous posi- tion reports, provided by the wireless system to the processing node, have been evalu- ated against user profiles, with no matches found. Now, the position report indicates a match of User A's alerting criteria with the current locations of "A" and "B", and User "B"'s permissions. Recognizing that an alerting situation now exists, the processor generates an alert message to User "A", for example via the cellular Short Message Service. At the same time, a message is sent to User "B", informing him that he has been the subject of an alert to another user. In this example, the same wireless network is used to deliver the alert messages as to provide the positions, but this is not necessary to the invention. Upon receipt of the mes- sage by User "A", notifying him of User B's proximity, the system has accomplished its primary function. Also indicated in the figure is an out-of-band access to the database that may be used for user profile updates, collection of logging/billing information, etc. An example of data processing associated with the present invention may be described in terms of processing flows and data stores. The databases are described here, and the processing flow following. It is important to note that the data may be organised differently in practice. Data Description • Profiles data store. This database contains user and unit identification and user preferences. This data determines what notifications will be made available to the user. The database also includes permission information that determines whether other users may be notified of the user's activity. This database is relatively static, but may be dynamically updated to reflect changes user preferences. For example, one simplified user entry might contain the information shown in Table 1 . Table 1. PROFILES Data In this example, user JohnS has two profiles, each associated with a different communication unit and a different time of day. The first will alert him of any user with specified interests in a nearby area; the second will alert him of a specific user reaching a particular map point. In each profile, JohnS has set permissions that allow his position information to be provided to certain other users selected by him. • Position data store. This database contains status information on active units, including their latest reported position. It may also include an indicator to show that the position information has changed, and a list of currently-alerted users. Position data is dynamically updated; an example is shown in Table 2. Table 2. POSITION Data This record shows that user JohnS (using his email device) was last reported at a particular position, and that user JulieS has been previously alerted. (This will prevent multiple alerts from being generated on a single entry to an area.) The re- cord also shows that the position information has changed since the last database scan. (The database scanning process is described below). • Log data store. This database contains historical information on profile and alert- ing activity, and can be accessed by operations support for system management and billing. Process Description The data processing associated with the present invention may be described by three representative processing flows - see the description below. In these flows, the data stores described above are assumed. • Receipt of Unit Position Report. One process flow, illustrated in Figure 3 is triggered by the receipt of a position report message from the wireless system, and - if certain criteria are met - results in an update to the Position data store. Upon receipt of the position report, the Profile database is first checked to see if the unit is associated with a user of the system. If not, the position report is not used. If the report does represent a valid user, the user's record is updated (if already present) or inserted (if not yet present) in the Position data store. The new data record reflects the reported unit position, the time of the report (or measurement), and an indication of changed data. The user position record update time may be made current even if the position has not changed, as some alerting criteria are time-of-day based. • Periodic Database Scanning. A second process, illustrated in Figure 3, may be executed periodically (e.g., once per minute). This process accomplishes the fundamental objective of the system: to recognise position-based alerting situations, and send appropriate messages to the users. An initial scan identifies potential alerting conditions due to new user position reports. Any alerting conditions that have already generated an alert message are ignored. Finally, position-based calculations identify any new alerts to be issued. First, all changed entries (as identified by a change indicator) in the Position database are considered. Each changed position record is associated with a user. For this group of users with recently updated positions, the Profile database is examined for any potential alerting situations. This initial scan takes into account interests, permissions, and alerting times, and in fact any information available in the Profiles database. It does not take into account position calculations. For example User "A" might permit "Any" to be alerted of his whereabouts; User Y might be interested in any nearby basketball fans; either of these could constitute a potential alerting situation. The output of this initial scan is a number of user groups, where each group contains two or more users, at least one of whom has a recent position update, and whose profiles - under certain geometric conditions - may cause an alert to be generated. Any groups representing potential alerting conditions that have already had actual alerts generated may be ignored. This can be determined from the alerted users field in the Position database. Those remaining user groups meeting the criteria of the initial scan are then examined for geometric criteria. In this step, any position-related calculations are performed. Examples include calculating the distance between two units, and determining if a position resides within a predetermined range or area. Any cases that meet the geometric as well as the profile criteria result in a message generated and sent to the appropriate user(s) - to an address and in a form consistent with their profiles. Generation of an alert message will cause an entry to be made in the alerted us- ers field of the position data record. Any alert messages may be logged for historical or billing purposes. Before completing the scan process, all change indicators are cleared so that a position record will not be revisited until it has been updated. A secondary process, not illustrated, will periodically examine the entire Position database and clean up any stale data. User Profile Update. The final process, illustrated in Figure 4, is used to build, update, and query the Profile data store. A user profile request may consist of a new user profile, an update to an existing profile, or a request for existing profile information. It may arrive in batch or interactive form. First, the request is checked for validity, e.g., meeting security criteria. Assuming a valid request, the Profile database is updated or queried, depending on the request type, and a response message is generated to the requesting entity.

Claims: CLAIMS 1 . A method for transmitting data to a unit in a set of communication units, the data relating to a distance between a first and a second unit in the set, the method com- prising the steps of: determining a distance between the first and the second unit, generating a message when the distance between the first and the second unit is within a predetermined range, and transmitting the generated message to a unit in the set. 2. A method according to claim 1 , further comprising the steps of determining the position of one or more units in the set, storing the determined positions together with corresponding unit identifications in a database, and wherein the step of determining a distance comprises determining the distance from the corresponding stored positions. 3. A method according to claim 1 or 2, wherein a user is associated to a unit in the set, and wherein the associated user may enter additional information, such as rating information, into the database, said rating information being associated with an associated user to a unit in the set. 4. A method according to any of claims 1 -3, wherein the generated message identi- fies the associated user to a unit in the set. 5. A method according to any of claims 1 -3, wherein the associated user to a unit in the set selects a subject of interest, said subject of interest being stored in a database together with the corresponding unit identification. 6. A method according to claim 5, wherein the generated message comprises information relating to the subject of interest selected by the associated user to a unit in the set. 5 7. A method according to any of the preceding claims, wherein a unit in the set comprises a telephone, such as a wireless telephone, such as a mobile telephone. 8. A method according to any of claims 1 -6, wherein a unit in the set comprises a pager. 10 9. A method according to any of claims 1 -6, wherein a unit in the set comprises a portable PC. 10. A method according to any of claims 1 -6, wherein a unit in the set is selected 15 from the group consisting of wristwatches, personal digital assistants, embedded chips or circuits, implanted chips or circuits, navigational units and personal security units 1 1 . A method according to any of the preceding claims, wherein the determination of the positions of one or more units in the set comprise use of a triangulation method. 20 1 2. A method according to any of claims 1 -1 0, wherein the determination of the positions of one or more units in the set comprise use of radio signal mapping. 1 3. A method according to any of the claims 1 -10, wherein the determination of the 25 position of one or more units in the set comprise use of GPS. 14. A method according to any of the claims 1 -10, wherein the determination of the position of one or more units in the set comprises use of TDOA. 30 1 5. A method according to any of the claims 1 -1 0, wherein the determination of the position of one or more units in the set comprise use of power/signal attenuation. 1 6. A method according to any of the claims 1 -10, wherein the determination of the position of one or more units in the set comprise use of AOA. 1 7. A method according to any of the claims 1 -10, wherein the determination of the position of one or more units in the set comprise monitoring movements of a unit within a network comprising a plurality of cells. 5 1 8. A method according to any of the preceding claims, wherein the determined position further comprises information about date. 1 9. A method according to claim 1 8, wherein the determined position further comprises information about time. 10 20. A method according to any of the preceding claims, wherein the generated message comprises text. 21 . A method according to any of the preceding claims, wherein the generated mes- 15 sage comprises graphics, such as an image, an icon, a video clip, a map or diagram with a pointer showing the location of the user. 22. A method according to any of the preceding claims, wherein the generated message comprises a sound, such as voice or a signal 20 23. A method according to any of the preceding claims, wherein the generated message comprises a fragrance. 24. A method according to any of the preceding claims, wherein the generated mes- 25 sage comprises movements, such as vibration. 25. A method according to any of the preceding claims, wherein the generated message comprises emission of light. 30 26. A method according to any of the preceding claims, wherein the predetermined range is selected by the user associated with a unit. 27. A method according to any of the preceding claims, wherein each predetermined range has associated communication expenses. 28. A method according to claim 27, wherein the user selects a range of communication expenses, and thereby determines the predetermined range. 29. A method according to any of the preceding claims, wherein each predetermined 5 range is associated with a geographic area, such as a continent, co-ordinate range, country, district, city or a street. 30. A method according to claim 29, wherein the user selects the geographical area. 10 31 . A method according to any of the preceding claims, wherein the predetermined range is smaller than 100 km, such as smaller than 80 km, such as smaller than 60 km, such as smaller than 40 km, such as smaller than 20 km, such as smaller than 1 5 km, such as smaller than 1 2 km, such as smaller than 9 km, such as smaller than 6 km, such as smaller than 3 km, such as smaller than 1 km, such as smaller than 15 500 m, such as smaller than 250 m. 32. A method according to any of the preceding claims, wherein a unit to which the generated message is transmitted is selected by a user associated with a unit. 20 33. A system for transmitting data to a unit in a set of communication units, the data relating to a distance between a first and a second unit in the set, the system comprising: means for determining a distance between the first and the second 25 unit, means for generating a message when the distance between the first and the second unit is within a predetermined range, and means for transmitting the generated message to a unit in the set. 30 34. A system according to claim 33 further comprising: means for determining the position of one or more units in the set, means for storing the determined positions together with corresponding unit identifications in a database, and wherein the determination of a distance comprises 5 - determining the distance from the corresponding stored positions. 35. A system according to claim 33 or 34, wherein a user is associated to a unit in the set, and wherein the associated user may enter additional information, such as rating information, into the database, said rating information being associated with an 10 associated user to a unit in the set. 36. A system according to any of claims 33-35, wherein the generated message identifies the associated user to a unit in the set. 15 37. A system according to any of claims 33-35, wherein the associated user to a unit in the set selects a subject of interest, said subject of interest being stored in a database together with the corresponding unit identification. 38. A system according to claim 37, wherein the generated message comprises in- 20 formation relating to the subject of interest selected by the associated user to a unit in the set. 39. A system according to any of claims 33-38, wherein a unit in the set comprises a telephone, such as a wireless telephone, such as a mobile telephone. 5 40. A system according to any of claims 33-38, wherein a unit in the set comprises a pager. 41 . A system according to any of claims 33-38, wherein a unit in the set comprises 0 a portable PC. 42. A system according to any of claims 33-38, wherein a unit in the set is selected from the group consisting of wristwatches, personal digital assistants, embedded chips or circuits, implanted chips or circuits, navigational units and personal security units. 43. A system according to any of claims 33-42, wherein the determination of the positions of one or more units in the set comprise use of a triangulation method. 44. A system according to any of claims 33-42, wherein the determination of the 5 positions of one or more units in the set comprise use of radio signal mapping. 45. A system according to any of claims 33-42, wherein the determination of the position of one or more units in the set comprise use of GPS. 10 46. A system according to any of claims 33-42, wherein the determination of the position of one or more units in the set comprises use of TDOA. 47. A system according to any of claims 33-42, wherein the determination of the position of one or more units in the set comprise use of power/signal attenuation. 15 48. A system according to any of claims 33-42, wherein the determination of the position of one or more units in the set comprise use of AOA. 49. A system according to any of claims 33-42, wherein the determination of the 0 position of one or more units in the set comprise monitoring movements of a unit within a network comprising a plurality of cells. 50. A system according to any of claims 33-49, wherein the determined position further comprises information about date. 5 51 . A system according to claim 50, wherein the determined position further comprises information about time. 52. A system according to any of claims 33-51 , wherein the generated message 0 comprises text. 53. A system according to any of claims 33-52, wherein the generated message comprises graphics, such as an image, an icon, a video clip, a map or diagram with a pointer showing the location of the user. 54. A system according to any of claims 33-53, wherein the generated message comprises a sound, such as voice. 55. A system according to any of claims 33-54, wherein the generated message comprises a fragrance. 56. A system according to any of claims 33-55, wherein the generated message comprises movements, such as vibration. 57. A system according to any of claims 33-56, wherein the generated message comprises emission of light. 58. A system according to any of claims 33-57, wherein the predetermined range is selected by the user associated with a unit. 59. A system according to any of claims 33-58, wherein each predetermined range has associated communication expenses. 60. A system according to claim 59, wherein the user selects a range of communica- tion expenses, and thereby determines the predetermined range. 61 . A system according to any of claims 33-60, wherein each predetermined range is associated with a geographic area, such as a continent, co-ordinate range, country, district, city or a street. 62. A system according to claim 61 , wherein the user selects the geographical area. 63. A method according to any of claims 33-62, wherein the predetermined range is smaller than 100 km, such as smaller than 80 km, such as smaller than 60 km, such as smaller than 40 km, such as smaller than 20 km, such as smaller than 1 5 km, such as smaller than 12 km, such as smaller than 9 km, such as smaller than 6 km, such as smaller than 3 km, such as smaller than 1 km, such as smaller than 500 m, such as smaller than 250 m. 64. A system according to any of claims 33-63, wherein a unit to which the generated message is transmitted is selected by a user associated with a unit.

Inventors: DEGNBOL JANUS FRIIS, DEGNBOL, JANUS, FRIIS
Applicants: DEGNBOL JANUS FRIIS, DEGNBOL, JANUS, FRIIS
Application year: 1999
Main classification: H04Q7
IPC codes: H04L29, H04W4, H04W8