The disclosure described herein relates to a system and method for providing a terminal electronic device (“terminal device”) such as a desktop or laptop computer with access to a service relating to an account. In particular, the service may be an application, such as a messaging application and the account is used to access the service. The account represents a provisioned or established ‘user’ and/or role-instance (such as a message user role) associated with the service. The account may also be associated with at least one host electronic device (“host device”), such as a wireless communication device, such as a cellphone, personal digital assistant (PDA), smart phone or BlackBerry (trademark) device.
Wireless handheld mobile communication devices perform a variety of functions to enable mobile users to stay organized and in contact with others in a communication network through email, schedulers and address books. Such devices, due to their portability, have limited computing power, small display screens and small keypads/keyboards.
Desktop and laptop computers, compared with wireless handheld devices have enhanced computing power, larger display screens and larger keypads/keyboards.
Prior art systems exist that enable a mobile communication device to be connected to a (larger) computer to provide some degree of application/data sharing between the two devices. However, such interface systems provide limited capabilities with how the terminal device accesses features such as screen/keyboard sharing mechanisms between the computer and the handheld device.
Embodiments of the present disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which:
The description which follows and the embodiments described therein are provided by way of illustration of an example or examples of particular embodiments of the principles of the present disclosure. These examples are provided for the purposes of explanation and not limitation of those principles and of the present disclosure. In the description which follows, like parts are marked throughout the specification and the drawings with the same respective reference numerals.
In a first aspect, a method in a host device is provided. The method comprises: receiving a request to create an associated account associated with a primary account; requesting creation of an associated terminal account; and upon receiving a message regarding the creation of the associated account, sending a message regarding the associated account to a terminal device.
In the method, the primary account may be associated with the host device; the associated account may provide access to the primary account for the terminal device; and access may be provided by the server to an application associated with the primary account to the terminal device through the associated account.
In the method, the associated account may utilize an account identifier associated with the primary account; and the terminal device may access the application using the associated account through another device and a connection between the host device and the server.
In the method, the associated account may be associated with the primary account as long as the terminal device has a communication link established with the host device; and the terminal device may access the application using the associated account through a connection linking the terminal device to the host device and server.
In the method, the associated account may utilize an account identifier associated with the primary account and identification information associated with the another device; and the terminal electronic device may access the application using the associated account through another device and a connection between the another device and the server.
In the method, the identification information may be based on any of a Mobile Subscriber Integrated Services Digital Network Number (MSISDN) or an International Mobile Equipment Identity (IMEI) number.
The method may further comprise transferring to the terminal device an ancillary application for installation on the terminal device providing access to the application when the terminal device is connected to the another device.
The method may further comprise removing the ancillary application from the terminal device when the application has been terminated or when the communication link is disconnected.
In the method, an uninstall application may be provided to the terminal device to initiate removing the ancillary application when the communication link is disconnected.
In the method, the application may be a messaging application accessible by the host device; the terminal device may create an outbound message for transmission by the application using an ancillary application operating on the terminal device and transmits the outbound message to the host device; the host device may receive the outbound message and create and send a second outbound message containing the outbound message to the server; and the server may receive the second outbound message, check the associated account data of the terminal device against the second outbound message, and if the associated account data is verified, then the server may forward the second outbound message to a message server for processing.
In a second aspect, a method for processing a command for an application through a server by a host device connected to a network is provided. The method comprises: at the host device receiving a message containing a command and data from a terminal device connected to the host device to, the command relating a function to be executed by the application; at the host device, evaluating the command and the data from the message and generating a second command relating to the command and the data for the server; and sending the second command to the server from the host device.
In the method, the server may analyze data of an associated account for the terminal device against a primary account for the host device to determine if the command in the second message is to be executed.
In the method, the associated account may be associated with the primary account as long as the terminal device has a communication link established with the another device; and the terminal device may access the application using the associated account through a connection linking the terminal device to the another electronic device and server.
In the method, the associated account may utilize an account identifier associated with the primary account and identification information associated with the another electronic device; and the terminal device may access the application using the associated account through the another device and a connection between the another device an the server.
In the method, the identification information may be based on any of a Mobile Subscriber Integrated Services Digital Network Number (MSISDN) or an International Mobile Equipment Identity (IMEI) number.
In a third aspect, an application operating on a microprocessor of a host device is provided. The application provides instructions to the microprocessor. The instructions allow the application: to identify an account associated with the host device, to establish an associated account for the terminal device after establishing a communication link between the terminal device and the host device, the associated account providing access to the primary account for the host device; and to provide access by the server to an application associated with the primary account to the terminal device through the associated account.
In the application, the associated account may utilize an account identifier associated with the primary account; and the terminal device may access the application using the associated account through the host device and a connection between the host device and the server.
In the application, the associated account may be associated with the primary account as long as the terminal device has a communication link established with the another device; and the terminal device may access the application using the associated account through a connection linking the terminal device to another device and server.
In the application, the associated account may utilize an account identifier associated with the primary account and identification information associated with the another electronic device; and the terminal device may access the application using the associated account through the another device and a connection between the another device and the server.
In the application, the identification information may be based on any of a Mobile Subscriber Integrated Services Digital Network Number (MSISDN) or an International Mobile Equipment Identity (IMEI) number.
In other aspects, various combinations of sets and subsets of the above aspects are provided.
Exemplary details of embodiments are provided herein. Briefly an embodiment provides a system and method for providing a terminal device (such as a desktop or laptop computer, or a PDA) connected to (or associated with) a host device (such as a computer, cellular phone, a smart phone, a PDA, or a BlackBerry (trademark)) with access to an application that the host device normally executes. The access may be managed and controlled by an interface server or relay infrastructure within a network that the host device is connected to. In one embodiment, the host device may be connected to a network that provides a “known” addressable endpoint for the host device. The associated infrastructure for the host device and the network may be a generalized proxy or server or commercial network, such as a BlackBerry (trademark) infrastructure network. An embodiment automatically installs software on the terminal when the host device is connected or associated with the given terminal device. This enables the terminal device to access the application. In another embodiment, the host device automatically deactivates or removes the software when the terminal device has completed its access and/or the host device is no longer connected or associated with the given terminal device.
In one embodiment, the application accessed by the terminal device is a messaging application. The terminal device is provided with access to a messaging account associated with the messaging application and the host device. The messaging application may process text messages, short message services (SMS), instant messages (IM), emails or other communication types. As such, the terminal device may create and send messages through the account. The terminal device may also receive messages.
For the terminal device, an associated account may be established and linked to the account of the host device. With the associated account full or partial privileges provided to the original account (and the host device) are provided to the terminal device.
Another feature of an embodiment provides a downloading facility that downloads an application to the terminal device for execution on the terminal device. The downloading feature is provided, in one embodiment, when a connection is established between the host device and the terminal device. This downloading feature enables various terminal devices to use an application managed through the host device, as a terminal device can be provided with the required application (or required interface application(s)) thereby reducing or eliminating a need to have the application(s) pre-installed on the terminal devices. In one downloading facility, once the host device and the terminal device are connected, the host device may be able to send inquiries to the terminal device or may be able to assess what applications should be provided to the terminal device and will then download and cause its installation on the terminal device. Alternatively, the terminal device may be able to identify what applications it needs. The host device may provide link information for the applications (e.g. through a URL provided to the terminal device) and the terminal device will then access the link information to access and install the applications. Another feature is that once a connection session between the host device and the terminal device is completed, one or more of the downloaded applications is automatically removed from the terminal device.
With an outline of exemplary features of an embodiment described, further details are provided on general concepts and features of embodiments. An embodiment is provided in an operating environment where a host device has established a connection to a network and a terminal device has established a connection to the host device. The connection between the host device and the network provides the host with access to a network-related service (e.g. IM). The connection between the host device and the terminal device allows the terminal device to access the service through the connection between the host device and the network. Alternative access and connection links may be provided for the terminal device to the network in other embodiments.
Network 102 provides a suite of applications, services and data to its connected device 108a (and other devices) through associated servers 122, such as email server 122. Network 102 can be implemented in any known architecture, providing wired or wireless connections to its accessible elements.
Cellular network 104 provides wireless communications between wireless devices 108c that are within the coverage area of cellular network 104. The coverage area may overlap with the coverage areas of other networks, such as network 102 and wireless network 104. Cellular network 104 provides voice and data services to devices 108b. Data-centric technologies for cellular network 104 include the Mobitex (trademark) Radio Network (“Mobitex”) and the DataTAC (trademark) Radio Network (“DataTAC”). Voice-centric technologies for cellular network 104 include Personal Communication Systems (PCS) networks like Global System for Mobile Communications (GSM) and Time Division Multiple Access (TDMA) systems. Certain networks provide multiple systems. For example, dual-mode wireless networks include Code Division Multiple Access (CDMA) networks, General Packet Radio Service (GPRS) networks, and so-called third-generation (3G) networks, such as Enhanced Data rates for Global Evolution (EDGE) and Universal Mobile Telecommunications Systems (UMTS). Other network communication technologies that may be employed include, for example, Ultra Mobile Broadband (UMB), Evolution-Data Optimized (EV-DO), and High Speed Packet Access (HSPA), Long Term Evolution (LTE), etc.
Wireless network 106 normally delivers information to and from mobile devices 108b via RF transmissions between base stations and mobile device 108c (and other devices) through coverage area 112. Network 106 may be a Wi-Fi network. In certain locations, device 108c (utilizing a multi-mode radio access configuration) may be able to simultaneously access to multiple networks where transmission areas overlap. Device 108c is shown in an overlapping region of wireless network 106 and cellular network 104.
Internet network 120 may be inter-connected to one or more networks 102, 104 and 106.
In network 102, linking modules, proxies and/or gateway servers are provided to connect network 102 to other networks. Interface (or gateway) server 114 provides an interface for network 102 to a wireless network 106. Functions such as providing and/or exposing network addresses for mobile devices 108, encoding or otherwise transforming messages for wireless transmission, and any other required interface functions are performed by interface server 114. Although interface server 114 operates with the single wireless network 106, wireless gateways may be configured to operate with more than one wireless network in alternative embodiments. Network 102 may also be connected to a wide area network (WAN) (not shown). Alternatively, private wireless network gateways, such as wireless Virtual Private Network (VPN) routers, could be implemented to provide a private and/or secure interface to a wireless network. For example, a wireless VPN router implemented in a WAN may provide a private interface from the WAN to one or more mobile devices 108 through interface server 114. Database 118 may be provided to store records relating to accounts associated with network 102 and/or servers 114.
In processing an exemplary communication from a device 108a connected to network 102 destined to network 106, such as device 108c is for server 114 to process all inbound emails from email server 122 destined for device 108c, then repackage and format them utilizing suitable communication message protocols that can be processed for transmission to device 108c in wireless network 106. For the sake of reference and not limitation, the term “inbound” is used to refer to transmissions directed to device 108c and “outbound” refers to transmissions from device 108c to another device either within the same, or possibly different network.
In processing these communications, server 114 utilizes a set of accounts associated with expected, detected or newly registered devices 108 that are in communication with wireless network 106. Interface server 114 may have an account management process (not shown) perform administration functions. In one embodiment, the account management process also creates, manages and processes communications relating to associated accounts that are linked to the accounts. Gateway server 114 may be a proxy server. Alternatively, gateway server 114 may be an enterprise server, such as a BlackBerry Enterprise Server (BES) (trademark). As such, gateway 114 can interact with host devices already registered (and therefore detected/expected). Additionally, server 114 may interact with new devices that are going through a registration process within wireless network 106.
In order to process communications destined for device 108, interface server 114 has an internal network account established communications that it receives. Generally, the account is associated with a particular device 108, such as device 108c. The user of device 108c will be provided with details regarding the account name and password. A sign-on process to access and authenticate device 108 operating on server 114 may be initiated to provide device 108 with access to the account when device 10 enters network 106. This process may be automatically initiated upon detection of device 108. Alternatively, a manual sign-on process may be initiated by device 108c or server 114. In one embodiment, a sign-on process provides a request for a user identification code and password from device 108c and then device 108c may create and send a response providing the code and password to server 114. The process may not require input from a user or alternatively, a graphical user interface (GUI) may be created on a screen on device 108c to prompt a user of device 108c to enter the code and password. Once the code and password are provided to server 114, server 114 will authenticate both against its records. If authentication passes, then device 108c is provided with access to services and servers associated with the account.
Interface server 114 may process a variety of communication transmissions destined for device 108c, including an email, a Short Message Service (SMS) message a telephone call, a Family Radio Service (FRS) transmission, Multimedia Message Service (MMS), Instant Messages (IM) and others. Server 114 may repackage the communication destined for device 108 in network to include a new message structure that contains a new header with appropriate addressing information for device 108c. This may include particular cell and device information about device 108 relating to transmission protocols for network 106 that was not present in the original email.
Device 108c may be a data communication device, a voice communication device, or a multiple-mode device capable of voice, data and other types of communications. Wireless device 108c may be a handheld device, cell phone, smart phone, PDA, and/or computer (either desktop or portable) having a (wireless) network card, network adapter and/or network interface controller (NIC) installed therein. Device 108c may be encoded with a unique serial number, such as a unique personal identification number (PIN) that may be encoded in a data storage component in device 108. Using the PIN, device 108c can be uniquely identified (subject to the uniqueness of its PIN) by server 114 or other features accessing device 108 through a network. A PIN may be used as an identifier in processing communications for device 108c, as it identifies a device 108c associated with a message being sent from it (or to it). As such, when a device 108c provides its PIN to server 114, the PIN may be a sufficient identifier for server 114 to validate the authenticity of device 108c and communications received from it. In other embodiments, a further validation process may be required, such as requiring that device 108c provides a password with its PIN, when attempting to access an application or service provided by server 114.
Terminal device 116 is a computer, which may be connected to device 108c. Terminal device 116 may be a desktop computer, a laptop computer or any other electronic device having computing and communications capabilities. Herein the term “terminal device 116”, “device 116” and “computer 116” are used interchangeably. Computer 116 may connect to device 108c through many exemplary connection systems, including a wired or wireless connection systems. A universal serial bus (USB) connection may provide a wired connection. A Bluetooth (trademark) network may provide a different, wireless connection. A software application is provided on computer 116 to detect when a connection has been made to device 108c. Detection can be made through monitoring signals through a connection port on computer 116 or through wireless signals received by computer 116. Another software application is provided on device 108c to detect when a connection has been made to computer 116. A “handshaking” routine may be provided to negotiate connection and communication protocols between computer 116 and device 108c. When computer 116 is being connected to device 108c, it may or may not have another independent connection to network 102 or another network. Status information about computer 116 and its network connections and any network addresses associated with computer 116 may be provided to device 108c. Status information about device 108c and its network connections and any network addresses associated with computer 108c may be provided to computer 116. The connection between device 108c and computer 116 may be a secure connection. The security level may be negotiated following a connection handshake process executed between device 108c and computer 116. The level of security may be set depending on requirements for security between the two devices for a given network.
An embodiment allows computer 116 to access an account and its associated applications and services, managed by a server in network 102, such as server 114. One embodiment provides a facility for computer 116 to access such an account when a communication link has been established between computer 116 and device 108c. In this embodiment, computer 116 can utilize features of the accessed account, including communication functions, such as SMS, text and IM messaging. Also, an embodiment provides a user-friendly connection process, so that computer 116 is provided with applications, services and data as necessary to connect to device 108c on an as-needed basis. This reduces the need for having pre-installed software and services provided on computer 116 when it is accessing the account (and applications) of device 108c.
When computer 116 has accessed an account associated with device 108c, computer 116 may create and send an outbound communication and/or receive and review an inbound communication associated with the account. Access to the account may be provided through device 108c or through a separate communications link connecting computer 116 to a network.
An embodiment provides computer 116 with access to the account by creating and managing an associated account that is logically linked to a primary account associated with device 108c. This provides flexibility and security for the primary account, since the account is still (primarily) associated with the original device 108c. The term “primary account” may refer to any account associated with original device 108c and is not necessarily the sole and/or predominant account associated with device 108c. By associating computer 116 with device 108c, there is a higher level of certainty of identification of the user of computer 116. Since the associated account for computer 116 is related to the primary account of device 108c, the level of security associated with the primary account may be imparted to a level of security for the associated account. Several different exemplary associated accounts are described below.
A first type of associated account is a hosted account. Herein, computer 116 is provided with and utilizes the account of device 108c (e.g. the PIN of device 108c) when it is communicating with server 114. When sending communications to server 114, computer 116 may access the PIN of device 108c and use device 108c as the “sender” of the communication. In this configuration, an application is provided to computer 116 that connects and communicates with device 108c that provides computer 116 with direct access to the communication records of device 108c mimicking a user that would be accessing the communication application directly on device 108c. Any messages that are created and initiated for sending through computer 116 are generated on computer 116 using the keyboard and display of computer 116, which would typically provide a full size keyboard and a large display. The messages may also be stored on computer 116. Once the message generated on computer 116 is completed and is activated for transmission, the message is sent from computer 116 to device 108c. Thereafter device 108c receives the message and sends the message to network 102 through its (secure) connection to network 102. When network 102 receives the message, server 114 can process and forward it as a message that was generated completely by device 108c. As such, computer 116 is operating as a terminal connection to device 108c when using a hosted account.
A second type of associated account is a virtual, temporary account. Herein, when computer 116 has been connected to device 108c, a request is sent by either of computer 116 or device 108c to server 114 (or a network administrator associated with server 114) to create a virtual, temporary account that is to be associated with the primary account of device 108c. For example, a temporary PIN may be created and associated with the PIN of device 108c. The temporary PIN is also associated with computer 116. In this configuration, an application is provided to computer 116 that connects and communicates with device 108c that provides computer 116 with direct access to the communication records of device 108c mimicking a user that would be accessing the communication application directly on device 108c, but using the virtual PIN as an identifier for the message being sent. Messages that are created and initiated for sending through computer 116 are generated, stored and sent via computer 116 through a network connection to server 114 for further distribution. In other embodiments, the messages may be sent through device 108c. The temporary PIN would be generated by server 114. A pseudo-random number generator (or other unique or quasi-unique number generating algorithms) may be used to generate a unique value for the temporary PIN. In one embodiment, the temporary PIN would remain active as long as device 108c is connected to computer 116. If that connection becomes disconnected, server 114 cancels or otherwise disables the temporary PIN. Computer 116 may communicate through its own connection to network 102 or through the connection of device 108c to network 102. This communication channel may be determined by the IT policy of network 102.
A third type of associated account is a meta account. Herein, when computer 116 has been connected to device 108c, a request is sent by either of computer 116 or device 108c to server 114 (or a network administrator associated with server 114) to create a meta PIN for computer 116 based on identification data associated with device 108c, including the PIN of device 108c or other identifying information, such as a Mobile Subscriber Integrated Services Digital Network Number (MSISDN) or an International Mobile Equipment Identity (IMEI) number, which are unique numbers associated with different classes of communication devices. MSISDN and IMEI numbers are known to those of skill in the art. Server 114 would then create a meta account that is associated with the account of device 108c. For example, a meta PIN may be created and associated with the PIN of device 108c. The meta PIN is also associated with computer 116. In this configuration, an application is provided to computer 116 that connects and communicates with device 108c that provides computer 116 with direct access to the communication records of device 108c mimicking a user that would be accessing the communication application directly on device 108c, but using the meta PIN as an identifier for the message being sent. Messages that are created and initiated for sending through computer 116 are generated, stored and sent via computer 116 through a network connection to server 114 for further distribution. In other embodiments, the messages may be sent through device 108c. In one embodiment, the meta PIN would remain active as long as device 108c is connected to computer 116. If that connection becomes disconnected, server 114 cancels or otherwise disables the meta PIN. Other termination conditions may be provided. Computer 116 may communicate through its own connection to network 102 or through the connection of device 108c to network 102. This communication channel may be determined by the IT policy of network 102.
When computer 116 is negotiating a connection with server 114, the user of computer 116 may or may not be provided with an option to choose which type of associated account is to be used. An analysis may be conducted on the capabilities of computer 116 and device 108c to determine which type of associated account to provide to computer 116. All types of accounts can co-exist with each other. An overriding IT policy may be defined to establish conditions for co-existing accounts for a particular device 108c or computer 116.
Referring to
In an alternative embodiment, a separate connection may be established between computer 116 and server 114 that does not go through device 108c. Process 226A in device 108c would not, generally, be conducted. Process 228A in server 114 receives, extracts and executes commands received from computer 116.
In
In
When an associated account is created, an application on server 114 that accesses the associated account will be provisioned with the account parameters ‘newly’ created. Device 108c can send to computer 116 over the secure connection any necessary parameters provided by the application reported by server 114 to computer 116.
In one embodiment, server 114 is a BlackBerry enterprise server (BES) (trademark), device 108c is a BlackBerry enabled smart device and computer 116 is connected to device 108c. The account associated with device 108c is a personal identified number (PIN) that is unique in network 102 to device 108c. Information and records relating to an associated account for computer 116 may be temporal. For example, the records stored on server 114 may be discarded when computer 116 is disconnected from device 108c. When server 114 has established an associated account for device 108c, any application that is associated with the associated account may conduct additional checks and routines to monitor for incoming commands from computer 116 or information or updates that should be provided to computer 116. For example, for a messaging application that is provided through device 108c, server 114 can check for incoming mail destined for device 108c and then determine whether there are any active associated accounts relating to the account for device 108c. If any active associated accounts are identified, incoming mail may also be sent to computer 116 through the connection with device 108c or through another connection. Other functions may be provided by server 114. For example, server 114 may be provisioned to provide for computer 116 all functions and features that it provides to device 108c, such as access to a particular intranet, automatic push of information from server 114 to computer 116, etc.
Another feature of an embodiment provides a system and process to provide computer 116 with an application that is provided to, and launched on, computer 116. The application can be any application, but in an embodiment provides a terminal application to allow computer 116 to connect to device 108c and application(s) that allow computer 116 to initiate account requests to device 108c (or to other devices) and to access applications provided by server 114 (such as an IM application). Another application can also perform security handshake functions with device 108c and/or server 114.
In
In
With components of device 108c and computer 116 introduced, further detail is provided on a download feature of an embodiment. As previously noted, when a connection is established between computer 116 and device 108c, an application may be downloaded from device 108c (or from another device) to computer 116 through the connection or an alternative connection. In one embodiment, the application has an automatic installation routine to load and install the application on computer 116. In another embodiment, the application has an un-install routine to remove the application from computer 116. The uninstall routine may be triggered to execute upon any number of conditions, for example disconnection of computer 116 from device 108c, termination of a session between computer 116 and device 108c, termination of a communication program operating on computer 116 relating to its access of an account or application associated with device 108c, etc.
In
With some general features of associated accounts and downloading systems provided by an embodiment, further detail is provided on device 108c.
It will be understood that housing 400 can be made from any suitable material as will occur to those of skill in the art and may be suitably formed to house and hold all components of device 108c.
Device 108c is operable to conduct wireless telephone calls, using any known wireless phone system such as a Global System for Mobile Communications (GSM) system, Code Division Multiple Access (CDMA) system, CDMA 2000 system, Cellular Digital Packet Data (CDPD) system and Time Division Multiple Access (TDMA) system. Other wireless systems can implement one of the 802.11 protocols (Wi-Fi), which may include support for voice. Additionally, a Bluetooth network may be supported. Other embodiments include Voice over IP (VoIP) type streaming data communications that can simulate circuit-switched phone calls. Further in other embodiments, device 108 may be able to communicate with a Wi-Max network, i.e. a 802.16-class network. Ear bud 414 can be used to listen to phone calls and other sound messages and microphone 416 can be used to speak into and input sound messages to device 108c.
Referring to
In addition to the microprocessor 502, other internal devices of the device 108 are shown schematically in
Operating system software executed by the microprocessor 502 may be stored in a computer-readable medium, such as flash memory 514, or may be stored in other types of memory devices, such as read-only memory (ROM) or similar storage element. In addition, system software, specific device applications, or parts thereof, may be temporarily loaded into a volatile store, such as RAM 516. Communication signals received by the mobile device may also be stored to RAM 516.
In addition to an operating system operating on device 108c, additional software modules 520 enable execution of software applications on device 108c. A set of software (or firmware) applications, generally identified as applications 520, that control basic device operations, such as voice communication module 520A and data communications module 520B (to handle generation of emails and incoming/outgoing messages), may be installed on the device 108c during manufacture or downloaded thereafter. Data communications module 520B allows the processing of emails, data and other data transmissions by device 108c to enable device 108c to generate views of aspects of the emails, data and data transmissions. As such, inbound and outbound data transmissions can be viewed and processed by data communications module 520B. In the embodiment, other processes and modules are provided to handle the selection and transmission of the emails, data and data transmissions. These other module receive the completed outbound data transmissions from data communications module 520B and then parse, package and transmit the resulting data stream through the selected network. As well, software modules, such as calendar module 520C, address book 520D and location module 520E are provided. Each of these modules may receive and process commands receive locally from device 108c (such as commands entered through keypad 412), commands received from computer 116 through a communication link to computer 116 and/or commands received from server 114 (or other devices in network 102) through a communication link to network 102. These modules, in part, execute processes for device 108c described in
Synchronization module (SM) 520M comprises software and/or firmware that detects when computer 116 has been connected to device 108c and processes communications received from computer 116 that relate to a command destined for network 102 (such as to server 114). A connection to computer 116 can be provided through any either communication system 504 or 506, serial port 510 and or I/O device 508. The connection may be provided on a secure link, such as through a secure socket layer (SSL) connection with computer 116. Once a connection has been established, SM 520M may poll computer 116 to evaluate its resources and determine the presence of any ancillary software required to request an associated account from network 102 or access a particular application. SM 520M may also periodically monitor the status of the connection and if the connection is terminated, may execute clean up routines on device 108c to manage resources (such as connections and memory). SM 520M may generate messages to a user of device 108c through a graphical user interface (GUI) and may provide prompts to the user for input or selections where a response is needed to continue processing a feature of the connection, the establishment of a type of associated account or operation of the application accessed through the associated account. This module, in part, executes processes for device 108c described in
Network connection module (NCM) 520N comprises software and/or firmware that extracts local data relating to a one or more networks, which can then be used by SM 520M. It also handles the lower level functions for processing communications by device 108c. This module , in part, executes processes for device 108c described in
Additional modules such as a personal information manager (PIM) application may be provided. Any module may be installed during manufacture or downloaded thereafter into device 108c.
Data associated with each application, the status of one or more networks, profiles for networks and trigger conditions for commands for networks can be stored and updated in flash memory 514.
Communication functions, including data and voice communications, are performed through the communication sub-system 504 and the short-range communication sub-system 506. Collectively, sub-systems 504 and 506 provide the signal-level interface for all communication technologies processed by device 108c. Various applications 520 provide the operational controls to further process and log the communications. Communication sub-system 504 includes receiver 522, transmitter 524 and one or more antennas, illustrated as receive antenna 526 and transmit antenna 528. In addition, communication sub-system 504 also includes processing modules, such as digital signal processor (DSP) 530 and local oscillators (LOs) 532. The specific design and implementation of communication sub-system 504 is dependent upon the communication network in which device 108c is intended to operate. For example, communication sub-system 504 of device 108c may operate with the Mobitex (trademark), DataTAC (trademark) or GPRS mobile data communication networks and also operate with any of a variety of voice communication networks, such as 802.11-class networks, Bluetooth networks, AMPS, TDMA, CDMA, CDMA 2000, PCS, GSM, GPRS, EDGE, UMTS networks etc. Other types of data and voice (telephonic) networks, both separate and integrated, may also be utilized with device 108c. In any event, communication sub-system 504 provides device 108c with the capability of communicating with other devices using various communication technologies, including instant messaging (IM) systems, text messaging (TM) systems, instant messaging (IM) and short message service (SMS) systems.
Short-range communication sub-system 506 enables communication between device 108c and other proximate systems or devices, which need not necessarily be similar devices, such as computer 116. For example, the short-range communication sub-system may include an infrared device and associated circuits and components, a Wi-Fi or a Bluetooth (trademark) communication module to provide for communication with similarly enabled systems and devices. Sub-system 506 may have one or more inputs or outputs to sub-system 504 in processing signals for its networks.
In addition to processing communication signals, DSP 530 provides control of receiver 526 and transmitter 524. For example, gains applied to communication signals in receiver 526 and transmitter 524 may be adaptively controlled through automatic gain-control algorithms implemented in DSP 530. One particular operational aspect of receiver 522 and antenna 526 is that they need to be tuned to receive signals in the 802.11 network bands, e.g. signals in the 2.4 GHz to 5.8 GHz range for sub-systems 506 and if needed, sub-system 504. Additional filters on antenna may also be used to provide such functionality. NCM 520N can receive and interpret the signals and can generate its own queries to networks 104 and 106 to acquire technical performance data relating to each network. Such data can then be stored and used by SM 520M.
Receiver 522, antenna 526 and NCM 520N provide at least some of the hardware and software elements needed to detect when device 108c is in the presence of communication signals from wireless network 106, thereby enabling device 108c to communication with other devices in wireless network 106.
Powering the entire electronics of the device 108c is power source 534. In one embodiment, the power source 534 includes one or more batteries. In another embodiment, the power source 534 is a single battery pack, especially a rechargeable battery pack. In another embodiment, the device may be solar-powered. A power switch (not shown) provides an “on/off” switch for device 108c. A power source interface (not shown) may be provided in hardware, firmware, software or a combination of such elements to selectively control access of components in device 108c to power source 534. Upon activation of the power switch an application 520 is initiated to turn on device 108c. Upon deactivation of the power switch, an application 520 is initiated to turn off device 108c. Power to device 108c may also be controlled by other devices and by software applications 520.
Device 108c may also have global positioning system 536 to assist in identifying a present location of device 108c and may also have light sensor 538 to provide data on the ambient light conditions for device 108.
Now, further detail is provided on features of computer 116. Referring to
Applications 612, control basic operations of computer 116, including port 610 and connections module 612. Communication application 612A provides the connection-level communication between computer 116 and device 108c, allowing processing of emails, IMs, data and other data transmission by computer 116 when connected to device 108c. Connection monitoring application 612B monitors the status of the connection between computer 116 and device 108c. Upon detection of a disconnection of that connection, application 612B may provide a status signal to other applications. Install/Uninstall application 612C installs and uninstalls applications, ancillary application, data and lists associated with an application on computer 116 that is used in association with device 108c. Interface application 612D is an interface application that is allows computer 116 to create, store and send data and commands for the application being accessed on network 102. As such, applications 612A-D execute processes for computer 116 described in
Now, further detail is provided on features of server 114. Referring to
Modules 708, control basic operations of computer 116, including ports 706. Connection module 708A provides the connection-level communication between server 114 and other elements in network 102, such as message server 122 and device 108c, to ultimately allow processing of emails, IMs, data and other data transmission by computer 116 when connected to device 108c. Account management module 708B creates associated accounts for an account of device 108c and selectively compares account data in a message received from device 108c to determine if in information identifying an associated account in the message can be verified to be associated with device 108c. Interface message module 708C receives and reviews messages received from device 108c and other servers 122. When processing an incoming message request from device 108c, module 708C may cause module 708B to verify the associated account in the received message. If the associated message is verified, module 708C may initiate a command to server 122 to generate and send the intended message to the intended recipient. As such, modules 708A-C execute processes for server 114 described in
It will be appreciated that modules operating on device 108c, server 114, computer 116 and other applications in the embodiments can be implemented using known programming techniques, languages and algorithms. The titles of the modules are provided as a convenience to provide labels and assign functions to certain modules. It is not required that each module perform only its functions as described above. As such, specific functionalities for each application may be moved between applications or separated into different applications. Modules may be contained within other modules. Different signaling techniques may be used to communicate information between applications using known programming techniques. Known data storage, access and update algorithms allow data to be shared between applications. It will further be appreciated that other applications and systems on device 108c, computer 116 and server 114 may be executing concurrently with any module on the same device or on other devices. As such, one or more aspects of any modules may be structured to operate in as a “background” application on device 108c, computer 116 or server 114, using programming techniques known in the art.
As used herein, the wording “and/or” is intended to represent an inclusive-or. That is, “X and/or Y” is intended to mean X or Y or both.
The present invention is defined by the claims appended hereto, with the foregoing description being merely illustrative of embodiments of the present disclosure. Those of ordinary skill may envisage certain modifications to the foregoing embodiments which, although not explicitly discussed herein, do not depart from the scope of the disclosure, as defined by the appended claims.