NETWORK COMMUNICATION MANAGEMENT SYSTEM AND METHOD USING INTERMEDIATE HOST
PRIORITY INFORMATION
This application claims priority to U.S. Serial No. 09/845,050 filed on April 27, 2001, which is incorporated herein by reference in its entirety.
BACKGROUND OF THE INVENTION The invention relates to the field of telecommunications, and particularly relates to the use of telecommunication systems for accessing networks for the purpose of transmitting information to and from a network.
Although access to a network, such as the Internet, by users of personal computers has become relatively efficient, functional and operational limitations remain with regard to efficiently accessing the Internet with wireless devices, such as wireless telephones. Many network applications, such as websites, provide information via the Internet to users. This information is transmitted in specific units referred to herein as content objects. A content object may be encoded in a variety of formats, including for example, HyperText (HTML) format, Macromedia Flash format, Windows Audio and Visual (WAV) format, Extensible Mark-Up Language (XML) format, Wireless Mark-Up Language (WML) format, Short Message System (SMS) format etc. Content objects are typically provided for wireless devices in an appropriate format such as WML format. For example, in WML format, each content object comprises a deck of one or more cards, each of which represents screen content data for a device screen. Unfortunately however, the use of such wireless devices remains somewhat limited due to the size and resolution of wireless device screens, text entry limitations, and the processing and memory limitations of such devices. Moreover, many wireless devices do not have standard sized screens, and many are only able to receive messages and cannot transmit messages from the device. For example, a wireless hand held device such as a one-way short message system
(SMS) enabled cellular telephone, employs standard telecommunication systems for receiving short messages from other callers or emails from a sender, but is only able to transmit dialed telephone numbers. The use of such one-way SMS enabled systems has typically been limited to receiving messages from a sender and dialing telephone numbers. While certain two-way SMS systems may permit the user to enter alphanumeric data from
the telephone keypad for purposes of transmitting an alphanumeric message to another device, such messaging systems do not necessarily provide wireless communication output features for connecting to a network such as the Internet.
Moreover, even wireless systems that are able to access a network, such as wireless access protocol (WAP) enabled cellular telephones and other devices for accessing a variety of network applications via the Internet, are typically limited in their function and versatility. For example, in such systems, a user may visit a variety of network applications, such as websites, in any particular order. When visiting a variety of websites, a user may wish to maintain their state within one application while another application is accessed. Although this is generally permitted with wireline systems, typically by using multi-tasking features of the user's device by opening a plurality of windows within the operating system, conventional wireless and some wireline systems do not provide this feature due to processing and memory limitations of such devices.
Because WAP enabled and other hand-held wireless communication devices, do not usually permit such multi-tasking (or windowing) for the management of network application states, the efficiency and ease with which a user may access various network applications is significantly reduced. The connection with each application may be lost upon accessing another network application, requiring the user to re-connect to a previously visited website. This is generally time consuming and may be particularly cumbersome if the information with which a user is concerned may be accessed only through a series of content objects within the network application. Each time the user accesses that application, the user must re-navigate through the various content objects in that application. For example, a user may wish to access a weather application at the same time as an airline reservation application so that the user may purchase airline tickets for flights that fly through cities for which the weather is relatively mild.
There is a need, therefore, for an improved system and method for facilitating a user's interaction with a plurality of network applications.
There is a further need for an improved system and method for facilitating interaction with a plurality of network applications by users of wireless communication systems.
There is a further need for a system and method for facilitating a user's interaction with a plurality of network applications by hand-held devices having limited input and display functions.
There is a further need for a system and method for facilitating a user's interaction with a plurality of network applications by hand-held devices having limited functions with regard to transmitting messages.
SUMMARY OF THE INVENTION
The invention provides a network communication management system that is in communication with a network port through which data representative of information may be received from a plurality of network applications, and is in communication with a user device port through which data representative of information may be transmitted to a user device. The system includes a receiving unit for receiving data representative of a content object of a network application, a pattern recognition unit for identifying at least one pattern of data associated with the content object, and an identification unit for identifying at least one registered network application responsive, at least in part, to the identified pattern of data. In various embodiments, the system also includes a transmitting unit for transmitting to a user device data that is representative of the identified at least one registered network application. In further embodiments, the system further provides that the user may select at one a registered network application.
BRIEF DESCRIPTION OF THE DRAWINGS The following description may be further understood when with reference to the accompanying drawings in which:
FIG. 1 shows an illustrative view of a system in accordance with an embodiment of the invention;
FIGs. 2A and 2B show illustrative views of a hand-held device that may be used with the system of Figure 1;
FIG. 3 shows an illustrative view of various states of a user device in the system of Figure 1;
FIGs. 4 and 5 show illustrative flowcharts of the operation of the system of Figure
1; FIG. 6 shows an illustrative view of a system in accordance with a further embodiment of the invention;
FIGs. 7 A and 7B show illustrative views of a one-way SMS enabled hand held device that may be used with the system of Figure 6; and
FIGs. 8 and 9 show illustrative flowcharts of the operation of the system of Figure
6.
The drawings are shown for illustrative purposes and are not to scale.
5 DETAILED DESCRIPTION OF THE INVENTION
As shown in Figure 1, a system in accordance with an embodiment of the invention includes a plurality of hand-held WAP enabled devices 10, 12 that permit users 14, 16 to communicate with a network, e.g., the Internet 18, via a state management system. The state management system includes a point of presence device 22, a gateway
10 24 such as a WAP gateway, a state management controller 26, a state management database 28, and a firewall 30. Via the Internet 18, each user may access any of a wide variety of network applications such as 32, 34, 36, 38 and 40. These network applications may each comprise any of a variety of websites and/or databases that provide content objects that are either in the WML format or other appropriate format, or may be
15 translated by a translator from another format into a format appropriate for the controller 26, such as WML format. In certain embodiments, a translator may be employed anywhere between originating network application and the controller 26 for translating content objects from a format that is not appropriate into an appropriate format. Messages sent from a remote device 42 via the Internet 18, such as email messages, may 0 also comprise content objects.
Generally during use, a user 14 may open a session via device 10, e.g., a wireless telephone that is able to access WAP services. The user 14 connects to the Internet 18 via the point of presence device 22 and gateway 24, which in turn is coupled to the state management controller 26. The state management controller 26 records information
25 concerning the content object that is retrieved from each network application, as well as the requests for the content objects by the users. In other embodiments, a session may begin when a user receives a message from a remote device 42. The state management controller 26 then parses each content object of the network application, and identifies any data patterns, e.g., keywords, in the content object. The controller 26 then identifies
30 registered network applications responsive to the identified keywords. As discussed in further detail below, these keywords may later be used by the system to access further registered applications and to maintain a record of other actively engaged network applications. A registered network application is a network application for which a method of access and input and/or output requirements are identified and accessible by the
controller 26. The controller 26 then transmits a processed content object to the user device. This processed content object may include new information that is appended to or modified from the original content object. The state management controller 26 also stores information representative of the user's state vis-a-vis the network application and the registered network applications.
As shown in Figure 2A, a hand-held device 10 may display screen content of data of a processed content object from network application 50 that includes identified keywords 52 and 54. The user may scroll through the screen content data and the application by any of a variety of conventional methods. For example the device may include pushbuttons for scrolling up (pushbutton 51), for scrolling down (pushbutton 53), and for selecting a highlighted item (pushbutton 49). In other embodiments, the system may include such functional features on other keys on the keypad, e.g., the "*" key may scroll up, the "#" key may scroll down and the "0" key may select the highlighted item.
The system also permits a user to select a command that connects the user to a list of registered network applications responsive to certain keywords, e.g., 52 and 54. In certain embodiments, this feature may be named "W!" and may be selected by scrolling through the screen content data and selecting the "W! " symbol 58 when highlighted. In further embodiments, the device may include a separate button 56 for this feature.
If the user selects the "W!" feature, then the system will display a list of names of certain registered network applications that relate to keywords in the content object as shown in Figure 2B. The list comprises a subset of all registered network applications, and each item on the list is chosen by the system responsive to a keyword, e.g., 52 and 54, from the screen content data 50 in the processed content object. For example, applications 55 and 57 may be responsive to keyword 52 from the screen content data 50, and applications 59 and 61 may be responsive to keyword 54 from the screen content data 50. In other embodiments, the keywords may be hidden keywords (such as metatags) that may not appear in the screen content data but nonetheless are associated with the content object delivered from a particular network application. In further applications, the list of names of registered network applications may be chosen by the controller responsive to the keywords as well as user specific data that may be either pre-defined, established, or computed over time as the user developes a pattern of use. The user may then select from the list a registered network application, and the registered network application that was selected will be accessed. The content object for that application will be sent from the network application to the controller 26. The controller 26 will then send a processed
content object to the device, and the screen content data for the processed content object will be displayed on the device screen. The user may again choose to select a further registered network application from a further list of names of registered network applications responsive to screen content data of the processed content object by again selecting the "W!" command.
The screen display on the user's device may also include a selectable command to return to an actively engaged state (back), or a button 64 for effecting the selection of the back command. If a user wishes to return to an actively engaged state, then the user may select the back command, and a list of the actively engaged applications and states will be retrieved from the state management database 28, and displayed on the device 10 in the order in which the application states were visited. The user may then scroll through the list and select the application state to which the user wishes to return.
As shown in Figure 3, during operation of a system in accordance with an embodiment of the invention, a user may begin by viewing screen content data of a first network application 70 (e.g., technology news), from which the user may choose to view linked content data 72 regarding, for example, a particular company, as provided by the network application in screen content data 70. This linked content object will be parsed by the controller and will return to the user a processed content object including screen content data 72, which may include one or more terms 74 and 76 that are identified by the controller as keywords. Specifically, the keywords are identified by conducting a pattern recognition search of the data that represents the content object. A content object from a network application may include a wide variety of data that is representative of text or graphics or sound etc. In an embodiment, the content object may include a plurality of screen content data segments, and the controller 26 will parse the entire content object upon its being received. The database 28 will then store the relationship between each identified keyword and registered network application together with an identification of the screen content data with which it specifically pertains.
If the user selects the "W!" feature, then a list of names of registered applications will appear responsive to the keywords 74 and 76. For example, keyword 74 may be the name of the company and keyword 76 may be name of the city in which the company is located respectively. The screen content data 78 will then appear including a list of names of registered applications such as Wireless Access Low Level Agents (or WALLAs) for: a stock network application 77, a network application 79 for the company 74, and a network application 81 for the city 76. If the stock network application WALLA 77 is
selected by the user, then the system will retrieve the first content object of the network application identified by the WALLA 77, process the content object, and then transmit the processed content object for the network application identified by the WALLA 77 to the user's device as shown as screen content data 80. Because the system knows that the user had just been reading information regarding company 74, it will inquire whether the user wishes to buy or sell stock in company 74. If the user had selected to return to a previously viewed actively engaged network application from screen content data 78 by selecting the back command, then the system would display a list of the previously displayed screen content data as shown at 82. If the user had selected to buy or sell stock in company 74 while viewing screen content data 80, then the system would connect to screen content data from a broker network application 84, and permit the user to buy or sell stock in that particular company as executed at 87 in linked screen content data 86. Again, if the user desired to return to any previously visited screen content data, then he or she may select from the list of such options provided by the back command from 84 as shown at 88, or provided from 86 as shown at 90. The user may then similarly visit applications as indicated at 92 (travel news), 94 (tickets 93, weather 95, or history 97), 96 (airline tickets 99 or train tickets 101) and 100 (purchase airline tickets), from which the user may return to any previously visited screen content data via the back command lists as shown at 98 and 102. The functional operation of the controller in an embodiment of the invention is shown in Figures 4 and 5. As shown in Figure 4, the routine for accessing and displaying a network application begins (step 400) by receiving an application address from a user (step 402). The application address may be input to the device by any of a variety of means for inputting alpha-numeric text into such devices, or may be previously stored on the device and capable of being activated, for example by pressing a button. In other embodiments, a session may begin by a user receiving a message. The controller then accesses the network application via the Internet (step 404), and parses the text in the content object to be sent to the user (step 406). The controller then identifies any keywords (step 408) that may be included in the text of the content object, such as famous people, places and things, and identifies from a master list of all registered network applications any registered network applications responsive to each keyword (step 410). These steps of identifying keywords and network applications may involve look-up-tables. The controller then stores (step 412) the list of references to the network applications in the state management database, and sends the processed content object for the network
application to the user (step 414). If the user then selects the "W! " command, then the system responds by executing a further routine (step 420) as shown in Figure 5. If the user does not select the "W!" command, then the routine ends as shown at 418.
As shown in Figure 5, the "W!" routine begins from step 420 with the controller retrieving and displaying (step 500) the list of names of registered applications responsive to the keywords from the previous application screen content data. The user may then select an application (step 502), and the controller then accesses the selected network application (step 504). If the user then selects the command to view other actively engaged applications (step 506), then the system retrieves and displays a list of links to screen content data from other actively engaged applications (step 510), from which the user may select a particular application screen to which the user desires to return (step 512). Once the user no longer wishes to return to another actively engaged application, the system returns (step 508) to the parsing routine shown in Figure 4.
In certain embodiments, the system may re-order the list of names of registered applications (or may provide a subset thereof only) responsive to the frequency with which a particular user selects a certain application from a particular screen. In this fashion, the system may learn about a user's habits, and adapt to permit the user to more efficiently access frequently visited websites and/or databases.
In other embodiments, the system may reformat a network application screen prior to sending it to a user to provide personalized features specific to a particular user or user device, for example in view of the size or resolution of the user's device screen. In further embodiments, the system may modify a network application prior to sending it to a user, for example by adding special screens to facilitate navigating through the application. As shown in Figure 6, another system in accordance with a further embodiment of the invention may include one-way SMS devices 602 and 604 that receive short messages from a short message gateway such as an SMS-C integrated gateway 606. The system also includes a telephone number receiver unit 608 that may include one or more modems or a Mobile Switching Center (MSC) for detecting telephone calls at specific numbers from devices 602 and 604, and an Internet Protocol (IP) gateway 610 that bridges communication between the unit 608 and the controller 26. In certain embodiments, the gateway 610 may be a Signaling System 7 to Internet Protocol (SS7oIP) unit as sold by IntelliNet Technologies, Inc. of Melbourne, Florida.
As shown in Figures 7 A and 7B, device 602 provides a display on which screen content data 700 of a network application may be displayed. The screen content data 700 may include keywords 702 and 704 that were identified in the content object from the network application through pattern recognition as discussed above with reference to the embodiment shown in Figures 2 A and 2B. If the user wishes to view further related information, the user could execute the "retrieve numbers in message" feature (which is common on such SMS devices). In certain embodiments, one number at a time may be provided to devices that are able to retrieve only one telephone number from a message.
A list of one or more callback phone numbers (or other shortcut numbers assigned to each callback numbers) 706, 708, 710 would then appear on the display screen adjacent the list of one or more names of registered network applications 707, 709, 711 respectively as shown in Figure 7B. The user may then elect to call one of the numbers in the message to select the associated topic. The system will identify the appropriate registered network application based on the number called, the telephone number of the device (caller ID), and the state of active engagement of the application. In this fashion, many fewer callback numbers are needed. The selected registered network application is then accessed, a content object is processed as discussed above, and the processed content object is then transmitted to the user device.
As shown in Figure 8, a session in a system of Figure 6 may begin (step 800) when a message is sent from a remote device 42 to a user device 10 or 12 via the Internet 18 (step 802). The message comprises the content object, and may be sent from another user or any system that is pre-arranged to send periodic messages or alters to a particular user, for example via email. In other embodiments, the system may begin by having the user telephone a specific telephone number. The controller 26 then parses the data that is representative of the content object searching of certain patterns of data (step 804). If any patterns of data are recognized, then the patterns are identified as keywords (step 806), and the controller 26 assigns certain registered network applications as being responsive to keywords in the content object and/or any other criteria such as user characteristics (step 808). The controller 26 then assigns a callback number to each identified registered network application (step 810), and stores in the database 28 the keywords, the names of the registered network applications, the assigned callback numbers, and the states of the available applications (step 812). The processed content object of the selected network application is then
transmitted to the user device (step 814). A callback number is also transmitted with the processed content object to permit the user to select the "W! " feature.
If the user selects the "W!" feature (step 816), then the system executes a routine as shown in Figure 9 (step 818). If the user does not select this feature, then the session
5 ends (step 820). As shown in Figure 9, the routine that begins at step 818 retrieves and displays on the user's device the list of names of registered applications with the associated callback telephone numbers (step 900). The user may then select a registered application (step 902) by calling the associated telephone number (step 904). The receiving unit 608 then detects the call and notifies the controller 26 via the IP gateway
10 610 (step 906), providing the called number and the calling device's number. The controller 26 then access the selected registered application (step 908), and returns to the routine in Figure 8 where the content object is parsed and then sent to the user (step 912).
If, at any time, the user elects to re-visit a processed content object that has an associated registered network application (step 910), again by calling a predetermined
15 phone number, then the controller 26 will retrieve a new content object for the related registered network application (step 914). The processed content objects may be stored in the user device. In this fashion, the user may navigate through the various processed content objects, until finished (step 912), and the system returns to the pattern recognition step as shown at 808 in Figure 8. 0 In various further embodiments, two-way SMS devices may be used, and the devices may communicate with the system via telephone callback numbers or by sending return messages to the controller as discussed above in connection with the above described embodiments.
Those skilled in the art will appreciate that numerous modifications and variations 5 may be made to the above disclosed embodiments without departing from the spirit and scope of the invention.
What is claimed is: