MESSAGING SYSTEM AND METHOD

Abstract: The present invention provides a method and system for seamlessly sending messages from a sender device (300) to a messaging device (215). According to one embodiment of the invention, a Web site is provided that allows a sender to easily and quickly send a message to a messaging device (215) such as a cellular telephone or personal data assistant. A messaging server (400) is provided to process, format and send the sender's message by applying a set of rules depending on the message and its destination.

Description: MESSAGING SYSTEM AND METHOD Field of the Invention This invention generally relates to sending messages between devices, and more specifically, a method for seamlessly sending messages over an internetwork to messaging devices such as text pagers or cellular telephones. Background of the Invention Communication networks are well known in the computer communications field. By definition, a network is a group of computers and associated devices that are connected by communications facilities or links. Network communications can be of a permanent nature, such as via cables, or can be of a temporary nature, such as connections made through telephone or radio links. Networks may vary in size, from a local area network (LAN) consisting of a few computers or workstations and related devices; to a wide area network (WAN) which interconnects computers and LANs that are geographically dispersed; to a remote access service (RAS) which interconnects remote computers via temporary communication links. An internetwork, in turn, is the joining of multiple computer networks, both similar and dissimilar, by means of gateways or routers that facilitate data transfer and conversion from various networks. A well-known abbreviation for the term internetwork is "internet." As currently understood, the capitalized term "Internet" refers to the collection of networks and routers that use the Internet Protocol (IP) along with higher level protocols such as the Transmission Control Protocol/Internet Protocol (TCP/IP) or the Uniform Datagram Packet/Internet Protocol (UDP/IP) to communicate with one another. The Internet has recently seen explosive growth by virtue of its ability to link computers located throughout the world. As the Internet has grown, so has the World Wide Web (WWW or Web). The Web is a vast collection of interconnected or "hypertext" documents written in HyperText Markup Language (HTML) that are electronically stored at "Web sites" throughout the Internet. A Web site is a server connected to the Internet that has mass storage facilities for storing hypertext documents and that runs administrative software for handling requests for those stored hypertext documents. A hypertext document normally includes a number of hyperlinks, i.e., highlighted portions of text which link the document to another hypertext document possibly stored at a Web site elsewhere on the Internet. Each hyperlink is associated with a Uniform Resource Locator (URL) that provides the exact location of the linked document on a server connected to the Internet and describes the document. Thus, whenever a hypertext document is retrieved from any Web server, the document is considered to be retrieved from the Web. A user is allowed to retrieve hypertext documents from the Web, i.e., a user is allowed to "surf the Web," via a Web browser. A Web browser, such as NETSCAPE NAVIGATOR® or MICROSOFT® Internet Explorer, is a software program implemented by a Web client, i.e., the user's computer, to provide a graphical user interface (GUI) to the Web. Upon request from the user via the Web browser, the Web client accesses and retrieves the desired hypertext document from the appropriate Web server using the URL for the document and a protocol known as HyperText Transfer Protocol (HTTP). HTTP is a higher-level protocol than TCP/IP and is designed specifically for the requirements of the Web. It is used on top of TCP/IP to transfer hypertext documents between servers and clients. Along with the growth of the Web, the Internet has seen a large increase in the messages sent from users of the Internet to each other. Although most messages are text messages, as technology progresses, messages become more complex and include more than mere text. It is quite common for messages to now include images, sound and even full motion movies or animations. Still, the most common form of sending messages between users is through electronic mail (e-mail). One common form of e-mail uses the Simple Message Transfer Protocol (SMTP) to send text messages from a mail client to a mail server. A typical e-mail message is comprised of a "header" and a "body." The header usually contains at least whom the e-mail is "From", who is it "To" and a "Subject" line. The body of the e-mail then contains the text of the message the sender wishes to transmit. The recipient of the e-mail retrieves their messages by accessing a mail server using their mail client. Although a number of methods are used to retrieve mail from a mail server, one common method is to use the Post Office Protocol (POP). Accordingly, some mail servers are also known as POP servers. At the advent of the Web, the information stored on the Internet was generally static in nature and if one wanted to change the information provided on Web sites it was necessary to manually configure the Web site by rewriting the HTML code of the Web site. However, at the present stage of development on the Web, many Web sites provide dynamic content that changes depending on a user's interaction between the Web browser on the user's computer and the Web site. At the same time as this recent surge in the use of the Internet, a number of messaging systems have been developed for wireless devices. Two of the best known systems are the Short Message System (SMS) and the Wireless Application Protocol (WAP). As those skilled in the art are aware, SMS is a messaging protocol most commonly used with cellular telephones for sending short text messages. On the other hand, WAP is used not only for text messages, but for sending both raw text and formatted information as well. In particular, a number of devices currently available use "microbrowsers," such as the phone.com™ UP.link microbrowser, to surf the Web. However, these microbrowsers have a hard time displaying typical Web pages meant for large computer screens, on the small screens of handheld devices. To solve this, new markup languages have been developed specifically for these microbrowsers. Two common markup languages meant for handheld devices are the Handheld Device Markup Language (HDML) and the Wireless Markup Language (WML). The improvements in the messaging capabilities of wireless devices are steadily bringing the Internet into the wireless world and vice versa. Still, there is a divide between the messaging systems of the wireless world and the messaging systems available on the Internet. Accordingly, a more effective and streamlined method and system for sending messages between devices is needed. The method and system should provide a sender with the capability to easily and quickly send a message to another user without having to know whether that user is connected to the Internet, a cellular phone network, a wireless communications network or some other communications network altogether. Summary of the Invention The present invention solves the above-described problems by providing a method and system for seamlessly sending messages between devices. According to one actual embodiment of the invention, a Web site is provided that allows a sender to easily and quickly send a message to a messaging device such as a cellular telephone. A messaging server is provided to process, format and send the sender's message by applying a set of rules depending on the message and its destination. Specifically, the sender enters information for sending a message from a device connected to the Internet; the information is processed by a messaging server located elsewhere on the Internet . If the messaging server is unable to find the target address, it notifies the sender device. Otherwise, the messaging server proceeds with sending the message and notifies the sender device that the message has been sent. In another actual embodiment of the present invention, the a sender device has may automatically send messages to a designated messaging device upon the triggering of a particular event, such as a time and date, or a traffic accident on the particular route, or the fluctuation in a stock price. In yet another actual embodiment of the present invention, the sender first provides the type of recipient and the messaging server then instructs the sender on the information needed to send the message. In accordance with yet other aspects of the invention, a method, a system and a computer-readable medium containing instructions for sending messages are also provided. Brief Description of the Drawings The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein: FIGURE 1 (Prior Art) is an illustration of a representative portion of an internetwork such as the Internet; FIGURE 2 is a pictorial diagram of a number of devices connected to an internetwork which allows a sender device also connected to the internetwork to send a message to a messaging device; FIGURE 3 is a block diagram illustrating several of the components of a sender device; FIGURE 4 is a block diagram illustrating several of the components of a messaging server; FIGURES 5-7 are exemplary Web pages illustrating sending a message to a wireless telephone or pager device; FIGURE 8 illustrates an exemplary messaging device; FIGURE 9 is a diagram illustrating the actions taken by a sender device, a message server, a hardware gateway, an alternate message network and one or more messaging devices to send a message in accordance with the present invention; FIGURE 10 is a flow chart illustrating processing a message for a wireless telephone or pager device; FIGURE 11 is an overview flow diagram illustrating receiving a message at the message server and sending it to a messaging device; and FIGURE 12 is an exemplary excerpt of a set of rules for processing, formatting and sending a message. Detailed Description of the Preferred Embodiment As previously explained, the capitalized term "Internet" refers to the collection of networks and routers that use the Internet Protocol (IP) to communicate with one another. A representative section of the Internet 100 is shown in FIGURE 1 (Prior Art) in which a plurality of local area networks (LANs) 110 and a wide area network (WAN) 140 are interconnected by routers 120. The routers 120 are generally special purpose computers used to interface one LAN or WAN to another. Communication links within the LANs may be twisted wire pair, or coaxial cable, while communication links between networks may utilize 56 Kbps analog telephone lines, or 1 Mbps digital T-l lines and/or 45 Mbps T-3 lines. Further computers and other related electronic devices can be remotely connected to either the LANs 110 or the WAN 140 via a modem and temporary telephone link. Such computers and electronic devices 130 are shown in FIGURE 1 as connected to one of the LANs 110 via dotted lines. It will be appreciated that the Internet comprises a vast number of such interconnected networks, computers and routers and that only a small, representative section of the Internet 100 is shown in FIGURE 1. The World Wide Web (Web), on the other hand, is a vast collection of interconnected, electronically stored information located on servers connected throughout the Internet 100. Many companies are now providing services and access to their content over the Internet 100 using the Web. In accordance with the present invention and as shown in FIGURE 2, a sender enters information for sending a message over the Internet 100 via a Web browser 360 installed on a sender device 300. More specifically, the sender enters information for sending a message from a device 300 connected to the Internet 100; the information is processed by a messaging server 400 located elsewhere on the Internet 100. If the messaging server 400 is unable to find the target address, it notifies the sender device 300. Otherwise, the messaging server 400 proceeds with sending the message and notifies the sender device 300 that the message has been sent. A system 200 of computers and devices to which the messaging server 400 is connected and to which the sender device 300 is also connected is shown in more detail in FIGURE 2. In addition to the sender device 300 and the messaging server 400, the system 200 includes a hardware gateway 205 used to format messages to pass through an alternate message network 210. Alternate message networks are general well known in the art. One such conventional alternate message network would be the wireless phone service network set up for cellular phone services, however the present invention is capable of utilizing any alternate message network capable of communicating between a message server 400 or hardware gateway 205 and the included messaging devices 215. These messaging devices 215 are connected via the Internet 100 or an alternate messaging network 210 to either the message server 400 or the hardware gateway 205. Although in one embodiment these messaging devices 215 are wireless devices such as pagers and cellular telephones, those of ordinary skill in the art will appreciate that these devices could be landline telephones, facsimile machines, personal data assistants (PDAs), portable computers, personal computers or any other type of messaging device 215 capable of receiving messages from a sender device 300. Additionally, those of ordinary skill in the art will appreciate that in other embodiments of the present invention, the capabilities of the hardware gateway 205, and the messaging server 400 may all be embodied in the messaging server 400. Consequently, it would be appreciated that in these embodiments, the hardware gateway 205 would be unnecessary. Moreover, those of ordinary skill in the art will recognize that while only one sender device 300, one messaging server 400, one hardware gateway 205 and one alternate message network 210 are depicted in FIGURE 2, numerous sender devices 300, messaging servers 400, hardware gateways 205 and alternate message networks 210 may be interconnected to operate in accordance with the present invention. FIGURE 3 depicts several of the key components of an exemplary sender device 300. Those of ordinary skill in the art will appreciate that the sender device 300 may include many more components then those shown in FIGURE 3. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment for practicing the present invention. As shown in FIGURE 3, the sender device 300 includes a network interface 330 for connecting to the Internet 100. Those of ordinary skill in the art will appreciate that the network interface 330 includes the necessary circuitry for such a connection, and is also constructed for use with the TCP/IP protocol. The sender device 300 also includes a processing unit 310, a display 340, and a memory 350 all interconnected along with the network interface 330 via a bus 320. The memory 350 generally comprises a random access memory (RAM), a read-only memory (ROM) and a permanent mass storage device, such as a disk drive. The memory 350 stores the program code necessary for entering and transmitting a message over the Internet 100 in accordance with the present invention. More specifically, the memory 350 stores a Web browser 360, such as NETSCAPE NAVIGATOR, MICROSOFT Internet Explorer or the phone.com UP.link microbrowser, used in accordance with the present invention for depicting a message over the Internet 100. In addition, memory 350 also stores an operating system 355. It will be appreciated that these software components may be stored on a computer-readable medium and loaded into memory 350 of the sender device 300 using a drive mechanism associated with the computer-readable medium, such as a floppy, tape or DVD/CD-ROM drive. Although an exemplary sender device has been described that generally conforms to a conventional general purpose computing device, those of ordinary skill in the art will appreciate that a sender device may be any of a great number of devices capable of communicating with the Internet 100 or with the messaging server 400. For example, an exemplary list of possible sender devices might include two-way pagers, a cellular phones or a personal data assistants. FIGURE 4 depicts several of the key components of the messaging server 400. Those of ordinary skill in the art will appreciate that the messaging server 400 includes many more components then those shown in FIGURE 4. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment for practicing the present invention. As shown in FIGURE 4, the messaging server 400 is connected to the Internet 100 via a network interface 430. Those of ordinary skill in the art will appreciate that the network interface 430 includes the necessary circuitry for connecting the messaging server 400 to the Internet 100, and is constructed for use with the TCP/IP protocol. The messaging server 400 also includes a processing unit 410, a display 440, and a mass memory 450 all interconnected along with the network interface 430 via a bus 420. The mass memory 450 generally comprises a random access memory (RAM), read-only memory (ROM), and a permanent mass storage device, such as a hard disk drive, tape drive, optical drive, floppy disk drive, or combination thereof. The mass memory 450 stores the program code and data necessary for receiving, processing, formatting and sending messages, as well as, supplying the results of that processing to senders in accordance with the present invention. More specifically, the mass memory 450 stores a main messaging program 1000 and a messaging proxy and exchange program (KMP/X) 1100 formed in accordance with the present invention for receiving, processing, formatting and sending messages. In addition, mass memory 450 stores a provider database 470 of provider information used by the messaging server 400 process and format messages. It will be appreciated by those of ordinary skill in the art that the provider database 470 may also be stored on other servers or storage devices connected to either the messaging server 400 or the Internet 100. Finally, mass memory 450 stores Web server software 460 for handling requests for stored information received via the Internet 100 and the Web, and an operating system 455. It will be appreciated that the aforementioned software components may be stored on a computer-readable medium and loaded into mass memory 450 of the messaging server 400 using a drive mechanism associated with the computer-readable medium, such as floppy, tape or DVD/CD-ROM drive. Many sender devices, such as sender device 300, are generally provided with a Web browser such as MICROSOFT Internet Explorer or NETSCAPE NAVIGATOR or the phone.com™ UP.link microbrowser to provide the senders with a user interface to the Internet 100 and the Web. FIGURE 5 illustrates a Web page 500 displayed by a Web browser 360 installed on the sender device 300 from which the sender enters destination information 510, origination information 520 and the body 530 of a message and submits the message to the messaging server 400. In another actual embodiment of the present invention, the sender device may automatically send messages to a designated messaging device upon the triggering of a particular event, such as a time and date, or a traffic accident on the particular route, or the fluctuation in a stock price. It will be appreciated by those skilled in the art, that the destination information and origination information may be a phone number, e-mail address, URL, telex address, pager number or any combination thereof including any other form of destination or origination information capable of designating a sending device 300 or a messaging device 215. It will also be appreciated that more information may be provided that is provided in exemplary Web page 500. For example, in an alternative embodiment, there may be a field for specifying the carrier company of the messaging device 215, or there may be a field for designating the type of messaging device 215. Once the sender has finalized their message, and sent it to the messaging server, the messaging server 400 processes the destination information to determine if the destination is capable of receiving a message from the sending device. Accordingly, the messaging server 400 returns either a confirmation 600 shown in FIGURE 6 that the message was sent or a notification that the message was not sent 700 as shown in FIGURE 7. If the messaging device can receive the message, then the messaging server 400 will, in accordance with the present invention and as described in more detail below, process, format and send the message to the messaging device 215, which in turn displays the origination 520 and body 530 of the message successfully sent from the sender device, as shown in FIGURE 8 on an exemplary messaging device. FIGURE 9 illustrates the actions taken by the sender device 300, the message server 400, the hardware gateway 205, and the messaging device 215 to send and display a message sent from the sender device 300 to the messaging device 215. The interactions of the various actions are illustrated and described in greater detail later with reference to the diagrams shown in FIGURES 10 and 11. Returning to FIGURE 9, the process of sending a message is initiated when a sender sends a message and header 905 via the Internet using the Web browser 360 installed on the sender device 300. The sender may. send a message directly from a Web site located on the message server 400 or indirectly from client such as the sender device 300 connected to the messaging server 400. Once the message and header 905 is received by the message server 400, the message server 400 processes and formats 910 the message and header such that it is ready to be sent 915 to the hardware gateway 205. After the message and header have been successfully sent to the hardware gateway 205, the message server 400 notifies 920 the sender device 300 that the message was sent. Meanwhile hardware gateway 205 receives the Preformatted message and header and determines which messaging device 215 will receive the message and header 930. The hardware gateway 205 then sends 930 the message and header to the appropriate messaging device 215 for display 935. It will be appreciated by those of ordinary skill in the art that the order of the operations in FIGURE 9 may be altered without substantially affecting the operation of the present invention. For example, the sender may be notified that the message was sent after the message was received by the hardware gateway 205, or after the message was received by the messaging device 215. 00/76155 _ 10 . PCT/TJSOO/15704 FIGURE 10 is a flow chart illustrating the logic implemented by an exemplary messaging routine 1000 residing on the message server 400 to process the sender's message. The logic begins in block 1001 and proceeds to block 1005, where the message generated by a sender via a Web page such as that shown in FIGURE 5, and sent from the sender device is received. In an alternative embodiment, rather than generate a message directly, the sender may configure the sender device 300 beforehand such that a message will be generated and sent to the message server 400 upon the occurrence of some predetermined event such as a particular date or time, the weather conditions, a traffic accident on a particular route or the fluctuations of a particular stock price. Once the event occurs then the predetermined message is triggered and sent to the messaging device. Next, at block 1010, routine 1000 determines if the destination messaging device 215 is capable of receiving a message, in this embodiment by determining if the destination information is a mobile phone number. In other embodiments the block 1010 may check if a device is capable or receiving an e-mail message, a URL or even a file. In the illustrated embodiment, if the destination information is a mobile phone number, then the messaging device 215 will be capable of receiving the message being sent. Accordingly, at block 1015, routine 1000 examines the determination made in block 1010. If the messaging device 215 does not have a mobile number, i.e., if it is incapable of receiving a message, then routine 1000 proceeds to a block 1098 and returns a failure to the sender device 300 as such as in exemplary Web page 700. Otherwise, if the messaging device 215 does have a mobile phone number, and thus, is capable of receiving a message, processing continues from block 1015 to block 1020. At block 1020 routine 1000 examines the destination information, e.g., the mobile phone number, and uses it to determine which company serves as the carrier for the messaging device 215. In one actual embodiment, this is done by comparing the destination telephone number with the known telephone numbers served by different carriers as stored in the provider database 470. Once a company has been retrieved from the provider database 470, the processing of routine 1000 continues to block 1025 where the proper destination address format used by the retrieved company and it hardware gateway(s) 205 for sending messages to a messaging device 215 served by that company is determined. For example, if the sender indicates a phone number 206999XXXX in the destination information, and in block 1020 a company XYZ is determined to service 00/76155 _j j PCT/USOO/15704 that particular phone number, then in block 1025 it is determined that the addressing format for company XYZ is "phonenumber@messages.xyz.com." Thus, in block 1025 the messaging address format for the messaging device 215 is determined to be "206999xxxx@messages.xyz.com." In other embodiments the carrier may expect some other format such as a URL to be used to transmit the message so the format might appear as "http://www.xyz.com:9090/xml/message/206999xxxx." Once the proper destination address format is determined in block 1025, routine 1000 continues to block 1030, where it format checks to see that an appropriate destination address was retrieved in block 1025. If no address was available in block 1025, then routine 1000 proceeds to block 1098 and returns a failure to the sender device 300 as such as in exemplary Web page 700. Otherwise, if it is determined that an address was correctly determined in block 1025, then processing continues in the KMP/X subroutine 1100 illustrated in FIGURE 11 and described in more detail below. After sending the message in block 1100, routine 1000 ends at block 1099 by notifying the sender device of a successful completion as such as in exemplary Web page 600. Now that the main routine of the messaging program 1000 has been described, the KMP/X subroutine 1100 called by the main routine and noted above will be described in more detail. Referring now to FIGURE 11, the logic begins in block 1101 and proceeds to block 1105, where routine 1100 processes any incoming rules based on the destination information before continuing. In one exemplary embodiment, incoming rules include further determining which hardware gateway 205 a message should be addressed to when a company has multiple hardware gateways 205. In yet other embodiments the incoming rules may designate configuration setting for altering the processing of other the main rules 1200 by designating which rules apply. For example in the exemplary rules 1200 shown in FIGURE 12, some of the [RuleSet] rules are designated as "atmobl" rules and one is designated as a "vodaau" rule. The incoming rules may designate that when processing the rules 1200 in subroutine 1100, only the "atmobl" rules should be run. Furthermore, the incoming rules may designate whether oversized messages should be truncated or split into multiple messages as will be described below. After processing the incoming rules, or if no incoming rules apply to the destination information, routine 1100 continues to block 1110, where the message and header are received. Routine 1100 then continues to block 1115. At block 1115, routine 1100 examines the body of the message and determines if it is blank. If the body of the message is blank, then only header information is sent to the messaging device 215 and routine 1100 proceeds to block 1140 as will be described below. Otherwise, if the body of the message is not blank, routine 1100 proceeds from block 1115 to block 1120. At block 1120, routine 1100 processes the message and header information according to a predetermined set of rules 1200. An exemplary excerpt of these rules 1200 is shown in FIGURE 12. The processing of the rules 1200 in block 1120 is done by KMP/X 1100 such that that the message and header are analyzed and any change or formatting is done according to each rule that applies to the message or header. For example, in one embodiment, if the "From" line in the header contains "weather", then when processing the applicable "[From]" portion 1220 of the rules 1200, the following rule is applied: "[From] weather GetURL http://guides.infospace.com/$({vid})/wthr?qo=$(qo)&qc= $(qc)&qs=$(qs)&qz=$(qz)&otmlp=/myinfo/wcinc/subwea.htm&op=weather_us &tot ag=$(totag)" This exemplary rule instructs the KMP/X 1100 to retrieve the contents of a specific dynamic content Web page loaded using the following URL: http://guides.iiUOspace.com/$({vid})/wthr?qo=$(qo)&qc=$(qc)&qs=$(qs)&qz=$(qz) &otmlp=/myinfo/wcinc/subwea.htmfeop=weather_us&totag : =$(totag) to be added to the body of the message, thereby allowing the routine 1100 to dynamically create messages before they are sent to the messaging device 215. In the "[To]" portion 1210 of the rules 1200, various formatting and address rules are used to determine such things as how the message should be sent, e.g., the message protocol to be used, and/or what size messages are supported. It will be appreciated by those skilled in the art, that these rules could be used in block 1025 to determine a messaging address as well. In addition to the [To] 1210 and [From] 1220 portions of the rules 1200, a number of exemplary [RuleSet] rules 1230 are provides and illustrated in FIGURE 12. These [RuleSet] rules 1230 allow further processing and formatting of messages by the KMP/X 1100 before they are delivered to the messaging device 215. For example, some messaging devices allow a "Subject" line in the messages they receive, while others do not allow such a Subject line. The RuleSet rules 1230 are designed to provide such fine tuning once the destination messaging device 215 and its appropriate carrier company have been determined. After finishing the processing, formatting and targeting in block 1120, processing continues in block 1125 where a determination is made whether to split the message body into multiple messages with corresponding headers. Messages only need to be split if they exceed the size that the messaging device 215 is capable of receiving. For example, if our current message is 150 bytes, we would look to the [To] rules 1210 and see if the messaging device 215 is capable of receiving a 150 byte message. The second field in the exemplary [To] rules 1210 is the byte count that a particular carrier company is capable of receiving. So, in this exemplary embodiment, a message to an "airtouch" messaging device 215 could only receive 120 bytes, while an "ameritech" messaging device 215 could receive 160 bytes and a "mdaone" messaging device would not have a byte limit on the size of the message. Accordingly, only an "airtouch" messaging device 215 would be a candidate for splitting as the other carrier companies can accept a message with 150 bytes. Therefore, if in block 1125 it is determined that the message should be split, then processing proceeds to block 1130, otherwise routine 1100 proceeds to block 1145 described below. At block 1130, routine 1100 splits the message into a plurality of messages, each of which is at least as small as the size of the message that the carrier company and the messaging device 215 is capable of receiving. The header of the original message is then assigned to each of the plurality of messages. Those of ordinary skill in the art will appreciate that either the headers or the bodies of each of the plurality of messages may be modified to indicate that they are portions of a split message. After the block 1130, routine 1100 proceeds to send the plurality of messages to the hardware gateway 205 in block 1135. Referring back to block 1115, if the message body is blank (as is sometimes the case with test messages or maintenance messages), then processing proceeds to block 1140 which is essentially similar to block 1120 except that the rules are only applied to the header information. The processing of the rules 1200 in block 1140 is done such that the header is analyzed and any changes or formatting is done according to each rule that applies to the header. After block 1140, the logic continues in block 1145, where the final version of the message is sent to the hardware gateway 205 to be sent to the messaging device 215. Routine 1100 ends by returning from processing at block 1199. It will be appreciated by those skilled in the art that the hardware gateways 205 are well known in the art and that a conventional use for a hardware gateway 205 is to send a hardware gateway 205 a formatted message for delivery to a specific receiving device such as a messaging device 215 over the Internet 100 or over an alternate message network 210. Furthermore, alternative message networks 210 are also well known in the art for carrying messages to messaging devices 215. Some commonly used protocols for alternate messaging networks are: the Unstructured Supplementary Services Data (USSD) protocol, the Enhanced Data for GSM Evolution (EDGE) protocol, and the General Packet Radio Service (GPRS) protocol. Accordingly, routine 1100 allows both standard sending of static messages in which the content is not changed a as well as the sending of messages where the contents of the message my be added dynamically. One example of adding dynamic content would be if a sender chooses to set up a triggered event to be notified about a particular sporting event. The sender might designate a particular date and time for a message to be sent to such that it when processed by routine 1100 using rules 1200, the current status of that sporting event would be retrieved and placed in a message that would then be sent to the designated messaging device 215. In light of the above, it should be appreciated that the present invention allows a sender to seamlessly send a message to many disparate messaging devices 215 without having to know the type of messaging device 215, the type of network (e.g. Internet 100 or alternate message network 210) the messaging device uses, or even which carrier services the messaging device 215. By allowing this seamless messaging the present invention increases the both the usability and effectiveness of sending devices 300 and messaging devices 215 by increasing the number of devices that can send and receive messages. While an illustrative embodiment of the invention has been shown and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention. For example, although sending a single message to a single messaging device has been described, it will be appreciated by those of ordinary skill in the art that any number of messages could be sent to any number of messaging devices 215 possibly by adding a new rule to the rules 1200 or by including an option of multiple destinations in exemplary Web page 500. Furthermore, it will be appreciated that other protocols and networks other than those already described may be used to practice the present invention. For example, the Network News Transfer Protocol (NNTP), HTTP Secure (HTTPS), Lightweight Directory Access Protocol (LDAP) or the Internet Message Access Protocol (IMAP) would be suitable for sending messages as described in the present invention.

Claims: The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows: 1. A method for sending a message from a sender device to a messaging device, the method comprising: receiving a message and a header from said sender device; processing said message and said header using a set of predetermined rules; formatting said message and said header in accordance with said rules to produce a formatted message and a formatted header; and sending said formatted message and said formatted header to said messaging device. 2. The method of Claim 1, wherein sending said formatted message and said formatted header to said messaging device further comprises sending said formatted message and said formatted header to a hardware gateway for delivery to said messaging device. 3. The method of Claim 1, further comprising splitting said formatted message and said formatted header into a plurality of split messages having a plurality of headers. 4. The method of Claim 1, further comprising processing a set of predetermined incoming rules and applying said incoming rules to said message and said header. 5. The method of Claim 1, wherein said message and said header are generated by entering message information and header information in a messaging client on said sender device. 6. The method of Claim 5, wherein said messaging client is a Web page on said sender computer. 7. The method of Claim 1, wherein said header comprises a destination address and an origination address. 8. The method of Claim 2, wherein said formatted message and said formatted header are sent to said message device utilizing a protocol selected from SMS, WAP, USSD, EDGE, GPRS, SMTP, NNTP, HTTP, HTTPS, LDAP, IMAP and POP. 9. The method of Claim 1, wherein said formatted message is formatted using a markup language selected from: SGML, HTML, HDML, WML and XML. 10. A system for message from a sender device to a messaging device, comprising: said sender device operative to enter a message information and header information; and a message server operative to: receive a message and a header from said sender device; process said message and said header using a set of predetermined rules; format said message and said header in accordance with said rules to produce a formatted message and a formatted header; and send said formatted message and said formatted header to said messaging device. 11. A computer-readable medium have a executable component for purchasing a product from a seller computer using a virtual payment account associated with a buyer computer, wherein the executable component purchases a product by: receiving a message and a header from said sender device; processing said message and said header using a set of predetermined rules; formatting said message and said header in accordance with said rules to produce a formatted message and a formatted header; and sending said formatted message and said formatted header to said messaging device.

Inventors: MARCUS KEVIN R, RANE ERIC, TOELLE JAMIE, WRIGHT DAN, MARCUS, KEVIN, R., RANE, ERIC, TOELLE, JAMIE, WRIGHT, DAN
Applicants: INFOSPACE INC, MARCUS KEVIN R, RANE ERIC, TOELLE JAMIE, WRIGHT DAN, INFOSPACE, INC., MARCUS, KEVIN, R., RANE, ERIC, TOELLE, JAMIE, WRIGHT, DAN
Application year: 2000
Main classification: H04L12
IPC codes: H04L12