WO2005015425A1 - Method and system for transferring contact information and calendar events to a wireless device via e-mail - Google Patents

Method and system for transferring contact information and calendar events to a wireless device via e-mail Download PDF

Info

Publication number
WO2005015425A1
WO2005015425A1 PCT/US2003/026381 US0326381W WO2005015425A1 WO 2005015425 A1 WO2005015425 A1 WO 2005015425A1 US 0326381 W US0326381 W US 0326381W WO 2005015425 A1 WO2005015425 A1 WO 2005015425A1
Authority
WO
WIPO (PCT)
Prior art keywords
wireless device
contacts
user
mail
server
Prior art date
Application number
PCT/US2003/026381
Other languages
French (fr)
Inventor
Soujanya Bhumkar
Ramiro Calvo
John B Geagan, Iii
Christian Gloddy
Ken Thom
Original Assignee
Vazu, Inc.
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 Vazu, Inc. filed Critical Vazu, Inc.
Priority to AU2003265598A priority Critical patent/AU2003265598A1/en
Priority to US10/564,018 priority patent/US20070276911A1/en
Publication of WO2005015425A1 publication Critical patent/WO2005015425A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/2753Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content
    • H04M1/2757Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content by data transmission, e.g. downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. SMS or e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]

Definitions

  • the present invention relates to and departs from the conventional practice of a generalized method for transferring contacts and calendar events between a personal computer or other Web-enabled device connected to the internet and a mobile phone. More particularly, the present transfer method provides a simple method to transfer contacts and calendar events to a wireless device using email. Additionally, text messages can be sent from a wireless device to a unique number so that the text message is either saved or sent to an email address.
  • vcard for "virtual business card”
  • the most common example of how vcards are used is for one person to send his personal contact information from his phone to somebody else's phone either via infrared or through the wireless network.
  • the receiver's phone alerts her that a contact has been received and offers the choice to view, save, or discard the contact.
  • the vcard When a person sends a vcard through an operator's network, the vcard is transmitted from one phone to the other as a specially coded SMS. A vcard is transmitted as an SMS with a special tag at the beginning that alerts the phone that the SMS should be treated as a vcard. It should be noted that in many cases, the vcard is formatted in a vendor-specific manner, limiting the exchange of vcards only between like make and models of phones.
  • the present invention offers a method to easily transfer contacts between a Web-based service and an SMS-enabled phone, thru an SMS-enabled network.
  • One of the basic tasks for a cell phone user is to enter frequently dialed numbers into his or her phone via one of the following methods:
  • Another method to enter contacts into a phone is to upload information from a PC via either a serial cable connection, infrared or Bluetooth.
  • a serial cable connection infrared or Bluetooth.
  • Each of these methods requires that the subscriber owns a PC with the appropriate interface and purchases and installs the appropriate software on the PC. This is expensive, complex and is not supported by all phones.
  • a newer method for storing contacts in a phone is based on the syncML and GPRS industry standards. This solution works well if the user has a phone that supports both syncML and GPRS, and uses a network operator that offers GPRS services. Currenty, this solution is relatively expensive and available to a small segment of the market.
  • GSM phone users can store user-entered contact information on the SIM card in their phone. A user can then transfer all information to another phone simply by transferring the SIM card. Unfortunately, the contacts are lost if the subscriber loses his phone with the SIM card inside. Additionally, the SIM card has a limit of approximately 250 contacts, whereas newer phone models can store many hundreds of contacts, thus the SIM card cannot archive the full contact listing stored in the phone. Finally, many phones have the ability to store multiple phone numbers per name, which SIM cards are unable to do.
  • the method comprises providing for one or more contacts and/or calendar events to be included in an e-mail message addressed to a unique e-mail address.
  • the e-mail message is received at a server associated with the unique e-mail address.
  • the one or more contacts and/or calendar events are extracted from the e-mail message.
  • a wireless device to send the one or more contacts and/or calendar events to is determined by extracting delivery data contained in the e-mail message.
  • One or more messages formatted specifically for the wireless device are generated, wherein the one or more messages contain the one or more contacts and/or calendar events.
  • the server checks if the wireless device is registered with the server; and sends the one or more messages to the wireless device if the wireless device is registered with the server.
  • FIGURE 1 illustrates a block diagram of an exemplary system for transferring contact information to an SMS-enabled wireless device according to one embodiment of the present invention
  • FIGURE 2 illustrates an exemplary computer architecture according to one embodiment of the present invention
  • FIGURE 3 illustrates an SMS-enabled device such as a cellular telephone according to one embodiment of the present invention
  • FIGURE 4 illustrates an exemplary wireless device display for allowing a user to accept contacts, according to one embodiment of the present invention
  • FIGURE 5 illustrates an exemplary graphical user web-interface for allowing a user to login or begin to register with the system according to one embodiment of the present invention
  • FIGURE 6 illustrates an exemplary graphical user web-interface for allowing a user to enter registration information on the system, according to one embodiment of the present invention
  • FIGURE 7 illustrates an exemplary graphical user web-interface for displaying contact information on the system, according to one embodiment of the present invention
  • FIGURE 8 illustrates an exemplary graphical user web-interface for updating contact information on the system, according to one embodiment of the present invention
  • FIGURE 9 illustrates an exemplary graphical user web-interface for entering the phone number and/or e-mail address of a friend, according to one embodiment of the present invention
  • FIGURE 10 illustrates an exemplary graphical user web-interface for displaying incoming contact information on the system, according to one embodiment of the present invention
  • FIGURE 11 illustrates an exemplary graphical user web-interface for displaying business contact information on the system, according to one embodiment of the present invention
  • FIGURE 12 illustrates an exemplary graphical user web-interface for displaying system usage information, according to one embodiment of the present invention
  • FIGURE 13 illustrates an exemplary graphical user web-interface for editing profile information on the system, according to one embodiment of the present invention
  • FIGURE 14 illustrates an exemplary process for sending contacts from the web server to an SMS-enabled wireless device, according to one embodiment of the present invention
  • FIGURE 15 illustrates an exemplary process for sending contacts to additional SMS-enabled wireless devices, according to one embodiment of the present invention
  • FIGURE 16 illustrates an exemplary process for registering an SMS- enabled wireless device with the sytem, according to one embodiment of the present invention
  • FIGURE 17 illustrates an exemplary process for passing messages between an SMS-enabled wireless device and a web server, according to one embodiment of the present invention.
  • FIGURE 18 illustrates an exemplary process for sending contacts via e- mail to a wireless device or web inbox, according to one embodiment of the present invention.
  • the method comprises providing for one or more contacts to be included in an e-mail message addressed to a unique e-mail address.
  • the e-mail message is received at a server associated with the unique e-mail address.
  • the one or more contacts are extracted from the e-mail message.
  • a wireless device, to send the one or more contacts to is determined by extracting delivery data contained in the e-mail message.
  • One or more messages formatted specifically for the wireless device are generated, wherein the one or more messages contain the one or more contacts.
  • the server checks if the wireless device is registered with the server; and sends the one or more messages to the wireless device if the wireless device is registered with the server.
  • the present invention can be implemented by an apparatus for performing the operations herein.
  • This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer, selectively activated or reconfigured by a computer program stored in the computer.
  • a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
  • the methods of the invention may be implemented using computer software. If written in a programming language conforming to a recognized standard, sequences of instructions designed to implement the methods can be compiled for execution on a variety of hardware platforms and for interface to a variety of operating systems.
  • the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
  • a machine-readable medium is understood to include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer).
  • a machine-readable medium includes read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
  • Disclosed herein is a standard mechanism for owners of wireless devices that support vcards to store and retrieve their contact information between a Web site and the wireless device.
  • One emodiment of the present invention is an Internet- or intranet-based service that provides for the sharing of contacts by members who register to use the system; the contacts reside in a database which is dynamically generated based on the user's input.
  • the system operates with a computer using a Windows, Macintosh, UNIX, Linux or other operating system equipped with a standard Web-browser application, or other Web-enabled device, capable of connecting to the Internet and/or a corporate Intranet.
  • the term "friternet” is intended to encompass similar systems and nomenclature (i.e., World Wide Web or "www") comprising the capability to communicate and access information through a network, telephone connections, ISDN connections, DSL connections, cable modem, fiber optic network, etc.
  • the present invention should not be limited in its communication nomenclature; the present invention is applicable to any system that is accessible by means of a Web browser.
  • the system is presented on a Web site, and the Web site provided by the invention is designed to enable users to enter contact information, upload contact information to the user's phone or to another person's phone, share contact information from a user's contact list with other people who may or may not be registered users of the system, view contacts sent to the user by other users, view Business contacts that may be of interest to the user, view usage information of contacts the user has uploaded to her phone, and make changes to the user's profile, such as changing a phone type or phone number.
  • FIGURE 1 illustrates a block diagram of an exemplary system for transferring contact information to an SMS-enabled wireless device.
  • one or more wireless devices 121-129 are in proximity to wireless communication towers such as 101, 105, 111 and 115.
  • Wireless communication towers such as 101, 105, 111, and 115 transmit and receive data to and from wireless devices, which data is respectively received from and transmitted to Service Provider 133.
  • wireless devices 121-129 are these wireless devices, such as, cellular telephones, two-way radios, or two-way pagers (e.g., in which the necessary transaction software is electronic in a microchip).
  • Wireless devices such as global positioning satellite systems may also be carried within wireless devices 121-129, as well as, mobile personal computers and handheld computing devices.
  • the SMS Center 137 processes all SMS messages received from the wireless devices 121-129 and the Web server 161.
  • the wireless device is a cellular telephone with an intelligent browser which communicates digitally over a wireless network to a traffic server using the radio hardware and infrastructure of the cellular service provider (e.g. SprintPCSTM, AT&TTM, etc.).
  • wireless devices may transmit and receive data from web server 161 over a variety of communication networks 171 including (but not limited to) a local area network (LAN) and/or a larger network (e.g., the Internet).
  • LAN local area network
  • Alternative communication channels such as wireless communication via satellite broadcast (not shown) are also contemplated within the scope of the present invention.
  • the wired network side architecture of the present invention can be implemented as a standard telephone connection provided through an Internet service provider to enable data communication on the Internet over a conventional telephone network.
  • This use of the Internet as a distribution network is well known to those of ordinary skill in the art.
  • cable modem capability communication over a conventional cable network is possible in lieu of communication over the telephone network.
  • the cable network is typically much faster (i.e. provides a much greater bandwidth) than the standard telephone network; however, cable modems are typically more expensive than standard POTS (plain old telephone system) modems.
  • POTS plain old telephone system
  • the network 171 is accessed by client 141 using an ISDN modem.
  • the ISDN network is typically faster than the POTS network; however, access to an ISDN network is generally more expensive.
  • Cable modems and ISDN implementations are alternative communications media to the POTS implementation.
  • the wireless architecture of the present invention may be implemented using numerous types of networks.
  • Examples of wireless networks upon within which the present invention may be implemented are Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Cellular Digital Packet Data (CDPD), Integrated Digital Enhanced Network (iDEN), etc.
  • GSM Global System for Mobile Communications
  • CDMA Code Division Multiple Access
  • TDMA Time Division Multiple Access
  • CDPD Cellular Digital Packet Data
  • iDEN Integrated Digital Enhanced Network
  • Web server 161 sends and receives data from wireless devices.
  • Web server 161 is connected to network 171.
  • Wireless system 101 also includes contact information database 131.
  • contact information database 131 stores information for all registered users including their e-mail address, wireless device phone numbers, contact names, and contact phone numbers, contact information database 131 is connected to Web server 161.
  • Web server 161 receives vcard type information from each wireless device.
  • the information may be extracted from the wireless device using Wireless Markup Language (WML), or Hyper Text Markup Language (HTML) calls.
  • WML Wireless Markup Language
  • HTML Hyper Text Markup Language
  • Web server 161 may internally store various types of data. This may include, for example, specific client data (e.g., client account information and client preferences) and/or more general data.
  • the databases of system 101 in one embodiment run an instance of a Relational Database Management System (RDBMS), such as MicrosoftTM SQL-Server, OracleTM or the like.
  • RDBMS Relational Database Management System
  • MicrosoftTM SQL-Server OracleTM
  • FIGURE 1 the data and functionality of database-131 may be combined within a single database, as well.
  • a mobile communication device may interact with and receive feedback from a web server 161 using various different communication devices and/or protocols, for example Wireless Application Protocol (WAP) or SMS.
  • WAP Wireless Application Protocol
  • SMS Short Less
  • a mobile communication device connects to web server 161 via client software.
  • the client software may include a browser application such as a WAP MicroBrowser in a cellular telephone, or Netscape NavigatorTM or Microsoft Internet ExplorerTM on a personal computer which communicates to web server 161 via the Hypertext Transport Protocol (hereinafter "HTTP").
  • HTTP Hypertext Transport Protocol
  • FIGURE 1 and associated hardware may be used in various embodiments of the present invention; however, it maybe appreciated by those of ordinary skill in the art that other configurations of the system may be used within the spirit and scope of the present inventive method and system.
  • FIGURE 2 Having briefly described an exemplary network architecture which employs various elements of the present invention, a computer system 200 representing exemplary clients 141 and/or servers (e.g., web server 161), in which elements of the present invention may be implemented will now be described with reference to FIGURE 2.
  • exemplary clients 141 and/or servers e.g., web server 161
  • Computer system 200 comprises a system bus 220 for communicating information, and a processor 210 coupled to bus 220 for processing information.
  • Computer system 200 further comprises a random access memory (RAM) or other dynamic storage device 225 (referred to herein as main memory), coupled to bus 220 for storing information and instructions to be executed by processor 210.
  • Main memory 225 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 210.
  • Computer system 200 also may include a read only memory (ROM) and/or other static storage device 226 coupled to bus 220 for storing static information and instructions used by processor 210.
  • ROM read only memory
  • a data storage device 227 such as a magnetic disk or optical disc and its corresponding drive may also be coupled to computer system 200 for storing information and instructions.
  • Computer system 200 can also be coupled to a second I/O bus 250 via an I/O interface 230.
  • a plurality of I/O devices may be coupled to I/O bus 250, including a display device 243, an input device (e.g., an alphanumeric input device 242 and/or a cursor control device 241). For example, video news clips and related information may be presented to the user on the display device 243.
  • the communication device 240 is for accessing other computers (servers or clients) via a network 171.
  • the communication device 240 may comprise a modem, a network interface card, or other well-known interface device, such as those used for coupling to Ethernet, token ring, or other types of networks.
  • FIGURE 3 illustrates an exemplary wireless device 300 such as an SMS- enabled cellular telephone according to one embodiment of the present invention.
  • the wireless communication signal travels to and from the cellular telephone 300 via the antenna 310 and the signal is split at duplexer 312.
  • the data is either input by the user on the phone keypad (such as sending a contact via SMS) and relayed via the microcontroller 332, or the data is the user's voice spoken into the audio input microphone 328 on the phone and is encoded from an analog to digital signal by the audio codec 326.
  • the respective data signal is then processed by the DSP 324 and encoded into a radio frequency (RF) signal by the the RF codec 318.
  • the signal then passes through the cellular transmitter 316 to convert from the analog baseband signal to the appropriate cellular RF signal before sending it to the duplexer 312 and transmitting it out the antenna 310.
  • RF radio frequency
  • the incoming signal passes through the antenna 310 to the duplexer 312, which directs the signal to the cellular receiver 314 which converts from the cellular RF signal to the analog baseband signal.
  • the RF codec 318 then decodes the signal and sends it to the DSP 324 which determines if it is data to be processed by the microcontroller 322 (such as a contact received that will be shown on the phone's display) or audio content to be decoded by the audio codec 320 and played through the phone's audio out speaker 322.
  • Additional components in the diagram include the SDRAM/DRAM memory 330, which stores data for use by the DSP and microcontroller only when the phone is powered on.
  • the flash memory 334 contains data which is stored permanently whether the phone is powered on or off, such as contact and user profile information.
  • FIGURE 4 illustrates an exemplary wireless device display for allowing a user to accept contacts, according to one embodiment of the present invention.
  • the example 400 shows a standard cellular phone 410.
  • the display 420 shows a simple query for the user to either add the received contact to the phone's address book or not.
  • the user can add the received contact by pressing the Yes button 430, or can decline to add the contact by pressing the No button 440.
  • FIGURE 5 illustrates an exemplary graphical user web-interface 10 for allowing a user to login or begin to register with the system according to one embodiment of the present invention.
  • the web site's home page screen 10 allows either a visitor to sign-up for the system by selecting the "Sign Up” button 12 or a registered user to log in to the system by entering User Name 14 and Password 16, then selecting the "Log In” button 18. If a registered user has forgotten his password, he can select the "Forgot Your Password” button 20 to be directed to a page where he must enter his mobile phone number to which the system will send an SMS with a new, temporary log in password.
  • FIGURE 6 illustrates an exemplary graphical user web-interface 30 for allowing a user to enter registration information on the system, according to one embodiment of the present invention.
  • a registration page screen 30 which is presented to a visitor to the site who chooses to sign up for the system. The visitor must enter first name 32, last name 34, e-mail address 36, mobile phone number 38, service provider 40, language 42, user name 44, password 46, password confirmation 48 and referral code 50. The visitor then submits the registration information to the server by selecting the "Accept" button 52, or can choose not to sign up by hitting the "Decline” button 54.
  • the user After choosing "Accept", the user is presented with a screen that asks him to type the *#06# key sequence on his phone which causes GSM-based phones to display the phone's serial number on the phone screen. If the system does not recognize the Type Approval Code (TAC) contained within the serial number, or the user is unable to determine the phone type because, for example, she is not using a GSM-based phone, the system requests the user send a vcard to a specific phone number. The system is then able to determine the specific vcard format that is supported by that user's phone. This enables the system to subsequently upload contacts to the user's phone using the correct vcard format so that the user can view the contacts and save them on the phone.
  • TAC Type Approval Code
  • FIGURE 7 illustrates an exemplary graphical user web-interface 60 for displaying contact information on the system, according to one embodiment of the present invention.
  • a new user who has just completed registration is brought directly to a contacts page 60.
  • contact page 60 is the central focus of the system, for this is where - _
  • a user first return each time they log back into the system, and where they enter contact information, upload contact information to their phones, send contacts to their friends and family and navigate to other pages of the Web site.
  • a user adds contacts to the table 72 by entering a name 62 and one or more of the possible phone numbers: mobile 64, business 66, and home 68.
  • the user can either hit the return button on the computer keyboard or select the "Add contact” button 70 to add the just-entered contact to the table.
  • the table 72 displays all contacts that have been entered by the user and transferred from the user's Inbox (FIGURE 10) and indicates which contacts have been uploaded to the phone by displaying the up-arrow indicator 78. Once the table contains some contacts, the user can take several actions using the buttons.
  • the user can click the "Send to Mobile Phone" button 90 to upload contacts to his mobile phone. If the user has not selected any contacts, the system will choose all contacts that have not yet been uploaded to the phone, as indicated by the up- arrow symbol in column 78, to be uploaded. Alternatively, the user can select any of the contacts by clicking on that contact's checkbox 76, or can select all of the contacts by clicking the Check- All button 74. If after selecting all the contacts the user would like to de-select all of the contacts, this is accomplished by again clicking the Check- All button 74.
  • the system sends one or more contacts to the phone, based on how many contacts were selected and how many contacts the phone's vcard buffer can accept.
  • the user is then presented with an updated contacts screen 80 in FIGURE 8.
  • FIGURE 8 illustrates an exemplary graphical user web-interface 80 for updating contact information on the system, according to one embodiment of the present invention
  • contacts screen 80 will have either two or three buttons based on whether or not all the selected contacts could fit in the phone's vcard buffer. If all the contacts fit in the phone's buffer, the user can select the "Return to contacts" button 82 to go back to the full listing of contacts or the "Resend contact” button 86 to have the listed contacts resent if his phone did not receive all of the selected contacts. If all the contacts do not fit in the phone's vcard buffer, the system implements a pacing mechanism so that only as many contacts as can fit in the phone's vcard buffer are sent to the phone at one time.
  • Subsequent contacts from the user's selection are sent only after the user has confirmed acceptance of the first set, then the user can select the "Send Next contact(s)" button 84 to send the next contact(s) to his phone, or the "Resend contact” button 86 if he did not receive all of the first set of the selected contacts on his phone, or the "Cancel” button 88 to cancel further sending of contacts and return to the full listing of contacts.
  • the pacing mechanism is repeated until all of the contacts from the user's initial selection have been sent to the phone, or until the user cancels further sending of contacts.
  • the user can click the "Send to Friend" button 92 in FIGURE 7 to send one or more contacts from his list to another person who may or may not be a user of the system. If the user does not check any of the boxes 76, all the contacts in the list will be sent. The user can select any of the contacts to be sent by clicking on that contact's checkbox 76, or can select all of the contacts by clicking the Check- All button 74. If after selecting all the contacts the user would like to de-select all of the contacts, this is accomplished by again clicking the Check-All button 74. After the user clicks the "Send to Friend" button, the user is presented with a "Send to Friend" screen 100 in FIGURE 9
  • FIGURE 9 illustrates an exemplary graphical user web-interface 100 for entering the phone number and/or e-mail address of a friend, according to one embodiment of the present invention.
  • the "Send to Friend" screen 100 has two buttons and two fields. The user can enter either an e-mail address in the "Send to E-mail" field 106 or a mobile phone number in the "Send to Phone” field 108 or both. If the user enters an e-mail address in field 106 and selects the "Send to Friend" button 102, the system first compares the address with e-mail addresses of registered users of the system.
  • the selected contact(s) are sent to the recipient's Inbox and the system sends an e-mail to the recipient letting her know that she has received contacts in her Inbox from the sender. If it does not match with an existing user, the system sends an e-mail containing the contacts to the recipient's e-mail address letting him know that a user of the system has sent him contacts and that, when he signs up as a user of the system, these contacts will be accessible in his Inbox. If the user enters a phone number in field 108 and selects the "Send to Friend" button, the system first compares the number with phone numbers of registered users of the system.
  • the selected contact(s) are sent to the recipient's contact list and the system uploads the contact(s) to the recipient's phone. If it does not match with an existing user, the system sends an SMS to the recipient's phone number letting him know that a user of the system has sent him contacts and that, when he signs up as a user of the system, these contacts will be accessible in his Inbox. If the user decides not to send contacts to a friend after entering screen 100, he may select the "Cancel" button 104 to return to the full listing of contacts.
  • FIGURE 10 illustrates an exemplary graphical user web-interface 110 for displaying incoming contact information on the system, according to one embodiment of the present invention.
  • An inbox screen 110 has a table 112 that lists contacts that have been sent to the user from other users, such as friends and family members. It is similar to the contacts table 72 in FIGURE 7 but with the additional "From" field 114 that displays the name of the person who sent the contacts.
  • the user has three options for handling the contacts in the Inbox after selecting them as discussed above for FIGURE 7.
  • the user can upload them to his phone by selecting the "Send to Mobile Phone" button 116. Once they have been sent to the phone as discussed above for FIGURE 8, all selected contacts are also added to the user's contact list.
  • the user can instead select the "Add to contacts" button 118 to just transfer the selected contacts from the Inbox to the user's contact list.
  • the user can remove selected contacts from the Inbox list by selecting the "Remove” button 120.
  • FIGURE 11 illustrates an exemplary graphical user web-interface 130 for displaying business contact information on the system, according to one embodiment of the present invention.
  • the table 132 is similar to the Inbox table but instead of multiple fields for phone numbers it provides just the single "Phone” field 136 and includes a new "Location” field 138.
  • the Location field lists the street address, city and state of the business listed in the "Name” field 134. The listings in this screen, as provided by the system, are popular businesses located in the vicinity of the user as determined by the user's phone number.
  • the user can choose the same actions for selected contacts as with the Inbox in FIGURE 10: upload to phone; add to contacts list; or remove.
  • FIGURE 12 illustrates an exemplary graphical user web-interface 140 for displaying system usage information, according to one embodiment of the present invention.
  • Usage screen 140 includes table 142 that displays a log of contact information the user has uploaded to his phone. In addition to the name and phone number(s) that were uploaded, it shows the date and time of the upload in the "Date Sent" field 144 and the number of the phone to which the information was uploaded in the "Send To” field 146.
  • FIGURE 13 illustrates an exemplary graphical user web-interface 160 for editing profile information on the system, according to one embodiment of the present invention.
  • the profile screen 160 allows a user to edit any of the information listed in his profile except the mobile phone type 172. This includes first name 162, last name 164, e-mail address 166, mobile phone number 168, mobile phone serial number 170, service provider 174, language 176, user name 178, password 180 and password confirmation 182.
  • the user then submits the updated profile information to the server by selecting the "Save Changes" button 184.
  • the changes are not saved if the user instead clicks a different button in the system or goes to a new url on the Web.
  • FIGURE 14 illustrates an exemplary process 1400 for sending contacts from the web server to an SMS-enabled wireless device, according to one embodiment of the present invention.
  • the process 1400 starts with the user entering contacts on the web page (box 1410) as described in FIGURE 7. Then the user can either select lor more contacts from the list by clicking the corresponding check boxes (box 1412) and then click the button for the desired action, or can directly click the "Send to Phone” button (box 1414) or the "Send to Friend” button (box 1416). If the user does not select any contacts and chooses to directly select either of the buttons, all contacts are considered chosen. The remainder of the flowchart for the "Send to Friend" option is described below with reference to FIGURE 15.
  • the system checks (box 1418) to see if the number of contacts chosen is greater than the size of the phone's vcard buffer (the variable x is used to represent the size of a phone's vcard buffer). If so, the system sends x contacts to the phone (box 1420) and then displays a screen for the user to indicate if he has received the contacts on his phone (box 1422). If the user responds No, the system will re-send the contacts (box 1420) and then check again to confirm that the user has received them (box 1422). Once the user has received the contacts he can choose to accept them or not on his phone (box 1424).
  • the system decements the original number of contacts selected by x (box 1426) and then checks again (box 1418) to see if the the number of contacts chosen is greater than the size of the phone's vcard buffer. If so, the process above is repeated. If not, the remaining contacts are sent (box 1428). The system again displays a screen for the user to indicate if he has received the contacts on his phone (box 1430). If the user responds No, the system will re-send the contacts (box 1428) and then check again to confirm that the user has received them (box 1430). Once the user has received the contacts he can choose to accept them or not on his phone (box 1432). At this point, all of the selected contacts have been sent from the web to the phone.
  • FIGURE 15 illustrates an exemplary process for sending contacts to additional SMS-enabled wireless devices, according to one embodiment of the present invention.
  • This process 1500 can be continued from FIGURE 14 after the user has selected contacts and then clicked the "Send to Friend" button (box 1510).
  • the system displays a screen for the user to enter an e-mail address and/or a phone number (box 1512); the user can do both.
  • the system first checks (box 1514) to see if that number belongs to a registered user of the system. If not, the system sends an invitation to join the system via an SMS message to that phone number (box 1520). The system then saves the contacts in the contact database, associates them with the specified phone number and marks them as "unregistered" (box 1530). When the recipient signs up for the system using that phone number, the saved contacts are transferred to the recipient's Inbox (box 1532). The system sends an Inbox alert e-mail to the recipient (box 1534) to inform him that he has contacts waiting in his Inbox.
  • the system sends the selected contact(s) to the phone as described for FIGURE 14, boxes 1418 to 1432. After all contacts have been sent, these contacts are added to the recipient's contacts list on the web.
  • box 1522 to see if that e-mail address belongs to a registered user of the system. If not, the system sends the contact list and an invitation to join the system to that e-mail address (box 1528). The system then saves the contacts in the contact database, associates them with the specified e-mail address and marks them as "unregistered" (box 1530). When the recipient signs up for the system using that e-mail address, the saved contacts are transferred to the recipient's Inbox (box 1532). The system sends an Inbox alert e-mail to the recipient (box 1534) to inform him that he has contacts waiting in his Inbox.
  • the system adds the contacts to the recipient's Inbox (box 1524).
  • the system sends an Inbox alert e-mail to the recipient (box 1526) to inform him that the specified contacts are waiting in his Inbox.
  • FIGURE 16 illustrates an exemplary process for registering an SMS- enabled wireless device with the sytem, according to one embodiment of the present invention.
  • the process 1600 allows a new user to sign-up with the system. First, the user clicks the "Sign Up" button on the home page (box 1610). The system displays the registration page (FIGURE 6) where the user enters all the required personal information to register for the system (box 1612). Then the user may click either Accept or Decline (box 1614). If the user chooses Decline, the system returns to the home page (box 1616).
  • the system displays a page requesting the user type *#06# into his phone to get the serial number of the phone. Then the user enters the serial number on a web page (box 1618). If no serial number is displayed (box 1620), the system requests the user to send a vcard to a special phone number that the system monitors (box 1626). Upon receiving a vcard at this number, the system determines the specific type of vcard that was received and associates it with the sending phone number (box 1628). If the user does see a serial number displayed on his phone, he enters it in the appropriate box on the web page (box 1622). The system then uses this serial number to determine the phone make and model (box 1624) and, based on this information, the system can determine the specific type of vcard supported by the user's phone (box 1628).
  • FIGURE 17 illustrates an exemplary process for passing messages between an SMS-enabled wireless device and a web server, according to one embodiment of the present invention.
  • Process 1700 shows the flow of messages between the phone and the server and gives a simplified view of the user's perspective.
  • the system displays the "sending" graphic (box 1712), which for demonstrative purposes is a series of dots moving from left to right and back again until all contacts have been sent from the server.
  • the first action the server takes is to format the vcard(s) containing the contact(s) for the specific user's phone (box 1714).
  • the server next charges the user's account (box 1716) for the specific monetary amount associated with sending the chosen number of contacts (as could be specified in a User Agreement), then sends the vcard(s) to the SMS Center (SMSC) (box 1718), which is a third-party server provided by a network operator for the purpose of sending phone SMS's.
  • SMSC adds this request to its queue of SMS requests (box 1720) and sends an acknowledgement (Ack) to the server (box 1722).
  • the server Upon receiving the Ack, the server updates the status of the user's request to send contacts to his phone to "sent" (box 1724). The system then displays a screen for the user to indicate if he has received the contacts on his phone as shown in box 1422 of FIGURE 14.
  • the SMSC serviced this request from its queue it first checks to see if the phone is powered on (box 1728); if not, it puts the request at the bottom of its queue and continues checking if the phone is powered on. Once it is, the SMSC sends the SMS to the phone (box 1732).
  • FIGURE 18 illustrates an exemplary process for sending contacts via e- mail to a wireless device or web inbox, according to one embodiment of the present invention.
  • a similar process may be used for calendar items, where the term "contact” is replaced by "calendar item” and "vcard” is replaced by “vcalendar”.
  • the process 1800 begins (box 1810) when a user enters contacts in an e-mail message, such as by dragging them from a contact list into the e-mail body (for example using an e-mail application such as MS OutlookTM).
  • the e- mail message arrives at the server (such as web server 161) and the server determines from the destination e-mail address that this is an e-mail containing contacts.
  • the server checks first to see if the source e-mail address belongs to a registered user (box 1812). If not, the server sends an e-mail (box 1814) to the source e-mail address to inform the user (box 1816) how to use the service to send contacts to a wireless device or web inbox.
  • the wireless device can be an SMS-enabled phone or a wireless device capable of receiving messages.
  • the server determines if the contacts are to be sent to a wireless device or web inbox (box 1818).
  • the server can determine this in multiple ways, such as from the user's web profile based on what the user has indicated, or from the destination e-mail address (eg, sendtophone@service.com or sendtoinbox@service.com), or from an indication in the subject or body of the e-mail.
  • the server adds them to the Inbox (box 1828) as described above in connection with FIGURE 10 and then sends an Inbox alert e-mail to the recipient (box 1830) to inform him that the specified contacts are waiting in his Inbox.
  • the server If the contacts are to be sent to the user's phone, the server first gets the phone type from the user's profile (box 1820) and then formats the vcards that will contain the contact information appropriately for the specific wireless device (box 1822). These steps may be performed as described above in connection with FIGURE 16.
  • the server sends the contacts to the phone (box 1824) as described above in connection with FIGURE 14, boxes 1418 to 1432. After all contacts have been sent, these contacts are added to the user's contact list stored on the web server (box 1826).
  • FIG. 18 The foregoing embodiment described in connection with FIGURE 18 is illustrative for an embodiment where the contacts enclosed in the email are stored in a vcard format.
  • the following five formats specify additional exemplary embodiments for specifying contact information within the body of the email.
  • the subject line of the e-mail is ignored.
  • the subject line is also extracted and analyzed to determine if any of the pertinent information below is contained.
  • the first format is as follows:
  • a basic tagged format To: ⁇ phone number, email address or user ID> Name: ⁇ contact name> Home: ⁇ contact's home phone number> Mobile: ⁇ contact's mobile phone number> Work: ⁇ contact's work phone number>
  • the "To:” field is optional - such that if the "To:” field is missing from the text message, the server will automatically send the listed contact(s) to the member's wireless device.
  • the user should enter a value within the "Name” field and at least one phone number within the "phone number” field.
  • the user can enter more than one contact to be sent via email. When more than one contact is sent, the same format is used for the additional name(s) and number(s).
  • the body of the user's e-mail message could be: To: 650-555-2938 Name: John Q Public Home: 212-555-3849 Mobile: 203-555-4839 Work: 415-555-2937
  • the third format is as follows: 3. Simple and multiple. ⁇ contact name> ⁇ number>
  • a user is enabled to easily create a long list of contact names and contact numbers quickly in a single e-mail message for upload to multiple different wireless devicea including his/her own such as, numerous friends' wireless phones.
  • the default procedure is for the server to send the contacts to the unique phone number entered in the "To:” field.
  • the phone number entered in the "phone number” field will be considered to be the contact's mobile number.
  • the body of the user's e-mail message could be: To: 650-555-2938 John Q Public 212-555-3849
  • Another embodiment of the present invention provides the ability for users to send text messages from a wireless device to a unique phone number so that the message is either saved by the service at the user's Web account (and optionally e-mailed to the user's e-mail address) or sent to an email address as specified in the text message.
  • the user sends the text message to a unique phone number that the service receives and processes based on the content of the text message. If the first set of contiguous characters in the text message contain the "@" symbol, the service parses the e-mail address and sends the text following the email address to that address.
  • the service saves the text message in the user's account at the Web site and then checks the user's profile to determine if the user has also indicated that the message should be e-mailed to the user's e-mail address. If this option is indicated, the service sends the text to the user's email address.
  • One embodiment of the invention at a high level is a service providing several new capabilities to people who sign up as members of the system.
  • the system enables a member to send contacts between a Web page and an SMS-enabled phone.
  • the member is able to pace the uploading of contacts to the phone based on the vcard buffer size of the phone.
  • a derivative of the system is the capability of the user to send contacts from the Web page contact list to another person based on the other person's phone number.
  • the system provides contact information of local businesses, which members can selectively upload to an SMS-enabled phone.
  • Another aspect of the invention is the ability to determine the vcard type of a user's phone based on a vcard sent from that phone to the system.
  • the service In addition to the described mechanism to add contacts to the service and upload them to a phone, the service also supports the capability to upload contacts and calendar events to a phone from an e-mail sent by a user.
  • E-mail is the most used application on the internet, so this mechanism provides an easy and ubiquitous method for members to add contacts to their contact list and send contacts and events to their phones. All the user does is send an e-mail with the contacts or events included in one of the supported formats (such as vcards and vcalendars from Microsoft Outlook's Contacts and Calendar listings) to a special address provided by the service (eg, addcontacts@vazu.com).
  • the service provides a mechanism for users to send text messages from a wireless device so that the message is either saved by the service and sent to the user's email address, or sent to a different e-mail address as specified at the beginning of the text message.

Abstract

A method and system for transferring contact information and calendar events (Fig.1, 131) to a wireless device (Fig.1,141) via e-mail (Fig.9) are described. In one embodiment, the method comprises providing for one or more contacts (Fig.10) to be included in an e-mail message (Fig.14,1412) addressed to a unique e-mail address(Fig.15,1522). The e-mail message is received at a server (Fig.1,161) associated with the unique e-mail address. The one or more contacts are extracted from the e-mail message(Fig15,1524). A wireless device to send the one or more contacts to(Fig.1,141) is determined by extracting delivery data contained in the e-mail message(Fig.15,1512). One or more messages formatted specifically for the wireless device are generated(Fig.9), wherein the one or more messages contain the one or more contacts(Fig.10). The server checks if the wireless device is registered with the server(Fig.15,1522); and sends the one or more messages to the wireless device if the wireless device is registered with the server(Fig.15,1524).

Description

METHOD AND SYSTEM FOR TRANSFERRING CONTACT INFORMATION AND CALENDAR EVENTS TO A WIRELESS DEVICE VIA E-MAIL
[0001 ] This application is a continuation-in-part of and claims priority to PCT
Application No. US03/21694, filed on July 11, 2003. Field of the Invention
[0002] The present invention relates to and departs from the conventional practice of a generalized method for transferring contacts and calendar events between a personal computer or other Web-enabled device connected to the internet and a mobile phone. More particularly, the present transfer method provides a simple method to transfer contacts and calendar events to a wireless device using email. Additionally, text messages can be sent from a wireless device to a unique number so that the text message is either saved or sent to an email address.
Background of the Invention [0003] Cell phone usage has reached the point where the majority of people in developed nations own one. Many phones produced today support a format for exchanging contact information known as a vcard (for "virtual business card"). The most common example of how vcards are used is for one person to send his personal contact information from his phone to somebody else's phone either via infrared or through the wireless network. The receiver's phone alerts her that a contact has been received and offers the choice to view, save, or discard the contact.
[0004] When a person sends a vcard through an operator's network, the vcard is transmitted from one phone to the other as a specially coded SMS. A vcard is transmitted as an SMS with a special tag at the beginning that alerts the phone that the SMS should be treated as a vcard. It should be noted that in many cases, the vcard is formatted in a vendor-specific manner, limiting the exchange of vcards only between like make and models of phones.
[0005] Before the vcard is ever sent as a contact to another phone, the contact information must first be saved in the sender's phone. A number of methods exist for storing contacts in phones, the most common of which is to manually key in the name and number using the phone keypad. Because this method is so tedious, it has limited the number of contacts people are willing to store on their phones.
[0006] The present invention offers a method to easily transfer contacts between a Web-based service and an SMS-enabled phone, thru an SMS-enabled network. One of the basic tasks for a cell phone user is to enter frequently dialed numbers into his or her phone via one of the following methods:
[0007] The most commonly used method is to manually key in each name and number via the phone keypad. This is simple for a small number of contacts but becomes very time-consuming and inefficient for any significant number of contacts.
[0008] Another method to enter contacts into a phone is to upload information from a PC via either a serial cable connection, infrared or Bluetooth. Each of these methods requires that the subscriber owns a PC with the appropriate interface and purchases and installs the appropriate software on the PC. This is expensive, complex and is not supported by all phones.
[0009] A newer method for storing contacts in a phone is based on the syncML and GPRS industry standards. This solution works well if the user has a phone that supports both syncML and GPRS, and uses a network operator that offers GPRS services. Currenty, this solution is relatively expensive and available to a small segment of the market.
[0010] GSM phone users can store user-entered contact information on the SIM card in their phone. A user can then transfer all information to another phone simply by transferring the SIM card. Unfortunately, the contacts are lost if the subscriber loses his phone with the SIM card inside. Additionally, the SIM card has a limit of approximately 250 contacts, whereas newer phone models can store many hundreds of contacts, thus the SIM card cannot archive the full contact listing stored in the phone. Finally, many phones have the ability to store multiple phone numbers per name, which SIM cards are unable to do.
Summary Of The Invention [00011] A Method and System for Transferring contact Information and calendar events to a wireless device via e-mail are described. In one embodiment, the method comprises providing for one or more contacts and/or calendar events to be included in an e-mail message addressed to a unique e-mail address. The e-mail message is received at a server associated with the unique e-mail address. The one or more contacts and/or calendar events are extracted from the e-mail message. A wireless device to send the one or more contacts and/or calendar events to is determined by extracting delivery data contained in the e-mail message. One or more messages formatted specifically for the wireless device are generated, wherein the one or more messages contain the one or more contacts and/or calendar events. The server checks if the wireless device is registered with the server; and sends the one or more messages to the wireless device if the wireless device is registered with the server.
Brief Description Of The Drawings [00012] Features and advantages of the present invention will be apparent to one skilled in the art in light of the following detailed description in which:
[00013] FIGURE 1 illustrates a block diagram of an exemplary system for transferring contact information to an SMS-enabled wireless device according to one embodiment of the present invention;
[00014] FIGURE 2 illustrates an exemplary computer architecture according to one embodiment of the present invention;
[00015] FIGURE 3 illustrates an SMS-enabled device such as a cellular telephone according to one embodiment of the present invention;
[00016] FIGURE 4 illustrates an exemplary wireless device display for allowing a user to accept contacts, according to one embodiment of the present invention;
[00017] FIGURE 5 illustrates an exemplary graphical user web-interface for allowing a user to login or begin to register with the system according to one embodiment of the present invention;
[00018] FIGURE 6 illustrates an exemplary graphical user web-interface for allowing a user to enter registration information on the system, according to one embodiment of the present invention;
[00019] FIGURE 7 illustrates an exemplary graphical user web-interface for displaying contact information on the system, according to one embodiment of the present invention;
[00020] FIGURE 8 illustrates an exemplary graphical user web-interface for updating contact information on the system, according to one embodiment of the present invention;
[00021 ] FIGURE 9 illustrates an exemplary graphical user web-interface for entering the phone number and/or e-mail address of a friend, according to one embodiment of the present invention;
[00022] FIGURE 10 illustrates an exemplary graphical user web-interface for displaying incoming contact information on the system, according to one embodiment of the present invention;
[00023] FIGURE 11 illustrates an exemplary graphical user web-interface for displaying business contact information on the system, according to one embodiment of the present invention;
[00024] FIGURE 12 illustrates an exemplary graphical user web-interface for displaying system usage information, according to one embodiment of the present invention;
[00025] FIGURE 13 illustrates an exemplary graphical user web-interface for editing profile information on the system, according to one embodiment of the present invention;
[00026] FIGURE 14 illustrates an exemplary process for sending contacts from the web server to an SMS-enabled wireless device, according to one embodiment of the present invention;
[00027] FIGURE 15 illustrates an exemplary process for sending contacts to additional SMS-enabled wireless devices, according to one embodiment of the present invention; [00028] FIGURE 16 illustrates an exemplary process for registering an SMS- enabled wireless device with the sytem, according to one embodiment of the present invention;
[00029] FIGURE 17 illustrates an exemplary process for passing messages between an SMS-enabled wireless device and a web server, according to one embodiment of the present invention; and
[00030] FIGURE 18 illustrates an exemplary process for sending contacts via e- mail to a wireless device or web inbox, according to one embodiment of the present invention.
Detailed Description [00031 ] A method and system for transferring contact information and calendar events to a wireless device via e-mail are described. In one embodiment, the method comprises providing for one or more contacts to be included in an e-mail message addressed to a unique e-mail address. The e-mail message is received at a server associated with the unique e-mail address. The one or more contacts are extracted from the e-mail message. A wireless device, to send the one or more contacts to, is determined by extracting delivery data contained in the e-mail message. One or more messages formatted specifically for the wireless device are generated, wherein the one or more messages contain the one or more contacts. The server checks if the wireless device is registered with the server; and sends the one or more messages to the wireless device if the wireless device is registered with the server.
[00032] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, and other changes may be made without departing from the scope of the present invention. [00033] Some portions of the detailed descriptions that follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of acts leading to a desired result. The acts are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
[00034] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing" or "computing" or "calculating" or "determining" or "displaying" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
[00035] The present invention can be implemented by an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer, selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
[00036] The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method. For example, any of the methods according to the present invention can be implemented in hard- ired circuitry, by programming a general-purpose processor or by any combination of hardware and software. One of skill in the art will immediately appreciate that the invention can be practiced with computer system configurations other than those described below, including hand-held devices, multiprocessor systems, microprocessor- based or programmable consumer electronics, DSP devices, network PCs, minicomputers, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. The required structure for a variety of these systems will appear from the description below.
[00037] The methods of the invention may be implemented using computer software. If written in a programming language conforming to a recognized standard, sequences of instructions designed to implement the methods can be compiled for execution on a variety of hardware platforms and for interface to a variety of operating systems. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, application...), as taking an action or causing a result. Such expressions are merely a shorthand way of saying that execution of the software by a computer causes the processor of the computer to perform an action or produce a result.
[00038] It is to be understood that various terms and techniques are used by those knowledgeable in the art to describe communications, protocols, applications, implementations, mechanisms, etc. One such technique is the description of an implementation of a technique in terms of an algorithm or mathematical expression. That is, while the technique may be, for example, implemented as executing code on a computer, the expression of that technique may be more aptly and succinctly conveyed and communicated as a formula, algorithm, or mathematical expression. Thus, one skilled in the art would recognize a block denoting A+B=C as an additive function whose implementation in hardware and/or software would take two inputs (A and B) and produce a summation output (C). Thus, the use of formula, algorithm, or mathematical expression as descriptions is to be understood as having a physical embodiment in at least hardware and/or software (such as a computer system in which the techniques of the present invention may be practiced as well as implemented as an embodiment).
[00039] A machine-readable medium is understood to include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium includes read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
[00040] Disclosed herein is a standard mechanism for owners of wireless devices that support vcards to store and retrieve their contact information between a Web site and the wireless device.
[00041] One emodiment of the present invention is an Internet- or intranet-based service that provides for the sharing of contacts by members who register to use the system; the contacts reside in a database which is dynamically generated based on the user's input. The system operates with a computer using a Windows, Macintosh, UNIX, Linux or other operating system equipped with a standard Web-browser application, or other Web-enabled device, capable of connecting to the Internet and/or a corporate Intranet. It should be noted that the term "friternet" is intended to encompass similar systems and nomenclature (i.e., World Wide Web or "www") comprising the capability to communicate and access information through a network, telephone connections, ISDN connections, DSL connections, cable modem, fiber optic network, etc. The present invention should not be limited in its communication nomenclature; the present invention is applicable to any system that is accessible by means of a Web browser.
[00042] In one embodiment, the system is presented on a Web site, and the Web site provided by the invention is designed to enable users to enter contact information, upload contact information to the user's phone or to another person's phone, share contact information from a user's contact list with other people who may or may not be registered users of the system, view contacts sent to the user by other users, view Business contacts that may be of interest to the user, view usage information of contacts the user has uploaded to her phone, and make changes to the user's profile, such as changing a phone type or phone number.
An Exemplary Network Architecture
[00043] FIGURE 1 illustrates a block diagram of an exemplary system for transferring contact information to an SMS-enabled wireless device. According to the embodiment depicted in FIGURE 1, one or more wireless devices 121-129 are in proximity to wireless communication towers such as 101, 105, 111 and 115.
[00044] Wireless communication towers such as 101, 105, 111, and 115 transmit and receive data to and from wireless devices, which data is respectively received from and transmitted to Service Provider 133. Within some or all, wireless devices 121-129 are these wireless devices, such as, cellular telephones, two-way radios, or two-way pagers (e.g., in which the necessary transaction software is electronic in a microchip). Wireless devices such as global positioning satellite systems may also be carried within wireless devices 121-129, as well as, mobile personal computers and handheld computing devices. The SMS Center 137 (SMSC) processes all SMS messages received from the wireless devices 121-129 and the Web server 161. In one embodiment, the wireless device is a cellular telephone with an intelligent browser which communicates digitally over a wireless network to a traffic server using the radio hardware and infrastructure of the cellular service provider (e.g. SprintPCS™, AT&T™, etc.). [00045] hi one embodiment, wireless devices may transmit and receive data from web server 161 over a variety of communication networks 171 including (but not limited to) a local area network (LAN) and/or a larger network (e.g., the Internet). Alternative communication channels such as wireless communication via satellite broadcast (not shown) are also contemplated within the scope of the present invention.
[00046] In general, the wired network side architecture of the present invention can be implemented as a standard telephone connection provided through an Internet service provider to enable data communication on the Internet over a conventional telephone network. This use of the Internet as a distribution network is well known to those of ordinary skill in the art. In an alternate embodiment having cable modem capability, communication over a conventional cable network is possible in lieu of communication over the telephone network. The cable network is typically much faster (i.e. provides a much greater bandwidth) than the standard telephone network; however, cable modems are typically more expensive than standard POTS (plain old telephone system) modems. In another alternate embodiment having conventional Integrated Services Digital Network (ISDN) capability, the network 171 is accessed by client 141 using an ISDN modem. Again, the ISDN network is typically faster than the POTS network; however, access to an ISDN network is generally more expensive. Cable modems and ISDN implementations are alternative communications media to the POTS implementation.
[00047] The wireless architecture of the present invention may be implemented using numerous types of networks. Examples of wireless networks upon within which the present invention may be implemented are Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Cellular Digital Packet Data (CDPD), Integrated Digital Enhanced Network (iDEN), etc.
[00048] Web server 161 sends and receives data from wireless devices. Web server 161 is connected to network 171. Wireless system 101 also includes contact information database 131. contact information database 131 stores information for all registered users including their e-mail address, wireless device phone numbers, contact names, and contact phone numbers, contact information database 131 is connected to Web server 161.
[00049] Web server 161 receives vcard type information from each wireless device. The information may be extracted from the wireless device using Wireless Markup Language (WML), or Hyper Text Markup Language (HTML) calls.
[00050] Web server 161 may internally store various types of data. This may include, for example, specific client data (e.g., client account information and client preferences) and/or more general data. The databases of system 101 in one embodiment run an instance of a Relational Database Management System (RDBMS), such as Microsoft™ SQL-Server, Oracle™ or the like. Although illustrated in FIGURE 1 as separate databases, the data and functionality of database-131 may be combined within a single database, as well.
[00051 ] A mobile communication device may interact with and receive feedback from a web server 161 using various different communication devices and/or protocols, for example Wireless Application Protocol (WAP) or SMS. According to one embodiment, a mobile communication device connects to web server 161 via client software. The client software may include a browser application such as a WAP MicroBrowser in a cellular telephone, or Netscape Navigator™ or Microsoft Internet Explorer™ on a personal computer which communicates to web server 161 via the Hypertext Transport Protocol (hereinafter "HTTP").
[00052] Note that any or all of the components of the system illustrated in
FIGURE 1 and associated hardware may be used in various embodiments of the present invention; however, it maybe appreciated by those of ordinary skill in the art that other configurations of the system may be used within the spirit and scope of the present inventive method and system. AN EXEMPLARY COMPUTER ARCHITECTURE
[00053] Having briefly described an exemplary network architecture which employs various elements of the present invention, a computer system 200 representing exemplary clients 141 and/or servers (e.g., web server 161), in which elements of the present invention may be implemented will now be described with reference to FIGURE 2.
[00054] One embodiment of computer system 200 comprises a system bus 220 for communicating information, and a processor 210 coupled to bus 220 for processing information. Computer system 200 further comprises a random access memory (RAM) or other dynamic storage device 225 (referred to herein as main memory), coupled to bus 220 for storing information and instructions to be executed by processor 210. Main memory 225 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 210. Computer system 200 also may include a read only memory (ROM) and/or other static storage device 226 coupled to bus 220 for storing static information and instructions used by processor 210.
[00055] A data storage device 227 such as a magnetic disk or optical disc and its corresponding drive may also be coupled to computer system 200 for storing information and instructions. Computer system 200 can also be coupled to a second I/O bus 250 via an I/O interface 230. A plurality of I/O devices may be coupled to I/O bus 250, including a display device 243, an input device (e.g., an alphanumeric input device 242 and/or a cursor control device 241). For example, video news clips and related information may be presented to the user on the display device 243.
[00056] The communication device 240 is for accessing other computers (servers or clients) via a network 171. The communication device 240 may comprise a modem, a network interface card, or other well-known interface device, such as those used for coupling to Ethernet, token ring, or other types of networks.
AN EXEMPLARY WIRELESS DEVICE ARCHITECTURE
[00057] FIGURE 3 illustrates an exemplary wireless device 300 such as an SMS- enabled cellular telephone according to one embodiment of the present invention. In the block diagram of wireless device 300, the wireless communication signal travels to and from the cellular telephone 300 via the antenna 310 and the signal is split at duplexer 312. If the cellular telephone is sending a communication, the data is either input by the user on the phone keypad (such as sending a contact via SMS) and relayed via the microcontroller 332, or the data is the user's voice spoken into the audio input microphone 328 on the phone and is encoded from an analog to digital signal by the audio codec 326. The respective data signal is then processed by the DSP 324 and encoded into a radio frequency (RF) signal by the the RF codec 318. The signal then passes through the cellular transmitter 316 to convert from the analog baseband signal to the appropriate cellular RF signal before sending it to the duplexer 312 and transmitting it out the antenna 310.
[00058] When the cellular telephone receives a communication, the incoming signal passes through the antenna 310 to the duplexer 312, which directs the signal to the cellular receiver 314 which converts from the cellular RF signal to the analog baseband signal. The RF codec 318 then decodes the signal and sends it to the DSP 324 which determines if it is data to be processed by the microcontroller 322 (such as a contact received that will be shown on the phone's display) or audio content to be decoded by the audio codec 320 and played through the phone's audio out speaker 322.
[00059] Additional components in the diagram include the SDRAM/DRAM memory 330, which stores data for use by the DSP and microcontroller only when the phone is powered on. The flash memory 334 contains data which is stored permanently whether the phone is powered on or off, such as contact and user profile information.
[00060] FIGURE 4 illustrates an exemplary wireless device display for allowing a user to accept contacts, according to one embodiment of the present invention. The example 400 shows a standard cellular phone 410. The display 420 shows a simple query for the user to either add the received contact to the phone's address book or not. The user can add the received contact by pressing the Yes button 430, or can decline to add the contact by pressing the No button 440. [00061 ] FIGURE 5 illustrates an exemplary graphical user web-interface 10 for allowing a user to login or begin to register with the system according to one embodiment of the present invention. The web site's home page screen 10, such as displayed in FIGURE 5, allows either a visitor to sign-up for the system by selecting the "Sign Up" button 12 or a registered user to log in to the system by entering User Name 14 and Password 16, then selecting the "Log In" button 18. If a registered user has forgotten his password, he can select the "Forgot Your Password" button 20 to be directed to a page where he must enter his mobile phone number to which the system will send an SMS with a new, temporary log in password.
[00062] FIGURE 6 illustrates an exemplary graphical user web-interface 30 for allowing a user to enter registration information on the system, according to one embodiment of the present invention. A registration page screen 30 which is presented to a visitor to the site who chooses to sign up for the system. The visitor must enter first name 32, last name 34, e-mail address 36, mobile phone number 38, service provider 40, language 42, user name 44, password 46, password confirmation 48 and referral code 50. The visitor then submits the registration information to the server by selecting the "Accept" button 52, or can choose not to sign up by hitting the "Decline" button 54. After choosing "Accept", the user is presented with a screen that asks him to type the *#06# key sequence on his phone which causes GSM-based phones to display the phone's serial number on the phone screen. If the system does not recognize the Type Approval Code (TAC) contained within the serial number, or the user is unable to determine the phone type because, for example, she is not using a GSM-based phone, the system requests the user send a vcard to a specific phone number. The system is then able to determine the specific vcard format that is supported by that user's phone. This enables the system to subsequently upload contacts to the user's phone using the correct vcard format so that the user can view the contacts and save them on the phone.
[00063] FIGURE 7 illustrates an exemplary graphical user web-interface 60 for displaying contact information on the system, according to one embodiment of the present invention. A new user who has just completed registration is brought directly to a contacts page 60. contact page 60 is the central focus of the system, for this is where - _
users first return each time they log back into the system, and where they enter contact information, upload contact information to their phones, send contacts to their friends and family and navigate to other pages of the Web site. A user adds contacts to the table 72 by entering a name 62 and one or more of the possible phone numbers: mobile 64, business 66, and home 68. The user can either hit the return button on the computer keyboard or select the "Add contact" button 70 to add the just-entered contact to the table. The table 72 displays all contacts that have been entered by the user and transferred from the user's Inbox (FIGURE 10) and indicates which contacts have been uploaded to the phone by displaying the up-arrow indicator 78. Once the table contains some contacts, the user can take several actions using the buttons.
[00064] The user can click the "Send to Mobile Phone" button 90 to upload contacts to his mobile phone. If the user has not selected any contacts, the system will choose all contacts that have not yet been uploaded to the phone, as indicated by the up- arrow symbol in column 78, to be uploaded. Alternatively, the user can select any of the contacts by clicking on that contact's checkbox 76, or can select all of the contacts by clicking the Check- All button 74. If after selecting all the contacts the user would like to de-select all of the contacts, this is accomplished by again clicking the Check- All button 74. After the user clicks the "Send to Mobile Phone" button, the system sends one or more contacts to the phone, based on how many contacts were selected and how many contacts the phone's vcard buffer can accept. The user is then presented with an updated contacts screen 80 in FIGURE 8.
[00065] FIGURE 8 illustrates an exemplary graphical user web-interface 80 for updating contact information on the system, according to one embodiment of the present invention, contacts screen 80 will have either two or three buttons based on whether or not all the selected contacts could fit in the phone's vcard buffer. If all the contacts fit in the phone's buffer, the user can select the "Return to contacts" button 82 to go back to the full listing of contacts or the "Resend contact" button 86 to have the listed contacts resent if his phone did not receive all of the selected contacts. If all the contacts do not fit in the phone's vcard buffer, the system implements a pacing mechanism so that only as many contacts as can fit in the phone's vcard buffer are sent to the phone at one time. Subsequent contacts from the user's selection are sent only after the user has confirmed acceptance of the first set, then the user can select the "Send Next contact(s)" button 84 to send the next contact(s) to his phone, or the "Resend contact" button 86 if he did not receive all of the first set of the selected contacts on his phone, or the "Cancel" button 88 to cancel further sending of contacts and return to the full listing of contacts. The pacing mechanism is repeated until all of the contacts from the user's initial selection have been sent to the phone, or until the user cancels further sending of contacts.
[00066] The user can click the "Send to Friend" button 92 in FIGURE 7 to send one or more contacts from his list to another person who may or may not be a user of the system. If the user does not check any of the boxes 76, all the contacts in the list will be sent. The user can select any of the contacts to be sent by clicking on that contact's checkbox 76, or can select all of the contacts by clicking the Check- All button 74. If after selecting all the contacts the user would like to de-select all of the contacts, this is accomplished by again clicking the Check-All button 74. After the user clicks the "Send to Friend" button, the user is presented with a "Send to Friend" screen 100 in FIGURE 9
[00067] FIGURE 9 illustrates an exemplary graphical user web-interface 100 for entering the phone number and/or e-mail address of a friend, according to one embodiment of the present invention. The "Send to Friend" screen 100 has two buttons and two fields. The user can enter either an e-mail address in the "Send to E-mail" field 106 or a mobile phone number in the "Send to Phone" field 108 or both. If the user enters an e-mail address in field 106 and selects the "Send to Friend" button 102, the system first compares the address with e-mail addresses of registered users of the system. If it matches with an existing user, the selected contact(s) are sent to the recipient's Inbox and the system sends an e-mail to the recipient letting her know that she has received contacts in her Inbox from the sender. If it does not match with an existing user, the system sends an e-mail containing the contacts to the recipient's e-mail address letting him know that a user of the system has sent him contacts and that, when he signs up as a user of the system, these contacts will be accessible in his Inbox. If the user enters a phone number in field 108 and selects the "Send to Friend" button, the system first compares the number with phone numbers of registered users of the system. If it matches with an existing user, the selected contact(s) are sent to the recipient's contact list and the system uploads the contact(s) to the recipient's phone. If it does not match with an existing user, the system sends an SMS to the recipient's phone number letting him know that a user of the system has sent him contacts and that, when he signs up as a user of the system, these contacts will be accessible in his Inbox. If the user decides not to send contacts to a friend after entering screen 100, he may select the "Cancel" button 104 to return to the full listing of contacts.
[00068] FIGURE 10 illustrates an exemplary graphical user web-interface 110 for displaying incoming contact information on the system, according to one embodiment of the present invention. An inbox screen 110 has a table 112 that lists contacts that have been sent to the user from other users, such as friends and family members. It is similar to the contacts table 72 in FIGURE 7 but with the additional "From" field 114 that displays the name of the person who sent the contacts. The user has three options for handling the contacts in the Inbox after selecting them as discussed above for FIGURE 7. The user can upload them to his phone by selecting the "Send to Mobile Phone" button 116. Once they have been sent to the phone as discussed above for FIGURE 8, all selected contacts are also added to the user's contact list. After selecting the contacts, the user can instead select the "Add to contacts" button 118 to just transfer the selected contacts from the Inbox to the user's contact list. Lastly, the user can remove selected contacts from the Inbox list by selecting the "Remove" button 120.
[00069] FIGURE 11 illustrates an exemplary graphical user web-interface 130 for displaying business contact information on the system, according to one embodiment of the present invention. The table 132 is similar to the Inbox table but instead of multiple fields for phone numbers it provides just the single "Phone" field 136 and includes a new "Location" field 138. The Location field lists the street address, city and state of the business listed in the "Name" field 134. The listings in this screen, as provided by the system, are popular businesses located in the vicinity of the user as determined by the user's phone number. The user can choose the same actions for selected contacts as with the Inbox in FIGURE 10: upload to phone; add to contacts list; or remove. [00070] FIGURE 12 illustrates an exemplary graphical user web-interface 140 for displaying system usage information, according to one embodiment of the present invention. Usage screen 140 includes table 142 that displays a log of contact information the user has uploaded to his phone. In addition to the name and phone number(s) that were uploaded, it shows the date and time of the upload in the "Date Sent" field 144 and the number of the phone to which the information was uploaded in the "Send To" field 146.
[00071] FIGURE 13 illustrates an exemplary graphical user web-interface 160 for editing profile information on the system, according to one embodiment of the present invention. The profile screen 160 allows a user to edit any of the information listed in his profile except the mobile phone type 172. This includes first name 162, last name 164, e-mail address 166, mobile phone number 168, mobile phone serial number 170, service provider 174, language 176, user name 178, password 180 and password confirmation 182. The user then submits the updated profile information to the server by selecting the "Save Changes" button 184. The changes are not saved if the user instead clicks a different button in the system or goes to a new url on the Web.
[00072] FIGURE 14 illustrates an exemplary process 1400 for sending contacts from the web server to an SMS-enabled wireless device, according to one embodiment of the present invention. The process 1400 starts with the user entering contacts on the web page (box 1410) as described in FIGURE 7. Then the user can either select lor more contacts from the list by clicking the corresponding check boxes (box 1412) and then click the button for the desired action, or can directly click the "Send to Phone" button (box 1414) or the "Send to Friend" button (box 1416). If the user does not select any contacts and chooses to directly select either of the buttons, all contacts are considered chosen. The remainder of the flowchart for the "Send to Friend" option is described below with reference to FIGURE 15.
[00073] After selecting "Send to Phone", the system checks (box 1418) to see if the number of contacts chosen is greater than the size of the phone's vcard buffer (the variable x is used to represent the size of a phone's vcard buffer). If so, the system sends x contacts to the phone (box 1420) and then displays a screen for the user to indicate if he has received the contacts on his phone (box 1422). If the user responds No, the system will re-send the contacts (box 1420) and then check again to confirm that the user has received them (box 1422). Once the user has received the contacts he can choose to accept them or not on his phone (box 1424).
[00074] After the user responds Yes that he has received the contacts (box 1422), the system decements the original number of contacts selected by x (box 1426) and then checks again (box 1418) to see if the the number of contacts chosen is greater than the size of the phone's vcard buffer. If so, the process above is repeated. If not, the remaining contacts are sent (box 1428). The system again displays a screen for the user to indicate if he has received the contacts on his phone (box 1430). If the user responds No, the system will re-send the contacts (box 1428) and then check again to confirm that the user has received them (box 1430). Once the user has received the contacts he can choose to accept them or not on his phone (box 1432). At this point, all of the selected contacts have been sent from the web to the phone.
[00075] FIGURE 15 illustrates an exemplary process for sending contacts to additional SMS-enabled wireless devices, according to one embodiment of the present invention. This process 1500 can be continued from FIGURE 14 after the user has selected contacts and then clicked the "Send to Friend" button (box 1510). The system then displays a screen for the user to enter an e-mail address and/or a phone number (box 1512); the user can do both.
[00076] If the user enters a phone number, the system first checks (box 1514) to see if that number belongs to a registered user of the system. If not, the system sends an invitation to join the system via an SMS message to that phone number (box 1520). The system then saves the contacts in the contact database, associates them with the specified phone number and marks them as "unregistered" (box 1530). When the recipient signs up for the system using that phone number, the saved contacts are transferred to the recipient's Inbox (box 1532). The system sends an Inbox alert e-mail to the recipient (box 1534) to inform him that he has contacts waiting in his Inbox. [00077] If the phone number does belong to a registered user of the system, the system sends the selected contact(s) to the phone as described for FIGURE 14, boxes 1418 to 1432. After all contacts have been sent, these contacts are added to the recipient's contacts list on the web.
[00078] If the user enters an e-mail address at step 1512, the system first checks
(box 1522) to see if that e-mail address belongs to a registered user of the system. If not, the system sends the contact list and an invitation to join the system to that e-mail address (box 1528). The system then saves the contacts in the contact database, associates them with the specified e-mail address and marks them as "unregistered" (box 1530). When the recipient signs up for the system using that e-mail address, the saved contacts are transferred to the recipient's Inbox (box 1532). The system sends an Inbox alert e-mail to the recipient (box 1534) to inform him that he has contacts waiting in his Inbox.
[00079] If the e-mail address does belong to a registered user of the system, the system adds the contacts to the recipient's Inbox (box 1524). The system sends an Inbox alert e-mail to the recipient (box 1526) to inform him that the specified contacts are waiting in his Inbox.
[00080] FIGURE 16 illustrates an exemplary process for registering an SMS- enabled wireless device with the sytem, according to one embodiment of the present invention. The process 1600 allows a new user to sign-up with the system. First, the user clicks the "Sign Up" button on the home page (box 1610). The system displays the registration page (FIGURE 6) where the user enters all the required personal information to register for the system (box 1612). Then the user may click either Accept or Decline (box 1614). If the user chooses Decline, the system returns to the home page (box 1616).
[00081] If the user chooses Accept, the system displays a page requesting the user type *#06# into his phone to get the serial number of the phone. Then the user enters the serial number on a web page (box 1618). If no serial number is displayed (box 1620), the system requests the user to send a vcard to a special phone number that the system monitors (box 1626). Upon receiving a vcard at this number, the system determines the specific type of vcard that was received and associates it with the sending phone number (box 1628). If the user does see a serial number displayed on his phone, he enters it in the appropriate box on the web page (box 1622). The system then uses this serial number to determine the phone make and model (box 1624) and, based on this information, the system can determine the specific type of vcard supported by the user's phone (box 1628).
[00082] The system then sends a special verification code to the user's phone (box
1630) and asks the user to enter this code on the web page (box 1632). This is a security step to ensure that the person registering does indeed have the phone associated with the phone number specified on the registration page. Once the system confirms that the verification code submitted by the user matches the one it has sent, the user is "registered".
[00083] FIGURE 17 illustrates an exemplary process for passing messages between an SMS-enabled wireless device and a web server, according to one embodiment of the present invention. Process 1700 shows the flow of messages between the phone and the server and gives a simplified view of the user's perspective. After the user clicks the "Send to Phone" button (box 1710), the system displays the "sending" graphic (box 1712), which for demonstrative purposes is a series of dots moving from left to right and back again until all contacts have been sent from the server.
[00084] At this point, the first action the server takes is to format the vcard(s) containing the contact(s) for the specific user's phone (box 1714). The server next charges the user's account (box 1716) for the specific monetary amount associated with sending the chosen number of contacts (as could be specified in a User Agreement), then sends the vcard(s) to the SMS Center (SMSC) (box 1718), which is a third-party server provided by a network operator for the purpose of sending phone SMS's. The SMSC adds this request to its queue of SMS requests (box 1720) and sends an acknowledgement (Ack) to the server (box 1722). Upon receiving the Ack, the server updates the status of the user's request to send contacts to his phone to "sent" (box 1724). The system then displays a screen for the user to indicate if he has received the contacts on his phone as shown in box 1422 of FIGURE 14.
[00085] When the SMSC serviced this request from its queue, it first checks to see if the phone is powered on (box 1728); if not, it puts the request at the bottom of its queue and continues checking if the phone is powered on. Once it is, the SMSC sends the SMS to the phone (box 1732).
[00086] FIGURE 18 illustrates an exemplary process for sending contacts via e- mail to a wireless device or web inbox, according to one embodiment of the present invention. Although described in connection with contacts, a similar process may be used for calendar items, where the term "contact" is replaced by "calendar item" and "vcard" is replaced by "vcalendar". The process 1800 begins (box 1810) when a user enters contacts in an e-mail message, such as by dragging them from a contact list into the e-mail body (for example using an e-mail application such as MS Outlook™). The e- mail message arrives at the server (such as web server 161) and the server determines from the destination e-mail address that this is an e-mail containing contacts. The server checks first to see if the source e-mail address belongs to a registered user (box 1812). If not, the server sends an e-mail (box 1814) to the source e-mail address to inform the user (box 1816) how to use the service to send contacts to a wireless device or web inbox. The wireless device can be an SMS-enabled phone or a wireless device capable of receiving messages.
[00087] If the e-mail message is sent from an e-mail address registered with the server, the server determines if the contacts are to be sent to a wireless device or web inbox (box 1818). The server can determine this in multiple ways, such as from the user's web profile based on what the user has indicated, or from the destination e-mail address (eg, sendtophone@service.com or sendtoinbox@service.com), or from an indication in the subject or body of the e-mail. If the contacts are to be sent to the Inbox, the server adds them to the Inbox (box 1828) as described above in connection with FIGURE 10 and then sends an Inbox alert e-mail to the recipient (box 1830) to inform him that the specified contacts are waiting in his Inbox.
[00088] If the contacts are to be sent to the user's phone, the server first gets the phone type from the user's profile (box 1820) and then formats the vcards that will contain the contact information appropriately for the specific wireless device (box 1822). These steps may be performed as described above in connection with FIGURE 16. The server sends the contacts to the phone (box 1824) as described above in connection with FIGURE 14, boxes 1418 to 1432. After all contacts have been sent, these contacts are added to the user's contact list stored on the web server (box 1826).
[00089] The foregoing embodiment described in connection with FIGURE 18 is illustrative for an embodiment where the contacts enclosed in the email are stored in a vcard format. The following five formats specify additional exemplary embodiments for specifying contact information within the body of the email. In one embodiment, the subject line of the e-mail is ignored. However, in alternate embodiments, the subject line is also extracted and analyzed to determine if any of the pertinent information below is contained.
[00090] The first format is as follows:
1. A basic tagged format. To: <phone number, email address or user ID> Name: <contact name> Home: <contact's home phone number> Mobile: <contact's mobile phone number> Work: <contact's work phone number>
[00091 ] In one embodiment, the "To:" field is optional - such that if the "To:" field is missing from the text message, the server will automatically send the listed contact(s) to the member's wireless device. In order to avoid receiving an error message, the user should enter a value within the "Name" field and at least one phone number within the "phone number" field. In another embodiment of the basic tagged format, the user can enter more than one contact to be sent via email. When more than one contact is sent, the same format is used for the additional name(s) and number(s). For example, the body of the user's e-mail message could be: To: 650-555-2938 Name: John Q Public Home: 212-555-3849 Mobile: 203-555-4839 Work: 415-555-2937
Name: Jane R Public Home: 390-555-2938 Work: 415-555-2938
[00092] The second format as is follows:
2. Ultra-simple format. <contact name> <phone number>
[00093] Here only one contact name and one phone number is entered. There is no need to enter prefixes, such as "To:" or "Home:." The default procedure is for the server to send the contact to the user's own phone. The phone number entered in the "phone number" field will be considered to be the contact's mobile number. For example, the body of the user's e-mail message could be: John Q. Public 301-555-3049
[00094] The third format is as follows: 3. Simple and multiple. <contact name> <number>
<contact name> <number>
[00095] With this format a user is enabled to easily create a long list of contact names and contact numbers quickly for upload to user's own phone in a single e-mail message. As above, there is no need to enter prefixes, such as "To:" or "Home:." The default procedure is for the server to send the contact to the user's own phone. The phone number entered in the "phone number" field will be considered to be the contact's mobile number. For example, the body of the user's e-mail message could be: John Q Public 212-555-3849
Jane R Public 390-555-2938
[00096] The fourth format is as follows:
4. Simple and Multiple with a Single Destination. To: <number> <contact name> <number>
<contact name> <number> [00097] With this format a user is enabled to easily create a long list of contact names and contact numbers quickly in a single e-mail message for upload to a different wireless device than his/her own such as, a friend's wireless phone. There is one prefix used, the "To:" prefix. The default procedure is for the server to send the contacts to the phone number entered in the "To:" field. As above, the phone number entered in the "phone number" field will be considered to be the contact's mobile number. For example, with this format the body of the user's e-mail message could be: To: 650-555-2938 John Q Public 212-555-3849
Jane R Public 390-555-2938
[00098] The fifth format is as follows:
5. Simple and Multiple with Multiple Destinations. To:<numberl> <contact name> <number>
To:<number2> <contact name> <number>
<contact name> <number>
To:<number3> <contact name> <number> [00099] With this format a user is enabled to easily create a long list of contact names and contact numbers quickly in a single e-mail message for upload to multiple different wireless devicea including his/her own such as, numerous friends' wireless phones. There is one prefix used before each contact name and number, the "To:" prefix. The default procedure is for the server to send the contacts to the unique phone number entered in the "To:" field. As above, the phone number entered in the "phone number" field will be considered to be the contact's mobile number. For example, with this format the body of the user's e-mail message could be: To: 650-555-2938 John Q Public 212-555-3849
To: 650-555-3933 Jane R Public 390-555-2938
[000100] Although only these five formats were provided, numerous additional formats are supported. For example, the same contact information can be sent to numerous wireless devices by entering multiple phone numbers in the "To:" field. Additional combinations, of the use of prefixes in various formats is also contemplated.
[000101] Another embodiment of the present invention provides the ability for users to send text messages from a wireless device to a unique phone number so that the message is either saved by the service at the user's Web account (and optionally e-mailed to the user's e-mail address) or sent to an email address as specified in the text message. The user sends the text message to a unique phone number that the service receives and processes based on the content of the text message. If the first set of contiguous characters in the text message contain the "@" symbol, the service parses the e-mail address and sends the text following the email address to that address. If no email address is specified in the beginning of the text message, the service saves the text message in the user's account at the Web site and then checks the user's profile to determine if the user has also indicated that the message should be e-mailed to the user's e-mail address. If this option is indicated, the service sends the text to the user's email address.
[000102] One embodiment of the invention at a high level is a service providing several new capabilities to people who sign up as members of the system. The system enables a member to send contacts between a Web page and an SMS-enabled phone. The member is able to pace the uploading of contacts to the phone based on the vcard buffer size of the phone. A derivative of the system is the capability of the user to send contacts from the Web page contact list to another person based on the other person's phone number. Additionally, the system provides contact information of local businesses, which members can selectively upload to an SMS-enabled phone. Another aspect of the invention is the ability to determine the vcard type of a user's phone based on a vcard sent from that phone to the system.
[000103] In addition to the described mechanism to add contacts to the service and upload them to a phone, the service also supports the capability to upload contacts and calendar events to a phone from an e-mail sent by a user. E-mail is the most used application on the internet, so this mechanism provides an easy and ubiquitous method for members to add contacts to their contact list and send contacts and events to their phones. All the user does is send an e-mail with the contacts or events included in one of the supported formats (such as vcards and vcalendars from Microsoft Outlook's Contacts and Calendar listings) to a special address provided by the service (eg, addcontacts@vazu.com). Lastly, the service provides a mechanism for users to send text messages from a wireless device so that the message is either saved by the service and sent to the user's email address, or sent to a different e-mail address as specified at the beginning of the text message.
[000104] In the foregoing specification, the invention has been described with reference to specific embodiments. It will, however, be evident that various modifications and changes can be made without departing from the broader spirit and scope of the invention as set forth in the claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims

CLAMS What is claimed is:
1. A method, comprising: providing for one or more contacts to be included in an e-mail message addressed to a unique e-mail address; receiving the e-mail message at a server associated with the unique e-mail address; extracting the one or more contacts from the e-mail message; determining a wireless device to send the one or more contacts to by extracting delivery data contained in the e-mail message; generating one or more messages formatted specifically for the wireless device, wherein the one or more messages contain the one or more contacts; checking if the wireless device is registered with the server; and sending the one or more messages to the wireless device if the wireless device is registered with the server.
2. The method of claim 1, further comprising sending an error message to a user that sent the e-mail message, if the wireless device is not registered with the server.
3. The method of claim 1, further comprising sending an invitation message to the wireless device to register with the server.
4. The method of claim 1, further comprising adding the contacts received in the e-mail to a contact list stored on the server.
5. The method of claim 1, wherein the wireless device is an SMS-enabled wireless device.
6. The method of claim 1, wherein the delivery data includes a phone number, a recipient's e-mail address, a user ID, a sender's e-mail address.
7. The method of claim 6, wherein the delivery data is extracted from a subject section of the e-mail message.
8. The method of claim 6, wherein the delivery data is extracted from the body section of the e-mail message.
9. The method of claim 6, wherein the delivery data is extracted from a v-card tag within the e-mail message.
10. A method, comprising: providing for one or more calendar events to be included in an e-mail message addressed to a unique e-mail address; receiving the e-mail message at a server associated with the unique e-mail address; extracting the one or more calendar events from the e-mail message; determining a wireless device to send the one or more calendar events to by extracting delivery data contained in the e-mail message; generating one or more messages formatted specifically for the wireless device, wherein the one or more messages contain the one or more calendar events; checking if the wireless device is registered with the server; and sending the one or more messages to the wireless device if the wireless device is registered with the server.
11. The method of claim 10, further comprising sending an error message to a user that sent the e-mail message, if the wireless device is not registered with the server.
12. The method of claim 10, further comprising sending an invitation message to the wireless device to register with the server.
13. The method of claim 10, further comprising adding the calendar events received in the e-mail to an events list stored on the server.
14. The method of claim 10, wherein the wireless device is an SMS-enabled wireless device.
15. The method of claim 10, wherein the delivery data includes a phone number, a recipient's e-mail address, a user ID, a sender's e-mail address.
1 . The method of claim 15, wherein the delivery data is extracted from a subject section of the e-mail message.
17. The method of claim 15, wherein the delivery data is extracted from the body section of the e-mail message.
18. The method of claim 15, wherein the delivery data is extracted from a v-card tag within the e-mail message.
19. A method, comprising: providing for a text message to be entered into a wireless device and sent to a unique phone number; receiving the text message at a server; and storing the text message in a user account on the web server associated with the wireless device.
20. The method of claim 19, further comprising: determining an e-mail address to send the text message to from delivery data sent with the text message; and sending the text message to the e-mail address if the wireless device is registered with the server.
21. The method of claim 20, wherein the delivery data includes a phone number of the wireless device and the e-mail address.
22. The method of claim 19, further comprising: sending an error message to the wireless device if the wireless device is not registered with the server.
23. The method of claim 20, further comprising: sending an invitation to the e-mail address, if the e-mail address is not registered with the server.
PCT/US2003/026381 2003-07-11 2003-08-22 Method and system for transferring contact information and calendar events to a wireless device via e-mail WO2005015425A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2003265598A AU2003265598A1 (en) 2003-07-11 2003-08-22 Method and system for transferring contact information and calendar events to a wireless device via e-mail
US10/564,018 US20070276911A1 (en) 2003-07-11 2003-08-22 Method and System for Transferring Contact Information and Calendar Events to a Wireless Device Via E-Mail

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2003/021694 WO2005015423A1 (en) 2003-07-11 2003-07-11 Method and system for transferring contact information to an sms-enabled wireless device
USPCT/US03/21694 2003-07-11

Publications (1)

Publication Number Publication Date
WO2005015425A1 true WO2005015425A1 (en) 2005-02-17

Family

ID=34134595

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/US2003/021694 WO2005015423A1 (en) 2003-07-11 2003-07-11 Method and system for transferring contact information to an sms-enabled wireless device
PCT/US2003/026381 WO2005015425A1 (en) 2003-07-11 2003-08-22 Method and system for transferring contact information and calendar events to a wireless device via e-mail

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/US2003/021694 WO2005015423A1 (en) 2003-07-11 2003-07-11 Method and system for transferring contact information to an sms-enabled wireless device

Country Status (2)

Country Link
AU (2) AU2003249045A1 (en)
WO (2) WO2005015423A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014197115A3 (en) * 2013-06-08 2015-02-19 Apple Inc. Harvesting addresses
US10371526B2 (en) 2013-03-15 2019-08-06 Apple Inc. Warning for frequently traveled trips based on traffic
US10579939B2 (en) 2013-03-15 2020-03-03 Apple Inc. Mobile device with predictive routing engine
US10655979B2 (en) 2013-06-08 2020-05-19 Apple Inc. User interface for displaying predicted destinations

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100450002C (en) * 2006-03-02 2009-01-07 腾讯科技(深圳)有限公司 Method and system for duplicating contacting person
CN100448314C (en) * 2006-08-25 2008-12-31 柳峰 Mobile phone time calibration and method and system for time setting and display in different time zone
CN101883127A (en) 2009-09-01 2010-11-10 联想(北京)有限公司 Method for receiving, checking and forwarding network issued information and electronic equipment thereof

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163274A (en) * 1997-09-04 2000-12-19 Ncr Corporation Remotely updatable PDA
US6430407B1 (en) * 1998-02-25 2002-08-06 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatus, and arrangement for authenticating a user to an application in a first communications network by means of a mobile station communicating with the application through a second communications network
US6526274B1 (en) * 1999-10-25 2003-02-25 Comdial Corporation Method, system, and computer program product for extending the functionality of a personal information manager to telephone system interactions
US6549939B1 (en) * 1999-08-31 2003-04-15 International Business Machines Corporation Proactive calendar notification agent
US6563800B1 (en) * 1999-11-10 2003-05-13 Qualcomm, Inc. Data center for providing subscriber access to data maintained on an enterprise network
US6668167B2 (en) * 2000-01-26 2003-12-23 Mcdowell Mark Method and apparatus for sharing mobile user event information between wireless networks and fixed IP networks
US6668043B2 (en) * 2000-11-16 2003-12-23 Motorola, Inc. Systems and methods for transmitting and receiving text data via a communication device
US6671757B1 (en) * 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125281A (en) * 1997-01-31 2000-09-26 Nokia Mobile Phones Limited Real-time SMS application messaging using an SMSC-linked server
US6424828B1 (en) * 1999-06-03 2002-07-23 Ericsson Inc. Internet server and method for providing access to internet e-mail and internet web pages
US6404884B1 (en) * 1999-10-08 2002-06-11 Grape Technology Group, Inc. Personalized assistance system and method
US6625460B1 (en) * 1999-12-21 2003-09-23 Nokia Corporation Unified messaging protocol using SMS

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163274A (en) * 1997-09-04 2000-12-19 Ncr Corporation Remotely updatable PDA
US6430407B1 (en) * 1998-02-25 2002-08-06 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatus, and arrangement for authenticating a user to an application in a first communications network by means of a mobile station communicating with the application through a second communications network
US6549939B1 (en) * 1999-08-31 2003-04-15 International Business Machines Corporation Proactive calendar notification agent
US6526274B1 (en) * 1999-10-25 2003-02-25 Comdial Corporation Method, system, and computer program product for extending the functionality of a personal information manager to telephone system interactions
US6563800B1 (en) * 1999-11-10 2003-05-13 Qualcomm, Inc. Data center for providing subscriber access to data maintained on an enterprise network
US6668167B2 (en) * 2000-01-26 2003-12-23 Mcdowell Mark Method and apparatus for sharing mobile user event information between wireless networks and fixed IP networks
US6671757B1 (en) * 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US6668043B2 (en) * 2000-11-16 2003-12-23 Motorola, Inc. Systems and methods for transmitting and receiving text data via a communication device

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10371526B2 (en) 2013-03-15 2019-08-06 Apple Inc. Warning for frequently traveled trips based on traffic
US10579939B2 (en) 2013-03-15 2020-03-03 Apple Inc. Mobile device with predictive routing engine
US11506497B2 (en) 2013-03-15 2022-11-22 Apple Inc. Warning for frequently traveled trips based on traffic
US11934961B2 (en) 2013-03-15 2024-03-19 Apple Inc. Mobile device with predictive routing engine
WO2014197115A3 (en) * 2013-06-08 2015-02-19 Apple Inc. Harvesting addresses
US10655979B2 (en) 2013-06-08 2020-05-19 Apple Inc. User interface for displaying predicted destinations
US10677606B2 (en) 2013-06-08 2020-06-09 Apple Inc. Mapping application with turn-by-turn navigation mode for output to vehicle display
US10718627B2 (en) 2013-06-08 2020-07-21 Apple Inc. Mapping application search function
US10769217B2 (en) 2013-06-08 2020-09-08 Apple Inc. Harvesting addresses
US11874128B2 (en) 2013-06-08 2024-01-16 Apple Inc. Mapping application with turn-by-turn navigation mode for output to vehicle display

Also Published As

Publication number Publication date
AU2003249045A1 (en) 2005-02-25
AU2003265598A1 (en) 2005-02-25
WO2005015423A1 (en) 2005-02-17

Similar Documents

Publication Publication Date Title
US20070276911A1 (en) Method and System for Transferring Contact Information and Calendar Events to a Wireless Device Via E-Mail
Le Bodic Mobile messaging technologies and services: SMS, EMS and MMS
CN100505702C (en) System and method for integrating electronic mail accounts
CN101366257B (en) Service chaining
CN101223765B (en) Method and apparatus for acquiring further information about caller using caller ID
US7945479B2 (en) Ordering system and method for pizza and other goods and services using a stateless communication protocol
US8032622B2 (en) System and method for social-networking based presence
US7249160B2 (en) Electronic mail processing system and mail server
US7092998B2 (en) Software architecture for wireless data and method of operation thereof
US7739407B1 (en) Systems for customizing behaviors and interfaces in service invocations
US20040181540A1 (en) System and method for the provision of socially-relevant recommendations
EP1303105A1 (en) A method and system for implementing location aware information access and retrieval in a wireless portal server
US8250168B2 (en) Methods for accessing published contents from a mobile device
JPH11507185A (en) Electronic message communication system via wireless device
US20020061003A1 (en) Method of and system for wireless network access through server platform integration
US8571065B2 (en) Method and apparatus for assigning a virtual address to and text-messaging to multiple text-capable destination entities
KR20050012813A (en) Method and device for generating a mobile homepage in accordance with context related information
US20060235945A1 (en) Software architecture for wireless data and method of operation thereof
WO2005015425A1 (en) Method and system for transferring contact information and calendar events to a wireless device via e-mail
KR100813398B1 (en) Location-based mobile office system and its implementation using portable telecommunication terminal and unified messaging system
EP1953696A1 (en) A communications system
JP4220394B2 (en) Mobile terminal and provider for filling out electronic forms
US20070011244A1 (en) Arrangement for mobile communications and wireless publishing
WO2005060228A1 (en) Method and system for transferring contact information from a web search to a wireless device
JP2005516545A5 (en)

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 03827059.5

Country of ref document: CN

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWE Wipo information: entry into national phase

Ref document number: 10564018

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10564018

Country of ref document: US