SYSTEM AND METHOD FOR CELLULAR MESSAGE DELIVERY TO TARGETED GROUPS OF SUBSCRIBERS
FIELD OF THE INVENTION The present invention relates to a system and a method for message delivery to a plurality of cellular telephone subscribers, and in particular, to such a system and method in which groups of such subscribers are targeted as recipients for a particular message.
BACKGROUND OF THE INVENTION Cellular telephones have recently become increasingly popular for mobile voice communication, as well as for the exchange of text messages and other types of data. For voice communication, cellular telephone systems provide similar services as the fixed, wire-based telephony system, or PSTN (public switched telephony network), except that cellular telephone systems are based upon signal transmission through radio frequency signals rather than wires. Hence, cellular telephones are also termed "wireless telephones", and communication over such telephones is termed "wireless communication".
One advantage of cellular telephones is that they permit mobile communication, such that subscribers are able to communicate while traveling, or otherwise when they are not at a fixed physical location. In addition, cellular telephones permit subscribers to be contacted regardless of the location of the subscribers. These advantages of mobile communication are also useful for the exchange of data, such as for text messages and even Web pages, for example. Cellular telephones are able to receive text messages through message exchange protocols such as SMS (short message service), for example, which permit one-to-one communication between cellular telephones through text messages. In addition, the WAP (wireless application protocol) protocol enables cellular telephones, which are WAP-enabled to receive Web pages. Thus, cellular telephones potentially provide a full communication solution for all of the different types of electronic communication for a subscriber.
One example of a messaging system for cellular telephones is disclosed in US Patent No. 6,061,718. This messaging system enables the subscriber to receive a text e-mail message in the form of voice communication data, such that the text message is "spoken" to the subscriber. The subscriber can then send a reply e-mail message, in the form of text, by reading the e-mail message reply through the cellular telephone, after which the spoken reply is converted to a text e-mail message. Thus, the disclosed system is useful for one-to-one e-mail message
communication.
Similarly, US Patent No. 5,809,415 discloses a system for two-way interactive communication between a cellular telephone and a computer, such as a server. The system enables the subscriber to receive a list of choices through the cellular telephone, and to input the particular choice of the subscriber for transmission to the server or other computer. Again, although the communication is two-way, the system still only permits one-to-one communication between the cellular telephone and the server.
A more useful solution would enable a plurality of subscribers to receive a broadcast message, such that the broadcast message would be sent to the plurality of cellular telephones simultaneously or substantially simultaneously (in a single send action). In particular, such a solution would be useful for sending such messages to targeted groups of subscribers, such that a plurality of subscribers having at least one characteristic in common could receive the broadcast message. Such a solution would be useful since it would enable advertisers or other content owners to transmit the message to the entire group of subscribers. Thus, such a solution would broaden the applications for cellular telephone communication beyond that of one-to-one, single subscriber communication. Unfortunately, such a solution is not currently available.
SUMMARY OF THE INVENTION
There is an unmet need for, and it would be highly useful to have, a system and a method for broadcasting a message to a plurality of subscribers, and in particular to a targeted group of subscribers.
The present invention provides such a system and a method for broadcasting messages to the cellular telephones of a targeted group of subscribers, which are targeted according to at least one subscriber characteristic. Examples of such a characteristic of the subscriber include, but are not limited to, a demographic or geographic characteristic of the subscriber, such as age, profession, geographical location, education, economic status and so forth; an interest of the subscriber, such as a hobby or extracurricular activity, preferred entertainment interest, professional interest and so forth; and a characteristic which is more related to the operation of the cellular telephone, such as time of day, relative location of the cellular telephone and so forth.
The cellular telephones belonging to the subscribers in the targeted group may optionally form a channel, which preferably supports one-to-many, many-to-many and even one-to-one interactions. The interactions may optionally occur through the exchange of predefined
messages, and/or through the performance of actions according to predefined scenarios. As an example, the predefined scenario may optionally be used for playing a game, as the subscribers perform certain actions, from a predefined set of actions, in order to play the game. ■
More preferably, in order for subscribers to be able to select a particular action within the scenario, and in order to be able to correctly interpret the selected action, the state of the cellular telephone within each scenario is preferably saved. For example, as the subscriber navigates through a plurality of sets of choices, each set constitutes a state or context. Therefore, the action is preferably interpreted within the context of the particular set from which any given choice has been made. The context or state of the cellular telephone may optionally be stored by the cellular telephone itself and/or in a separate server, for example.
According to preferred embodiments of the present invention, the predefined scenario also optionally includes the display of a message on an additional display screen, either alternatively, or in addition to, display of the message on the screen of the cellular telephone. For example, the additional display screen could optionally be a large billboard or other electronic screen, or even the side of a building. The display screen could also be implemented as a television screen or computer monitor. The display is connected to a system for transferring the messages and/or commands of the subscribers from the cellular telephones according to the present invention, thereby enabling the display screen to receive the message of the subscriber for display. More preferably, the display of the message on the large display screen is determined according to the relative physical location of the cellular telephone to the display screen. Alternatively, the subscriber may be allowed to send a command to transfer the message to the large display screen, thereby acquiring control of this large screen through the cellular telephone. According to the present invention, there is provided a method for broadcasting a message to a plurality of cellular telephones of a targeted group of subscribers, the method comprising: determining at least one subscriber characteristic for subscribers belonging to the targeted group; comparing at least one subscriber characteristic to the message to determine if the message is suitable for the targeted group; and if the message is suitable for the targeted group, broadcasting the message to the plurality of cellular telephones of the targeted group of subscribers.
According to another embodiment of the present invention, there is provided a system for transmitting a message to a subscriber, the system comprising: (a) a cellular telephone for each subscriber for receiving the message; (b) a receiver for translating the message into an internal
format; (c) a translator for receiving the message in the internal format, and for parsing the message into at least one component command; (d) an engine for performing an action to prepare a transmission message according to the at least one component command; and (e) a dispatcher for translating the transmission message into a cellular telephone format, such that the transmission message is sent to the cellular telephone in the cellular telephone format.
According to yet another embodiment of the present invention, there is provided a method for interactively displaying a message on a display device, the message being addressed according to a particular cellular telephone, the display device being separate from the particular cellular telephone, the method comprising: selecting the display device for displaying the message through the particular cellular telephone, such that the display device is assigned an address of the particular cellular telephone; addressing the message to the address of the particular cellular telephone; sending the message to the display device according to the address; and displaying the message by the display device.
Hereinafter, the term "broadcast" refers to the transmission of a message to a plurality of recipients simultaneously or substantially simultaneously.
Hereinafter, the term "network" refers to a connection between any two or more computational devices which permits the transmission of data.
Hereinafter, the term "computational device" includes, but is not limited to, personal computers (PC) having an operating system such as DOS, Windows™, OS/2™ or Linux; Macintosh™ computers; computers having JAVA™-OS as the operating system; graphical workstations such as the computers of Sun Microsystems™ and Silicon Graphics™, and other computers having some version of the UNIX operating system such as ATX™ or SOLARIS™ of Sun Microsystems™; or any other known and available operating system, or any device, including but not limited to: laptops, hand-held computers, PDA (personal data assistant) devices, cellular telephones, any type of WAP (wireless application protocol) enabled device, wearable computers of any sort, and any device which can be connected to a network as previously defined and which has an operating system. Hereinafter, the term "Windows™" includes but is not limited to Windows95™, Windows 3.x™ in which "x" is an integer such as "1", Windows NT™, Windows98™, Windows CE™, Windows2000™, and any upgraded versions of these operating systems by Microsoft Corp. (USA).
Hereinafter, the term "cellular telephone" refers to any type of wireless or cordless device which is capable of data transfer through a radio frequency signal, optionally through a connection to the PSTN (public switched telephone network).
For the present invention, a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art. The programming language chosen should be compatible with the computational device according to which the software application is executed. Examples of suitable programming languages include, but are not limited to, C, C++ and Java.
In addition, the present invention could be implemented as software, firmware or hardware, or as a combination thereof. For any of these implementations, the functions performed by the method could be described as a plurality of instructions performed by a data processor. Hereinafter, the term "Web browser" refers to any software program which can display text, graphics, or both, from Web pages on World Wide Web sites. Hereinafter, the term "Web server" refers to a server capable of transmitting a Web page to the Web browser upon request.
Hereinafter, the term "Web page" refers to any document written in a mark-up language including, but not limited to, HTML (hypertext mark-up language) or VRML (virtual reality modeling language), dynamic HTML, XML (extensible mark-up language) or XSL (XML styling language), or related computer languages thereof, as well as to any collection of such documents reachable through one specific Internet address or at one specific World Wide Web site, or any document obtainable through a particular URL (Uniform Resource Locator). Hereinafter, the term "Web site" refers to at least one Web page, and preferably a plurality of Web pages, virtually connected to form a coherent group.
Hereinafter, the phrase "display a Web page" includes all actions necessary to render at least a portion of the information on the Web page available to the computer user. As such, the phrase includes, but is not limited to, the static visual display of static graphical information, the audible production of audio information, the animated visual display of animation and the visual display of video stream data.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention is herein described, by way of example only, with reference to the accompanying drawings, wherein: FIG 1. is a schematic block diagram of an exemplary system according to the present invention;
FIG. 2 is a flowchart of an exemplary method according to the present invention; FIG. 3 is a schematic block diagram of a preferred illustrative system for broadcasting
messages with a translator according to the present invention; and
FIG. 4 is a workflow for a system for broadcasting messages with a translator according to the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention is of a system and a method for broadcasting messages to the cellular telephones of a targeted group of subscribers, which are targeted according to at least one subscriber characteristic. Examples of such a characteristic of the subscriber include, but are not limited to, a demographic or geographic characteristic of the subscriber, such as age, profession, geographical location, education, economic status and so forth; an interest of the subscriber, such as a hobby or extracurricular activity, preferred entertainment interest, professional interest and so forth; and a characteristic which is more related to the operation of the cellular telephone, such as time of day, relative location of the cellular telephone and so forth. The advantage of the system and method of the present invention is that messages can be sent to a group of subscribers who have a common interest, rather than sending each message separately to a specific subscriber. The subscriber characteristics are preferably gathered in a subscriber profile, for more rapid filtering of a message to determine if it is suitable for a particular group of subscribers. According to preferred embodiments of the present invention, each group of subscribers forms a channel, such that the broadcast messages are sent to a particular channel. Preferably, a controlling user creates the channel, determines the content of broadcast messages and monitors the operation of the channel. More preferably, the controlling user permits at least one reply message to be sent by the recipient subscriber, which is optionally broadcast to the other subscribers of the group. The reply message is optionally a predetermined message, but alternatively may be constructed by the subscriber from a predetermined vocabulary.
The cellular telephones belonging to the subscribers in the targeted group may optionally form a channel, which preferably supports one-to-many, many-to-many and even one-to-one interactions. The interactions may optionally occur through the exchange of predefined messages, and/or through the performance of actions according to predefined scenarios. As an example, the predefined scenario may optionally be used for playing a game, as the subscribers perform certain actions, from a predefined set of actions, in order to play the game. As another example of a type of interaction, if a subscriber receives a reply message from a plurality of
other subscribers, the reply messages may optionally be aggregated and transmitted as one message, or alternatively may be sent as a plurality of messages.
More preferably, in order for subscribers to be able to select a particular action within the scenario, and in order to be able to correctly interpret the selected action, the state of the cellular telephone within each scenario is preferably saved. For example, as the subscriber navigates through a plurality of sets of choices, each set constitutes a state or context. Therefore, the action is preferably interpreted within the context of the particular set from which any given choice has been made. The context or state of the cellular telephone may optionally be stored by the cellular telephone itself and/or in a separate server, for example. According to preferred embodiments of the present invention, the predefined scenario also optionally includes the display of a message on an additional display screen, either alternatively, or in addition to, display of the message on the screen of the cellular telephone. For example, the additional display screen could optionally be a large billboard or other electronic screen, or even the side of a building. The display screen could also be implemented as a television screen or computer monitor. The display is connected to a system for transferring the messages and/or commands of the subscribers from the cellular telephones according to the present invention, thereby enabling the display screen to receive the message of the subscriber for display.
More preferably, the display of the message on the large display screen is determined according to the relative physical location of the cellular telephone to the display screen.
Alternatively, the subscriber may be allowed to send a command to transfer the message to the large display screen, thereby acquiring control of this large screen through the cellular telephone.
The principles and operation of the present invention may be better understood with reference to the drawings and the accompanying description. Referring now to the drawings, Figure 1 is a schematic block diagram of a system according to the present invention for broadcasting a message to a targeted group of subscribers through transmission to the cellular telephone of the subscriber.. As shown, a system 10 features a plurality of cellular telephones 12, each of which is operated by a subscriber (not shown). Cellular telephone 12 is in turn connected to a cellular gateway 14, for connecting cellular telephone 12 to a cellular network 16. Communication between cellular telephone 12 and cellular gateway 14 could optionally be performed according to any protocol in the art, including but not limited to, GSM, CDMA and TDMA. These components of system 10 are well known in the art and could easily be implemented by one of ordinary skill in the art.
Cellular gateway 14 also features a according to the present invention, for broadcasting a message to the plurality of cellular telephones 12. Message broadcaster 18 may optionally operate according to any type of messaging protocol which is known in the art, whether for voice messages, as for US Patent No. 6,061,718; text messages, as for the SMS (short message system) protocol (www.gsmworld.com as of June 12, 2000); other types of cellular technologies for supporting data and/or voice applications such as CDMA (code division multiple access; see for example www.cdg.org as of June 12, 2000), CDPD (cellular-digital packet data) or TDMA (time division multiple access); or for Web pages, as for WAP (wireless application protocol) communication. The exact type of messaging protocol is not important, as the present invention is operative with any type of messaging protocol for cellular telephone 12.
An important feature of message broadcaster 18 is that each message is sent to each of a plurality of cellular telephones 12 according to at least one characteristic of the subscriber for each cellular telephone 12. Examples of such a characteristic of the subscriber include, but are not limited to, a demographic or geographic characteristic of the subscriber, such as age, profession, geographical location, education, economic status and so forth; an interest of the subscriber, such as a hobby or extracurricular activity, preferred entertainment interest, professional interest and so forth; and a characteristic which is more related to the operation of cellular telephone 12, such as time of day, relative location of cellular telephone 12 and so forth. It should be emphasized that although such a characteristic is determined according to the subscriber, such a determination serves to place the subscriber, and hence the associated cellular telephone 12 of the subscriber, within a particular targeted group.
Optionally and more preferably, message broadcaster 18 receives a request to broadcast a message according to a plurality of characteristics, and is then able to filter the subscribers according to a profile for each subscriber. The profile preferably includes a plurality of subscriber characteristics, and is optionally stored on a database 20 which is operated by message broadcaster 18. Message broadcaster 18 examines the plurality of profiles, and selects at least one subscriber according to the correspondence between the requested characteristics and the profile. Also more preferably, an identifier for identifying a particular cellular telephone 12 which is associated with a particular subscriber is also stored in database 20, thereby enabling message broadcaster 18 to select the correct cellular telephone 12 for each subscriber. Optionally, message broadcaster 18 is also able to select a particular language in which the message should be transmitted to a particular subscriber, if applicable, according to information which is stored in database 20.
As shown in Figure 1, each group of targeted subscribers, and hence of cellular telephones 12, is considered to be a channel 22. By "channel", it is meant that the subscribers of cellular telephones 12 which belong to a particular channel 22 share at least one characteristic, such that information is targeted or "channeled" according to the at least one characteristic. By way of example only, as shown, a first channel 22, labeled "channel 1", includes cellular telephones 12 which are labeled "cellular telephone 1" and "cellular telephone 3", but does not include cellular telephone 12 which is labeled "cellular telephone 3". Cellular telephones 12 can optionally belong to more than one channel 22, as for cellular telephone 12 which is labeled "cellular telephone 1", which belongs to both the first channel 22 and a second channel 22, labeled "channel 2". Thus, each channel 22 preferably enables message broadcaster 18 to send targeted information to the group of cellular telephones 12 which belong to that particular channel 22.
Although each channel 22 is shown as communicating with a single cellular gateway 14, it is understood that this is for the purposes of description only and is not intended to be limiting in any way. Indeed, each channel 22 can optionally receive communications from a plurality of different cellular gateways 14 (not shown), and even from a plurality of different cellular telephone service providers (also not shown).
Examples of useful applications for such targeted broadcasting of information include, but are not limited to, interactive audio programs and/or video programs, such as for radio and/or television programming, respectively; data messaging to employees within a corporation or other institution; cellular services from Internet Service Providers (ISP); virtual community communication; party and night-club information, as well as information about other types of entertainment; targeted advertising and promotion; cellular "bulletin boards"; auctions through cellular telephones; clubs for customers of a particular company, or for fans of a particular performing artist; information exchange for students; as well as many other applications for sending messages to groups of subscribers. It should be emphasized that although many different applications are possible, system 10 is generally useful as a platform for supporting message broadcasting to a plurality of targeted subscribers.
According to a preferred embodiment of the present invention, system 10 also features a additional display device 23 for optionally displaying a message which had been sent to a particular cellular telephone 12. Additional display device 23 preferably includes a large display screen, optionally in the form of a LED screen. Examples of suitable implementations include, but are not limited to, an electronic billboard, a television screen or computer monitor, or even
the side of a building.
Additional display device 23 optionally and preferably communicates with cellular gateway 14 through a network connection 25. Network connection 25 is optionally implemented as any type of network, such as a LAN (local area network) or WAN (wide area network), for example. Alternatively, network connection 25 is implemented with a cellular telephone as a receiving device, with the output of the received data transferred to additional display device 23 rather than to the screen of the cellular telephone itself.
This preferred implementation of system 10 is used to enable messages intended for a particular cellular telephone 12 to be displayed on additional display device 23. For example, if cellular telephone 12 is in physical proximity to a particular additional display device 23, the message is optionally automatically transferred to additional display device 23 for display. Alternatively or additionally, the subscriber may optionally choose to send the message for display to additional display device 23.
Most preferably, this implementation is used to play a game between multiple subscribers. For example, the actions of a multi-player board game could be performed by the subscribers through cellular telephones 12, while the result of such actions could then be transferred for display to additional display device 23.
Figure 2 is a flowchart of an exemplary method according to the present invention for creating and operating a channel for a plurality of subscribers through a plurality of associated cellular telephones. The channel is assumed to be created and managed by a controlling user.
In stage 1, the controlling user creates the channel by determining at least one subscriber characteristic for targeting the broadcast message. The subscriber characteristic is optionally defined as previously described for Figure 1, although alternatively other subscriber characteristics could be used. The controlling user also preferably defines a name or other identifier for the channel.
In stage 2, the controlling user optionally defines at least one logical station through which a message must pass before reaching the cellular telephones of the subscribers. As an example, such a logical station could optionally be a human operator who must determine if the message is suitable for broadcast to the group of subscribers. As an alternative example, the logical station is a filter for filtering the message to determine if the message is suitable.
In stage 3, the controlling user preferably defines at least one, and more preferably a plurality of, suitable reply messages which can optionally be returned by the subscriber as a reply to the broadcast message. In addition, the controlling user also more preferably determines
whether the reply messages are returned individually to the controlling user, or in aggregate. Alternatively or additionally, the controlling user can also select the vocabulary which the subscriber can optionally use to create a different reply message.
In stage 4, the controlling user starts the operation of the channel by implementing a channel module at a gateway of some type, for example as for the preferred implementation of the system which is shown in Figure 3. In stage 5, the controlling user optionally monitors the operation of the channel through a control interface, for example in order to determine how many messages are sent and to receive the reply messages.
In stage 6, the controlling user submits a message to be broadcast through the channel to the channel module. In stage 7, the message is filtered, preferably by the channel module, in order to select at least one subscriber for receiving the message. Optionally, the subscriber characteristic includes at least a selection of the channel by the subscriber. For example, the subscriber could select the new channel by name from a list of such channels, optionally displayed as a menu listing through the cellular telephone of the subscriber. In stage 8, the message is then sent to the at least one selected subscriber.
In stage 9, the selected subscriber receives the message. Optionally, in stage 10, the subscriber transmits a reply message to the controlling user. Also optionally, in stage 11, the controlling user may permit the reply message to be sent to at least one other subscriber belonging to the target group, for example for a virtual community implementation. In stage 12, a subscriber may optionally browse through a list of different channels, and/or perform a keyword search for such channels, in order to select a channel of interest from which messages may be received. Optionally, the controlling user could determine which type of subscriber profile would be permitted to view a particular channel in order to select the channel, such that only subscribers have one or more particular characteristics would be permitted to subscribe to the channel.
As an example of a particular implementation of the method of Figure 2, the controlling user could be an organizer of commercial parties and/or nightclub events, to which an entrance fee must be paid by a user who wishes to enter the party. The party organizer decides to send a message promoting the party to a targeted group of subscribers, for example young adults of a particular age group. The sent message preferably includes a number of reply options, such as "interested", if the receiving subscriber wishes to attend, or "not interested" otherwise.
The party organizer receives each reply, and can then optionally choose to send a further message. For example, if the receiving subscriber is known to cause trouble, the party organizer
could reject a positive reply. On the other hand, if a celebrity or other desirable person sent a positive reply, the party organizer could optionally send a "cellular ticket" to the cellular telephone of the subscriber which would provide free entry to the party. The subscriber could then show the "cellular ticket" to gain a free entrance. Of course, this description is intended only as an example, without any intention of being limiting.
Figure 3 is a schematic block diagram of a preferred implementation of a system according to the present invention for broadcasting targeted messages. As shown, a system 30 features a plurality of cellular telephones 32, connected to each of a plurality of cellular gateways 34. The components of one cellular gateway 34 are shown in greater detail, but it is understood that both cellular gateways 34 should contain these components.
A controlling user (not shown) preferably creates a channel, submits a broadcast message, optionally receives reply messages, and generally monitors the function of system 30 through a Web-based interface 36. The term "Web-based" is intended to refer to the ability of Web-based interface 36 to communicate according to the HTTP (HyperText Transfer Protocol) protocol and to display Web pages. Optionally, Web-based interface 36 may incorporate other functionality of Web browsers, such as the ability to operate Java scripts and other types of scripts, for example. Web-based interface 36 preferably includes such features as the "wizard" function for creating a new channel, and both receives commands from, and displays data such as messages to, the controlling user. Web-based interface 36 is connected to a network, shown herein for the purpose of illustration only as the Internet 38. Through the Internet 38, Web-based interface 36 communicates with a Web server 40. The internal format of the messages of system 30, both for broadcasting to cellular telephones 32 and for receipt from such cellular telephones 32, is preferably a Web page format, and is more preferably the XML format. Web server 40 is therefore able to receive broadcast messages from Web-based interface 36, and to transmit these messages to an engine 42 for broadcasting. In addition, Web server 40 is able to receive commands concerning the activity of engine 42 from Web-based interface 36.
More preferably, the internal format of all commands and/or messages includes such information as content, such as for example the text and/or other data in a message; the time and date which the command and/or message is sent; the identification of the controlling user; and the source of the command and/or message, such as the IP address for example.
Engine 42 is preferably in communication with a database 44, which optionally and preferably contains information as for the database of Figure 1, such as subscriber information
for example. Engine 42 is also able to parse the command and/or message, hereinafter collectively referred to as "messages", which contain content for subscribers and/or a command for system 30. Engine 42 then performs an action according to the message, such as sending content to a group of subscribers at cellular telephones 32. The content would then optionally include a command for determining the display of the message content at cellular telephone 32.
In order for the message content, and command if any, to be properly understood, preferably system 30 also features at least one translator 46 for analyzing the content in the internal format. For example, translator 46 preferably analyzes the content in order to understand the command(s) and/or other components. Translator 46 optionally uses a dictionary 48 to perform the translation process. Dictionary 48 contains a plurality of component commands, to assist translator 46 to parse and translate the message according to the plurality of component commands. Dictionary 48 is optionally and preferably implemented as a dynamic database, for holding the commands and/or other components. By "dynamic", it is meant that the contents of the application vocabulary in the database can optionally be changed, even while translator 46 continues to operate. Thus, dictionary 48 can preferably be changed, for example for updating the vocabulary, separately from the operation of translator 46.
The raw data is preferably received from cellular telephones 32 through a receiver 50. Receiver 50 is preferably implemented according to the particular format for the received data, such as the SMS format for example. Receiver 50 then preferably translates the content from the preferred internal message format of XML to the SMS format, for example. In addition, optionally and more preferably, receiver 50 could then translate any reply messages from cellular telephones 32 from the SMS format, or other cellular telephone format, to the preferred internal format of XML.
Figure 4 is a schematic block diagram of a workflow through a system for handling both Web pages and other cellular telephone message formats such as SMS for example. An example of such a system is given in Figure 3, although the workflow of Figure 4 could also be used with a different implementation of the system.
At the left branch of the workflow of Figure 4, in stage la, a message is received from a controlling user or from a subscriber, in a Web page format such as HTML or WML (wireless mark-up language), for example. This message is received by a Web page interface, such as an IIS (Internet Information Server; Microsoft Corp., USA), for example.
In stage 2a(l), the Web page interface sends the message to a Web page format listening module of an incoming message processor. The method then proceeds with stage 3, as described
in greater detail below.
In stage 2a(2), the Web page interface sends the message to an engine, such as the engine of Figure 3 for example, which preferably features a database containing information for parsing and interpreting the message. As shown, the data is preferably abstracted by a data layer in stage 2a(3), while any command is preferably parsed by a business layer in stage 2a(4).
Turning now to the right branch of the workflow of Figure 4, in stage lb, such a message is received from a subscriber in a cellular telephone communication format, such as SMS format for example. In stage 2b, the message is passed to an SMS listening module of the incoming message processor. Both processes are joined at stage 3, in which a connection is made between HTTP and a message queue of some type, such as MMSQ (Microsoft Message Queue). The message is then preferably passed in stage 4 to an incoming message queue.
In stage 5, a message is taken from the queue and given to a system engine. In stage 6, the message is received by a listener, and given to a command parser in stage 7. The command is parsed with the additional input of a command dictionary and normalization module in stage
8. In stage 9, the command is sent to a command dispatcher, optionally and preferably with additional input from the business layer of stage 2a(4).
In stage 10, commands are executed at the database and/or the message command execution unit. In stage 11, the queued commands are sent to an outgoing message dispatcher, for example to send a message to a group of subscribers at a plurality of cellular telephones. The message dispatcher receives each message from the queue, and must determine the proper cellular telephone format for sending the message. In addition, the message dispatcher must also determine the correct destination for the message, such as the correct cellular telephone for example. Optionally, the message dispatcher also performs load balancing, for spreading the load for transmitting the cellular telephone messages.
According to preferred embodiments of the present invention, the system and method support a platform for implementation of a variety of applications for communication of data, such as text and/or images for example, between a cellular telephone and subscribers. Such a platform could optionally form a SDK toolkit.
The system and method support communication between cellular telephones, and also between a cellular telephone and the Internet, for example. Therefore, a new module could optionally be inserted into the system of the present invention, with a command or code word for
accessing the module, without requiring the entire system to be implemented again. The command or code word is then preferably inserted into the dynamic dictionary, as previously described, in order for the engine to be able to activate the logic of the application. The flexibility of the system enables new functions to be added and to be accessed by cellular telephone users. The functionality which is required for the new module to operate with the engine, and to interface with the users of the system, is already in place. Thus, the new module only needs to contain the logic of the application, with the command or code word for activating the logic.
While the invention has been described with respect to a limited number of embodiments, it will be appreciated that many variations, modifications and other applications of the invention may be made.