US20180359200A1 - System and method for facilitating the growth of a mobile community - Google Patents

System and method for facilitating the growth of a mobile community Download PDF

Info

Publication number
US20180359200A1
US20180359200A1 US16/105,280 US201816105280A US2018359200A1 US 20180359200 A1 US20180359200 A1 US 20180359200A1 US 201816105280 A US201816105280 A US 201816105280A US 2018359200 A1 US2018359200 A1 US 2018359200A1
Authority
US
United States
Prior art keywords
subscriber
server
match
entries
phonebook
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US16/105,280
Inventor
John Anthony Underwood
Christopher Edward Keys
Markku Kero
Rainer Leinonen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thinking Active Pty Ltd
Original Assignee
Phenix Investment Management Ltd
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 Phenix Investment Management Ltd filed Critical Phenix Investment Management Ltd
Priority to US16/105,280 priority Critical patent/US20180359200A1/en
Publication of US20180359200A1 publication Critical patent/US20180359200A1/en
Assigned to THINKING ACTIVE PTY LTD. reassignment THINKING ACTIVE PTY LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PHENIX INVESTMENT MANAGEMENT LTD. (FORMERLY KNOWN AS KOLIPRI COMMUNICATIONS LTD.),
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • 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
    • H04L51/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data

Definitions

  • the present application relates to systems and methods for facilitating the growth of a mobile community.
  • the present invention relates to providing an enhanced instant messaging experience within a mobile communications network.
  • MIM Mobile Instant Messaging
  • desktop IM is a presence enabled messaging service which attempts to transpose the desktop messaging experience to the usage scenario of being on the move. While several of the core ideas of the desktop experience on one hand apply to a connected mobile device, others do not. For example some of the form factor and mobility related differences need to be taken into account in order to create a really adequate, powerful and yet convenient mobile experience such as bandwidth, memory size, availability of media formats, keypad based input, screen output, CPU performance and battery power are core issues that are not confronted by desktop device users and even nomadic users with connected network.
  • the primary goal of any Instant Messaging application is to create a large community of users, who subsequently will remain loyal to the provider of community services.
  • the incentive for creating the largest possible community of users from the service providers stand point is to maximise the amount of revenue through greater utilisation of their infrastructure. From the users stand point the incentive to build a community relates more to social interaction. Indeed the relationship between the user and service provider is somewhat symbiotic, the greater the number of users the greater the number of services a provider can afford to offer.
  • a new user is often presented with a completely empty Buddy list. This presents a serious disincentive to a new user from becoming an active user of the messaging client, which in turn affects the growth of the community.
  • At least one server for receiving from each mobile subscriber within the system a contact list, whereon said server is adapted to:
  • the server further includes a client application, wherein said client application is adapted to perform a sequential read of the contact list of each mobile subscriber and forward the information to the server.
  • each mobile subscriber batches multiple contacts before forwarding them to the server.
  • the upload of the contact list to the server may be performed visibly (with the ongoing status visible to the subscriber), or transparently.
  • a client application may be provided to manage the transfer of the contact list to the server. Preferably the client performs a sequential read operation of the contact list on the subscriber's mobile device and uploads batches of one or more entries in the contact list as they are read to the server. The client may automatically restart upload of the contact list in the event of interruption from the last entry read.
  • the server is further adapted to duplicate the contact list received from each mobile subscriber and store an unaltered version of the contact list.
  • the server may then provide the unaltered copy to the relevant subscriber upon a request from the subscriber.
  • server forwards a copy of the unaltered contact list to the subscriber in a manner that does not overwrite existing entries in the subscriber's mobile device that match entries in the server based contact list.
  • the server may also update the information contained in its version of the contact list on identifying new entries in the current contact list stored on subscriber's mobile device.
  • the set of normalised contact information may include a set of normalised phone numbers extracted from the contact list of each subscriber.
  • the set of normalised phone numbers are produce by storing only the first 7 digits, reading from right to left, of the complete phone number stored in the contact list.
  • the server may be adapted to initiate a call to action for the subscriber holding the contact to request the creation of a Buddy relationship with that contact.
  • the invite and acceptance are in the form of system messages to the users' client device application.
  • the server may create an entry in the buddy list of the subscriber holding the contact which allows communication but not the sharing of presence information.
  • the server may be further adapted to compare a set of normalised contact information of the selected subscriber includes with a set of normalised contact information of a further subscriber to determine if the respective subscriber network identifications of the selected subscriber and further subscriber are contained in the respective set of normalised contact information of the selected and further subscribers.
  • the server adds the further subscriber to the buddy list of the selected subscriber and the selected subscriber to a buddy list associated with the further subscriber on determining that the set of normalised contact information of the selected subscriber contains the further subscribers network identification and the further subscriber set normalised contact information contains the selected subscribers network identification.
  • the server may also permit the addition to the buddy list of all contacts not identified as existing members of the community as a special category of buddy (“phonebook buddies”). These buddies may be communicated with using a sub-set of overall communication options and may not participate in presence sharing.
  • the server is preferably programmed to automatically convert phonebook buddies to community buddies when that party joins the community.
  • the server is preferably configured to incorporate all information from the original phonebook entry.
  • the system may further include a suitable set of security measures to ensure proper identification of subscribers and prevent fraudulent repeated attempts to register (for example as may be attempted to obtain free trial periods as offered to new subscribers).
  • the server may be adapted to perform a multipass comparative process.
  • the multipass operation may include the following functions:
  • SIM/MINs subscribed subscribers
  • mapping of the contact list and comparing mapping to all entries contained in the server.
  • the system may allow a subscriber to enter contact information for one or more external sources, such as contact information held by the subscriber on a third party website or third party service, other computing devices held by the subscriber etc.
  • a method for automatically matching a mobile subscriber in a network including the step of:
  • the method further includes the step of sequentially reading each entry in a subscribers contact list and forwarding each entry as it is read to the server.
  • the method further includes the step of restoring a complete buddy list incorporating all phonebook as wen as buddy information to the subscriber's mobile device.
  • the method further includes the step of duplicating the contact list received from each subscriber and storing an unaltered version of the contact list on the server.
  • the method may also include the step of restoring the unaltered contact list to the subscriber's mobile device.
  • the method may also include the steps of receiving an acknowledgment from one or more subscribers of acceptance of invites and compiling a buddy list for the selected subscriber composed of the one or more subscribers who accept the invite.
  • the step of comparing includes comparing a set of normalised contact information for a selected subscriber with a set of normalized contact information of another subscriber to determine if the subscriber network identifications of the subscribers being compared are contained in the set of normalised contact information for each of the compared subscribers and automatically adding the relevant subscriber information to the buddy list of the each of the compared subscriber on identifying the set of normalised contact information contain the relevant subscriber network identifications.
  • FIG. 1 is a schematic diagram of system for facilitating auto matching of mobile subscribers according to one embodiment of the present disclosure
  • FIG. 2 is a flow diagram of the process for uploading and storing contact information to facilitate auto matching of mobile subscribers according to one embodiment of the present disclosure
  • FIG. 3 is a flow diagram of the auto matching process according to one embodiment of the present disclosure.
  • FIG. 4 is a flow diagram of the auto matching process initiated during an update of the subscriber's contact list according to one embodiment of the present disclosure
  • FIG. 5 is a flow diagram of the auto matching process according to one embodiment of the present disclosure initiated during registration of new subscriber and or a change in a subscriber ID of previously register subscriber according to one embodiment of the present disclosure;
  • FIG. 6 is a flow diagram of the phonebook fingerprinting process according to one embodiment of the present disclosure.
  • FIG. 7 is a flow diagram of an invite process according to one embodiment of the present disclosure.
  • the most immediate source of buddies for a mobile phone based messaging application is the phonebook or contact list of the mobile subscriber.
  • the applicant has devised a process whereby Buddy lists are automatically populated through the comparison of the mobile numbers and phonebooks of multiple parties, in order to deduce existing relationships between various parties. This process the applicant has termed Auto Buddy Matching (ABM).
  • ABSM Auto Buddy Matching
  • phonebook buddy may be used interchangeably as the phrase ‘other contact’.
  • communicate buddy and ‘one way’ buddy are used in the context of full matches and partial matches.
  • FIG. 1 a system 100 for Auto Matching (AM) according to one embodiment of the present disclosure
  • mobile subscriber 101 is able to upload the contents of their mobile phonebook 102 , via network 103 , to server 104 .
  • the server then processes the received data to produce a buddy list 105 .
  • the server can then optionally send out invites 106 to each of the contacts 107 saved to the buddy list 105 .
  • the first step in AM process is to obtain a copy of each mobile subscriber's phonebook. This requires agreement from each subscriber to upload the phonebook to the server.
  • the upload process can be performed visibly (with the ongoing status visible to the subscriber), or transparently behind the scenes.
  • FIG. 2 One example of the upload and the manner in which post processing of the subscriber's phonebook 200 occurs at the server is shown in FIG. 2 .
  • a client application is employed to read each entry and store it on the server 202 .
  • the server duplicates the phonebook 203 , and stores a first copy 204 of the phonebook.
  • the first copy is maintained “as-is” with all fields and data maintained in their original format. This copy is intended to act as the source for a phonebook restore should it be required.
  • the second copy is passed through a pre-processing stage 204 where the mobile numbers are extracted from the phonebook and only the first 7 digits (counting from the right to left) are stored 205 . This provides a consistent formatting of the mobile number for use in the latter comparison with the phonebooks of other subscribers within the network.
  • a client application manages the uploading process to the server.
  • the client application sequentially reads through the phonebook data (in the background) and uploads the data to the server.
  • the client program automatically restarts the upload from where it was interrupted.
  • the server accepts each phonebook entry (item) and optionally processes it based on the following rules:
  • the server accepts all entries. No deletes are processed except specifically deletes of entries in the buddy list.
  • the process is automatically restarted when the client restarts.
  • the aspects of the disclosed embodiments may incorporate the ability to automatically update the phonebook on a time basis or change basis.
  • a subscriber's phonebook may be refreshed automatically to the server on a monthly basis so that new contacts will be included in matching.
  • the subscriber has the option to manually refresh/upload their phonebook.
  • the subscribers phonebook may be monitored continuously and updates may be uploaded as soon as they are made.
  • the client application initiates a restore using the complete set of buddy information.
  • the buddy list incorporates all buddy and phonebook data.
  • the buddy list presents a readymade repository for all a user's contacts which can be easily maintained by the user.
  • the client application initiates a restore of phonebook data from the server.
  • the following rules are applied to phonebook entries when restoring back to the mobile device phonebook:
  • FIG. 3 depicts the matching/comparison process 300 according to one embodiment of the present invention. Matching is performed between a subscriber's phonebook contacts and the mobile numbers of all existing subscribers in the subscriber database, matching may be performed automatically or on request by the subscriber.
  • the phonebooks of subscribers A 301 and B 302 are compared. Firstly the system determines if determines subscriber B's phone number is contained in subscriber A's phonebook 303 . If subscriber B's phone number is in subscriber A's phonebook the system interrogates the “level” of the match by determining if subscriber A's number is contained in subscriber B's phonebook 305 . If subscriber A's number is in subscriber B's phonebook, then a “full” match condition 307 exists. In this instance the system has determined that both parties know each other and automatically adds each to the other's Buddy list 309 . No further subscriber intervention is required. This is different to PC type messaging platforms that are never able to identify this type of match and can never avoid a full and sometimes troublesome approval process.
  • subscriber B's number is not subscriber A's phonebook the system interrogates subscriber B's phonebook to determine if subscriber A's number is contained in subscriber B's phonebook 304 .
  • a match is identified as one-way i.e. subscriber A has subscriber B's mobile number in their phonebook but subscriber B does not have information relating subscriber A in their phonebook or vice versa a “partial” match condition 310 exist.
  • the policy in a partial match case is not to provide presence and status information to a subscriber regarding the matching part that they do not already have in their possession. Hence in this instance subscriber B is added to subscriber A's buddy list but A is not added to B's buddy list (or vice versa).
  • Buddy A sends a message to B, then B has the option to add A as a buddy (making the relationship a two-way presence relationship) or block them from sending further messages.
  • A makes the relationship a two-way presence relationship
  • Examples of presence and status information that would not be shared could be status message and profile picture.
  • a no match condition 306 is declared when subscriber A's phonebook contains no information regarding subscriber B and vice versa. In such an instance the system determines that the two parties do not know one another. In this instance the entry that is not matched is added as a non-community buddy or “phonebook buddy” before the system proceeds to compare subscriber A's phone book with that of another subscriber 308 and so on until each subscriber phone book has been compared to each phonebook stored on the server.
  • buddies are added as full, one-way or phonebook buddies, all information originally held by the user in their phonebook is maintained and added as additional data to the buddy in the buddy list. This additional data is not made available to other community members but is visible and maintainable by the user as a complete server based repository of their contacts as well as to facilitate the restore process.
  • the matching process may be fully automated, and may be triggered by several different kinds of scenarios for example when a subscriber uploads their phonebook to the server as shown in FIG. 4 ; or when a subscriber's phonebook is automatically refreshed in a regular scheduled update; or when a subscriber changes or adds an entry in their phonebook and when a new subscriber registers to the system or an existing subscriber changes his/her phone number as illustrated in FIG. 5 .
  • the matching process 400 may be initiated an upload of the current version of a particular subscriber's phonebook stored on the mobile device.
  • the update of the subscriber's phonebook on the server may be automatically initiated on a time basis or change basis or manually at the subscriber's request.
  • the client application sequentially reads through the subscriber's phonebook 401 to determine if any new entries exist 402 . If no new entries exist then the upload process is terminated 303 and the version of the subscriber's previously stored on the server remains unaltered. In the event the client application determines that there are additional entries in the subscriber's phonebook it uploads the new entries to the server.
  • the server then processes the new numbers in the subscriber's phone book as discussed in relation to FIG. 3 above, namely the server duplicates the new phonebook 404 and stores a copy 405 .
  • the server then processes the remaining version of the phonebook to produce a listing of normalised phone numbers 406 each 7 digits long.
  • the new listing of normalised phone numbers is then compared by the server against all other subscriber numbers stored in the system 407 to determine a match in a similar manner to that discussed in relation to FIG. 3 above.
  • the server adds the identified contact to the subscriber's buddy list 408 in the appropriate manner depending on the level of match established (i.e. partial or full) and then proceeds to determine if any more entries are available 402 . In the event that no match is determined the server then proceeds to determine if any more entries are available 402 until the entire subscriber phonebook is processed.
  • FIG. 5 illustrates one example of how the matching process 500 may be initiated by a new subscriber registering 501 with the service provider or when an existing subscriber changes mobile contact numbers 502 .
  • the number associated with subscribers 501 , 502 are normalised and compared against all numbers stored on the server 503 . If no match is identified the process is terminated 506 and the system then performs a number of additional processes to determine if the subscriber is legitimate subscriber (discussed in greater detail below). If a match is identified the system adds the initiating subscriber 501 , 502 to the buddy list of the subscriber having the phonebook in which the matching entry is located 504 . The server then determines whether there are additional entries available for comparison 505 and continues the comparison 502 form the point at where the last match was identified. If no further entries are available (i.e. search has reached the end of stored number listing) the process is terminated 506 .
  • the mobile client device may incorporate multiple invite functionality.
  • subscriber can select a via a suitable client interface a specific contact or contacts in their device contact list (phonebook) to whom they wish to send an invite.
  • the processing in this instance is predominantly performed on the client application on the mobile device of the subscriber.
  • invitees Once invitees have been identified the information is sent to the server via the IP data layer where the invites are constructed and sent via the carrier SMSC as SMS messages.
  • the subscriber also has the option of either from the invite menu, or from options when viewing their phonebook to select invitees or to “Invite All”. If the subscriber selects the invite all option they are requested to provide confirmation of their request. Help text will explain that “invite all” only applies to in-network mobile contacts.
  • the subscriber's phonebook is uploaded to the server (provided of course that the subscriber had not already done so).
  • the subscriber will also be marked active for Auto Buddy Matching (per the discussion above).
  • the logic here is that if a subscriber wishes to invite their phonebook they are clearly interested in being linked with people they know through the system.
  • the upload of the phonebook is performed in the background such that the subscriber sees no further impact from their request to “invite all”. If the upload process is interrupted it will automatically restart next time the client application is started on the phone.
  • the upload speed of the data is managed to ensure no impact to the normal messaging functions of the client application.
  • the server prepares and sends an invite for all “in network” mobile numbers based on that carrier's mobile number prefixes.
  • the server matches the number of a potential invitee against the database of registered subscribers and eliminates those who are already members.
  • the server then maintains a copy of invitations “due” for each mobile number as well of a listing who has invited who.
  • To avoid “nuisance” SMS invites only one invitation is sent to a mobile number from the system in any one day. If multiple subscribers wish to invite a party on a single day, the system saves the invite requests and sends them on future dates. For example a mobile subscriber who is invited by three subscribers will receive three invites (one from each) over three consecutive days. In the span of time that the invitee receives the first, the second or third invites the invitee may have registered therefore making the further invites redundant.
  • a check is performed prior to sending the invite to ensure the invitee has not in the meantime become a registered subscriber to avoid sending nuisance” SMS invites to the invitee. The check is relatively simple as when an invitee becomes a registered subscriber, the inviter and invitee are automatically added as buddies to each other's buddy lists. Thus the server need only look for the occurrence of the invitee in the stored buddy lists of registered subscribers.
  • the invitations received by invitees contain the name of the person who invited them and the “from number” in the SMS invite will be the mobile number of the inviter. No subscriber defined custom text is included in the message since this could allow the invite process to be used as a free SMS messaging service.
  • the server may optionally store invite messages and send them at off peak times. Thus potentially large volumes of messages can be sent at times when the network capacity is under utilised.
  • the system may allow mobile subscribers to block future invitations by sending a “BLOCK” keyword to an SMS short code. This then adds the mobile number to be blocked to a blacklist that is checked prior to sending any invitation SMS.
  • the carrier is able to support substantial numbers of invite messages in-network for effectively zero cost. The messages will be sent during off peak times when the network is under utilised. Thus there is no actual infrastructure cost borne by the process.
  • the carrier is able to provide incentives to its subscribers to invite their phonebook.
  • a carrier holds the MIN list of all its subscribers as well as a list of MINs subscribed to the service. It is thus able to send targeted SMS and EM messages to its customers motivating them to “Invite their phonebooks”. This allows a mobile service provider to implement targeted marketing campaigns for new services offers etc that network provider intends to implement.
  • the system implements a process that the applicant has termed phonebook fingerprinting. Fingerprinting provides the ability to match phonebooks to allow the system to identify individuals and prevent fraudulent attempts to re-register to obtain introductory free periods or other special offers multiple times. Since the process is intended to identify a malicious subscriber who obtains a new SIM/MIN specifically to avail of a free introductory offer, only newly active SIM/MINs need to be included in the process.
  • the phonebook of a subscriber is obtained via the Auto Buddy Matching and/or Invite-All upload processes as discussed above.
  • the phonebook could be obtained using synch processing technique. Uploading the phonebook (ABM or Invite all) is a mandatory pre-requisite to avail free introductory offers.
  • Each person's phonebook comprises for example multiple contacts, multiple fields for contacts, multiple numbers with and without country codes and area codes etc.
  • the system compares the information in the registering subscriber's phone book and a database of previously uploaded and compared phone books 601 .
  • Elements of comparison are name fields, number fields (field containing the data is part of the compare also) and count matches/differences.
  • the compare does not need to be exact to demonstrate a match. As malicious individuals suspect the process being employed, they may attempt to fool the system by inserting false contacts etc. The process will need to be continually refined to address these attempts.
  • the first step in the process is to eliminate the phonebooks of subscribers (SIM/MINs) that have been active in the network for more than four months 602 .
  • SIM/MINs phonebooks of subscribers
  • a carrier is able to access a database of active MIN's and thus substantially minimize the processing required to perform this process.
  • the approach is to handle as a multi-step pass through process, where each step progressively reduces the number of fields to compare.
  • the system compares the number of entries in the registering subscriber's phonebook with the number of entries in accordance following criteria:
  • a matches the specified criteria of the first pass 603 the system then proceed to perform a second pass operation 605 on the registering subscriber's phonebook.
  • the second pass operation compares the first name fields of the first and last five entries. In accordance with the following criteria:
  • the third pass compare mobile number fields of first 5 and last 5 using first-name/last-name as a key in accordance with the following criteria:
  • the subscriber phonebook is excluded from further comparison 608 . If a match condition exists then the system the proceeds to perform a fourth pass operation 609 .
  • the fourth pass operation maps the contents of the phonebook in accordance with the following criteria:
  • the subscriber's phonebook is excluded from further testing 610 i.e. subscriber properly validated and allowed to access free services. If a match is determined then the sever proceeds to exclude the registering subscriber form any free trial offers etc 611 .
  • each phonebook is not required to perform fingerprinting.
  • a view of each phonebook will be held for this process with the required data extracted.
  • a subset of data from each phonebook may be extracted which merely contains the information required for each of the pass criteria i.e. number of contact in book, first names for first 5 and last 5 entries, first 5 and last 5 entries and phonebook map.
  • FIG. 7 depicts a process for adding “Phonebook Buddies” 700 i.e. contacts in a buddy list who are not registered members of the system. This allows a subscriber of the system to communicate using the convenience of the client platform with any of their contacts. All phonebook contacts are added as default through the matching process however the Add phonebook contacts allows a user to add new contacts to their buddy list even though they may not be in their phonebook.
  • the system allows the following communication with Other Contacts (e.g. Phonebook Buddies):
  • a process automatically runs that extracts current contacts from the SMS inbox, sent box as well as call logs (received calls, dialed numbers, missed calls) 701 .
  • the process then proceeds to read the subscribers phonebook 702 to extract first and last names, email address using the numbers extracted from SMS inbox, sent box as well as call logs.
  • the process then eliminates any duplicates by matching the extracted contacts 703 . For each unique contact found in the SMS Inbox, call logs etc., checks are made against the buddy list of the subscriber to determine if they are already in the buddy list as either a full Buddy or Phonebook Buddy, and if they are, then no further action is taken for that contact.
  • Timing is controlled by a trigger on the server and is checked at each subscriber login. The process requires subscriber confirmation before contacts are actually added, since it is possible to login to other people's mobile devices. A screen is then presented to the subscriber that states “These are your current active contacts. Would you like to add them to your buddy list as other contacts (e.g. Phonebook Buddies)? The subscriber has the option to select (via tick box) the contacts they wish to add 704. By default when the screen is first presented, all tick boxes are ticked. When the subscriber agrees, the client application then proceeds to add the new contacts as “phonebook Buddies” using the contact data in the subscriber's phonebook 705 .
  • the system identifies all in-network mobile contacts from this group and re-presents this list to the subscriber with the statement “Invite your friends to join the community and save money on your communications!” 706 . All contacts are ticked by default. The subscriber can then choose to proceed and invite these 10 contacts 707 , or can cancel this part of the process 708 .
  • the system may also allow a subscriber to enter their subscriber ID from their other messaging application such as Yahoo Messenger ID,Windows Live ID or G-Talk 10. In such instances the system is then able to interrogate the buddy lists of all connected IM users to identify matches between the subscriber information stored on the server and the fD's of desktop IM users and presents these matches as Buddies on the mobile IM community for approval.
  • the IM buddy lists are treated in much the same way as phonebooks to match individuals who know each other.
  • the system may utilise information provided from the subscribers email address book provided to the system by the subscriber.
  • the system accesses the information stored in their email address book to build a buddy list.
  • the system compares the email address stored in the contact information of the subscribers and the email addresses recorded in the subscriber's mail address book and identifies any matches. Once the system has determined a match the system then, dependent on the level of match, automatically adds each to the other's Buddy list.

Abstract

A system for automatically matching a plurality of mobile subscribers includes a processor for executing commands that direct operations of the system and a memory coupled to the at least one processor, the memory storing code operable when executed with the at least one processor, a server for receiving from each mobile subscriber within the plurality of mobile subscribers a contact list, wherein the server is configured to process the contact list to produce a set of normalised contact information for each subscriber in the system, compare the set of normalized contact information of a selected subscriber with the processed normalized contact information of each subscriber in the system to identify matched entries, determine at least a match between the identified entries of the selected subscriber and each subscriber in the system, and add the matched entries in a buddy list of the selected subscriber based on the determined match.

Description

    FIELD
  • The present application relates to systems and methods for facilitating the growth of a mobile community. In particular although not exclusively the present invention relates to providing an enhanced instant messaging experience within a mobile communications network.
  • DISCUSSION OF THE BACKGROUND ART
  • Recent years have seen the migration of message services such as instant messaging and email to the mobile communications environment. In the standard desktop environment Instant Messaging (IM) provided real-time text based or near real-time communication between two or more participants over a network. Thus the key distinction between IM from such services as email is the perceived synchronicity of the communication between users, messaging is done in real or near real-time. Instant messages are typically logged in a local message history which closes the gap to the persistent nature of emails and facilitates quick exchange of information like URLs or document snippets (which can be unwieldy when communicated via telephone). IM allows effective and efficient communication, featuring immediate receipt. of acknowledgment or reply.
  • Mobile Instant Messaging (MIM) differs slightly to that of standard desktop IM application. MIM is a presence enabled messaging service which attempts to transpose the desktop messaging experience to the usage scenario of being on the move. While several of the core ideas of the desktop experience on one hand apply to a connected mobile device, others do not. For example some of the form factor and mobility related differences need to be taken into account in order to create a really adequate, powerful and yet convenient mobile experience such as bandwidth, memory size, availability of media formats, keypad based input, screen output, CPU performance and battery power are core issues that are not confronted by desktop device users and even nomadic users with connected network.
  • The primary goal of any Instant Messaging application is to create a large community of users, who subsequently will remain loyal to the provider of community services. The incentive for creating the largest possible community of users from the service providers stand point is to maximise the amount of revenue through greater utilisation of their infrastructure. From the users stand point the incentive to build a community relates more to social interaction. Indeed the relationship between the user and service provider is somewhat symbiotic, the greater the number of users the greater the number of services a provider can afford to offer. However, with most mobile messaging clients as well as internet based messaging clients, a new user is often presented with a completely empty Buddy list. This presents a serious disincentive to a new user from becoming an active user of the messaging client, which in turn affects the growth of the community.
  • Clearly it would be advantageous to provide a system and method that would enable the matching of users of various mobile messaging clients in seamless and cost effective manner to facilitate the growth of a community of mobile users.
  • SUMMARY
  • Accordingly in one aspect of the disclosed embodiments there is provided a system for automatically matching mobile subscribers said system including:
  • at least one server for receiving from each mobile subscriber within the system a contact list, whereon said server is adapted to:
  • process the contact list to produce a set of normalised contact information for each subscriber in the system;
  • compare the set of normalised contact information for a selected subscriber with a subscriber network identification assigned to each subscriber with the system;
  • identify subscriber network identifications that match entries contained in the set normalised contact information of said selected subscriber;
  • compile a listing of the matched subscriber network identifications;
  • and
  • forward an invite to each subscriber within the listing of matched subscriber network identifications.
  • Preferably the server further includes a client application, wherein said client application is adapted to perform a sequential read of the contact list of each mobile subscriber and forward the information to the server.
  • Preferably each mobile subscriber batches multiple contacts before forwarding them to the server.
  • The upload of the contact list to the server may be performed visibly (with the ongoing status visible to the subscriber), or transparently. A client application may be provided to manage the transfer of the contact list to the server. Preferably the client performs a sequential read operation of the contact list on the subscriber's mobile device and uploads batches of one or more entries in the contact list as they are read to the server. The client may automatically restart upload of the contact list in the event of interruption from the last entry read.
  • Preferably the server is further adapted to duplicate the contact list received from each mobile subscriber and store an unaltered version of the contact list. The server may then provide the unaltered copy to the relevant subscriber upon a request from the subscriber. In the event that the server receives a request from a subscriber to provide the unaltered version of the contact list, server forwards a copy of the unaltered contact list to the subscriber in a manner that does not overwrite existing entries in the subscriber's mobile device that match entries in the server based contact list. The server may also update the information contained in its version of the contact list on identifying new entries in the current contact list stored on subscriber's mobile device.
  • The set of normalised contact information may include a set of normalised phone numbers extracted from the contact list of each subscriber. Preferably the set of normalised phone numbers are produce by storing only the first 7 digits, reading from right to left, of the complete phone number stored in the contact list.
  • In a scenario where one subscriber is known to another but the reverse cannot to be proven, the server may be adapted to initiate a call to action for the subscriber holding the contact to request the creation of a Buddy relationship with that contact. Preferably the invite and acceptance are in the form of system messages to the users' client device application. Alternately the server may create an entry in the buddy list of the subscriber holding the contact which allows communication but not the sharing of presence information.
  • The server may be further adapted to compare a set of normalised contact information of the selected subscriber includes with a set of normalised contact information of a further subscriber to determine if the respective subscriber network identifications of the selected subscriber and further subscriber are contained in the respective set of normalised contact information of the selected and further subscribers. In the case where the subscriber network identifications are contained in the respective set of normalised contact information the server adds the further subscriber to the buddy list of the selected subscriber and the selected subscriber to a buddy list associated with the further subscriber on determining that the set of normalised contact information of the selected subscriber contains the further subscribers network identification and the further subscriber set normalised contact information contains the selected subscribers network identification.
  • The server may also permit the addition to the buddy list of all contacts not identified as existing members of the community as a special category of buddy (“phonebook buddies”). These buddies may be communicated with using a sub-set of overall communication options and may not participate in presence sharing.
  • Where phonebook buddies are added as above, the server is preferably programmed to automatically convert phonebook buddies to community buddies when that party joins the community.
  • Further where a buddy entry of any type is added by this process to a user's buddy list the server is preferably configured to incorporate all information from the original phonebook entry.
  • The system may further include a suitable set of security measures to ensure proper identification of subscribers and prevent fraudulent repeated attempts to register (for example as may be attempted to obtain free trial periods as offered to new subscribers). In order to identify fraudulent registration attempts the server may be adapted to perform a multipass comparative process. The multipass operation may include the following functions:
  • removing subscribers (SIM/MINs) that have been active in the network for more than predetermined period of time;
  • comparing the number of entries in the contact list of a selected subscriber with the number of entries contained in the entire server;
  • comparing the first name fields of the first and last five entries with the all entries contained in the server;
  • comparing mobile number fields of first and last five entries using first-name/last-name as a key all entries contained in the system;
  • producing a mapping of the contact list and comparing mapping to all entries contained in the server.
  • If at each pass a match is returned the registration is regarded as fraudulent and treated accordingly.
  • The system may allow a subscriber to enter contact information for one or more external sources, such as contact information held by the subscriber on a third party website or third party service, other computing devices held by the subscriber etc.
  • In another aspect of the present invention there is provided a method for automatically matching a mobile subscriber in a network said method including the step of:
  • receiving at, at least one server, a contact list from each mobile subscriber within the network;
  • processing each contact list to produce a set of normalised contact information for each subscriber in the system;
  • comparing the set of normalised contact information for a selected subscriber with each subscriber identification in the system;
  • identifying subscriber identifications that match entries contained in the set normalised contact information of said selected subscriber;
  • compiling a listing of the matched subscriber identifications; and
  • forwarding invite messages to each subscriber within the listing of subscriber identifications.
  • Suitably the method further includes the step of sequentially reading each entry in a subscribers contact list and forwarding each entry as it is read to the server.
  • Preferably the method further includes the step of restoring a complete buddy list incorporating all phonebook as wen as buddy information to the subscriber's mobile device.
  • Optionally the method further includes the step of duplicating the contact list received from each subscriber and storing an unaltered version of the contact list on the server. The method may also include the step of restoring the unaltered contact list to the subscriber's mobile device.
  • The method may also include the steps of receiving an acknowledgment from one or more subscribers of acceptance of invites and compiling a buddy list for the selected subscriber composed of the one or more subscribers who accept the invite. Preferably the step of comparing includes comparing a set of normalised contact information for a selected subscriber with a set of normalized contact information of another subscriber to determine if the subscriber network identifications of the subscribers being compared are contained in the set of normalised contact information for each of the compared subscribers and automatically adding the relevant subscriber information to the buddy list of the each of the compared subscriber on identifying the set of normalised contact information contain the relevant subscriber network identifications.
  • BRIEF DETAILS OF THE DRAWINGS
  • In order that this invention may be more readily understood and put into practical effect, reference will now be made to the accompanying drawings, which illustrate preferred embodiments of the invention, and wherein:
  • FIG. 1 is a schematic diagram of system for facilitating auto matching of mobile subscribers according to one embodiment of the present disclosure;
  • FIG. 2 is a flow diagram of the process for uploading and storing contact information to facilitate auto matching of mobile subscribers according to one embodiment of the present disclosure;
  • FIG. 3 is a flow diagram of the auto matching process according to one embodiment of the present disclosure;
  • FIG. 4 is a flow diagram of the auto matching process initiated during an update of the subscriber's contact list according to one embodiment of the present disclosure;
  • FIG. 5 is a flow diagram of the auto matching process according to one embodiment of the present disclosure initiated during registration of new subscriber and or a change in a subscriber ID of previously register subscriber according to one embodiment of the present disclosure;
  • FIG. 6 is a flow diagram of the phonebook fingerprinting process according to one embodiment of the present disclosure; and
  • FIG. 7 is a flow diagram of an invite process according to one embodiment of the present disclosure.
  • DESCRIPTION OF EMBODIMENTS
  • The most immediate source of buddies for a mobile phone based messaging application is the phonebook or contact list of the mobile subscriber. The applicant has devised a process whereby Buddy lists are automatically populated through the comparison of the mobile numbers and phonebooks of multiple parties, in order to deduce existing relationships between various parties. This process the applicant has termed Auto Buddy Matching (ABM).
  • In the context of the following description, the term ‘phonebook buddy’ may be used interchangeably as the phrase ‘other contact’. The terms ‘community buddy’ and ‘one way’ buddy are used in the context of full matches and partial matches.
  • As shown in FIG. 1 a system 100 for Auto Matching (AM) according to one embodiment of the present disclosure, as shown mobile subscriber 101 is able to upload the contents of their mobile phonebook 102, via network 103, to server 104. The server then processes the received data to produce a buddy list 105. The server can then optionally send out invites 106 to each of the contacts 107 saved to the buddy list 105.
  • As noted above the first step in AM process is to obtain a copy of each mobile subscriber's phonebook. This requires agreement from each subscriber to upload the phonebook to the server. The upload process can be performed visibly (with the ongoing status visible to the subscriber), or transparently behind the scenes.
  • One example of the upload and the manner in which post processing of the subscriber's phonebook 200 occurs at the server is shown in FIG. 2. Once the subscriber agrees to upload 201, a client application is employed to read each entry and store it on the server 202. Once the entire contents of the subscriber's phonebook are uploaded the server duplicates the phonebook 203, and stores a first copy 204 of the phonebook. The first copy is maintained “as-is” with all fields and data maintained in their original format. This copy is intended to act as the source for a phonebook restore should it be required. The second copy is passed through a pre-processing stage 204 where the mobile numbers are extracted from the phonebook and only the first 7 digits (counting from the right to left) are stored 205. This provides a consistent formatting of the mobile number for use in the latter comparison with the phonebooks of other subscribers within the network.
  • As mentioned above a client application manages the uploading process to the server. The client application sequentially reads through the phonebook data (in the background) and uploads the data to the server. In the event of an interruption to the process the client program automatically restarts the upload from where it was interrupted.
  • The server accepts each phonebook entry (item) and optionally processes it based on the following rules:
  • Scenario Rule
    Item uploaded is not Add new item to the
    present on server stored phonebook
    data for the subscriber
    Item uploadd is identical No action required
    to that present on server
    Item uploaded has some Identify possible matching
    matching criteria: items. Offer subscriber on the
    First name and last name mobile client a view of
    number(s) the matching items
    and ask which to retain
    (options are retain one,
    selected or all items)
    Item held on serve is Identify as a possible deleted
    no longer present on item. Offer subscriber on
    mobile device the mobile client a view of
    phonebook the possible deleted item
    and ask them if they wish
    to remove the item from the
    server phonebook.
    Options are yes or no.
  • Alternately the server accepts all entries. No deletes are processed except specifically deletes of entries in the buddy list.
  • If the upload process is interrupted by the subscriber (for example if they shut down their client while it is running) the process is automatically restarted when the client restarts. The aspects of the disclosed embodiments may incorporate the ability to automatically update the phonebook on a time basis or change basis. In certain embodiments of the present invention, a subscriber's phonebook may be refreshed automatically to the server on a monthly basis so that new contacts will be included in matching. In certain embodiments of the present invention the subscriber has the option to manually refresh/upload their phonebook. In other embodiments, the subscribers phonebook may be monitored continuously and updates may be uploaded as soon as they are made.
  • Preferably when a subscriber requests a restore of their phonebook, the client application initiates a restore using the complete set of buddy information. In this iteration of the invention, the buddy list incorporates all buddy and phonebook data. Usefully the buddy list presents a readymade repository for all a user's contacts which can be easily maintained by the user.
  • Optionally when the subscriber requests a restore of their phonebook from a backed up phonebook file held on the server, the client application initiates a restore of phonebook data from the server. The following rules are applied to phonebook entries when restoring back to the mobile device phonebook:
  • Scenario Rule
    Item restored is Add new item to
    not present on the mobile device
    mobile device phonebook.
    Item being restored No action required
    is identical to that
    present on mobile
    device
    Item being restored Identify possible
    has some matching matching items. Offer
    criteria: subscriber on the
    First name and last name mobile client a view of
    number(s) the matching items and
    ask which to retain
    (options are retain one entry,
    selected entries or all entries)
    Item held on mobile Identify as a possible
    device is not present deleted item. Offer
    on the server backup subscriber on the mobile
    client a view of the
    possible deleted items
    and ask them if they
    wish to remove the item
    from the mobile device
    phonebook. Options are
    yes or no.
  • FIG. 3 depicts the matching/comparison process 300 according to one embodiment of the present invention. Matching is performed between a subscriber's phonebook contacts and the mobile numbers of all existing subscribers in the subscriber database, matching may be performed automatically or on request by the subscriber.
  • In this particular example the phonebooks of subscribers A 301 and B 302 are compared. Firstly the system determines if determines subscriber B's phone number is contained in subscriber A's phonebook 303. If subscriber B's phone number is in subscriber A's phonebook the system interrogates the “level” of the match by determining if subscriber A's number is contained in subscriber B's phonebook 305. If subscriber A's number is in subscriber B's phonebook, then a “full” match condition 307 exists. In this instance the system has determined that both parties know each other and automatically adds each to the other's Buddy list 309. No further subscriber intervention is required. This is different to PC type messaging platforms that are never able to identify this type of match and can never avoid a full and sometimes troublesome approval process.
  • In the event that subscriber B's number is not subscriber A's phonebook the system interrogates subscriber B's phonebook to determine if subscriber A's number is contained in subscriber B's phonebook 304. When a match is identified as one-way i.e. subscriber A has subscriber B's mobile number in their phonebook but subscriber B does not have information relating subscriber A in their phonebook or vice versa a “partial” match condition 310 exist. The policy in a partial match case is not to provide presence and status information to a subscriber regarding the matching part that they do not already have in their possession. Hence in this instance subscriber B is added to subscriber A's buddy list but A is not added to B's buddy list (or vice versa). In this instance a person holding contact information for another party is provided with a buddy to whom they can communicate—but presence information is not provided. Further in this scenario, if Buddy A sends a message to B, then B has the option to add A as a buddy (making the relationship a two-way presence relationship) or block them from sending further messages. Thus an invitation becomes implicit in sending a message where the relationship is “one-way”.
  • Examples of presence and status information that would not be shared could be status message and profile picture.
  • A no match condition 306 is declared when subscriber A's phonebook contains no information regarding subscriber B and vice versa. In such an instance the system determines that the two parties do not know one another. In this instance the entry that is not matched is added as a non-community buddy or “phonebook buddy” before the system proceeds to compare subscriber A's phone book with that of another subscriber 308 and so on until each subscriber phone book has been compared to each phonebook stored on the server.
  • Whether buddies are added as full, one-way or phonebook buddies, all information originally held by the user in their phonebook is maintained and added as additional data to the buddy in the buddy list. This additional data is not made available to other community members but is visible and maintainable by the user as a complete server based repository of their contacts as well as to facilitate the restore process.
  • As mentioned above the matching process may be fully automated, and may be triggered by several different kinds of scenarios for example when a subscriber uploads their phonebook to the server as shown in FIG. 4; or when a subscriber's phonebook is automatically refreshed in a regular scheduled update; or when a subscriber changes or adds an entry in their phonebook and when a new subscriber registers to the system or an existing subscriber changes his/her phone number as illustrated in FIG. 5.
  • With reference to FIG. 4 there is illustrated the one example of how the matching process 400 may be initiated an upload of the current version of a particular subscriber's phonebook stored on the mobile device. As previously mentioned the update of the subscriber's phonebook on the server may be automatically initiated on a time basis or change basis or manually at the subscriber's request. Once the upload is initiated the client application sequentially reads through the subscriber's phonebook 401 to determine if any new entries exist 402. If no new entries exist then the upload process is terminated 303 and the version of the subscriber's previously stored on the server remains unaltered. In the event the client application determines that there are additional entries in the subscriber's phonebook it uploads the new entries to the server.
  • The server then processes the new numbers in the subscriber's phone book as discussed in relation to FIG. 3 above, namely the server duplicates the new phonebook 404 and stores a copy 405. The server then processes the remaining version of the phonebook to produce a listing of normalised phone numbers 406 each 7 digits long. The new listing of normalised phone numbers is then compared by the server against all other subscriber numbers stored in the system 407 to determine a match in a similar manner to that discussed in relation to FIG. 3 above. On determining that a match exists the server adds the identified contact to the subscriber's buddy list 408 in the appropriate manner depending on the level of match established (i.e. partial or full) and then proceeds to determine if any more entries are available 402. In the event that no match is determined the server then proceeds to determine if any more entries are available 402 until the entire subscriber phonebook is processed.
  • FIG. 5 illustrates one example of how the matching process 500 may be initiated by a new subscriber registering 501 with the service provider or when an existing subscriber changes mobile contact numbers 502. The number associated with subscribers 501, 502 are normalised and compared against all numbers stored on the server 503. If no match is identified the process is terminated 506 and the system then performs a number of additional processes to determine if the subscriber is legitimate subscriber (discussed in greater detail below). If a match is identified the system adds the initiating subscriber 501,502 to the buddy list of the subscriber having the phonebook in which the matching entry is located 504. The server then determines whether there are additional entries available for comparison 505 and continues the comparison 502 form the point at where the last match was identified. If no further entries are available (i.e. search has reached the end of stored number listing) the process is terminated 506.
  • In addition to the above the mobile client device may incorporate multiple invite functionality. At the most basic level, subscriber can select a via a suitable client interface a specific contact or contacts in their device contact list (phonebook) to whom they wish to send an invite. The processing in this instance is predominantly performed on the client application on the mobile device of the subscriber. Once invitees have been identified the information is sent to the server via the IP data layer where the invites are constructed and sent via the carrier SMSC as SMS messages.
  • The subscriber also has the option of either from the invite menu, or from options when viewing their phonebook to select invitees or to “Invite All”. If the subscriber selects the invite all option they are requested to provide confirmation of their request. Help text will explain that “invite all” only applies to in-network mobile contacts.
  • Once the subscriber agrees to the initiate the invite all process the subscriber's phonebook is uploaded to the server (provided of course that the subscriber had not already done so). The subscriber will also be marked active for Auto Buddy Matching (per the discussion above). The logic here is that if a subscriber wishes to invite their phonebook they are clearly interested in being linked with people they know through the system. The upload of the phonebook is performed in the background such that the subscriber sees no further impact from their request to “invite all”. If the upload process is interrupted it will automatically restart next time the client application is started on the phone. The upload speed of the data is managed to ensure no impact to the normal messaging functions of the client application.
  • As phonebook data becomes available on the server (even partial data), the server prepares and sends an invite for all “in network” mobile numbers based on that carrier's mobile number prefixes. The server matches the number of a potential invitee against the database of registered subscribers and eliminates those who are already members.
  • The server then maintains a copy of invitations “due” for each mobile number as well of a listing who has invited who. To avoid “nuisance” SMS invites, only one invitation is sent to a mobile number from the system in any one day. If multiple subscribers wish to invite a party on a single day, the system saves the invite requests and sends them on future dates. For example a mobile subscriber who is invited by three subscribers will receive three invites (one from each) over three consecutive days. In the span of time that the invitee receives the first, the second or third invites the invitee may have registered therefore making the further invites redundant. A check is performed prior to sending the invite to ensure the invitee has not in the meantime become a registered subscriber to avoid sending nuisance” SMS invites to the invitee. The check is relatively simple as when an invitee becomes a registered subscriber, the inviter and invitee are automatically added as buddies to each other's buddy lists. Thus the server need only look for the occurrence of the invitee in the stored buddy lists of registered subscribers.
  • The invitations received by invitees contain the name of the person who invited them and the “from number” in the SMS invite will be the mobile number of the inviter. No subscriber defined custom text is included in the message since this could allow the invite process to be used as a free SMS messaging service.
  • The server may optionally store invite messages and send them at off peak times. Thus potentially large volumes of messages can be sent at times when the network capacity is under utilised. The system may allow mobile subscribers to block future invitations by sending a “BLOCK” keyword to an SMS short code. This then adds the mobile number to be blocked to a blacklist that is checked prior to sending any invitation SMS.
  • The carrier is able to support substantial numbers of invite messages in-network for effectively zero cost. The messages will be sent during off peak times when the network is under utilised. Thus there is no actual infrastructure cost borne by the process. The carrier is able to provide incentives to its subscribers to invite their phonebook. A carrier holds the MIN list of all its subscribers as well as a list of MINs subscribed to the service. It is thus able to send targeted SMS and EM messages to its customers motivating them to “Invite their phonebooks”. This allows a mobile service provider to implement targeted marketing campaigns for new services offers etc that network provider intends to implement.
  • To ensure the security of the matching and invite services the system implements a process that the applicant has termed phonebook fingerprinting. Fingerprinting provides the ability to match phonebooks to allow the system to identify individuals and prevent fraudulent attempts to re-register to obtain introductory free periods or other special offers multiple times. Since the process is intended to identify a malicious subscriber who obtains a new SIM/MIN specifically to avail of a free introductory offer, only newly active SIM/MINs need to be included in the process.
  • One example of the fingerprinting process 600 is shown in FIG. 6. Here the phonebook of a subscriber is obtained via the Auto Buddy Matching and/or Invite-All upload processes as discussed above. Alternatively the phonebook could be obtained using synch processing technique. Uploading the phonebook (ABM or Invite all) is a mandatory pre-requisite to avail free introductory offers. Each person's phonebook comprises for example multiple contacts, multiple fields for contacts, multiple numbers with and without country codes and area codes etc.
  • The system then compares the information in the registering subscriber's phone book and a database of previously uploaded and compared phone books 601. Elements of comparison are name fields, number fields (field containing the data is part of the compare also) and count matches/differences. The compare does not need to be exact to demonstrate a match. As malicious individuals suspect the process being employed, they may attempt to fool the system by inserting false contacts etc. The process will need to be continually refined to address these attempts.
  • The first step in the process is to eliminate the phonebooks of subscribers (SIM/MINs) that have been active in the network for more than four months 602. A carrier is able to access a database of active MIN's and thus substantially minimize the processing required to perform this process.
  • To reduce the potentially massive computing required to process the remaining phonebooks, the approach is to handle as a multi-step pass through process, where each step progressively reduces the number of fields to compare.
  • On the first pass through 603 the system compares the number of entries in the registering subscriber's phonebook with the number of entries in accordance following criteria:
      • Number of entries in subscribers phonebook contains is A entries;
      • Number of entries database of previously uploaded and compared phonebooks is X entries;
      • For each entry in the database compare A with X;
        If 90% of X<A<110% of X then count as a match and save as a candidate for the next pass.
  • It should be noted that if number of entries in phonebook is less than 30 do not allow free period. If A does not exceed 90% of X then the subscriber phonebook is excluded form further comparison 604.
  • If A matches the specified criteria of the first pass 603 the system then proceed to perform a second pass operation 605 on the registering subscriber's phonebook. The second pass operation compares the first name fields of the first and last five entries. In accordance with the following criteria:
      • Treat as possible match if 6 of the 10 entries match (order, and anomalous entries don't count/matter)
  • If no match is determined then the subscriber phonebook is excluded form further comparison 606. If a match is detected then the system then proceeds to run a third pass operation 607. The third pass compare mobile number fields of first 5 and last 5 using first-name/last-name as a key in accordance with the following criteria:
      • Treat as possible match if 6 of the 10 entries match
  • If no match is match is determined then the subscriber phonebook is excluded from further comparison 608. If a match condition exists then the system the proceeds to perform a fourth pass operation 609. The fourth pass operation maps the contents of the phonebook in accordance with the following criteria:
      • For whole phonebook, map all fields present (e.g. mobile number, business phone, fax . . . ) and indicate as l's and 0's. Perform compare of this map using first-name/last-name as key.
  • If no match is detected then the subscriber's phonebook is excluded from further testing 610 i.e. subscriber properly validated and allowed to access free services. If a match is determined then the sever proceeds to exclude the registering subscriber form any free trial offers etc 611.
  • It will be appreciated by those of ordinary skill in the art that while the fingerprinting process has been described as including a four pass operation additional passes can be added as required. It can be seen that the entire phonebook is not required to perform fingerprinting. A view of each phonebook will be held for this process with the required data extracted. For example, a subset of data from each phonebook may be extracted which merely contains the information required for each of the pass criteria i.e. number of contact in book, first names for first 5 and last 5 entries, first 5 and last 5 entries and phonebook map.
  • FIG. 7 depicts a process for adding “Phonebook Buddies” 700 i.e. contacts in a buddy list who are not registered members of the system. This allows a subscriber of the system to communicate using the convenience of the client platform with any of their contacts. All phonebook contacts are added as default through the matching process however the Add phonebook contacts allows a user to add new contacts to their buddy list even though they may not be in their phonebook. The system allows the following communication with Other Contacts (e.g. Phonebook Buddies):
      • GSM Call (native call-mobile and landline, including international)
      • SMS (native SMS)
      • ESMS (in-network SMS with the communication between the client and the server over the IP data layer and the communication between the server and the Other Contact via the SMSC and GSM network)
      • Email
  • When a new subscriber first logs in to the client application and subsequently once per month after login, a process automatically runs that extracts current contacts from the SMS inbox, sent box as well as call logs (received calls, dialed numbers, missed calls) 701. The process then proceeds to read the subscribers phonebook 702 to extract first and last names, email address using the numbers extracted from SMS inbox, sent box as well as call logs. The process then eliminates any duplicates by matching the extracted contacts 703. For each unique contact found in the SMS Inbox, call logs etc., checks are made against the buddy list of the subscriber to determine if they are already in the buddy list as either a full Buddy or Phonebook Buddy, and if they are, then no further action is taken for that contact.
  • Timing is controlled by a trigger on the server and is checked at each subscriber login. The process requires subscriber confirmation before contacts are actually added, since it is possible to login to other people's mobile devices. A screen is then presented to the subscriber that states “These are your current active contacts. Would you like to add them to your buddy list as other contacts (e.g. Phonebook Buddies)? The subscriber has the option to select (via tick box) the contacts they wish to add 704. By default when the screen is first presented, all tick boxes are ticked. When the subscriber agrees, the client application then proceeds to add the new contacts as “phonebook Buddies” using the contact data in the subscriber's phonebook 705.
  • Finally the system identifies all in-network mobile contacts from this group and re-presents this list to the subscriber with the statement “Invite your friends to join the community and save money on your communications!” 706. All contacts are ticked by default. The subscriber can then choose to proceed and invite these 10 contacts 707, or can cancel this part of the process 708.
  • The system may also allow a subscriber to enter their subscriber ID from their other messaging application such as Yahoo Messenger ID,Windows Live ID or G-Talk 10. In such instances the system is then able to interrogate the buddy lists of all connected IM users to identify matches between the subscriber information stored on the server and the fD's of desktop IM users and presents these matches as Buddies on the mobile IM community for approval. In this particular example the IM buddy lists are treated in much the same way as phonebooks to match individuals who know each other.
  • In a further embodiment, the system may utilise information provided from the subscribers email address book provided to the system by the subscriber. In this example the system accesses the information stored in their email address book to build a buddy list. The system then compares the email address stored in the contact information of the subscribers and the email addresses recorded in the subscriber's mail address book and identifies any matches. Once the system has determined a match the system then, dependent on the level of match, automatically adds each to the other's Buddy list.
  • It is to be understood that the above embodiments have been provided only by way of exemplification of this present disclosure, and that further modifications and improvements thereto, as would be apparent to persons skilled in the relevant art, are deemed to fall within the broad scope and ambit of the present disclosure described herein.

Claims (14)

1. A system for automatically matching a plurality of mobile subscribers, said system including:
at least one processor for executing commands that direct operations of the system and a memory operatively coupled to the at least one processor, the memory storing code operable when executed with the at least one processor; and
at least one server for receiving from each mobile subscriber within the plurality of mobile subscribers a contact list, wherein the server is configured to:
process the contact list to produce a set of normalised contact information for each subscriber in the system;
compare the set of normalized contact information of a selected subscriber with the processed normalized contact information of each subscriber in the system to identify matched entries;
determine at least a match between the identified entries of the selected subscriber and each subscriber in the system; and
add the matched entries in a buddy list of the selected subscriber based on the determined match.
2. The system of claim 1, wherein the determined matches include full matches, one-way matches and no matches.
3. The system of claim 1, wherein the server is configured to add the matched entries directly in the buddy list of the selected subscriber based on the determined full match.
4. The system of claim 1, wherein the server is configured to send a request message to add or block the selected subscriber based on the determined one-way match.
5. The system of claim 1, wherein the server is configured to send an invite via SMS messaging service to the identified entries in case of a no-match determination.
6. The system of claim 1, wherein the server is configured to allow the selected subscriber to initiate a communication with the matched entries and receive presence information of the matched entries.
7. The system of claim 1, wherein the server is configured to automatically synchronize the buddy list of the selected subscriber on a time basis or change basis or manually at the subscriber's request.
8. A method of automatically matching a plurality of mobile subscribers, wherein the method comprises
receiving from each mobile subscriber within the plurality of mobile subscribers a contact list;
processing the contact list to produce a set of normalised contact information for each subscriber in the system;
comparing the set of normalized contact information of a selected subscriber with the processed normalized contact information of each subscriber in the system to identify matched entries;
determining at least a match between the identified entries of the selected subscriber and each subscriber in the system; and
adding the matched entries in a buddy list of the selected subscriber based on the determined match.
9. The method of claim 8, wherein the determined matches include full matches, one-way matches and no matches.
10. The method of claim 8, wherein the method comprises adding the matched entries directly in the buddy list of the selected subscriber based on the determined full match.
11. The method of claim 8, wherein the method comprises sending a request message to add or block the selected subscriber based on the determined one-way match.
12. The method of claim 8, wherein the method comprises sending an invite via SMS messaging service to the identified entries in case of a no-match determination.
13. The method of claim 8, wherein the method comprises allowing the selected subscriber to initiate a communication with the matched entries and receive presence information of the matched entries.
14. The method of claim 8, wherein the method comprises automatically synchronizing the buddy list of the selected subscriber on a time basis or change basis or manually at the subscriber's request.
US16/105,280 2008-07-04 2018-08-20 System and method for facilitating the growth of a mobile community Abandoned US20180359200A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/105,280 US20180359200A1 (en) 2008-07-04 2018-08-20 System and method for facilitating the growth of a mobile community

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
SG200805067-6A SG157990A1 (en) 2008-07-04 2008-07-04 System and method for facilitating the growth of a mobile community
SG200805067-6 2008-07-04
PCT/SG2009/000240 WO2010002355A1 (en) 2008-07-04 2009-07-02 System and method for facilitating the growth of a mobile community
US86602110A 2010-08-03 2010-08-03
US16/105,280 US20180359200A1 (en) 2008-07-04 2018-08-20 System and method for facilitating the growth of a mobile community

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
PCT/SG2009/000240 Continuation WO2010002355A1 (en) 2008-07-04 2009-07-02 System and method for facilitating the growth of a mobile community
US12/866,021 Continuation US10069768B2 (en) 2008-07-04 2009-07-02 System and method for facilitating the growth of a mobile community

Publications (1)

Publication Number Publication Date
US20180359200A1 true US20180359200A1 (en) 2018-12-13

Family

ID=41466221

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/866,021 Expired - Fee Related US10069768B2 (en) 2008-07-04 2009-07-02 System and method for facilitating the growth of a mobile community
US16/105,280 Abandoned US20180359200A1 (en) 2008-07-04 2018-08-20 System and method for facilitating the growth of a mobile community

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/866,021 Expired - Fee Related US10069768B2 (en) 2008-07-04 2009-07-02 System and method for facilitating the growth of a mobile community

Country Status (19)

Country Link
US (2) US10069768B2 (en)
EP (1) EP2297983A4 (en)
JP (1) JP5360781B2 (en)
KR (1) KR101210940B1 (en)
CN (1) CN101897204B (en)
AU (1) AU2009266361B2 (en)
BR (1) BRPI0906087A2 (en)
CA (1) CA2711306C (en)
CO (1) CO6300892A2 (en)
EG (1) EG26562A (en)
HK (1) HK1150112A1 (en)
MX (1) MX2010007903A (en)
MY (1) MY163801A (en)
RU (1) RU2469500C2 (en)
SG (1) SG157990A1 (en)
TW (1) TWI451346B (en)
UA (1) UA100042C2 (en)
WO (1) WO2010002355A1 (en)
ZA (1) ZA201005323B (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047350B2 (en) * 2009-08-18 2015-06-02 Disney Enterprises, Inc. System and method for managing relationships among resources
US8832204B1 (en) * 2009-09-24 2014-09-09 Sprint Communication Company L.P. Text message spam solutions
US8886664B2 (en) * 2010-05-13 2014-11-11 Microsoft Corporation Decreasing duplicates and loops in an activity record
CN101986674A (en) * 2010-09-17 2011-03-16 中兴通讯股份有限公司 Method and device for inviting friends in social networking sites through mobile communication terminal
CN102624636B (en) * 2011-01-26 2015-05-27 中国移动通信集团公司 Authorization control method, system and apparatus in instant communication system
CN102118698B (en) * 2011-03-21 2014-01-15 广州市动景计算机科技有限公司 Method and device for establishing community relation network on basis of information of contacts in mobile terminal
US8738714B2 (en) * 2011-07-18 2014-05-27 Tangome, Inc. Suggesting invitations to join a network
KR101922985B1 (en) * 2011-12-08 2018-11-29 삼성전자주식회사 Apparatus and method for inviting subscription of contact information
KR101861822B1 (en) 2012-04-02 2018-05-29 삼성전자주식회사 Method for providing social networking service using a phone book and mobile terminal thereof
US9113283B2 (en) * 2012-04-03 2015-08-18 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for event notification framework in a machine-to-machine (M2M) context
CN103916509B (en) * 2012-12-31 2017-08-04 北京新媒传信科技有限公司 A kind of cell phone address book restoration methods and device
US9148489B2 (en) * 2013-03-11 2015-09-29 Qualcomm Incorporated Exchanging a contact profile between client devices during a communication session
US9622275B2 (en) 2013-03-15 2017-04-11 Qualcomm Incorporated System and method for allowing multiple devices to communicate in a network
KR101832394B1 (en) * 2013-04-10 2018-02-26 삼성전자주식회사 Terminal apparatus, server and contol method thereof
CN103346956B (en) * 2013-06-28 2017-02-08 小米科技有限责任公司 Method and device for expanding social relation in social network
TWI503779B (en) * 2014-01-08 2015-10-11 Mitake Information Corp System, device and method of hiding from acquaintances in a social network site
US9678936B2 (en) 2014-11-26 2017-06-13 Intuit Inc. Dynamic user experience workflow
US10417717B2 (en) 2014-11-26 2019-09-17 Intuit Inc. Method and system for generating dynamic user experience
US10175997B2 (en) 2014-11-26 2019-01-08 Intuit Inc. Method and system for storage retrieval
US10621618B2 (en) * 2015-02-19 2020-04-14 Intuit Inc. System and method to connect a user of a product to contacts of the user who are promoters
CN107104928B (en) * 2016-02-23 2020-06-12 阿里巴巴集团控股有限公司 Service implementation method and device
CN105744038B (en) * 2016-03-29 2019-07-02 北京小米移动软件有限公司 State synchronization method and device
US10104034B1 (en) * 2016-03-30 2018-10-16 Microsoft Technology Licensing, Llc Providing invitations based on cross-platform information
CN106603700A (en) * 2016-12-29 2017-04-26 江西博瑞彤芸科技有限公司 Pushing method of association information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182745A1 (en) * 2003-08-01 2005-08-18 Dhillon Jasjit S. Method and apparatus for sharing information over a network
US20080133580A1 (en) * 2006-11-30 2008-06-05 James Andrew Wanless Method and system for providing automated real-time contact information

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08335539A (en) 1995-06-06 1996-12-17 Sony Corp Production control apparatus and production control method
US5822523A (en) * 1996-02-01 1998-10-13 Mpath Interactive, Inc. Server-group messaging system for interactive applications
US6775264B1 (en) * 1997-03-03 2004-08-10 Webley Systems, Inc. Computer, internet and telecommunications based network
GB2380580A (en) * 2000-06-22 2003-04-09 Yaron Mayer System and method for searching,finding and contacting dates on the internet in instant messaging networks and/or in other metods
SE523564C2 (en) * 2000-09-20 2004-04-27 Mahmood Valadi Matching user profiles and positioning of mobile phones in a mobile communication network
GB0110542D0 (en) * 2001-04-30 2001-06-20 Nokia Corp Messaging system
US7716287B2 (en) 2004-03-05 2010-05-11 Aol Inc. Organizing entries in participant lists based on communications strengths
JP2003169365A (en) * 2001-11-29 2003-06-13 Matsushita Electric Ind Co Ltd Retrieval system
US7266367B2 (en) 2002-09-19 2007-09-04 Research In Motion Limited System and method of accessing contact information on a communication device
US20040193601A1 (en) * 2003-03-24 2004-09-30 Bin Hu Method and contact list server for modifying the entry names in a contact list
US8131803B2 (en) * 2003-08-19 2012-03-06 Research In Motion Limited System and method for integrating an address book with an instant messaging application in a mobile station
US7885901B2 (en) * 2004-01-29 2011-02-08 Yahoo! Inc. Method and system for seeding online social network contacts
US8788492B2 (en) * 2004-03-15 2014-07-22 Yahoo!, Inc. Search system and methods with integration of user annotations from a trust network
CN1961602A (en) * 2004-06-08 2007-05-09 艾利森电话股份有限公司 Method and radio communication network for detecting the presence of fraudulent subscriber identity modules
JP2006070016A (en) * 2004-08-02 2006-03-16 Kaneka Corp Whitening composition containing reduced coenzyme q
US20070093234A1 (en) * 2004-08-20 2007-04-26 Willis John A Identify theft protection and notification system
US7838461B2 (en) * 2004-11-01 2010-11-23 Asahi Kasei Kabushiki Kaisha Catalyst for exhaust gas purification
US20060136584A1 (en) * 2004-12-17 2006-06-22 Nokia Corporation System, network entity, client, method and computer program product for managing a contact list
US20060167849A1 (en) * 2005-01-26 2006-07-27 Echovox Sa Method and system for mobile instant messaging using multiple protocols
US7562104B2 (en) * 2005-02-25 2009-07-14 Microsoft Corporation Method and system for collecting contact information from contact sources and tracking contact sources
KR20050045964A (en) 2005-04-13 2005-05-17 순천대학교 산학협력단 The process of effective dewatering and drying waste sludge using heating treatment by microwave irradiation
US20060242014A1 (en) * 2005-04-25 2006-10-26 Marshall Charles T Contacts networking technology
US8770477B2 (en) * 2005-04-26 2014-07-08 Guy Hefetz Method for identifying the georgrapic location of a router
US9727867B2 (en) * 2005-04-26 2017-08-08 Guy Hefetz Method for detecting misuse of identity in electronic transactions
US8379837B2 (en) * 2005-05-06 2013-02-19 Qualcomm Incorporated Method and system for providing and managing public telephone directory service
US20060288077A1 (en) * 2005-06-16 2006-12-21 Mediatek Inc. Systems and methods for instant messaging
US7797318B2 (en) * 2005-08-25 2010-09-14 Microsoft Corporation Networking through electronic messaging and mail
US20070100944A1 (en) * 2005-10-28 2007-05-03 Microsoft Corporation Uniform resource identifier decoration to enable connectivity for instant messaging providers serving non-authoritative namespaces
SG131819A1 (en) * 2005-11-07 2007-05-28 Chikka Pte Ltd Buddy-based cross-carrier messaging system
US7620404B2 (en) * 2005-12-22 2009-11-17 Pascal Chesnais Methods and apparatus for organizing and presenting contact information in a mobile communication system
JP5225587B2 (en) * 2006-03-20 2013-07-03 楽天株式会社 Social networking service system
JP4753792B2 (en) * 2006-05-15 2011-08-24 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 Information communication terminal, information sharing system, and information sharing method
TWM304665U (en) * 2006-05-19 2007-01-11 Yau-Ren Jang Mobile community construction system integrated with wireless positioning technique
US8102281B2 (en) * 2006-08-11 2012-01-24 Honda Motor Co., Ltd. Method and system for receiving and sending navigational data via a wireless messaging service on a navigation system
US20080065755A1 (en) * 2006-08-18 2008-03-13 Siemens Communications, Inc. Apparatus and method for automated presence status inquiries
JP4260828B2 (en) * 2006-08-18 2009-04-30 株式会社エヌ・ティ・ティ・ドコモ Mobile communication system, server, mobile communication terminal, and communication method
JP2010503072A (en) * 2006-09-02 2010-01-28 ティーティービー テクノロジーズ,エルエルシー Computer-based meeting preparation method and execution system
US20080065758A1 (en) 2006-09-12 2008-03-13 International Business Machines Corporation Dynamic transient buddy and contact lists
GB0618627D0 (en) * 2006-09-21 2006-11-01 Vodafone Ltd Fraud detection system
US7822761B2 (en) * 2006-10-18 2010-10-26 International Business Machines Corporation Groupware system with improved contact data handling
KR100820026B1 (en) * 2007-06-29 2008-04-08 주식회사 케이티프리텔 Method and system for providing automatic entry in the buddylist services by telephone number based mobile messenger
US8774374B2 (en) * 2007-12-13 2014-07-08 Verizon Patent And Licensing Inc. Managing visual voicemail from multiple devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182745A1 (en) * 2003-08-01 2005-08-18 Dhillon Jasjit S. Method and apparatus for sharing information over a network
US20080133580A1 (en) * 2006-11-30 2008-06-05 James Andrew Wanless Method and system for providing automated real-time contact information

Also Published As

Publication number Publication date
AU2009266361B2 (en) 2012-07-05
CO6300892A2 (en) 2011-07-21
HK1150112A1 (en) 2011-10-28
EP2297983A4 (en) 2016-08-03
MX2010007903A (en) 2010-08-13
CN101897204A (en) 2010-11-24
SG157990A1 (en) 2010-01-29
BRPI0906087A2 (en) 2016-08-09
CN101897204B (en) 2015-09-09
KR20110009073A (en) 2011-01-27
EP2297983A1 (en) 2011-03-23
US10069768B2 (en) 2018-09-04
US20100317322A1 (en) 2010-12-16
JP5360781B2 (en) 2013-12-04
EG26562A (en) 2014-02-18
RU2010140044A (en) 2012-08-10
ZA201005323B (en) 2011-04-28
UA100042C2 (en) 2012-11-12
MY163801A (en) 2017-10-31
RU2469500C2 (en) 2012-12-10
CA2711306A1 (en) 2010-01-07
JP2011527140A (en) 2011-10-20
CA2711306C (en) 2015-10-06
WO2010002355A1 (en) 2010-01-07
KR101210940B1 (en) 2012-12-12
AU2009266361A1 (en) 2010-01-07
TWI451346B (en) 2014-09-01
TW201007592A (en) 2010-02-16

Similar Documents

Publication Publication Date Title
US20180359200A1 (en) System and method for facilitating the growth of a mobile community
US10778624B2 (en) Systems and methods for spam filtering
US7774409B2 (en) Providing common contact discovery and management to electronic mail users
US20060224675A1 (en) Methods and systems for providing current email addresses and contact information for members within a social network
US20140324872A1 (en) Address book maintenance method and group address book management platform
US20080082541A1 (en) System and Method for Determining Relationships Between Users of a Network System
US20140006970A1 (en) Automatic Contact Creation Based on User Interaction
CN105282328A (en) Method and device for task prompting during communication
US8046003B2 (en) System and method for location transparency
US9846858B2 (en) System and method for a global directory service
US20110264684A1 (en) Method and system for updating contact information
EP3788770B1 (en) System and method of creating provisional account profiles
CN117640833A (en) Telephone calling method, device, computer equipment and storage medium

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: THINKING ACTIVE PTY LTD., AUSTRALIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PHENIX INVESTMENT MANAGEMENT LTD. (FORMERLY KNOWN AS KOLIPRI COMMUNICATIONS LTD.),;REEL/FRAME:061885/0202

Effective date: 20220105