1. Field of Invention
The present invention relates to a system for viewing messages received on a wireless communication device, and more specifically, to viewing messages received on a wireless communication device via one or more communication channels using a web browser.
2. Background
Wireless communication devices are becoming the mainstay of personal communication. In addition to asynchronous voice communication, wireless communication devices may be used for sending and receiving messages on various communication channels such as email, SMS, MMS, IM, Bluetooth™ or the like.
Certain messaging methods, like SMS, may be particularly suitable for small-screen portable devices. However, for other types of messaging like email, the somewhat limited user interface and memory capacity of simple wireless communication devices like mobile phones may offer somewhat limited usability when compared to the resources offered by devices such as desktop computers, laptop computers, Internet tablets or even emerging multifunction wireless devices. Limited access to messaging may be convenient (e.g., just to read an email) when typically performed using the limited user interface of mobile phones. However, when required to perform longer tasks with e-mail and other messaging methods, many users tend to prefer the superior user interface and memory of desktop or laptop PCs.
Further, even though a user may send and receive messages via a multitude of communication channels as discussed above, the user cannot view messages sent over different communication channels in a unified way. The utilization of separate messaging clients may be required to view and send different types of messages (SMS, MMS, email, IM, Bluetooth™, etc.). For example, if a user is reading an email message and wishes to reply to the email message using a text message, the user must exit the email program and navigate using menu options to activate a text messaging application to send the text message. Further, the user will not be able to view the conversation (e.g., the original email and the subsequent text message replying to the email) as a single thread. This becomes especially confusing when various communication channels (e.g. SMS, MMS, email, IM, Bluetooth™, etc.) are used to discuss the same cognitive thread (e.g., over time a single conversation may take place across different communication channels). While some messaging systems such as Gmail™ and the iPhone™ are able to display conversation threads, they only display conversation threads for one communication channel at a time (SMS or email). Furthermore, it may be difficult (or even impossible) to search messages by sender, receiver, content, time, etc. which have been sent or received across multiple communication channels.
In accordance with exemplary embodiments of the present invention, a system, apparatus and method for enabling access to the content of a wireless communication device (WCD), such as a mobile phone, from the Internet using a web browser on a remote terminal, such as a desktop or laptop PC, an Internet tablet or a web browser on a wireless communication device is provided. Such information may be accessible when the user is logged on to his or her wireless account over a network, such as the Internet.
In accordance with at least one exemplary embodiment of the present invention, the WCD may communicate with the PC via a Mobile Web Server on the WCD which provides access to messages which may have been received through one or more communication channels (e.g., SMS, MMS, email, IM, Bluetooth™, etc.). The Mobile Web Server may enable access to the messages such that a user may view, create, edit, send, receive and search the messages using a web browser on a desktop or laptop PC.
According to another exemplary embodiment, the Mobile Web Server may enable the viewing of messages which are part of the same conversation as a single conversational thread, even if the messages in the conversation have been received through multiple communication channels.
According to another exemplary embodiment, the Mobile Web Server may allow searching of messages according to various user-selectable criteria such as sender, receiver, time ranges, keyword, etc.
The invention will be further understood from the following detailed description of various exemplary embodiments, taken in conjunction with appended drawings, in which:
It is to be understood that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims.
While the invention has been described in terms of exemplary embodiments, various changes can be made therein without departing from the spirit and scope of the invention, as described in the appended claims.
A WCD usable with various embodiments of the present invention may include anything from a basic mobile phone to a more complex handheld device such as a smartphone or PDA. Therefore, it may be worthwhile to understand the communication tools available to a user before exploring the features of the present invention. For example, in the case of a mobile phone or other handheld wireless device, the integrated data handling capabilities may play an important role in facilitating the transaction between the transmitting and receiving devices.
Memory 330 may include random access memory (RAM), read only memory (ROM), and/or flash memory, and stores information in the form of data and software components (also referred to herein as modules). The data stored by memory 330 may be associated with particular software components. In addition, this data may be associated with databases, such as a bookmark database or a business database for scheduling, email, etc.
Memory 330 may also encompass different forms of removable media that may be accessed by resources within WCD 100. A device such as WCD 100 may be configured to accept different forms of removable media, such as flash memory, CD-ROM, DVD-ROM, etc. Once coupled to, or inserted within, WCD 100, processor 300 may trigger a read/write device to access this removable media in order to load program information and/or other forms of data into memory integrated within WCD 100.
The software components stored by memory 330 may include instructions that can be executed by processor 300. Various types of software components may be stored in memory 330. For instance, memory 330 may store software components that control the operation of communication sections 310, 312, 320 and 340. Memory 330 may also store software components including a firewall, a service guide manager, a bookmark database, user interface manager, and any communications utilities modules required to support WCD 100.
Long-range communications 310 performs functions related to the exchange of information over large geographic areas (such as cellular networks) via an antenna. These communication methods include technologies from 1G to 3G. In addition to basic voice communications (e.g., via GSM), long-range communications 310 may operate to establish data communications sessions, such as General Packet Radio Service (GPRS) sessions and/or Universal Mobile Telecommunications System (UMTS) sessions. Also, long-range communications 310 may operate to transmit and receive messages, such as short messaging service (SMS) messages, multimedia messaging service (MMS) messages, instant messages (IM) and/or email. As disclosed in
As a subset of long-range communications 310, or alternatively operating as an independent module separately connected to processor 300, broadcast receivers 312 allows WCD 100 to receive transmission messages via mediums such as Analog Radio, Digital Video Broadcast for Handheld Devices (DVB-H), Digital Audio Broadcasting (DAB), etc. These transmissions may be encoded so that only certain designated receiving devices may access the transmission content, and may contain text, audio or video information. In at least one example, WCD 100 may receive these transmissions and use information contained within the transmission signal to determine if the device is permitted to view the received content. As in the case of long-range communications 310, broadcast receivers 312 may be comprised of one or more radio modems utilized to receive a variety of broadcast information.
Short-range communications 320 is responsible for functions involving the exchange of information across short-range wireless networks. As described above, examples of such short-range communications 320 are not limited to Bluetooth™, WLAN, UWB, Zigbee, UHF RFID, and Wireless USB connections. Accordingly, short-range communications 320 performs functions related to the establishment of short-range connections, as well as processing related to the transmission and reception of information via such connections. Short-range communications 320 may be composed of one or more subsystems made up of, for example, various radio modems employed to communicate via the previously indicated assortment of short range wireless mediums.
Short-range input device 340, may provide functionality related to the short-range scanning of machine-readable data (e.g., for NFC). For example, processor 300 may control short-range input device 340 to generate RF signals for activating an RFID transponder, and may in turn control the reception of signals from an RFID transponder. Other short-range scanning methods for reading machine-readable data that may be supported by the short-range input device 340 are not limited to IR communications, linear and 2-D (e.g., QR) bar code readers (including processes related to interpreting UPC labels), and optical character recognition devices for reading magnetic, UV, conductive or other types of coded data that may be provided in a tag using suitable ink. In order for the short-range input device 340 to scan the aforementioned types of machine-readable data, the input device may include a multitude of optical detectors, magnetic detectors, CCDs or other sensors known in the art for interpreting machine-readable information.
As further shown in
WCD 100 may also include one or more transponders 380. This is essentially a passive device that may be programmed by processor 300 with information to be delivered in response to a scan from an outside source. For example, an RFID scanner mounted in an entryway may continuously emit radio frequency waves. When a person with a device containing transponder 380 walks through the door, the transponder is energized and may respond with information identifying the device, the person, etc.
Hardware corresponding to communications sections 310, 312, 320 and 340 provide for the transmission and reception of signals. Accordingly, these portions may include components (e.g., electronics) that perform functions, such as modulation, demodulation, amplification, and filtering. These portions may be locally controlled, or controlled by processor 300 in accordance with software communications components stored in memory 330.
The elements shown in
The user interface 350 may interact with a communications utilities software component, also contained in memory 330, which provides for the establishment of service sessions using long-range communications 310 and/or short-range communications 320. The communications utilities component may include various routines that allow the reception of services from remote devices according to mediums such as the Wireless Application Protocol (WAP), Hypertext Markup Language (HTML) variants like Compact HTML (CHTML), etc.
In
By way of example, an exemplary remote terminal 200, such as a desktop or laptop PC, Internet tablet or wireless communication device, may include at least a central processing unit (“CPU”), a system memory, and a system bus that couples various system components including the system memory to the processing unit. Remote terminal 200 may further include a hard disk drive for reading from and writing to a hard disk, a magnetic disk drive for reading from or writing to a removable magnetic disk, and an optical disk drive for reading from or writing to a removable optical disk, such as a CD-ROM or other optical media. The drives and the associated computer-readable media may provide storage for computer readable instructions, program modules, data structures and other information for use by remote terminal 200. Remote terminal 200 may operate in a wired or wireless networked environment using connections to one or more remote computers. A remote computer may be another personal computer, a server, a router or other network node, and may typically include many or all of the elements described above relative to remote terminal 200.
As shown in
WCD 100 may be running at least Mobile Web Server 504 which is a Symbian port of the Apache httpd web server. In the exemplary embodiment shown in
It is important to note that the above described examples are not intended to limit the breadth and scope of the invention to the disclosed embodiment, but rather to illustrate the variety of possibilities embodied in accessing messages received over one or more channels such as SMS, MMS, email, IM, Bluetooth™, etc. using a web browser.
Various exemplary operations described herein may, in various exemplary embodiments, be executed by and/or with the help of computers. Further, for example, devices described hereinabove may be and/or may incorporate computers. The phrases “data computing device,” “general purpose computer,” “computer,” “remote terminal,” and the like, as used herein, refer but are not limited to a smart card, a media device, a personal computer, an engineering workstation, a PC, a Macintosh, a PDA, a portable computer, a computerized watch, a wired or wireless terminal, phone, communication device, node, and/or the like, a server, a network access point, a network multicast point, a network device, a set-top box, a personal video recorder (PVR), a game console, a portable game device, a portable audio device, a portable media device, a portable video device, a television, a digital camera, a digital camcorder, a Global Positioning System (GPS) receiver, a wireless personal server or the like, or any combination thereof, perhaps running an operating system such as OS X, Linux, Darwin, Windows CE, Windows XP, Windows Server 2003, Palm OS, Symbian OS, or the like, perhaps employing the Series 40 Platform, Series 60 Platform, Series 80 Platform, and/or Series 90 Platform, and perhaps having support for Java and/or Net.
The phrases “data computing device,” “general purpose computer,” “computer,” “remote terminal,” and the like also refer, but are not limited to, one or more processors operatively connected to one or more memory or storage units, wherein the memory or storage may contain data, algorithms, and/or program code, and the processor or processors may execute the program code and/or manipulate the program code, data, and/or algorithms. Each of I/O interfaces may, for example, be an Ethernet, IEEE 1394, IEEE 1394b, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11i, IEEE 802.11e, IEEE 802.11n, IEEE 802.15a, IEEE 802.16a, IEEE 802.1d, IEEE 802.16e, IEEE 802.16x, IEEE 802.20, IEEE 802.15.3, ZigBee, Bluetooth, Ultra Wide Band (UWB), Wireless Universal Serial Bus (WUSB), wireless Firewire, terrestrial digital video broadcast (DVB-T), satellite digital video broadcast (DVB-S), Advanced Television Systems Committee (ATSC), Integrated Services Digital Broadcasting (ISDB), Digital Multimedia Broadcast-Terrestrial (DMB-T), MediaFLO (Forward Link Only), Terrestrial Digital Multimedia Broadcasting (T-DMB), Digital Audio Broadcast (DAB), Digital Radio Mondiale (DRM), General Packet Radio Service (GPRS), Universal Mobile Telecommunications Service (UMTS), Global System for Mobile Communications (GSM), Code Division Multiple Access 2000 (CDMA2000), DVB-H (Digital Video Broadcasting: Handhelds), IrDA (Infrared Data Association), and/or other interface.
Mass storage may be a hard drive, optical drive, a memory chip, or the like. Processors may each be a commonly known processor such as an IBM or Freescale PowerPC, an AMD Athlon, an AMD Opteron, an Intel ARM, an Intel XScale, a Transmeta Crusoe, a Transmeta Efficeon, an Intel Xenon, an Intel Itanium, an Intel Pentium, or an IBM, Toshiba, or Sony Cell processor. Computer as shown in this example also includes a touch screen and a keyboard. In various exemplary embodiments, a mouse, keypad, and/or interface might alternately or additionally be employed. Computer may additionally include or be attached to card readers, DVD drives, floppy disk drives, hard drives, memory cards, ROM, and/or the like whereby media containing program code (e.g., for performing various operations and/or the like described herein) may be inserted for the purpose of loading the code onto the computer.
In accordance with various exemplary embodiments of the present invention, a computer may run one or more software modules designed to perform one or more of the above-described operations. Such modules might, for example, be programmed using languages such as Java, Objective C, C, C#, C++, Perl, Python, and/or Comega according to methods known in the art. Corresponding program code might be placed on media such as, for example, DVD, CD-ROM, memory card, and/or floppy disk. It is noted that any described division of operations among particular software modules is for purposes of illustration, and that alternate divisions of operation may be employed. Accordingly, any operations discussed as being performed by one software module might instead be performed by a plurality of software modules. Similarly, any operations discussed as being performed by a plurality of modules might instead be performed by a single module. It is noted that operations disclosed as being performed by a particular computer might instead be performed by a plurality of computers. It is further noted that, in various exemplary embodiments, peer-to-peer and/or grid computing techniques may be employed. It is additionally noted that, in various exemplary embodiments, remote communication among software modules may occur. Such remote communication might, for example, involve Simple Object Access Protocol (SOAP), Java Messaging Service (JMS), Remote Method Invocation (RMI), Remote Procedure Call (RPC), sockets, and/or pipes.
It is noted that various operations and/or the like described herein may, in various exemplary embodiments, be implemented in hardware (e.g., via one or more integrated circuits). For instance, in various exemplary embodiments various operations and/or the like described herein may be performed by specialized hardware, and/or otherwise not by one or more general purpose processors. One or more chips and/or chipsets might, in various exemplary embodiments, be employed. In various exemplary embodiments, one or more Application-Specific Integrated Circuits (ASICs) may be employed.
The present invention is described above by using the Global System for Mobile Communication (“GSM”) mobile communication system as an example of the information transmission network system. However, the invention is not limited to this mobile communication system. The invention can also be applied in other mobile communication systems which have the capability for transmitting addressed information. The mobile communication system can be simplex or duplex.
As is known, a GSM mobile communication network consists of mobile services switching centers (“MSC”) and of base station systems (“BSS”). A base station system consists of a base station and a base station controller. Each BSS is controlled by one MSC. MSC's communicate with each other, wherein calls and other signaling can be transmitted within the mobile communication network as well as between the mobile communication network and a landline telecommunication network or another mobile communication network. In the same geographical area, there can also be several mobile communication networks. The MSC has a home location register (“HLR”) and a visitor location register (“VLR”). The HLR is a database of the mobile communication network containing the basic data of the mobile phone subscribers registered in the network. The HLR contains, for example, the international mobile subscriber identity, the mobile subscriber international ISDN number, and data related to the services available to the subscriber. The VLR is a database of the mobile communication network containing the data required of the mobile subscribers within the area of the mobile communication network at each time for the transmission of calls. The visitor location register VLR is used, for example, for the control of the mobility of the mobile phone, wherein calls and messages can be directed to the correct mobile phone, also in a situation where the mobile phone is in the area of a different mobile communication network than in which the mobile phone is registered. This situation comes also for example when the mobile phone is used abroad.
With GSM mobile phones, each mobile subscriber must have at least one subscriber identity module (“SIM”) card. This SIM card contains the identification data of the mobile subscriber, such as the code and telephone number of the mobile subscriber. Thus by using these identification data, the messages and calls can be directed to the correct mobile station. The SIM card can also be moved to another mobile station, if necessary, wherein also the calls are transmitted to this other mobile phone. The use of a SIM card requires usually that a PIN code is entered at the stage when the mobile phone is turned on. This PIN code can be changed by the mobile subscriber, and the code is intended for preventing misuse of the SIM card for example if the SIM card is lost.
Although the description above contains many specifics, these are merely provided to illustrate the invention and should not be construed as limitations of the invention's scope. Thus it will be apparent to those skilled in the art that various modifications and variations can be made in the system and processes of the present invention without departing from the spirit or scope of the invention.
In addition, the exemplary embodiments, features, methods, systems, and details of the invention that are described above in the application may be combined separately or in any combination to create or describe new exemplary embodiments of the invention.
It is noted that the various examples of this exemplary embodiment are not intended to limit the breadth and scope of the invention, but rather to illustrate the variety of possibilities embodied in processing and displaying the notification of remote terminal events to a user.