1. Field of the Invention
The present invention relates generally to hand-held digital wireless data communication and computing devices of the types generally referred to as hand-held computers, personal digital assistants, cellular telephones, pagers and the like and, more specifically, to the protocols used by such wireless devices for communicating and interacting with remote servers.
2. Description of the Related Art
A distinct category of electronic communication and computing devices increasingly referred to in the art simply as “wireless devices” is coalescing from the previously distinct fields of mobile computing and cellular telephony. The category includes devices commonly referred to as palmtop or hand-held computers, personal digital assistants, organizers, “smart” cellular telephones, pagers, and the like. Cellular and similar mobile telephones and telephone-like devices include computer application program-like functions, such as games, contact managers and e-mail. Personal digital assistants (PDAs) and other computer-like devices can include remote communication functions such as wireless networking for communicating e-mail and data. The convergence of wireless digital communication and mobile computing has given rise to wireless devices with substantial application program-like functionality.
There are presently few standards for wireless devices in the area of application layer protocols used by such wireless (client) devices for communicating with remotely located (server) computers, even though Internet Protocol (IP) may be the standard network layer protocol. For example, a server computer that implements an e-mail service may require that clients, such as the wireless devices described above, communicate with it using the Post Office Protocol (POP), but another server that implements an e-mail service may require that clients communicate with it using Internet Message Access Protocol (IMAP). An application program developer wishing to provide products to both users of POP-based email services and users of IMAP-based e-mail services must develop a separate version of the application for each protocol. Developing and maintaining multiple versions of the same application program to suit different users is inefficient and uneconomical for software developers.
Furthermore, different types of services almost invariably involve different protocols. For example, while a server that implements an e-mail service may require that clients communicate with it using POP, a server that implements a directory service (e.g., a database in which a user can search persons names and addresses) may require that clients communicate with it using the Lightweight Directory Access Protocol (LDAP). As the number of types of application programs commercially available for wireless devices increases, so does the number of protocols a device must handle if it is to run more than one application program. Each time a user installs a new type of application program on his wireless device, the device is required to handle a new application layer protocol. The increase in the total amount of code installed in a device as a result of it handling additional application layer protocols is inefficient and wasteful of memory and other device resources. Because power consumption is a major concern in wireless devices, they typically have limited memory capacity and limited processing power.
One way of implementing some applications is through the use of Wireless Application Protocol (WAP). WAP is a communications protocol and a platform-neutral application environment. It can be built on any operating system, including PALM-OS, EPOC, WINDOWS CE, FLEXOS, OS/9, JAVA-OS, etc. Nevertheless, WAP requires the installation of a WAP Browser on the device, thus occupying a substantial amount of memory. Furthermore, the WAP Browser only works in conjunction with a remote server that executes the application.
It would be desirable to provide a more standardized mechanism for handling application layer protocols in wireless devices that simplifies the tasks of application program developers and is efficient in its use of memory and other device resources. The present invention addresses these problems and deficiencies and others in the manner described below.
The present invention relates to using an intermediate server or system having knowledge of application program protocols used by the application programs in a person's (i.e., user's) wireless device to translate information communicated with the device in accordance with a transport-level protocol and the same information communicated with a remote server or system that services the application program in use by that person.
By using the intermediate server to directly speak native protocols, such users of wireless devices can subscribe to various electronic services, such as Internet e-mail and World Wide Web access, without their wireless devices having to support the individual application-level protocols required for communication with the server-side portion of the application programs used to access the services. Rather, each user's wireless device supports only a straightforward transport-level protocol that allows the client-side portion of each application program in the device to communicate with the intermediate server. The intermediate server has pre-stored on it in database format or other suitable format information identifying each user's wireless device and the application programs (i.e., client-side portions thereof) it contains, as well as information describing the application-level protocol that the server-side portion of each such application program requires for communication. When the intermediate server receives a message from a wireless device relating to one of its application programs, it looks up in the database the user (or the user's wireless device) and the user's service provider for the application program. The database entry reveals the application-level protocol that is required. The intermediate server then uses that protocol to communicate to the service provider's server further information it receives from the device relating to that application program.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings illustrate one or more embodiments of the invention and, together with the written description, serve to explain the principles of the invention. Wherever possible, the same reference numbers are used throughout the drawings to refer to the same or like elements of an embodiment, and wherein:
As illustrated in
The software system in each device 10 formats information that is output by application programs into messages 16 having a format generally of the type illustrated in
Each message that the software system generates has a header 18 and a body 20 (The representation of messages 16 in
As illustrated in
The wireless network interface in device 10 then transmits the packets via network 14. A base station of network 14 receives the packets, which are then forwarded to intermediate system 12 in the conventional manner.
Intermediate system 12 includes a server and associated hardware and software or other suitable processing system. Intermediate system 12 further includes a server configuration file or database 22 and a user configuration file or database 24.
Server configuration file 22 includes not only the conventional types of data used by server computers to perform general tasks but also a protocol database. The protocol database describes various application-level protocols and identifies the application programs with which they are associated. For example, it can describe the POP3 protocol associated with the YAHOO mail service with which computers and similar devices operated by subscribers to that service must communicate with YAHOO's mail server. Other application program services provided by YAHOO or other companies may use other protocols, such as IMAP. Such protocols are well-known in the art and are therefore not described in this patent specification.
As illustrated in
Referring again to
Remote e-mail server 28 can respond to the query by transmitting information to intermediate system 12 via the Internet that identifies e-mail messages addressed to the user logged into device 10. In the reverse manner from that described above, intermediate system 12 formats that information into messages having a format like the exemplary message 32 shown in
Intermediate system 12 transmits message 32 or other message, such as one representing a retrieved e-mail message, to device 10 via network 14 in accordance with the HTTP or other protocol recognized by network 14 and wireless device 10. In the reverse manner from that described above, the native operating software of wireless device 10 decodes the received HTTP packets and parses the resulting text of message 32 or other message. The results, such as the list of e-mails from which the user can select one to retrieve and view, are then displayed for the user. (See
As described above,
A feature of the invention is that device 10 can be used to create, delete or change the user's list or configuration block in user configuration database 24. For example, a user can access a “Setup” function (not shown) in device 10 to change user settings. In response, as illustrated in
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the scope or spirit of the invention. Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
This application is a continuation of U.S. patent application Ser. No. 09/872,485, filed May 31, 2001, now U.S. Pat. No. 7,020,457, which is hereby incorporated by reference in it entirety.
Number | Name | Date | Kind |
---|---|---|---|
5029183 | Tymes | Jul 1991 | A |
5084877 | Netravali et al. | Jan 1992 | A |
5222061 | Doshi et al. | Jun 1993 | A |
5327554 | Palazzi, III et al. | Jul 1994 | A |
5444718 | Ejzak et al. | Aug 1995 | A |
5465401 | Thompson | Nov 1995 | A |
5546382 | Fujino | Aug 1996 | A |
5564070 | Want et al. | Oct 1996 | A |
5598534 | Haas | Jan 1997 | A |
5664091 | Keen | Sep 1997 | A |
5673322 | Pepe et al. | Sep 1997 | A |
5790536 | Mahany et al. | Aug 1998 | A |
5809415 | Rossmann | Sep 1998 | A |
5831664 | Wharton et al. | Nov 1998 | A |
5842210 | Chen et al. | Nov 1998 | A |
6014429 | LaPorta et al. | Jan 2000 | A |
6076113 | Ramanathan et al. | Jun 2000 | A |
6112323 | Meizlik et al. | Aug 2000 | A |
6144848 | Walsh et al. | Nov 2000 | A |
6167253 | Farris et al. | Dec 2000 | A |
6202008 | Beckert et al. | Mar 2001 | B1 |
6289362 | Van der Meer | Sep 2001 | B1 |
6298039 | Buskens et al. | Oct 2001 | B1 |
6362836 | Shaw et al. | Mar 2002 | B1 |
6397259 | Lincke et al. | May 2002 | B1 |
6442251 | Maes et al. | Aug 2002 | B1 |
6529729 | Nodoushani et al. | Mar 2003 | B1 |
6580916 | Weisshaar | Jun 2003 | B1 |
6610105 | Martin et al. | Aug 2003 | B1 |
6628965 | LaRosa et al. | Sep 2003 | B1 |
6658654 | Berry et al. | Dec 2003 | B1 |
6681110 | Crookham | Jan 2004 | B1 |
6856605 | Larghi et al. | Feb 2005 | B1 |
6859462 | Mahony et al. | Feb 2005 | B1 |
6937588 | Park | Aug 2005 | B2 |
6941148 | Hansmann et al. | Sep 2005 | B2 |
7020457 | Poor et al. | Mar 2006 | B2 |
7076784 | Russell et al. | Jul 2006 | B1 |
20020001295 | Park | Jan 2002 | A1 |
20020152244 | Dean et al. | Oct 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
20050165933 A1 | Jul 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09872485 | May 2001 | US |
Child | 11073147 | US |