|
Claims  |
|
|
We claim:
1. A method of integrating a narrowband channel and a wideband channel used to communicate between a plurality of client devices and a link infrastructure, said method comprising:
maintaining a user account associated with a client device in said link infrastructure;
receiving a notification in said link infrastructure from a web server when specific information is updated at said web server, said specific information subscribed by said client device and identified by said notification, wherein said
notification comprises a subscriber identifier identifying said user account;
extracting a client device identifier from said user account using said subscriber identifier in said notification; and
sending a corresponding message including information from said notification, from said link infrastructure to said client device identified by said client device identifier via said narrowband channel;
receiving a request from said client device to establish a communication session with a link device in said link infrastructure via said wideband channel;
authenticating said client device;
forwarding said updated specific information from said link device to said client device via said wideband channel.
2. The method as recited in claim 1, wherein said notification further comprises an action type; said action type causing said client device to react to said notification upon said client receiving said corresponding message.
3. The method as recited in claim 1, said method further comprising:
invalidating a cached copy of said specific information in said client device such that said updated specific information has to be fetched when said cached copy is accessed.
4. The method as recited in claim 3, wherein invalidating said cached copy of said specific information comprises:
displaying a title identifying said specific information updated at said web server.
5. The method as recited in claim 1, said method comprising:
fetching said updated specific information to said link device from said web server.
6. The method as recited in claim 2, said method further comprising generating an alert message with respect to said action type to cause a user of said client to be aware of said specific information updated at said server.
7. The method as recited in claim 6, wherein said alert message is an audible sound generated in said client device with respect to said action type in said notification from said web server.
8. The method as recited in claim 7, said method further comprising:
displaying a title identifying said specific information updated at said web server when said user proceeds with said audible sound.
9. The method as recited in claim 1, wherein said notification comprises an address identifying said specific information updated at said web server.
10. The method as recited in claim 9, wherein said notification further comprises:
a title entitling said updated specific information at said web server.
11. The method as recited in claim 9, wherein said address of said updated information comprises at least a Uniform Resource Locator providing linking information to said specific information updated at said web server.
12. The method as recited in claim 1, wherein said link infrastructure comprises:
a messenger comprising a notification manager, said notification manager assigning a notification identification to said notification upon receiving said notification from said web server and wherein said
corresponding message further comprises said notification identification.
13. The method as recited in claim 12, wherein method comprises:
updating a counter in said client device with respect to said notification identification upon receiving said corresponding message.
14. The method as claimed in claim 13, said method further comprising:
requesting said updated specific information from said web server according to said received corresponding message.
15. The method as claimed in claim 14, wherein requesting said updated specific information from said web server comprises:
fetching said updated specific information to said link device from said web server.
16. The method as claimed in claim 15 further comprising:
displaying said updated specific information after receiving said updated specific information forwarded from said link device in said link infrastructure.
17. The method as claimed in claim 15, wherein requesting said updated specific information from said server further comprises:
sending to said link device said notification identification recorded in said counter in said client device when said communication session is established between said link device in said link infrastructure and said line device via said wideband
channel.
18. The method as claimed in claim 17, said method further comprising:
consulting with said notification manager on said notification identification sent from said client device to determine if said notification identification is the last identification said messenger has assigned; and
retrieving queued notifications in a queue list in said notification manager if said notification identification sent from said client device is not the last identification said messenger has assigned.
19. The method as claimed in claim 18 wherein retrieving queued notifications in said queue list in said notification manager comprises:
forwarding said queued notifications retrieved from said queue list to said client device via said wideband channel; and
updating said counter in said client device for each of said queued notifications received from said link device.
20. The method as claimed in claim 1, wherein sending said corresponding message including information about said notification comprises:
assigning a notification identification to said notification received in said link infrastructure; and
transforming said notification along with said assigned notification identification to said corresponding message transportable in said narrowband channel.
21. The method as claimed in claim 20, wherein said corresponding message is a PUSH PDU.
22. The method as claimed in claim 20, wherein sending said corresponding message including said notification comprises:
encoding said corresponding message into a format transportable by a message system according to a predefined encoding/decoding scheme if said message system responsible for delivering said corresponding message via said narrowband channel does
not directly support said corresponding message.
23. The method as claimed in claim 22, wherein sending said corresponding message including said notification further comprises:
determining if said encoded corresponding message has a whole length greater than a predefined length limited by said message system; and
segmenting said encoded corresponding message into a plurality of message fragments when said whole length is greater than said predefined length, each of said plurality of said message fragments having a length less than said predefined length.
24. The method as claimed in claim 23, wherein segmenting said corresponding message into a plurality of message fragments comprises:
assigning a fragment sequence number, respectively, to each of said plurality of said message fragments.
25. The method as claimed in claim 24, said method further comprising:
fetching said updated specific information to said link device from said web server.
26. The method as claimed in claim 25, said method further comprising:
reassembling said plurality of said message fragments into said format based on said fragment sequence number in each of said plurality of said message fragments; and
decoding said format to recover said corresponding message according to said encoding/decoding scheme.
27. A system for integrating a narrowband channel and a wideband channel between a client device and a communication infrastructure, said system comprising:
a link infrastructure coupling said client device to a web server containing specific information subscribed by said client device; said link infrastructure comprising
a proxy server, said proxy server comprising user accounts;
a pull engine for receiving a notification from said web server when said specific information is updated, said pull engine also for pulling said updated specific information from said web server; and
a messenger, said messenger communicating with said pull engine, said messenger responsible for transforming said notification from said web server to a corresponding notification message for delivery to said client device across said narrowband
channel;
wherein said pull engine responds to a request from said client device by forwarding said updated specific information to said client device across said wideband channel.
28. The system as claimed in claim 27 wherein said notification comprises an address identifying said updated specific information in said web server.
29. The system as claimed in claim 28 wherein said address comprises
at least a Uniform Resource Locator providing linking information to said updated specific information using HyperText Transfer Protocol (HTTP).
30. The system as claimed in claim 28 wherein said notification further comprises a subscriber identification corresponding to said client device.
31. The system as claimed in claim 27 wherein said messenger delivers said corresponding notification message to said client device when said subscriber identification in said notification is matched to one of said user accounts in said proxy
server.
32. The system as claimed in claim 31, wherein said messenger assigns a notification identification to said received notification from said web server and wherein said corresponding notification message includes said notification identification.
33. The system as claimed in claim 32, wherein said messenger further comprises a notification queue, said notification being queued in said notification queue when said messenger does not successfully deliver said corresponding notification
message to said client device.
34. The system as claimed in claim 33, wherein said client device comprises a counter responsible for keeping track of said notification identification of said notification received as said corresponding notification message from said messenger
via said narrowband channel.
35. The system as claimed in claim 34, wherein said client device sends said notification identification to said pull engine when said client device establishes a communication session with said pull engine via said wideband channel.
36. The system as claimed in claim 35, wherein said pull engine consults with said messenger to determine if said notification identification sent from said client device is the last notification identification said messenger has assigned.
37. The system as claimed in claim 36, wherein said pull engine retrieves queued notifications in said notification queue when said notification identification sent from said client device is not the last notification identification said
messenger has assigned.
38. The system as claimed in claim 37, wherein said pull engine forwards said retrieved notifications to said client device via said wideband channel and wherein said counter in said client device updates for each of said retrieved notifications
received from said pull engine.
39. The system as claimed in claim 38, wherein said pull engine further forwards to said client device said updated specific information according to said address sent from said client device when client device is caused to fetch said updated
specific information.
40. The system as claimed in claim 39, wherein said client device displays said updated specific information on a display screen integral in said client device.
41. A system containing program code for integrating a narrowband channel and a wideband channel, said system comprises:
first program code for maintaining a user account of a client device at a link infrastructure; said link infrastructure comprising a proxy server and a carrier infrastructure; said carrier infrastructure comprising a messaging system capable of
sending a message of no more than a predefined length;
second program code for establishing a messenger at said proxy server;
third program code for establishing a pull engine at said proxy server and; said pull engine communicating with said messenger;
forth program code for receiving a notification from, via the Internet using a first communication protocol, a web server containing specific information subscribed by said client device when said specific information is updated, said
notification comprising a subscriber ID of said client device and an address identifying said updated specific information;
fifth program code for verifying said subscriber ID from said notification with said user account in said proxy sever device;
sixth program code for constructing in said messenger a corresponding message from said notification;
seventh program code for sending said corresponding message by said messaging system, via said narrowband channel, to said client device if said subscriber ID is matched to said user account by said fifth program code, wherein said corresponding
message includes a client device identification identifying said client device; and
eighth program code for receiving a request from said client device and sending said updated specific information from said web server to said client device across said wideband channel upon receiving said request from said client device.
42. The system as recited in claim 41,
wherein said notification further comprises an action type and a title identifying said specific information updated at said web server;
wherein said corresponding message comprises said title and said action type and
wherein said client device comprises program code for reacting accordingly with respect to said action type in said corresponding message when received.
43. The system as recited in claim 42, wherein said client device program code comprises program code for invalidating a cached copy of said specific information in said client device when said corresponding mess is received such that said
updated specific information has to be fetched when said cached copy is accessed.
44. The system as recited in claim 43, said client device program code further comprising program code for displaying said title identifying said specific information updated at said web server.
45. The system as recited in claim 42, wherein said client device program code comprises program code for causing said client device to generate an alert message to make a user of said client aware of said specific information updated at said
web server.
46. The system as recited in claim 43, wherein said sixth program code comprises:
program code for encoding said corresponding message, according to a predefined encoding/decoding scheme, to a data format transportable by said message system;
program code for determining if said data format has a total length greater than said predefined length limited by said messaging system; and
program code for segmenting said data format into a plurality of message fragments, each having a length no more than said predefined length.
47. The system as recited in claim 46, wherein said program code for segmenting said data format into a plurality of message fragments comprises:
program code for assigning, respectively, a sequence number to each of said plurality of said message fragments.
48. The system as recited in claim 47, wherein said data format is in alphanumeric characters and wherein said predefined length is 160 characters.
49. The system as recited in claim 47, wherein said seventh program code for sending said corresponding message by said messaging system comprises:
program code for sending, successively and respectively, each of said plurality of said message fragments.
50. The system as recited in claim 49, wherein said client device further comprises:
program code for reassembling said plurality of said message fragments to said data format according to said sequence number of each of said plurality of said message fragments.
51. The system as recited in claim 50, wherein said system further
comprises client device program code for fetching said updated specific information from said web server, wherein said client device program code comprises:
program code for making a request to establish a communication session with said pull engine via said wideband channel using second communication protocol;
program code for authenticating said client device with said user account;
program code for receiving said address from said client device if said authenticating is successful; and
program code for fetching said updated specific information by said pull engine using said first communication protocol from said web server.
52. The system as recited in claim 51, wherein said first communication protocol is HyperText Transfer Protocol (HTTP) and wherein said second communication protocol is Handheld Device Transfer Protocol (HDTP).
53. The system as recited in claim 41, further comprising program code for assigning a notification identification to said notification received in said messenger.
54. The system as recited in claim 53, wherein said corresponding message includes said notification identification.
55. The system as recited in claim 54, wherein said client device further comprises program code for keeping track of said notification identification in a counter in said client device when said corresponding message is received.
56. The system as recited in claim 55, wherein said system further comprises client device program code, said client device program code comprising:
program code, in said client device, for initiating a communication session between said client device and said pull engine via said wideband channel; and
program code for sending said request including said notification identification to said pull engine when said communication session is successfully established.
57. The system as recited in claim 56, wherein said client device further comprises:
program code for updating said counter for each of said queued notifications received with respect to said corresponding notification identification of each of said queued notifications.
58. The system as recited in claim 57, wherein said client device further comprises:
program code for rejecting each of said queued notifications forwarded from said messaging system via said narrowband channel. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of Invention
The present invention relates generally to data communications, and in particular relates to a method and apparatus for integrating narrowband and wideband data transports to optimize the use of the wideband channel through the effective use of
the narrowband channel.
2. Description of the Related Art
The Internet is a rapidly growing communication network of interconnected computers and computer networks around the world. Together, these millions of connected computers form a vast repository of hyperlinked information that is readily
accessible by any of the connected computers from anywhere at any time. To provide mobility and portability of the Internet, wireless Internet computing devices were introduced and are capable of communicating, via wireless data networks, with the
computers on the Internet. With the wireless data networks, people, as they travel or move about, are able to perform, through the wireless computing devices, exactly the same tasks they could do with computers on the Internet.
Regular mobile phones can return calls, check voice mail or enable users to be available for teleconferences anywhere at any time. However, new two-way interactive communication devices, such as mobile devices or mobile phones, would meld voice,
data, and personal digital assistants (PDA) functionality into a single portable equipment that is not just reactive to calls but also proactive, through a proxy computer, accessing a myriad of public and enterprise information services in the Internet.
For example, a traveler may request the departure time of a next available flight when on the way to an airport, or a trader may purchase shares of stock at a certain price. The pertinent information from these requests or transactions may include the
airline and the flight number for the traveler, as well as the stock name, the number of shares and the price being purchased for the trader. To be timely and periodically informed, one way is to electronically communicate the information requests into
a mobile device that is connected to a wireless data network. The wireless data network, for example, connects, through a proxy server, to a flight information server or stock quote server from which the desired flight information or the current stock
price can be retrieved by the mobile device on demand.
Alternatively, the traveler or the trader may be preferably informed of any available immediate flight information or a stock price that has hit a pre-set preferred price. It is, however, sometimes disturbing to inform the traveler or the trader
of any updated changes to the flight information or the current stock price, especially the stock price being updated every second during trading hours. There is, therefore, a great need for a solution for informing users of any updates to their desired
information and allowing the users to retrieve the updated information when needed. Further, in a circuit-switched network, such as GSM, a mobile device must establish a circuit in a carrier infrastructure via a wideband channel before communicating
with any server on the network. The connection, similar to a telephone line, can be both time consuming and costly to the users. Hence users generally prefer to have controls over the communication of their mobile devices through the carrier
infrastructure when accessing updated information from a web server.
SUMMARY OF THE INVENTION
The present invention has been made in consideration of the above described problems and needs and has particular applications to the navigation of Internet web pages using two-way interactive communication devices, such as a mobile device, a
mobile phone, a landline telephone, and an Internet capable remote controller.
According to one aspect of the present invention, each of the two-way interactive communication devices, referred to as client devices herein, is a node in a distributed network that comprises the Internet, the Intranet, or other private network
along with an airnet. Thus the client
devices can access hypermedia information or hierarchic layers or pages of information stored in server devices on the Internet, the Intranet, or other private network via the airnet. When one or more pages of information are updated, users of
those client devices subscribing to the updated pages of information receive a notification from one of the server devices that stores the updated information. The notification, depending on an action type therein, upon arriving in the client devices
may cause a local cached copy of the corresponding outdated information to be invalidated or to generate an alert message to get immediate attention from the users. Cache coherency is maintained when the users of the client devices navigate to the local
cached copy that has been invalidated and causes the client devices to fetch the updated information from the server device.
According to another aspect of the present invention, the client devices communicate with the server devices through a link infrastructure. The link infrastructure, providing an interface between the Internet and the airnet, comprises a link
device and a carrier infrastructure. The link device comprises a messenger and a pull engine while the carrier infrastructure comprises a message system (MS), such as a short message service center (SMSC), and an interworking function (IWF). When a
notification is sent out from one of the server devices that holds an updated information subscribed by one of the client devices serviced by the link infrastructure, the notification is processed in the messenger to form a corresponding message
transportable through MS and possibly IWF depending on whether a communication session has been established. More specifically, the messenger including the notification is coupled directly to MS that is responsible for sending the corresponding message
through a narrowband channel to the targeted client device. Upon receiving the corresponding message, the targeted client device is caused to send a request to establish a communication session with the pull engine in the link infrastructure through the
wideband channel so as to fetch the updated information from the server that holds the updated information. When the client device is authenticated by the link device, the communication session is established and the updated information is fetched into
the link device that further forwards the fetched information to the client device.
Still according to another aspect of the present invention, the messenger comprises a notification manager that assigns a sequence identification to every notification received via the distributed network and a queue list to keep those
notifications that could not be successfully delivered. The sequence identification is tractable, such as monotonically and evenly increased numbers, so that each notification is assigned with a unique but tractable sequence number. Similarly, the
client device maintains a register to keep the sequence numbers of the notifications received. The sequence number of the last received notification is forwarded to the pull engine in the link device by the client device when the communication session
is established. The pull engine consults with the messenger on the forwarded sequence number. If the forwarded sequence number does not match what the notification manager has assigned, which indicates that there are some undelivered notifications in
the queue list, the pull engine retrieves those undelivered notifications in the queue list and forwards them to the client device through the wideband channel in which the communication session has been established. With respect to the number of the
undelivered notifications received in the client device, the register updates accordingly to prevent the client device to act from the same undelivered notifications that may be forwarded by MS through the narrowband channel.
Still according to another aspect of the present invention, the messenger further comprises an encoder that encodes the corresponding message into a string of alphanumeric characters if MS can only deliver messages of alphanumeric characters.
When the corresponding message exceeds the maximum length of messages that MS can deliver, the messenger further includes a message segmenter that segments the corresponding message into a plurality of message fragments and each of the message fragments,
preferably sequentially labeled, is respectively and successively sent by MS to the targeted client device. The client device typically proceeds with a reversed process upon receiving the fragments from MS.
Accordingly, an important object of the present invention is to provide a generic solution for informing users of any updates to desired information and allowing users to retrieve the updated information when needed.
Another object of the present invention is to provide a system for systemic solutions for integrating wideband and narrowband channels to keep the users informed of any updates to their desired information and providing efficient means to the
users for retrieving the latest updates without incurring uncontrollable costs and increasing unnecessary network traffics.
Other objects, together with the foregoing are attained in the exercise of the invention in the following description and resulting in the embodiment illustrated in the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS (TO BE
UPDATED)
These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:
FIG. 1 illustrates a schematic configuration in which the present invention may be practiced;
FIG. 2 illustrates a functional diagram of the disclosed system in the present invention;
FIG. 3 shows functional block diagrams in a mobile device and a link server device according to one embodiment;
FIG. 4 shows a block diagram illustrating processes in the disclosed system using short message service center (SMSC) according to one embodiment of the present invention;
FIG. 5 illustrates a recordation of subscriber IDs and associated URLs in a Web server;
FIG. 6 illustrates a queue list with entries of notifications assigned with a notification sequence number, each corresponding to a subscriber ID;
FIG. 7 illustrates a push message encoded in Base64 in a PDU;
FIGS. 8A to 8F illustrate a process flowchart that describes the operations and procedures of the link infrastructure and the mobile device (client device) according to one embodiment of the present invention.
DETAILED DESCRIPTION OF THE
INVENTION
Notation and Nomenclature
In the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will become obvious to those skilled in the art that the
present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuitry have not been described in detail to avoid unnecessarily obscuring aspects of the present invention.
The detailed description of the present invention in the following are presented largely in terms of procedures, steps, logic blocks, processing, and other symbolic representations that resemble of data processing devices coupled to networks.
These process descriptions and representations are the means used by those experienced or skilled in the art to most effectively convey the substance of their work to others skilled in the art. The present invention is a method and system for
integrating narrowband and wideband channels for efficiently transporting latest updated information. The method along with the system to be described in detail below is a self-consistent sequence of processes or steps leading to a desired result.
These steps or processes are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities may take the form of electrical signals capable of being stored, transferred, combined, compared, displayed and
otherwise manipulated in a computer system or electronic computing devices. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, operations, messages, terms, numbers, or
the like. It should be borne in mind that all of these similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the
following description, it is appreciated that throughout the present invention, discussions utilizing terms such as "processing" or "computing" or "verifying" or "displaying" or the like, refer to the actions and processes of a computing device that
manipulates and transforms data represented as physical quantities within the computing device's registers and memories into other data similarly represented as physical quantities within the computing device or other electronic devices.
The Preferred Embodiment
Referring now to the drawings, in which like numerals refer to like parts throughout the several views. FIG. 1 illustrates a schematic configuration in which the present invention may be practiced. A data network 100 comprises an airnet 102
that is generally called wireless network and a landnet 104 that is generally a landline network, each acting as a communication medium for data transmission therethrough. Airnet 102, in which the data transmission is via the air, is sometimes referred
to as a carrier network as well because each airnet is controlled and operated by a carrier, for example AT&T and GTE, each having its own communication scheme, such as CDPD, CDMA, GSM and TDMA for airnet 102.
Referenced by 106 is one of the two-way interactive communication devices that can be a mobile device, a cellular phone, a landline telephone or a wireless capable remote controller, capable of communicating, via airnet 102, with an antenna 108
that also represents a carrier infrastructure. It is generally understood that the carrier infrastructure or antenna 108 serves simultaneously a plurality of the two-way interactive communication devices, of which only one mobile device 106 is shown in
the figure. Similarly, connected to Internet 104 are a plurality of desktop personal computers (PC) 110 and a plurality of web server computers 112, though only one representative, respectively, is shown in the figure. PC 110, as shown in the figure,
may be a personal computer SPL 300 from NEC Technologies Inc. and runs a HTML Web browser via the Internet 104 using HTTP to access information stored in web server 112 that may be a workstation from SUN Microsystems Inc. It is understood to those
skilled in the art that PC 110 can store accessible information therein so as to become a web server as well.
When any content in one of the web servers get updated, the mobile devices that subscribe to the updated content must be made aware of the update as many of the mobile devices may have cached a local copy of the outdated content. Instead of
constantly sending the updates to update the local copy in the mobile devices through the Internet 104 and airnet 102, which can cause heavy traffic in the networks, the present invention allows the web server that has the updated content to send a
notification, or an electronic message, to the mobile devices so as to make users thereof aware that an update to the local copy in the mobile devices has occurred at the web server. The users can then make a decision to fetch the update.
Between the Internet 104 and the airnet 102 there is a link infrastructure 120 that comprises a link server device 114 and the carrier infrastructure 108. Link server device 114, also referred to as proxy server or gateway server, may be a
workstation or a personal computer and performs mapping or translation functions, for example, mapping from one protocol to another, thereby the mobile device 106 can be in communication with any one of the servers 112 or the PCs 110, respectively via
the carrier infrastructure 108. Carrier infrastructure 108 generally comprises a base station and an operations and maintenance center. The base station controls radio or telecommunication links with the mobile devices. The operations and maintenance
center comprises a mobile switching center performing the switching of calls between the mobile devices and other fixed or mobile network users. Further the operations and maintenance center manages mobile services, such as authentication and oversees
the proper operation and setup of a wireless network. Each of the hardware components and processes in the base station and the operations and maintenance center is known to those skilled in the art and not to be described herein to avoid unnecessarily
obscuring aspects of the present invention.
The communication protocol in the Internet 104 is the well known HyperText Transfer Protocol (HTTP) or HTTPS, a secure version of HTTP, and runs on TCP (Transmission Control Protocol) and controls the connection of a well known HyperText Markup
Language Web browser, or HTML Web browser in PC 110, to Web server 112, and the exchange of information therebetween. The communication protocol between mobile device 106 and link server 114 via airnet 102 is Handheld Device Transport Protocol (HDTP)
(formerly known as Secure Uplink Gateway Protocol (SUGP)), which preferably runs on User Datagram Protocol (UDP) and controls the connection of a HDML Web browser in mobile device 106, to server 114, where HDML stands for Handheld Device Markup Language. HDML, similar to that of HTML, is a tag based document language and comprises a set of commands or statements specified in a card that specifies how information displayed on a small screen of the mobile device 106. Normally a number of cards are grouped
into a deck that is the smallest unit of HDML information that can be exchanged between the mobile device 106 and the proxy server 114. The specifications of HDTP, entitled "HDTP Specification" and HDML, entitled "HDML 2.0 Language Reference" are
enclosed and incorporated herein by reference in their entirety. The HDTP is a session-level protocol that resembles HTTP but without incurring the overhead thereof and is highly optimized for use in thin devices, such as the mobile devices, that have
significantly less computing power and memory than that in a desktop personal computer. Further it is understood to those skilled in the art that the UDP does not require a connection to be established between a client and a server before information
can be exchanged, which eliminates the need of exchanging a large number of packets during a session creation between a client and a server. Exchanging a very small number of packets during a transaction is one of the desired features for a mobile
device with very limited computing power and memory to effectively interact with a landline device.
To facilitate the description of the disclosed system, however, it is deemed necessary to recite some of the features in mobile device 106 that make the disclosed system work more efficiently. According to one embodiment, mobile phone 106
comprises a display screen 116 and a keyboard pad 118 that allow a user thereof to communicate interactively with the mobile phone. The hardware components including a microcontroller, a ROM and a RAM, referring to working memory, in mobile phone 106
are known to those skilled in the art. The compiled and linked processes of the present invention are typically stored in the ROM as a client module that causes mobile device 106 to operate with proxy server 114. With display screen 116 and keypad 118,
a user of mobile device 106 can interactively communicate with proxy server 114 over airnet 102. Upon activation of a predetermined key sequence utilizing keypad 118, for example, the microcontroller initiates a communication session request to proxy
server 114 using the client module in the ROM. Upon establishing the communication session, mobile device 106 typically receives a single HDML deck from proxy server 114 and stores the deck as cached in the RAM. As described above, an HDML deck
comprises one or more cards and each card includes the information required to generate a screen display on display screen 116. The number of cards in a card deck is selected to facilitate efficient use of the resources in mobile device 106 and in
airnet network 102.
Referring now to FIG. 2, there is shown a functional block diagram of the disclosed system. Web server device 202 provides accessible information to other computing devices on the Internet 104. Mobile device 106 accesses the information in web
server device 202 via link server device 114 that is coupled to Internet 104. It should be noted that the communication
between mobile device 106 and proxy server 114 is via the carrier infrastructure that is not part of the invention and therefore not shown in the figure to avoid unnecessarily obscuring aspects of the present invention. Further, to avoid
possible ambiguities in further description of the present invention, server device, such as web server device 202 and link server device 114, means a piece of hardware equipment that comprises one or more microprocessors, working memory, buses and
necessary interface and other components that are familiar to those skilled in the art while a server module means compiled and linked processes of the disclosed system loaded into the working memory to perform designated functions, according to the
invention, through the parts and components in the server device. The same distinction is equally applied to mobile devices, referred to, for example, client device 106, and the client module as stated above.
Web server device 202 pushes a notification or a piece of electronic message to link server device 114 when there is a change or update to the information subscribed by mobile device 106. Accessible information is generally presented in
hierarchical pages of hyperlinked HDML pages and each of the HDML pages is identified by a distinct address, such as an universal resource locator (URL). If the contents in one or more pages are updated, the corresponding URLs are included in the
notification. As described before, rather than sending the entire updated pages in a new HDML deck through the Internet 104, link server device 114, airnet 102, and eventually to mobile device 106, the notification is sent to client device 106
asynchronously via messenger 208 to make the user of mobile device 106 aware that an update to the information the user fetched before has occurred, then it is up to the user to decide when to fetch the updates. The notification comprises:
an address--one or more URLs identifying the updated pages;
an action type--a flag to cause a mobile device to react accordingly upon receiving the notification; and
a subscriber ID--a unique number identifying the mobile device that is targeted for receiving the notification; alternatively a (pushed) notification P is expressed as follows:
The notification is pushed or sent out from web server device 202 when there is an update to any subscribed information in web server device 202. When link server device 114 receives the notification, messenger 208 forwards the received
notification to mobile device 106 via narrowband channel 204. Upon receiving the notification, mobile device 106 reacts according to the action type as to how to make a user of the mobile device 106 aware of the update at web server device 202. When
the updated information is desired, the updated information can be accessed through a pull agent 210 via wideband channel 206 using the address embedded in the notification.
It should be noted that a narrowband channel and a wideband channel herein are a pair of relative terms. In other words, wideband channel 206 has a higher bandwidth than narrowband channel 204 does. The bandwidth means the capacity a
communication channel has for carrying data through. Narrowband channel 204 is typically at 400 bits per second (bps) while wideband channel 206 is typically over 14400 bps. From the user perspective, the narrowband channel is the auxiliary channel
provided by the carrier and therefore no cost or at a fixed cost to the users while the wideband channel typically initiated by the users and the usage thereof is measured and typically charged to the users who communicate with web server devices on the
Internet through the wideband channel.
To be more specific, in circuit-switched network, such as GSM, an electronic connection in the carrier infrastructure must be physically established before the intercommunication between a mobile device and a link server device can take place.
The physical electronic connection through a switch circuit is generally measured in terms of seconds and paid by the user regardless how much data is actually passed through. One of the key features in the present invention is to use narrowband channel
204 to notify the user of mobile device 106 of the update to the information the user subscribes. It is then entirely up to the user to decide what and when to do with the update. Thus the user is timely informed of any updates without incurring
uncontrollable cost till the user decides to fetch the updates through wideband channel 206.
Prior to describing one embodiment of the present invention that uses the well known short message service center (SMSC), it is necessary to refer to FIG. 3 that shows functional block diagrams in a mobile device and a link server device.
Referenced by 302, 304 and 306 are three representatives of a plurality of the mobile devices coupled to airnet 102, similarly referenced by 310, 312 and 314 are three representatives of a plurality of landline devices coupled to landnet 104. Link
server device 114 couples airnet 102 to landnet 104, therefore any mobile devices can communicate with any of the landline devices via airnet 102 through proxy server 114 to landnet 104. It is understood to those skilled in the art that the mobile
devices may be the one 106 shown in FIG. 1. To facilitate the description of the present invention, the internal block diagrams of mobile device 302 and link server device 114 are respectively illustrated. Other processes and hardware are known to
those skilled in the art and are not illustrated in detail in the figure for clarity.
| | |