# Patent

## Title
Wireless device address book updates

## Abstract

A system for maintaining an address book, wherein the address book includes a plurality of entries with each entry containing contact information and wherein address book updates are transmitted over a wireless network. The system includes a gateway for storing the address book and transmitting the address book updates to a wireless device.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
The instant application is a continuation of, and claims priority to, U.S. patent application Ser. No. 12/175,263, filed Jul. 17, 2008. U.S. patent application Ser. No. 12/175,263 is a divisional application of U.S. patent application Ser. No. 10/098,697, filed Mar. 15, 2002, which issued on Apr. 7, 2009, with U.S. Pat. No. 7,516,163. U.S. patent application Ser. No. 10/098,697 claims the benefit of U.S. provisional patent application No. 60/341,093, filed Dec. 13, 2001. U.S. patent application Ser. No. 12/175,263 is incorporated herein by reference in its entirety. U.S. patent application Ser. No. 10/098,697 is incorporated herein by reference in its entirety. U.S. Pat. No. 7,516,163 is incorporated herein by reference in its entirety. U.S. patent application Ser. No. 10/098,697 is incorporated herein by reference in its entirety. U.S. provisional patent application No. 60/341,093 is incorporated herein by reference in its entirety.


BACKGROUND
This Invention relates to address book updates and, in particular, to receiving address book updates over an interactive wireless communications network.
Email has become an important part of everyday life as user require a fast and efficient means of communicating. Email allows the distribution of a message to a broad group of people almost instantly. Electronic address books, which contain the users' email addresses and/or other relevant contact information, are becoming equally as important. Though different email or messaging application may have different configurations, address books are typically stored in a designated directory located on the computer or messaging device which sends and receives the email.
Currently, as user of a wireless device may lose valuable time and effort if the contact information stored in a user's address book is lost or corrupted due to the wireless device failing or being defective. In certain instances, a user may be unable to access or import a prior address book when switching to a new device or different messaging application. Additionally, a user may wish to update an address book or receive a new address book on the wireless device without having to place in a cradle or physically connect the wireless device to a computer with maintains an up-to-date address book.
SUMMARY OF THE INVENTION
In general, in one aspect, the invention features a system for maintaining an address book, wherein the address book includes a plurality of entries with each entry containing contact information and wherein address book updates are transmitted over a wireless network. The system includes a gateway for storing the address book and transmitting the address book updates to a wireless device.
In general, in another aspect, the invention features a method of maintaining an address book on a wireless gateway, wherein the address book includes a plurality of entries with each entry containing contact information. The address book is created on the wireless gateway, the address book is modified, and address book updates are transmitted to a wireless device over a wireless network.
In general, in another aspect, the invention features a method of transmitting address book updates over a wireless network. An address book located on a wireless gateway is modified, wherein the address book includes a plurality of entries with each entry containing contact information, and the address book updates are transmitted to a wireless device over the wireless network.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic drawing of the components of an interactive wireless communications system used for maintaining an address book according to an embodiment of the present invention; and
FIG. 2 is a flow diagram showing a method of maintaining an address book over a wireless network according to an embodiment of the present invention.



DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
It is to be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant for a clear understanding of the present invention while eliminating, for purposes of clarity, other elements. For example, certain network details and aspects of certain messaging applications are not described herein. Those of ordinary skill in the art will recognize, however, that these and other elements may be desirable in a typical communications network. A discussion of such elements is not provided because such elements are well known in the art and because they do not facilitate a better understanding of the present invention.
The present invention allows a user to maintain an address book on a wireless gateway using a wireless device or via the Internet. The user can send address book updates to the device via the gateway. A specially-configured gateway is used to control the distribution of the address book updates among all messaging applications and wireless devices that communicate with the gateway. The invention can be used, for example, for maintaining address books for a large group of users and for archiving an address book so that the address book is available to a replacement wireless device if a wireless device is exchanged because of a device defect or failure.
The present invention allows for a centralized address book to be located on a gateway for a group of users. One person may be the administrator of the address books for the group. The administrator can update the address books via, for example, a web interface. Users in the group can then receive wireless “over the air” updates to his or her address book on, for example, a periodic basis.
FIG. 1 shows the components of an interactive wireless communications system 100 used for maintaining an address book on a wireless gateway according to an embodiment of the present invention. The system 100 includes a wireless device 2, a wireless communication network 5, and a wireless gateway 10. An intermediate network 15, such as the Internet, may additionally be used. A wireless device 2 communicates with a wireless communication network 5 using an over-the-air protocol such as HP98 or the Blackberry protocol developed by Research in Motion Limited (RIM).
Wireless device 2 may be any wireless digital processor capable of accessing the Internet such as, for example, a mobile telephone, a personal digital assistant, or a pager such as those sold by RIM. A wireless communications network 5 may use, for example, Mobitex® technology of the Cingular Interactive Intelligent Wireless Network service provided by Cingular Wireless. The Mobitex® network is a two-way wireless data service that can be connected with other complimentary networks. A wireless data service such as the Mobitex® network includes a hierarchy of communications systems that can provide nationwide wireless service through a network of base stations and local switches under the control of higher order regional switches or exchanges.
Gateway 10 processes data received from wireless device 2 or Internet 15 for use in wireless communication network 5. The components of gateway 10 may be connected over an internal network 12, 14, 16, which may be a local area network (LAN). One or more wireless network exchanges such as Mobitex® regional switches 20, 22, which may reside at separate locations, communicate with gateway 10 through Nrouters 30, 32. The communication between regional switches 20, 22 and Nrouters 30, 32 may use, for example, an X.25 protocol. The communications received by Nrouters 30, 32 are processed by a series of protocol handlers 40, 42. Nrouters 30, 32 communicate with protocol handlers 40, 42 over internal network 12 using, for example, X-sockets. Such sockets are point-to-point, two-way software communications interfaces that direct the protocol handlers to access the internal network by creating a communications end-point or socket and returning a file descriptor with which to access that socket. Gateway 10 carries out protocol conversions between Wireless Application Protocol (WAP) and the Internet communication protocols (e.g. HTTP, TCP/IP). The underlying protocol for packaging and decoding messages sent by wireless device 2 and received by gateway 10 may be Simple Mail Transport Protocol (SMTP). The gateway 10 also performs content encoding, such as encoding of Wireless Markup Language (WML) into binary format and compilation of WMLScripts. Gateway 10 may reside within the wireless carrier's network but may also reside within a corporate business environment.
The protocols handled by protocol handlers 40, 42, specify that message storage and internal email access may be handled by the UNIX standard Network File System (NFS) distributed file system from SUNSOFT, which allows data to be shared across the network regardless of the protocol. Each protocol handler maintains a database cache, i.e., a small, fast memory holding recently accessed data, to speed up internal network communications and to limit database access requests over the LAN.
Protocol handlers 40, 42 process information contained in user database machines, e.g., user database 50, user database backup (not shown), message store 52 and message store backup (not shown). The protocol machines communicate with the database machines over internal network 14 using, for example, X-sockets. ‘he database machines contain an interface to content addressable memory (CAM) (not shown) for updating information, e.g., user account information and status. Multiple backup machines maybe used in gateway 10, each being synchronized automatically by sockets communications.
The results of protocols processed by protocol handlers 40, 42 using data from the user database machines are communicated externally to gateway 10 via network 16. An Internet mail router 60 and Internet mail router backup (not shown) connected to internal network 16 handle inbound and outbound communications traffic with an external network such as the Internet 15, as well as X-sockets traffic. If necessary, a separate X-sockets machine and backup machine (not shown) may be added.
The gateway may be configured from a standard Santa Cruz Operation (SCO) UNIX system, with the web access program being Windows NT by Microsoft. The computer language used by the gateway components may be any suitable computer language, such as, for example, Java, Perl, C, or C++ programming language. The software implementing all or a portion of the methods disclosed herein may be stored on any type of suitable computer-readable medium such as, for example, an optical or magnetic storage medium.
A user database 50 in the gateway may be configured with -a directory structure. Every user account stored in the user database has a unique identifier such as a Mobitex® Access Number. Each user account with the unique identifier may correspond to a subdirectory in the user database. The gateway may access profile information, such as user preferences, for the user stored in the user database. The gateway also uses information in the user database to ensure that the user is a valid subscriber to the wireless service, to verify that the user is authorized to access certain areas of the gateway, and to maintain billing information based on usage. The gateway performs the important function of managing the amount of data flow in the internal network and the volume of communications traffic over the wireless network, which has a limited bandwidth and which handles limited size data packets.
Gateway 10 as configured in such a wireless communications system 100 includes an address book for the user of wireless interactive device 2, e.g., in user database 50. The address book includes a plurality of entries with each entry containing contact information such as name, email address, phone number, and/or other necessary attribute information. The user may modify the address book on the gateway using an external. network, such as the Internet, or the wireless device. For example, a user may change an existing address book entry, delete an existing address book entry, or add a new address book entry. The user may designate a user or group of users with different levels of access to the address book, e.g., the user or group of users may have access to modify the address book, access to view the address book, access to receive-the address book or address book updates, and access to request the address book or address book updates be sent to a wireless device. For example, the user may make the address book on the gateway a personal address book and limit the address book access to just the user. Alternatively, the user may make the address book accessible to a group of users, e.g., a global or centralized address book. The user may allow only a user or a limited number of users to modify the global address book, e.g., a system administrator.
In operation, the gateway verifies whether the user has access to the address book and is authorized to modify the address book. The gateway then stores the modified contact information in the address book and handles the communications and transmission protocols to send the address book or address book update over the wireless network to the designated wireless device or devices. The gateway verifies each user's status, e.g., authorized or not authorized to receive an updated address book, based on information about each user in the user database. The gateway then determines the user's wireless device type and messaging application being used. The gateway is programmed to handle a variety of protocols for different wireless devices and different messaging applications.
The address book or address book update may be sent to the wireless device at any user-defined time such as, for example, on a periodic basis, at a request, or after modifications to the address book. When an update is being sent to a wireless device, the gateway must first determine if the user's wireless device is “on air” or capable of receiving information. If the wireless device is capable of receiving information, the gateway sends or downloads the user's updated address book to the wireless device. If the wireless device is unable to receive information, e.g., the wireless device is turned off, not activated, or outside the service range of the wireless network, the gateway may defer the download or may cancel the download. If the download is deferred, the gateway may attempt to retransmit the information at any later user-defined time e.g., attempt to resend on a periodic basis or resend when the wireless device is detected as being capable of receiving information. The address book updates may be saved or imported into any Internet-compatible email application such as Microsoft Outlook, Netscape Messenger, or Qualcomm's Eudora.
FIG. 2 shows a method 200 of maintaining an address book over a wireless network according to an embodiment of the present invention. The user creates an address book on the gateway (step 210) using an external network or a wireless device in communication with the wireless network. The user may designate a user or group of users with different levels of access to the address book. When a user attempts to access and modify the address book, the gateway verifies that the user is authorized (step 220). The gateway may verify the user's identity by a number of methods such as, for example, requesting a password, identifying the wireless device being used to communicate with the gateway and accessing the user database to verify the user's identity, or a combination of both. If the user is authorized, the gateway allows the user to save the modified address book onto the gateway (step 230). If not, the gateway denies the user access to modify the address book.
At any user-defined time, the address book or address book update is sent from the gateway to the wireless device. For example, the user may designate that the update be sent on a periodic basis, such as every day or every week. The user may permit the downloading of the address book at a request, such as a request by any authorized user, by a system administrator, or by the gateway. The user may specify that the address book be sent out after any modifications to the address book are saved. The user may request the gateway to compare an address book on a wireless device or devices with the address book stored on the gateway and update if there is a difference. The comparison may be run on a periodic basis, at a request, or when a wireless device is detected on the wireless network. Before sending or downloading, the gateway verifies that the user is authorized to receive the address book or address book updates (step 240). If the user is authorized, the gateway permits the downloading of the address book or address book updates. If not, the gateway denies the user the information.
Before the gateway transmits information to a wireless device, the gateway must first determine if the user's wireless device is capable of receiving information (step 250). If the wireless device is capable of receiving messages, the gateway proceeds with sending the address book or address book updates to the wireless device (step 260). If the wireless device is unable to receive messages, the gateway verifies whether the attempt to download is to be deferred or not (step 270). The subsequent download or download attempts may then occur at any user-defined time, such as on a periodic basis, at a request, or when the wireless device is detected on the wireless network. The user may also stipulate that an attempt to reseed only occurs for a designated number of tries or length of time before the download is not to be deferred. If the download is not to be deferred, the gateway will cancel the download (step 280).
The address book features of the present invention are performed and controlled by the gateway. Such gateway functions are accessible by the Internet or an interactive wireless device, and do not rely on the operation of any Internet application or client application in the wireless device itself Thus, these features may be entirely user-initiated and user-controlled. The present invention also allows a user of a wireless device to have access to and receive information from an address book without being physically connected to a computer or network where the information is being stored.
It is to be understood that the above-described embodiments are simply illustrative of the principles of the invention. Various and other modifications, alterations, and variations may be made by those skilled in the art which will embody the principles of the invention and fall within the spirit and scope of the appended claims.

## Claims

1. A method comprising:
allowing, by a gateway, an authorized network device to modify an address book residing on the gateway of a wireless network;
allowing the address book, as modified, to be saved on the gateway;
comparing a local address book on the network device with the address book stored on the gateway;
determining, based on at least one of a type of the network device and an application of the network device, a protocol to communicate with the network device; and
if the local address book differs from the address book stored on the gateway, providing, by the gateway, an update to the network device using the protocol,
wherein the update is based on a difference between the local address book and the address book; and
wherein the application is an email application and providing the portion of the address book to the network device comprises formatting the portion to enable the email application to import the portion.

2. The method of claim 1, further comprising:
if the local address book differs from the address book stored on the gateway, prior to providing the update to the network device, determining if the network device is capable of receiving the update.

3. The method of claim 2, further comprising:
if the network device is not capable, deferring providing the update.

4. The method of claim 1, wherein each user of a plurality of users is allowed a different level of access to the address book.

5. The method of claim 1, wherein each user of a plurality of users is allowed a different level of modification of the address book.

6. The method of claim 1, wherein the update comprises an updated portion of the address book.

7. The method of claim 1, wherein allowing the network device to modify the address book comprises determining that the network device is authorized to modify the address book.

8. An apparatus comprising:
a processor; and
memory, coupled to the processor, the memory comprising executable instructions that when executed by processor cause the processor to effectuate operations comprising:
if the attempt to access the address book is authorized:
allowing an authorized network device to modify an address book residing on a gateway of a wireless network;
allowing the address book, as modified, to be saved on the gateway;
comparing a local address book on the network device with the address book stored on the gateway;
determining, based on at least one of a type of the network device and an application of the network device, a protocol to communicate with the network device; and
if the local address book differs from the address book stored on the gateway, providing an update to the network device using the protocol,
wherein the update is based on a difference between the local address book and the address book; and
wherein the application is an email application and providing the portion of the address book to the network device comprises formatting the portion to enable the email application to import the portion.

9. The apparatus of claim 8, the operations further comprising:
if the local address book differs from the address book stored on the gateway, prior to providing the update, determining if the network device is capable of receiving the update.

10. The apparatus of claim 9, the operations further comprising:
if it is determined that the network device is not capable, deferring providing the update.

11. The apparatus of claim 8, wherein each user of a plurality of users is allowed a different level of access to the address book.

12. The apparatus of claim 8, wherein each user of a plurality of users is allowed a different level of modification of the address book.

13. The apparatus of claim 8, wherein the update comprises an updated portion of the address book.

14. A processor-readable storage medium that is not a propagating signal, the processor-readable storage medium comprising executable instructions that when executed by a processor, cause the processor to effectuate operations comprising:
allowing an authorized network device to modify an address book residing on a gateway of a wireless network;
allowing the address book, as modified, to be saved on the gateway;
comparing a local address book on the network device with the address book stored on the gateway;
determining, based on at least one of a type of the network device and an application of the network device, a protocol to communicate with the network device; and
if the local address book differs from the address book stored on the gateway, providing an update to the network device using the protocol,
wherein the update is based on a difference between the local address book and the address book; and
wherein the application is an email application and providing the portion of the address book to the network device comprises formatting the portion to enable the email application to import the portion.

15. The processor-readable storage medium of claim 14, further comprising:
if the local address book differs from the address book stored on the gateway, prior to providing the update, determining if the network device is capable of receiving the update.

16. The processor-readable storage medium of claim 15, further comprising:
if the network device is not capable, deferring providing the update.

17. The processor-readable storage medium of claim 14, wherein:
each user of a plurality of users is allowed a different level of access to the address book; and
each user of the plurality of users is allowed a different level of modification of the address book.

18. The processor-readable storage medium of claim 14, wherein the update comprises an updated portion of the address book.

19. The processor-readable storage medium of claim 14, wherein providing the portion of the address book to the network device comprises:
determining an email application type on the network device; and
using a format associated with the email application to provide the update to the network device.