The invention relates generally to mobile communications, and more particularly but not exclusively to managing a quick registration of a mobile device to be useable for an instant messaging (IM) session.
The use of mobile technologies is steadily on the increase, for both business and personal uses. Mobile phones are a common site today and many people own personal information management (PIM) devices, palmtop computers, and so forth, to manage their schedules, contacts, and to stay connected with friends, family, and work. Employees on the move often appreciate the value of staying connected with their business through their mobile devices.
With such a variety of mobile devices, one can receive email messages, Instant Messaging (IM) messages, and Short Message Service (SMS) text messages, in addition to regular voice calls. With the growing proliferation of such mobile devices, it is becoming ever more important to ensure that employees, friends, and family are able to remain seamlessly connected to each other. Therefore, it is with respect to these considerations and others that the present invention has been made.
Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following drawings. In the drawings, like reference numerals refer to like parts throughout the various figures unless otherwise specified.
For a better understanding of the present invention, reference will be made to the following Detailed Description of the Invention, which is to be read in association with the accompanying drawings, wherein:
The present invention now will be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific exemplary embodiments by which the invention may be practiced. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Among other things, the present invention may be embodied as methods or devices. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense.
Briefly stated, the present invention is directed towards a system, apparatus, and method for managing a quick registration of a mobile device over a network. The quick registration is directed at enabling an end-user to conveniently register a mobile device to be useable for such communications sessions, as an instant messaging (IM) session, and the like. The invention employs a pre-determined shortcode or extension to a short code that instructs a server to register the mobile device sending the message. The message may include an account identifier along with a password or other credentials to the account. The message may be a single line (e.g., absent multiple line return controls, rather than a sequence of messages), thereby providing a quick and convenient mechanism for registering the mobile device. In one embodiment, the message is a Short Message Service (SMS) message. A server receives the message along with a mobile device identifier, and stores a mapping relationship between the account identifier and the mobile device identifier after authenticating the account identifier. In one embodiment, the message further includes a request that the mobile device also be logged into a communications session, such as an IM communications session.
Illustrative Operating Environment
Generally, mobile devices 102-104 may include virtually any portable computing device capable of receiving and sending a message over a network, such as network 105, wireless network 110, and the like, to and from another computing device, such as RS 106, another mobile device, and the like. Thus, mobile devices 102-104 may include virtually any portable computing device capable of connecting to another computing device and receiving information. Such devices include portable devices such as, cellular telephones, smart phones, display pagers, radio frequency (RF) devices, infrared (IR) devices, Personal Digital Assistants (PDAs), handheld computers, laptop computers, wearable computers, tablet computers, integrated devices combining one or more of the preceding devices, and the like. As such, mobile devices 102-104 typically range widely in terms of capabilities and features. For example, a cell phone may have a numeric keypad and a few lines of monochrome LCD display on which only text may be displayed. In another example, a web-enabled mobile device may have a touch sensitive screen, a stylus, and several lines of color LCD display in which both text and graphics may be displayed.
A web-enabled mobile device may include a browser application that is configured to receive and to send web pages, web-based messages, and the like. The browser application may be configured to receive and display graphics, text, multimedia, and the like, employing virtually any web based language, including a wireless application protocol messages (WAP), and the like. In one embodiment, the browser application is enabled to employ Handheld Device Markup Language (HDML), Wireless Markup Language (WML), WMLScript, JavaScript, Standard Generalized Markup Language (SMGL), HyperText Markup Language (HTML), eXtensible Markup Language (XML), and the like, to display and send a message.
Mobile devices 102-104 also may include at least one client application that is configured to receive content from another computing device. The client application may include a capability to provide and receive textual content, graphical content, audio content, and the like. The client application may further provide information that identifies itself, including a type, capability, name, and the like. In one embodiment, mobile devices 102-104 may uniquely identify themselves through any of a variety of mechanisms, including a phone number, Mobile Identification Number (MIN), an electronic serial number (ESN), or other mobile device identifier. The information may also indicate a content format that the mobile device is enabled to employ. Such information may be provided in a message, or the like, sent to RS 106, and other computing devices.
Mobile devices 102-104 may be configured to communicate a message, such as through Short Message Service (SMS), Multimedia Message Service (MMS), instant messaging (IM), internet relay chat (IRC), Mardam-Bey's IRC (mIRC), Jabber, and the like, between another computing device, such as RS 106, and the like. However, the present invention is not limited to these message protocols, and virtually any other message protocol may be employed.
Mobile devices 102-104 may be further configured to enable a user to participate in communications sessions, such as IM sessions, and the like, and to transfer an existing communications session, and the like, between devices. As such, mobile devices 102-104 may include a client application that is configured to manage various actions on behalf of the client device. For example, the client application may enable a user to interact with the browser application, email application, IM applications, SMS application, and the like, to manage signing into and/or transferring of a communications session, such as an IM session, between the devices. In one embodiment, the client application might be the SMS application. In addition, the client application may be configured to enable an end-user to quickly and conveniently register the mobile device for use in participating in a communications session, such as an IM session. In one embodiment, the client application includes an end-user input component that is configured to receive a message, such as a single line message for use in registering the mobile device. The single line message may include numeric, text, alphanumeric characters, symbols, and the like. In addition, the client application may employ, for example, a process to register the mobile device, such as is described below in conjunction with
Mobile devices 102-104 may further be configured to include a client application that enables the end-user to log into an end-user account that may be managed by another computing device, such as RS 106. Such end-user account, for example, may be configured to enable the end-user to receive emails, send/receive IM messages, SMS messages, access selected web pages, and the like. Moreover, the end-user account may be further configured to enable the end-user authorization to automatically start an IM session, or other communications session, on a mobile device.
Wireless network 110 is configured to couple mobile device 104 and its components with network 105. Wireless network 110 may include any of a variety of wireless sub-networks that may further overlay stand-alone ad-hoc networks, and the like, to provide an infrastructure-oriented connection for mobile devices 102-104. Such sub-networks may include mesh networks, Wireless LAN (WLAN) networks, cellular networks, and the like.
Wireless network 110 may further include an autonomous system of terminals, gateways, routers, and the like connected by wireless radio links, and the like. These connectors may be configured to move freely and randomly and organize themselves arbitrarily, such that the topology of wireless network 110 may change rapidly.
Wireless network 110 may further employ a plurality of access technologies including 2nd (2G), 3rd (3G) generation radio access for cellular systems, WLAN, Wireless Router (WR) mesh, and the like. Access technologies such as 2G, 3G, and future access networks may enable wide area coverage for mobile devices, such as mobile devices 102-104 with various degrees of mobility. For example, wireless network 110 may enable a radio connection through a radio network access such as Global System for Mobil communication (GSM), General Packet Radio Services (GPRS), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (WCDMA), and the like. In essence, wireless network 110 may include virtually any wireless communication mechanism by which information may travel between mobile devices 102-104 and another computing device, network, and the like.
Network 105 is configured to couple RS 106 and its components with other computing devices, including, mobile devices 102-104, RS 106, and through wireless network 110 to mobile device 104. Network 105 is enabled to employ any form of computer readable media for communicating information from one electronic device to another. Also, network 105 can include the Internet in addition to local area networks (LANs), wide area networks (WANs), direct connections, such as through a universal serial bus (USB) port, other forms of computer-readable media, or any combination thereof. On an interconnected set of LANs, including those based on differing architectures and protocols, a router acts as a link between LANs, enabling messages to be sent from one to another. Also, communication links within LANs typically include twisted wire pair or coaxial cable, while communication links between networks may utilize analog telephone lines, full or fractional dedicated digital lines including T1, T2, T3, and T4, Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines (DSLs), wireless links including satellite links, or other communications links known to those skilled in the art. Furthermore, remote computers and other related electronic devices could be remotely connected to either LANs or WANs via a modem and temporary telephone link. In essence, network 105 includes any communication method by which information may travel between RS 106 and another computing device.
Additionally, communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, data signal, or other transport mechanism and includes any information delivery media. The terms “modulated data signal,” and “carrier-wave signal” includes a signal that has one or more of its characteristics set or changed in such a manner as to encode information, instructions, data, and the like, in the signal. By way of example, communication media includes wired media such as twisted pair, coaxial cable, fiber optics, wave guides, and other wired media and wireless media such as acoustic, RF, infrared, and other wireless media.
One embodiment of RS 106 is described in more detail below in conjunction with
Although
Illustrative Mobile Client Environment
Communications device 200 may include many more components than those shown in
As shown in the figure, communications device 200 includes processor 260, memory 262, display 228, and keypad 232. Memory 262 generally includes both volatile memory (e.g., RAM) and non-volatile memory (e.g., ROM, Flash Memory, or the like). Communications device 200 includes operating system 264, which may be resident in memory 262 and configured to execute on processor 260 for use in controlling operations of communications device 200. It will be appreciated that this component may include a general purpose operating system such as a version of UNIX, LINUX™, and the like, or a specialized mobile communication operating system such as Windows Mobile™, Symbian®, or the like. The operating system may further include, or interface with a Java Virtual Machine module that enables control of various hardware components and/or operating system operations via Java application programs, and the like.
Keypad 232 may be a push button numeric dialing pad (such as on a typical telephone), a multi-key keyboard (such as a conventional keyboard), and the like. Display 228 may be a liquid crystal display (LCD), gas plasma, light emitting diode (LED), or any other type of display useable in a mobile communications device. For example, display 228 may be touch-sensitive, and may then also act as an input device enabling entry of stencil input, touch display, and so forth.
One or more programs 266 may be loaded into memory 262 and run on the operating system 264. Programs 266 may include computer executable instructions which, when executed by mobile communications device 200, also transmit, receive, and/or otherwise process web pages, audio, videos, graphics, and enable telecommunication with another computing device. Other examples of programs 266 include calendars, contact managers, task managers, transcoders, email programs, scheduling programs, browsers, word processing programs, spreadsheet programs, games, and the like. In addition, memory 262 may include messaging client 267.
Messaging client 267 may include computer executable instructions, which may be run under control of operating system 264 to enable and manage SMS, MMS, IM, email, and/or other messaging services for mobile communications device 200. However, the invention is not limited to these examples, and others may be employed. Messaging client 267 may, for example, employ a process such as described below in conjunction with
Communications device 200 also includes non-volatile storage 268 within memory 262. Non-volatile storage 268 may be used to store persistent information which is intended not to be lost if the communications device 200 is powered down. Programs 266 may use and store information in storage 268, such as e-mail or other messages used by an e-mail application, databases, documents used by a word processing application, and the like. A synchronization application may also reside on communications device 200 and be programmed to interact with a corresponding synchronization application resident on another computer to keep the information stored in storage 268 synchronized with corresponding information stored at the other computer.
Communications device 200 also may include power supply 270, which may be implemented as one or more batteries, solar devices, and the like. Power supply 270 might further include an external power source, such as an AC adapter or a powered docking cradle that supplements or recharges the batteries.
Communications device 200 is also shown with two types of external notification mechanisms: illuminator 240 and audio interface 274. These devices may be directly coupled to power supply 270 so that when activated, they remain on for a duration dictated by the notification mechanism even though processor 260 and other components might shut down to conserve battery power. Illuminator 240 may be programmed to remain on indefinitely until the user takes action to indicate the powered-on status of the device. Audio interface 274 may be used to provide audible signals to and receive audible signals from the user. For example, audio interface 274 may be coupled to a speaker for providing audible output and to a microphone for receiving audible input, such as to facilitate a telephone conversation.
Communications device 200 also includes network interface 272 that performs the function of transmitting and receiving external communications. Network interface 272 facilitates, for example, wireless connectivity between communications device 200, and the outside world, via a communications carrier or service provider. Transmissions to and from network interface 272 may be conducted under control of operating system 264. In other words, communications received by network interface 272 may be disseminated to programs 266 via operating system 264, and vice versa. Network interface 272 also allows communications device 200 to communicate with other computing devices, such as over a network, using a variety of wired communications mechanisms and technologies, including global system for mobile communications (GSM), code division multiple access (CDMA), time division multiple access (TDMA), user datagram protocol (UDP), transmission control protocol/Internet protocol (TCP/IP), SMS, general packet radio service (GPRS), Wireless Application Protocol (WAP), ultra wide band (UWB), IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMax), and the like. Network interface 272 is sometimes known as a transceiver or transceiving device, and is one example of a communication media.
Mobile communications device 200 may employ one or more components above to provide information identify itself during an external communications with another device. Mobile communications device 200 may uniquely identify itself through any of a variety of mechanisms, including a phone number, Mobile Identification Number (MIN), an electronic serial number (ESN), or other mobile device identifier. The information may also indicate a content format that mobile device 104 is enabled to employ, a device type, capability, and the like. The information may be provided as part of another message, and/or as a separate message to the other device.
Illustrative Server Environment
Server device 300 includes processing unit 312, video display adapter 314, and a mass memory, all in communication with each other via bus 322. The mass memory generally includes RAM 316, ROM 332, and one or more permanent mass storage devices, such as hard disk drive 328, tape drive, optical drive, and/or floppy disk drive. The mass memory stores operating system 320 for controlling the operation of server device 300. Any general-purpose operating system may be employed. Basic input/output system (“BIOS”) 218 is also provided for controlling the low-level operation of server device 300. As illustrated in
Server device 300 may also include an SMTP handler application for transmitting and receiving email. Server device 300 may also include an HTTP handler application for receiving and handing HTTP requests, and an HTTPS handler application for handling secure connections. The HTTPS handler application may initiate communication with an external application in a secure fashion.
Server device 300 also includes input/output interface 324 for communicating with external devices, such as a mouse, keyboard, scanner, or other input devices not shown in
The mass memory as described above illustrates another type of computer-readable media, namely computer storage media. Computer storage media may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
The mass memory also stores program code and data. One or more applications 350 are loaded into mass memory and run on operating system 320. Examples of application programs include email programs, schedulers, calendars, transcoders, database programs, word processing programs, spreadsheet programs, and so forth. Mass storage may further include applications such as Registration Manager (RM) 354, mapping store 356, IM manager 358, and SMS manager 360.
IM manager 358 includes virtually any server application configured to manage an instant message session with another computing device. Similarly, SMS manager 360 includes virtually any server application configured to manage an SMS message session with another computing device. Although only these two protocol managers are illustrated, it is clear that the invention is not so limited and virtually any message protocol manager may be employed.
RM 354 is configured to enable an end-user to register a mobile device to be useable for managing an IM session, and/or other communications sessions. RM 354 may receive a registration message from a mobile device, such as mobile devices 102-104 in
RM 354 may receive the registration message from mobile devices 102-104 as an SMS message. The registration message may be designated for use by RM 354 through the use of a common short code (CSC), sometimes known as simply short codes. Briefly, short codes are typically short strings of numbers to which a text message may be addressed and includes a common addressing scheme for participating wireless networks. Short codes are designed to provide a way to deploy interactive mobile data applications, including voting, polling, “text and win” contests, surveys, focus groups, direct marketing, live chats, games, and the like. Short codes typically are assigned to a designation. For example, in one embodiment, RM 354 may have assigned to it, the short code of “92466.” However, it is clear that RM 354 may employ virtually any message destination identifier. For example, RM 354 may employ an Internet Protocol (IP) address, and the like. Thus, while short codes are employed in the illustrations, the invention is not so limited.
RM 354 may be further configured to enable a use of short code extensions, or simply “extensions” as part of the single line message. Such “extensions” may include virtually any alpha character, a numeric character, symbol, and/or any combination of alpha, numeric, and/or symbols to indicate an instruction or command to RM 354. For example, RM 354 may employ a numeric range of numbers, such as from ‘000’ to ‘100.’ In one embodiment, the extension ‘000’ may represent an instruction to RM 354 that the sender requests that the sending device be registered to be useable to manage a communications session, such as an IM session, and the like. However, the invention is not constrained to this extension example. Thus, the invention may employ the text string “register,” as an instruction to register the sending device, without departing from the scope or spirit of the invention.
RM 354 also may be further configured to enable the single line message to include additional commands or instructions, such as “to,” to indicate that the message is to be sent to the designated short code, “in,” to indicate that the message is to be sent to the designated short code and to start up an IM session on the sending device, and the like. The invention is not so limited however. For example, such an additional command to request starting up of a communications session may be embedded in an extension. For example, an extension of ‘010’ may indicate a request to start up an IM session on the sending device, while an extension of ‘011’ may indicate a request to start up another type of communications session, without departing from the scope of the invention.
Moreover, the single line message may include additional information, including an account identifier, and a password associated with the account identifier. However, the invention is not limited to including an account identifier/password pair. For example, any unique end-user identifier and password pair may be employed. Thus, for example, the following:
and the like, may be sent to RM 354 to instruct it to register the sending device for the unique end-user identifier or account identifier and to further log the sending device into a communications session, such as an IM session, and the like. The identifier (mobile device identifier) associated with the sending device may be sent to RM 354 as part of the message packet, as part of another message packet, and the like. In one embodiment, the mobile device identifier is sent to RM 354 “transparent” to the end-user of the sending device.
In addition, server device 300 may be configured to manage end-user accounts that are configured to provide such services to an end-user as, for example, email, access to games, selected web pages, chat sessions, IM sessions, SMS sessions, social networks, and the like. However, the present invention is not constrained by such examples, and more or less services may be provided, without departing from the scope or spirit of the invention. In one embodiment, an account identifier and password is employable to enable an end-user to access such services, including an ability to register a mobile device. In one embodiment, the end-user accounts reside within server device 300. In another embodiment, the end-user accounts, and/or management thereof, are distributed across one or more computing devices.
Generalized Operation
The operation of certain aspects of the invention will now be described with respect to
Process 400 begins, after a start block, at block 402, where a client application, such as a text editor, processor, dialog box, form, script, and the like, is opened and enabled to receive text on a mobile device to be registered. In one embodiment, the client application is an SMS application opened to receive text. However, the invention is not constrained to an SMS application, and virtually any application, applet, java script, form, web page, and the like that is enabled to receive a text string may be employed.
Processing continues to block 404, where the opened application receives a registration message. The registration message may be entered as a single message line, although text wrap may be employed to display the single message line. The single message line is intended to make registration of the mobile device quick and easy by reducing such actions, as providing multiple messages, multiple text lines, and/or responding to an interactive session that may include responding to one or more requests for information. As shown in
At decision block 408, a determination is made whether the registration message includes a request to log into a communications session, such as an IM session, on the mobile device. The request may have been included through the use of a special extension to the short code, and/or another parameter, such as a “to” parameter, and the like. If a request to start up a communications session and log into the session is included in the registration request, processing branches to block 410; otherwise, processing flows to block 412.
At block 410, the requested communications session is launched on the mobile device. Launching the communications session includes such actions as starting the communications session on the mobile device, and logging the end-user into the communications session. Logging the end-user into the communications session may be based on using the identifier, account identifier, and the like, provided within the single line text message. Upon completion of block 410, processing returns to a calling process to perform other actions, such as managing the communications session, and the like.
At block 412, the mobile device receives a message confirming that the mobile device is registered. Although not illustrated, shown registration have been unsuccessful for any of a variety of reasons, including an inability to authenticate the identifier, and the like, decision block 408 might also flow to block 412, where an error message may be provided to the mobile device. In any event, upon completion of block 412, processing returns to the calling process to perform other actions.
Process 500 begins, after a start block, at decision block 502, where a determination is made whether a request is received to register a mobile device. The request may, for example, be prepared and sent employing process 400 of
Processing continues next to decision block 508, where a determination is made, based in part, on the account identifier and password (and/or similarly provided information), whether the registration request is authentic. In one embodiment, the account identifier and password are compared to an account associated with the account identifier and password. The account may be an account provided by a service provider, the present server system, and the like. In any event, if the request is determined to be authentic, processing flows to block 510; otherwise, processing returns to a calling process to perform other actions, such as providing an error message, and the like.
At block 510, a mapping between the mobile device identifier and the account identifier is stored. Processing then flows to decision block 512 where a determination is made whether the registration request included a request to be logged into a communications session, such as an IM session, and the like. As described above, the registration request may include a log in request using a short code extension, another instruction, and the like. If there is a request to be logged into a communications session, processing flows to block 518; otherwise, processing flows to decision block 514. The registration confirmation may be sent in either case, if the mobile device was successfully registered in this request.
At decision block 514, a determination is made whether the requesting device was just successfully registered. If the requesting device was not just registered, then processing returns to the calling process to perform other actions. However, if the requesting device was just successfully registered, then process 500 flows to block 516, where a confirmation message is provided to the requesting device. In one embodiment, the confirmation message is sent as an SMS message. However, the invention is not so limited. For example, the confirmation message may also be sent as an email, voice message, and the like. Upon completion of block 516, processing then returns to the calling process to perform other actions.
It will be understood that each block of the flowchart illustration, and combinations of blocks in the flowchart illustration, can be implemented by computer program instructions. These program instructions may be provided to a processor to produce a machine, such that the instructions, which execute on the processor, create means for implementing the actions specified in the flowchart block or blocks. The computer program instructions may be executed by a processor to cause a series of operational steps to be performed by the processor to produce a computer implemented process such that the instructions, which execute on the processor to provide steps for implementing the actions specified in the flowchart block or blocks.
Accordingly, blocks of the flowchart illustration support combinations of means for performing the specified actions, combinations of steps for performing the specified actions and program instruction means for performing the specified actions. It will also be understood that each block of the flowchart illustration, and combinations of blocks in the flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified actions or steps, or combinations of special purpose hardware and computer instructions.
The above specification, examples, and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Number | Name | Date | Kind |
---|---|---|---|
5758088 | Bezaire et al. | May 1998 | A |
6021433 | Payne et al. | Feb 2000 | A |
6167426 | Payne et al. | Dec 2000 | A |
6735614 | Payne et al. | May 2004 | B1 |
20020084888 | Jin | Jul 2002 | A1 |
20040090930 | Lee et al. | May 2004 | A1 |
20050020270 | Buckley | Jan 2005 | A1 |
20050286489 | Shin et al. | Dec 2005 | A1 |
20060199598 | Lee et al. | Sep 2006 | A1 |
Number | Date | Country | |
---|---|---|---|
20060240824 A1 | Oct 2006 | US |