METHOD AND SYSTEM FOR TRANSFERRING CONTACT INFORMATION FROM A WEB SEARCH TO A WIRELESS DEVICE
RELATED APPLICATIONS
[0001] The present application is related to, claims the priority benefit of and incorporates by reference in its entirety U.S. Provisional Application 60/530,019, filed 15 December 2003.
FIELD OF THE IN ENTION
[0002] The present invention relates to and departs from the conventional practice of a generalized method for transferring contact information obtained from a web search. More particularly, the present transfer method provides a simple method to automatically transfer business or residential contact information obtained from a web search to a wireless device, a web-based list and/or a standard email application contact list. Additionally, a business method is presented to enable users to benefit from this capability for little or no charge and for businesses to sponsor the service while gaining mind share with users and potential customers.
BACKGROUND
[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. Additionally, many standard email applications, such as Micorosft Outlook, Microsoft Outlook Express and Apple Mail, support the sending and receiving of contact information via vcards. They enable users to select contacts from within the application to send to other people as vcards as well as to receive contacts sent from others as vcards and then save them in the application's contact list.
[0004] When a person sends a vcard through an cellular phone 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. This solution offers another possible embodiment of the present invention.
[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
[0011] A Method and System for Transferring contact Information obtained from a web search to a wireless device, a web-based list and/or a standard email application contact list are described.
In one embodiment, the method comprises providing for business or residential contact information to be obtained by the user entering a name and location on a simple web page. The server uses publicly available data to search for a match and returns a successful result, if found, to the user. The user can then click on a button to send the contact information to any of the following: a wireless device, a web-based list of contacts maintained by the service, and/or a standard email application contact list.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] 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:
[0013] FIGURE 1 illustrates a block diagram of an exemplary system for transferring contact information to*an SMS-enabled wireless device, web-based contact list and email-based contact list according to one embodiment of the present invention;
[0014] FIGURE 2 illustrates an exemplary computer architecture according to one embodiment of the present invention;
[0015] FIGURE 3 illustrates an SMS-enabled device such as a cellular telephone according to one embodiment of the present invention;
[0016] FIGURE 4 illustrates an exemplary wireless device display for allowing a user to accept contacts, according to one embodiment of the present invention;
[0017] FIGURE 5 illustrates an exemplary graphical user web-interface for allowing a user to enter a business or residential name and location and, if a desired result is returned, transfer the contact information of the result to a wireless device, a web-based list and/or a standard email application contact list according to one embodiment of the present invention;
[0018] FIGURE 6 illustrates an exemplary graphical user web-interface for allowing a user to enter and edit preference information on the system, according to one embodiment of the present invention;
[0019] FIGURE 7 illustrates an exemplary process for transferring contact information from a web search to a wireless device, a web-based list and/or a standard email application, according to one embodiment of the present invention;
DETAILED DESCRIPTION
[0020] A method and system for transferring contact information obtained from a web search to a wireless device, a web-based list and/or a standard email application contact list are described. In one embodiment, the method comprises providing for a business or residential name and location to be entered into a web search query form. The search query is received at a server that finds any appropriate matches to the query data entered by the user and returns the resulting contact information to the user via an updated web page. The user can then click a button or link next to the displayed search result to transfer the contact information to a wireless device, a web-based list and or a standard email application contact list based on the preferences set by the user. If the user has never set the preferences, he will be directed to do so upon clicking the button or link.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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-wired 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.
[0026] 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.
[0027] 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, algoritlim, 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).
[0028] 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.
[0029] 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.
[0030] 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 "Internet" 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.
[0031] hi 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 a business or residential name and location, initiate a search for contact information, view the resulting information found in the search, and click a link or button to transfer the information to the user's wireless device, web-based list of contacts, and/or email-based contact list.
[0032] FIGURE 1 illustrates a block diagram of an exemplary system for transferring contact information obtained from a web search to a wireless device, a web-based list and/or a standard email application contact list. 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.
[0033] 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. hi 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. Cingular™, AT&T™, etc.).
[0034] In 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.
[0035] 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, hi 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.
[0036] 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.
[0037] Web server 161 sends data to and receives data from wireless devices and standard internet web browser and e-mail clients, such as client 141. Web server 161 is connected to network 171. Wireless system 101 also includes publicly available business and residential contact information database 131. Contact information database 131 also stores information for all users who have set preferences includingwireless device phone numbers, cellular service providers, wireless device makes and models, e-mail addresses, and the destination preference set by the user. The destination preference can be a wireless device, a web-based list or a standard email application contact list (e.g. Microsoft Outlook Contacts, Apple Address Book, etc.). Contact information database 131 is connected to Web server 161.
[0038] 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.
[0039] 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.
[0040] 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").
[0041] 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 may be 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.
[0042] 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.
[0043] 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.
[0044] 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 170 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.
[0045] 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.
[0046] FIGURE 3 illustrates an exemplary wireless device 300 such as an SMS-enabled cellular telephone according to one embodiment of the present invention, hi 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 10.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] FIGURE 5 illustrates an exemplary graphical user web-interface 500 for allowing a user to enter a business or residential name and location and, if a desired result is returned, transfer the contact information of the result to a wireless device, a web-based list and/or a standard email application contact list according to one embodiment of the present invention. A user enters the business or residential name in Name 510 and the city and state, or the zip code, of the location for the business or residence in 520 and then hits the "Get Number" button 535 to submit the search request. The data entered by the user is transferred to the service's servers and a search is initiated to detemine if the entered name and address match a listing from the database of publicly available business and residential listings. If not, a brief message, such as "Search request not found", is displayed to the user on an updated web page. If so, the relevant data is displayed to the user 550 via an updated web page along with a link 560 and/or button 540. If the user clicks the link 560 or the button 540, and if the user has previously set his preferences, the contact information from the relevant data is sent to the user's phone, web-based list or standard email application contact list, as indicated in the user's preferences. If the user has not previously set his preferences, such as by clicking the Preferences link 530, then by clicking the link 560 or button 540 the user is presented with the Prefernces Page in FIGURE 6.
[0051] FIGURE 6 illustrates an exemplary graphical user web-interface 600 for allowing a user to enter and edit preference information on the system, according to one embodiment of the present invention. This is where the user sets specific information so that the system can send contact information obtained from a web search to his wireless device, web-based list and/or email application. If the user would like to transfer contact information to a wireless device upon clicking link 560 or button 540 in FIGURE 5, he must select the Phone check-box 610. The service needs to know the phone number for the device and may need to know the phone make and model as well as the country and service provider of the particular phone number. The user can choose the country where his wireless device is registered using the Country pull-down box 612. Then the cellular service providers in the chosen country will be listed under the Service Provider pull-down box 614 and the user can choose the appropriate provider. The user can enter one or more phone numbers in
Phone Number 620, with the displayed entry being the destination the system will use to send contact information to the wireless device. If the user wishes to change the phone number, the user can click on the down arrow in 620 either to select another phone number previously entered and saved by the user or to enter a new number by selecting New. The user can set the make of his wireless device using the Phone Make pull-down box 622. The user can set the model of his wireless device using the Phone Model pull-down box 624.
[0052] If the user would like to transfer contact information obtained from a web search to a web-based list of contacts upon clicking link 560 or button 540 in FIGURE 5, he must select the Web check-box 630. The service will then add the contact information to the user's web-based list of contacts.
[0053] If the user would like to transfer contact information obtained from a web search to a standard email application contact list upon clicking link 560 or button 540 in FIGURE 5, he must select the Email check-box 640 and enter the desired email destination address in pull-down box 644. The user can enter one or more email addresses in box 644, with the displayed entry being the destination the system will use to send contact information to the user's email. If the user wishes to change the email destination address, the user can click on the down arrow in 644 either to select another email address previously entered and saved by the user or to enter a new email address by selecting New. If the user wishes to cancel any of the actions or changes he has made on the Preferences Page, he can click the Cancel button 650 and the system will return to the display of the Search Page without making any updates to the user's preference settings. Otherwise, once the user has chosen all desired settings in the Preferences Page, he can click the Save button 652 and the system will save his preference settings and return to the display of the Search Page.
[0054] FIGURE 7 illustrates an exemplary process 700 for transferring contact information from a web search to a wireless device, a web-based list and/or a standard email application, according to one embodiment of the present invention. In this illustration, all actions are carried out by the server unless the written explanation begins with " User " (boxes 710 and 718). The process 700 starts with the user entering a search query on the web page (box 710) as described in FIGURE 5. Upon clicking the Search button, the user's request is sent to the server, which checks to see if the name and location entered by the user results in a search match. If no match is found, the server updates the web page with a message, such as " search request not found " (box 714). If the server does find a search match, it updates the web page with the result along with a button or link (box
716) which enables the user to add the contact information to the user's chosen destination(s), as indicated in the preference settings described in FIGURE 6.
[0055] The user will click the button or link (box 718) if the user wishes to transfer the displayed contact information. The seiver then first checks if the user has set any of the preferences (box 720). If not, the server will update the web page with a message, such as " set preferences first " (box 722). If the user has set one or more of the preferences to transfer contacts, the server will check each one and carry out the appropriate action. If the user preference is set to send contacts to the user's phone (box 724), the server will send the contact (box 726). If the user preference is set to send contacts to the user's web-based contact list (box 730), the server will add the contact to the list (box 732) by, for example, adding the information to a database maintained by the server and accessible by the user. If the user preference is set to send contacts to the user's email (box 734), the server will send the contact as a vcard to the user's email address (box 738) and then update the web page with a message, such as "contact info sent". The user will then receive the email containing the contact information in the user's email application and, if that application has a contact list that accepts vcards, the user will be able to easily add the contact to that list.
[0056] hi 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.