US20080183825A1 - Method and apparatus for notification and delivery of messages to mobile pc users - Google Patents
Method and apparatus for notification and delivery of messages to mobile pc users Download PDFInfo
- Publication number
- US20080183825A1 US20080183825A1 US11/668,800 US66880007A US2008183825A1 US 20080183825 A1 US20080183825 A1 US 20080183825A1 US 66880007 A US66880007 A US 66880007A US 2008183825 A1 US2008183825 A1 US 2008183825A1
- Authority
- US
- United States
- Prior art keywords
- message
- secure
- user
- client
- user device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/224—Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0225—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
- H04W52/0229—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
- H04W52/0274—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/58—Message adaptation for wireless communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- the invention relates to the field of communication networks and, more specifically, to secure messaging for remote enterprise users.
- UMSs Unified Messaging Systems
- the secure client includes a power module, a communication module, a storage module, and an alert module.
- the power module powers the client device independent of a power state of the user device.
- the communication module receives a wake-up message and responsively triggers the secure client to switch from an inactive state to an active state without changing the power state of the user device, initiates a secure connection with a secure gateway in response to the wake-up message, and requests and receives a user message from a messaging application using the secure connection.
- the storage module stores the received message independent of the power state of the user device.
- the alert module activates an alert to indicate that the message is available.
- FIG. 1 depicts a high-level block diagram of a communication network
- FIG. 2 depicts a high-level block diagram of a user device, including an associated secure client, of the communication network of FIG. 1 ;
- FIG. 3 depicts a method according to one embodiment of the present invention
- FIG. 4 depicts a method according to one embodiment of the present invention
- FIG. 5 depicts a method according to one embodiment of the present invention
- FIG. 6 depicts a method according to one embodiment of the present invention.
- FIG. 7 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein.
- the present invention generally includes a self-powered secure client associated with a user device.
- the secure client is capable of communicating even when the user device is turned off.
- the secure client includes a remote wake-up capability (enabled using out-of-band signaling) such that a remote messaging can wake up the secure client without waking the user device, thereby conserving power and resources.
- the secure gateway does not know the IP address of the secure client.
- the out-of-band signaling allows the secure client to be awoken using a global identifier, thereby enabling the secure client to initiate a request for a secure connection with the secure gateway, whereby the secure client is assigned an IP address.
- the secure client Using the IP address and the secure connection, the secure client requests, receives, and stores messages intended for a user associated with the user device independent of the state of the user device (e.g., even when the user device is turned off).
- the secure client includes a capability to generate and present one or more alerts via the secure client such that the user is informed that a message is available even when the user device is turned off.
- FIG. 1 depicts a high-level block diagram of a communication network.
- communication network 100 includes a plurality of user devices (UDs) 102 1 - 102 N (collectively, UDs 102 ) communicating with an enterprise network (EN) 110 .
- the UDs 102 1 - 102 N communicate with EN 110 using a respective plurality of access networks (ANs) 106 1 - 106 N (collectively, ANs 106 ) and a public communication network 108 (denoted as Internet 108 ).
- ANs access networks
- public communication network 108 denoted as Internet 108
- UD 102 1 communicates with AN 106 1 using a communication link (CL) 105 1 and UD 102 N communicates with AN 106 N using a communication link (CL) 105 N (CLs 105 1 - 105 N are collectively denoted as CLs 105 ).
- the ANs 106 1 - 106 N communicate with Internet 108 using a plurality of communication links (CLs) 107 1 - 107 N (collectively, CLs 107 ), respectively.
- the Internet 108 communicates with EN 110 using a communication link 109 .
- UDs 102 include any user devices adapted for transmitting and receiving messages, as well as presenting messages to one or more end users associated with UDs 102 .
- UDs 102 may include desktop computers, laptop computers, personal digital assistants (PDAs), and the like, as well as various combinations thereof.
- PDAs personal digital assistants
- the UDs 102 which may be better understood with respect to FIG.
- UDs 102 provide at least a portion of the functions of the present invention, including notifying users about the availability of messages (e.g., via one or more user interfaces of UDs 102 , via one or more other devices (e.g., cell phone, pager, and the like), and the like), presenting available messages to users, as well as other functions of the present invention, as depicted and described herein.
- devices e.g., cell phone, pager, and the like
- UDs 102 1 - 102 N include a plurality of secure clients (SCs) 104 1 - 104 N (collectively, SCs 104 ).
- the SCs 104 support secure connections with SG 112 of EN 110 , thereby enabling secure communications between UDs 102 and EN 110 (and thus supporting secure communications for remote enterprise users).
- the SCs 104 which may be better understood with respect to FIG. 2 , provide at least a portion of the functions of the present invention, including initiating establishment of secure connections when associated UDs 102 are inactive, alerting users to available messages when UDs 102 are inactive, as well as other functions of the present invention, as depicted and described herein.
- ANs 106 include any access networks adapted for facilitating communications between UDs 102 and EN 110 .
- at least a portion of ANs 106 include wireline access networks, such as cable television (CATV) networks, digital subscriber line (DSL) networks, and the like.
- at least a portion of ANs 106 include wireless networks, such as General Packet Radio Service (GPRS) networks, Universal Mobile Telecommunications System (UMTS) networks, 1x Evolution (1XEV) data only (EVDO) networks, single carrier (1x) radio transmission technology (1xRTT) networks, high-speed downlink packet access (HSPDA) networks, Wireless Fidelity (WiFi) networks, and like public and private wireless networks.
- GPRS General Packet Radio Service
- UMTS Universal Mobile Telecommunications System
- 1XEV 1x Evolution
- EVDO single carrier
- HSDA high-speed downlink packet access
- WiFi Wireless Fidelity
- EN 110 is a secure, private network associated with an enterprise.
- EN 110 includes a secure gateway (SG) 112 , private communication network 114 (denoted as Intranet 114 ), a management system (MS) 116 , a plurality of messaging systems (MSs) 118 1 - 118 N (collectively, MSs 118 ), and a messaging application (MA) 119 .
- the SG 112 communicates with Intranet 114 using a communication link (CL) 113 .
- the MS 116 communicates with Intranet 114 using a communication link (CL) 115 .
- the MSs 118 1 - 118 N communicate with Intranet 114 using a plurality of communication links (CLs) 117 1 - 117 N (collectively, CLs 117 ).
- CLs 117 communication links
- the present invention may be used for securely delivering message from any private network (e.g., university networks, organization networks, and the like).
- SG 112 controls communications entering EN 110 and communications leaving EN 110 .
- the SG 112 is adapted for supporting secure connections with SCs 104 of UDs 102 , including initiating secure connections with SCs 104 of UDs 102 , and responding to requests for secure connections received from SCs 104 of UDs 102 .
- at least a portion of the functions of SG 112 may be controlled by MS 116 .
- the SG 112 performs at least a portion of the functions of the present invention, including encrypting messages transmitted to SCs 104 , decrypting messages received from SCs 104 , as well as other functions of the present invention, as depicted and described herein.
- the MS 116 controls interactions between SG 112 and SCs 104 of UDs 102 .
- the MS 116 communicates with SG 112 and SCs 104 of UDs 102 , as well as other elements, for performing at least a portion of the functions of the present invention, including sending messages to SCs 104 adapted for triggering SCs 104 to switch from an inactive state to an active state, sending messages to SCs 104 adapted for triggering SCs 104 to initiate a request to establish a secure connection with SG 112 and to request delivery of available messages over the secure connection, as well as other functions of the present invention, as depicted and described herein.
- the MS 116 communicates with MA 119 (and, optionally, MSs 118 ) for performing at least a portion of the functions of the present invention, such as providing user reachability information to MA 119 , as well as other functions of the present invention as depicted and described herein.
- the MSs 118 include messaging systems adapted for receiving, storing, and forwarding messages intended for end users.
- the MSs 118 may include text messaging systems, voicemail messaging systems, multimedia messaging systems, and the like, as well as various combinations thereof, adapted for receiving, storing, and forwarding text messages, voicemail messages, multimedia messages, and the like, as well as various combinations thereof.
- at least a portion of MSs 118 may include private automated branch exchanges (PABXs), unified messaging systems (UMSs), and the like, as well as various combinations thereof.
- at least a portion of MSs 118 may host one or more messaging applications.
- the MA 119 is a messaging application.
- the MA 119 may be hosted on any device adapted for supporting various functions provided by MA 119 .
- the MA 119 communicates with MSs 118 to receive indications that messages intended for users of UDs 102 are available (and, optionally, to obtain messages intended for users of UDs 102 ).
- the MA 119 communicates with MS 116 to trigger MS 116 to send messages to SCs 104 that are adapted to trigger SCs 104 to switch from an inactive state to an active state, to initiate establishment of secure connections with SG 112 for securely receiving messages intended for users of UDs 102 , and to request delivery of available messages (from MA 119 or MSs 118 ) over the secure connections.
- the MA 119 performs various other functions of the present invention, as depicted and described herein.
- MA 119 may be hosted on one of MSs 118 or, alternatively, messaging applications adapted for performing functions of the present invention may be hosted on MSs 118 .
- each of the individual MSs 118 may perform at least a portion of the functions depicted and described herein as being performed by MA 119 .
- existing messaging applications e.g., text messaging applications, voicemail messaging applications, multimedia messaging applications, and the like
- messaging applications hosted by MSs 118 may be adapted for performing functions depicted and described herein as being performed by MA 119 .
- various combinations of messaging systems, messaging systems, and/or management systems may be hosted within one or more computers.
- SCs 104 communicate with EN 110 using a plurality of secure connections (SCs) 120 1 - 120 N (collectively, SCs 120 ).
- the SCs 120 support secure transport of information between SCs 104 and SG 112 of EN 110 (and thus between UDs 102 and any systems of EN 110 ).
- the SCs 120 may be initiated by SCs 104 (e.g., in response to a request from the associated UD 102 , in response to a request from MS 116 or MA 119 of EN 110 , and the like).
- the SCs 120 may be supported by SCs 104 irrespective of the power state of respective UDs 104 (i.e., irrespective of whether UDs 102 are in active power states or inactive power states).
- SCs 120 include secure tunnels.
- SCs 120 include Internet Protocol Security (IPSec) tunnels.
- IPSec Internet Protocol Security
- communication network 100 may support various different communication technologies. Although primarily depicted and described with respect to specific numbers, types, and configurations of UDs 102 (and SCs 104 ), CLs 105 , ANs 106 , CLs 107 , Internet 108 , CL 109 , SG 112 , CL 113 , Intranet 114 , CL 115 , MS 116 , CLs 117 , MSs 118 , and MA 119 , various other numbers, types, and configurations of UDs 102 (and SCs 104 ), CLs 105 , ANs 106 , CLs 107 , Internet 108 , CL 109 , SG 112 , CL 113 , Intranet 114 , CL 115 , MS 116 , CLs 117 , MSs 118 , and MA 119 may be used to provide various functions of the present invention.
- FIG. 2 depicts a high-level block diagram of a user device (referred to as the host or host computer), including an associated secure client, of the communication network of FIG. 1 .
- SC 104 includes a client processor (CP) 201 , a network interface module (NIM) 202 , a host interface module (HIM) 204 , support circuits (SCs) 206 , an alert module (AM) 208 , a power source (PS 207 ), and a client memory (CM) 210 (including a volatile memory (VM) 211 and a nonvolatile memory (NM) 215 .
- CP client processor
- NIM network interface module
- HIM host interface module
- SCs support circuits
- AM alert module
- PS 207 power source
- CM client memory
- CM client memory
- VM volatile memory
- NM nonvolatile memory
- the CP 201 communicates with, and coordinates interactions between, each of NIM 202 , HIM 204 , SCs 206 , AM 208 , and CM 210 for performing at least a portion of the functions of the present invention, including initiating secure connections with SG 112 , activating alerts indicating availability of messages (irrespective of the power state of UD 102 ), storing messages in NM 215 until the messages are read by UD 102 , providing available messages to UD 102 in response to detecting that UD 102 is active, and performing like functions, as well as various combinations thereof, as depicted and described herein.
- SC 104 may be implemented as a card inserted within a slot of UD 102 .
- SC 104 may be implemented in a Cardbus (32-bit) PC-Card format.
- SC 104 may be compatible with PC platforms supporting a type-II PCMCIA slot.
- SC 104 may be implemented as a PCI Express Card, a mini-PCI Express module, or other similar cards or modules that enable connectivity to a host computer.
- SC 104 may be implemented as a device external to UD 102 (e.g., a device coupled to UD 102 using one or more cables or connectors).
- SC 104 may be coupled to host UD 102 using a USB interface.
- SC 104 is able to be in a powered-on state regardless of the power state of the associated host computer UD 102 .
- SC 104 includes an independent power source (illustratively, PS 207 ).
- PS 207 may be implemented as a rechargeable battery.
- SC 104 may be powered through the host computer power source (e.g., battery or AC power supply), even when the host computer UD 102 is powered off.
- SC 104 may support at least D 0 , D 1 , D 2 , and D 3 power states on the Cardbus interface and may be able to maintain power, irrespective of the power state of host computer UD 102 , at the D 3 cold state.
- UD 102 may support numerous different power states.
- power states supported by UD 102 may include inactive power states (e.g., powered off, powered on but in a dormant mode, powered on but in a sleep mode, and the like, as well as various combinations thereof) and active power states (e.g., powered on and active).
- SC 104 may support numerous different power states.
- power states supported by UD 102 may include inactive power states (e.g., powered off, powered on but in a dormant mode, powered on but in a sleep mode, and the like, as well as various combinations thereof) and active power states (e.g., powered on and active).
- a device or component described herein as being in an active power state or an inactive power state is more commonly referred to herein as being active or inactive, respectively.
- NIM 202 includes a network interface module adapted for supporting communications of SC 104 and UD 102 .
- the NIM 202 may be configured to interface with various different wireline and wireless networks (illustratively, AN 106 ).
- the NIM 202 includes at least one wireless interface supporting the Simple Messaging System (SMS), such as GSM, UMTS, CDMA, 1xEVDO, and the like.
- SMS Simple Messaging System
- GSM Global System
- UMTS Universal Mobile communications
- CDMA Code Division Multiple Access
- 1xEVDO Code Division Multiple Access
- the NIM 202 operates as a transmitter and receiver for transmitting and receiving information associated with SC 104 and associated UD 102 .
- NIM 202 may be implemented as a modem (e.g., wireline modem, wireless modem, and the like) providing network connectivity, for SC 104 and associated UD 102 , over one or more associated access networks (illustratively, AN 106 ).
- modem e.g., wireline modem, wireless modem, and the like
- SC 104 and associated UD 102 may be implemented as a modem (e.g., wireline modem, wireless modem, and the like) providing network connectivity, for SC 104 and associated UD 102 , over one or more associated access networks (illustratively, AN 106 ).
- HIM 204 operates as an interface between SC 104 and UD 102 .
- the HIM 204 facilitates transfer of information from SC 104 to US 102 .
- HIM 204 facilitates the transfer of messages received over a secure connection (e.g., from MA 119 or MSs 118 via SG 112 ) for immediate delivery to UD 102 if UD 102 is active when the messages are received, for delayed delivery to UD 102 (after being stored in CM 210 ) if UD 102 is inactive when the messages are received, and the like.
- the HIM 204 facilitates transfer of information from UD 102 to SC 104 .
- HIM 204 facilitates the transfer of messages generated by UD 102 (e.g., manually by one or more users via a user interface, automatically by one or more processors or modules, and the like) for immediate transmission over a secure connection to SG 112 if a secure connection is available, for storage in CM 210 until a secure connection to SG 112 becomes available, and the like.
- messages generated by UD 102 e.g., manually by one or more users via a user interface, automatically by one or more processors or modules, and the like
- CM 210 for storage in CM 210 until a secure connection to SG 112 becomes available, and the like.
- the SCs 206 include any additional circuits that cooperate with CP 201 , CM 210 , NM 215 , and other components of SC 104 to provide various functions of the present invention.
- SCs 206 may include one or more power circuits adapted for supplying power to SC 104 while UD 102 is inactive (i.e., powered-off).
- such power circuits may support at least various different power states for SC 104 , e.g., the D 0 , D 1 , D 2 , and D 3 power states on the Cardbus (32-bit) PC-Card interface including maintaining power of SC 104 at D 3 hot or cold states.
- SCs 206 may include other processors, communication circuits, input-output modules, and like circuits and modules adapted for providing various functions of SC 104 .
- the AM 208 includes a module adapted for supporting the external alerting functions of the present invention.
- the AM 208 provides the external alerting functions of the present invention using an external alert device (EAD) 209 .
- the EAD 209 may be any device, or combination of devices, adapted for providing a visual and/or audible alert indicating that a message is available, acknowledging that an available message has been delivered, and the like, as well as various combinations thereof.
- EAD 209 may include one or more light emitting diodes (LEDs), one or more speakers, and like devices adapted for presenting alerts, as well as various combinations thereof.
- the AM 208 and EAD 209 are adapted for generating and presenting alerts irrespective of the power state of the associated UD 102 (i.e., even when UD 102 is inactive).
- the AM 208 is adapted for activating an external alert in response to detecting an available message.
- NIM 202 in response to receiving a message at SC 104 , NIM 202 provides the received message to CP 201 , which stores the message in NM 215 and triggers AM 208 to generate an external alert associated with the available message.
- AM 208 activates the external alert by generating an alert activation signal and providing the alert activation signal to EAD 209 .
- AM 208 may trigger EAD 209 to provide a visual and/or audible alert.
- AM 208 may trigger EAD 209 to light an LED (or a combination of LEDs), play a sound or combination of sounds, and the like, as well as various combinations thereof.
- AM 208 may trigger EAD 209 to light the LED a specific color.
- the color that the LED is lit may depend on a number of factors, including message type of the available message (e.g., text, voice, video, and the like, as well as various combinations thereof), message priority of the available message (e.g., high priority, medium priority, and low priority, and the like), the number of messages currently available and awaiting acknowledgment, and like factors, as well as various combinations thereof.
- message type of the available message e.g., text, voice, video, and the like, as well as various combinations thereof
- message priority of the available message e.g., high priority, medium priority, and low priority, and the like
- the number of messages currently available and awaiting acknowledgment, and like factors e.g., high priority, medium priority, and low priority, and the like
- a text message may result in a blue light while a voicemail may result in a green light.
- a high priority message may result in a red light (irrespective of message type)
- AM 208 may trigger EAD 209 to light a specific number of LEDs, a specific combination of LEDs, and the like.
- the number of LEDs lit, or the specific combination of LEDs lit may depend on a number of factors, including message type of the available message (e.g., text, voice, video, and the like, as well as various combinations thereof), message priority of the available message (e.g., high priority, medium priority, and low priority, and the like), the number of messages currently available and awaiting acknowledgment, and like factors, as well as various combinations thereof.
- message type of the available message e.g., text, voice, video, and the like, as well as various combinations thereof
- message priority of the available message e.g., high priority, medium priority, and low priority, and the like
- the number of messages currently available and awaiting acknowledgment, and like factors e.g., high priority, medium priority, and low priority, and the like
- a text message may result in one LED being lit
- a multimedia message may result in three LEDs
- LEDs may indicate message type and the number of LEDs lit may indicate message priority.
- flashing LEDs and/or lasers may be used in order to alert users to available messages (e.g., based on the frequency, pattern, and the like with which the LEDs and/or lasers flash).
- visual alerts are implemented using LEDs
- various other visual display means may be used in order to alert users to available messages.
- the number, tone, volume, frequency, and rhythm of the sound or sounds may depend on a number of factors, including message type of the available message, message priority of the available message, the number of messages currently available and awaiting acknowledgment, and like factors, as well as various combinations thereof.
- a text message may result in a single beep once every 10 seconds while a voicemail may result in a repeated loop of three beeps in a row followed by 5 seconds of silence.
- a high priority message may result in a 7 dB beep while a low priority message may result in a 3 dB beep.
- the AM 208 is adapted for deactivating an external alert in response to detecting that an available message has been acknowledged (e.g., has been delivered to UD 102 and displayed via one or more user interfaces, has been delivered to UD 102 which in turn triggered a notification to one or more other devices associated with UD 102 , and the like).
- an available message has been acknowledged (e.g., has been delivered to UD 102 and displayed via one or more user interfaces, has been delivered to UD 102 which in turn triggered a notification to one or more other devices associated with UD 102 , and the like).
- CP 201 retrieves available messages being stored in CM 210 and provides the available messages to HIM 204 for delivery to UD 102 , and triggers AM 208 to deactivate one or more external alerts associated with the delivered message(s).
- AM 208 deactivates an external alert by generating an alert deactivation signal and providing the alert deactivation signal to EAD 209 .
- EAD 209 no longer presents the external alert.
- the alert to be deactivated is being provided by lit and/or flashing LEDs
- LEDs previously lit and/or flashing to indicate one or more available messages are no longer lit or flashing.
- the alert to be deactivated is being provided by a speaker playing various sounds to indicate that one or more messages is available
- speakers previously playing sounds indicate one or more available messages no longer play the sounds. The deactivation of an alert depends on the device(s) with which the alert was being presented.
- CM 210 is a memory partitioned into two units: a volatile memory (VM) 211 and a nonvolatile memory (NM) 215 .
- the VM 211 may be any memory used for temporary storage (e.g., DRAM, SDRAM, and the like, as well as various combinations thereof).
- the VM 211 temporarily stores an operating system (OS) 212 , kernel drivers (KDs) 213 , and programs 214 , as well as various other processing functions.
- the NM 215 may be any memory used for permanent storage (e.g., flash memory).
- the NM 215 permanently stores applications 216 and data 217 where data 217 includes messages received at and stored by SC 104 regardless of the power state of host computer UD 102 .
- the OS 212 is an on-card operating system hosting on-card functions, applications, services, and the like adapted for supporting various functions of the present invention.
- the OS 212 operates in conjunction with KDs 213 and programs 214 of VM 211 , and applications 216 and data 217 of NM 215 , as well as various other components of SC 104 , to provide various functions of the present invention, as depicted and described herein.
- the applications 216 may include client-side applications associated with messaging applications of MA 119 and/or MSs 118 .
- applications 216 may include text message applications, voicemail message applications, video message applications, and the like, as well as various combinations thereof.
- the applications 216 may also include various other applications adapted for performing functions of the present invention (e.g., initiating secure connections, encrypting/decrypting messages, and the like, as well as various combinations thereof).
- the data 217 may include any data.
- the data 217 includes data in support of functions of the present invention.
- data 217 may include security certificates, end-user authentication data, client synchronization data, and the like, as well as various combinations thereof.
- the data 217 includes content data.
- data 217 includes available messages awaiting delivery to UD 102 while UD 102 is inactive.
- the data 217 may include various other types of data for use in performing functions of the present invention.
- SC 104 may include additional components such as additional communication modules (e.g., internal and/or external communication modules), full IP stack operations, specific encryption-decryption modules, simulator (SIM) compatibility, embedded flash memory, embedded processor subsystems, integrated infrastructure for two-factor authentication, an external on/off switch for NIM 202 and/or EAD 209 that is independent of the power state of the associated UD 102 , and the like, as well as various combinations thereof.
- additional communication modules e.g., internal and/or external communication modules
- full IP stack operations e.g., specific encryption-decryption modules
- SIM simulator
- embedded flash memory e.g., embedded flash memory
- embedded processor subsystems e.g., integrated infrastructure for two-factor authentication
- integrated infrastructure for two-factor authentication e.g., an external on/off switch for NIM 202 and/or EAD 209 that is independent of the power state of the associated UD 102 , and the like, as well as various combinations thereof.
- UD 102 includes a host processor (HP) 221 , a client interface module (CIM) 222 , an input-output module (IOM) 224 , support circuits (SCs) 226 , and a host memory (HM) 230 .
- HP host processor
- CCM client interface module
- IOM input-output module
- SCs support circuits
- HM host memory
- the HP 221 communicates with, and manages interactions between, each of CIM 222 , IOM 224 , SCs 226 , and HM 230 for performing at least a portion of the functions of the present invention, including presenting available messages to one or more end users (via IOM 224 ), providing notification (including short-range and/or long-range notification) of available messages to one or more other user devices (via IOM 224 and, optionally, SC 104 ), and the like, as well as various combinations thereof, as depicted and described herein.
- the HP 221 is adapted for providing available messages to IOM 224 for presentation to one or more end users via one or more user interfaces. In one embodiment, HP 221 provides available messages to IOM 224 for presentation to an end user in response to UD 102 switching from an inactive state to an active state. In one embodiment, HP 221 provides available messages to IOM 224 for presentation to an end user in response to an end user initiating a request to retrieve available messages (e.g., to retrieve messages received at UD 102 since the last time that UD 102 switched from an active state to an inactive state). The HP 221 is adapted for triggering notifications of available messages to IOM 224 for notification to one or more other user devices.
- CIM 222 operates as an interface between UD 102 and SC 104 .
- the CIM 222 facilitates transfer of information from UD 102 to SC 104 .
- CIM 222 facilitates the transfer of information generated by UD 102 (e.g., manually generated by one or more end users via a user interface, automatically generated by UD 102 , and the like) for immediate transmission over a secure connection to SG 112 if a secure connection is available, for storage in CM 210 until a secure connection to SG 112 becomes available, and the like.
- the CIM 222 facilitates transfer of information from SC 104 to UD 102 .
- CIM 222 facilitates the transfer of messages received over a secure connection (e.g., from MA 119 and/or MSs 118 via SG 112 ) for presentation to one or more users via IOM 224 , for notification to one or more users via IOM 224 , and the like, as well as various combinations thereof.
- a secure connection e.g., from MA 119 and/or MSs 118 via SG 112
- IOM 224 for notification to one or more users via IOM 224 , and the like, as well as various combinations thereof.
- the IOM 224 is adapted for interfacing with various user interfaces.
- the IOM 224 receives information provided by one or more users via one or more input user interfaces (e.g., a keyboard, a mouse, and the like).
- the IOM 224 provides the received information from input user interfaces to HP 221 for processing.
- the IOM 224 receives processed information from HP 221 (information from CIM 222 and/or HM 230 ).
- the IOM 224 presents information from CIM 222 and/or HM 230 to one or more users via one or more output user interfaces (e.g., a display, a speaker, and the like).
- IOM 224 supports any user interaction and presentation capabilities available from a computer, phone, and like user devices.
- the SCs 226 include any additional circuits that cooperate with HP 221 , CIM 222 , IOM 224 , and HM 230 , as well as any other components of US 102 , and, optionally, components of SC 104 , to provide various functions of the present invention.
- SCs 226 may include one or more processors, microprocessors, controllers, microcontrollers, transmitters, receivers, storage devices, power circuits, and the like, as well as various combinations thereof.
- SCs 226 may include other processors, communication circuits, input-output modules, and like circuits and modules adapted for providing various functions of UD 102 .
- HM 230 is a memory storing an operating system (OS) 231 , kernel drivers (KDs) 232 , programs 233 , support libraries (SLs) 234 , applications 235 , and data 236 .
- OS operating system
- KDs kernel drivers
- SLs support libraries
- HM 230 is a non-volatile memory.
- the OS 231 is an on-host operating system hosting various functions, applications, services, and the like, adapted for supporting various functions of the present invention.
- the OS 231 operates in conjunction with KDs 232 , programs 233 , SLs 234 , applications 235 , and data 236 , as well as other components of US 102 , and SC 104 , to provide various functions of the present invention, as depicted and described herein.
- the applications 235 may include host-side applications associated with corresponding client-side applications of SC 104 , as well as messaging applications such as MA 119 or messaging applications of MSs 118 (e.g., text message applications, voicemail message applications, multimedia message applications, and the like, as well as various combinations thereof).
- the applications 235 may include other applications adapted for performing functions of the present invention (e.g., processing available messages for presentation to one or more end users, triggering notifications for available messages, and the like, as well as various combinations thereof).
- the data 236 may include any data, including data in support of functions of the present invention, as well as content (e.g., available messages awaiting presentation to users via UD 102 ), and the like, as well as various combinations thereof.
- SC 104 and UD 102 cooperate to perform various functions of the present invention.
- the SC 104 receives an available message (e.g., from a messaging application such as MA 119 , or hosted on MSs 118 ) regardless of whether UD 102 is active or inactive.
- the SC 104 stores the received available message in local memory (e.g., CM 210 ).
- the SC 104 e.g., one of client applications 215 corresponding to the received message
- alerts the user of the available message e.g., a visual and/or audio alert. If UD 102 is inactive, SC 104 either triggers (or waits for the user to trigger) UD 102 to switch from inactive to active.
- client application 215 on SC 104 Upon switching from inactive to active, client application 215 on SC 104 informs a corresponding host application 235 on UD 102 of the available message.
- the host application 235 provides the message to the user (e.g., to one or more user interfaces of UD 102 ), provides notification of the message to one or more user devices, and the like, as well as various combinations thereof.
- the SC 104 deactivates the alert upon delivery of the message or notification of the message.
- UD 102 including client components of SC 104 host components of UD 102 , in coordination with SG 112 , as well as MS 116 (which manages communications between SC 104 and SG 112 ) and MA 119 and MSs 118 , in performing various functions of the present invention may better understood with respect to FIGS. 3-6 , as depicted and described herein. Although primarily depicted and described herein using four different method figures, as described herein, various portions of methods depicted and described herein may be combined to form different embodiments of the present invention. The present invention is not intended to be limited to the specific methods depicted and described herein with respect to FIGS. 3-6 .
- FIG. 3 depicts a method according to one embodiment of the present invention.
- method 300 of FIG. 3 includes a method for determining whether a secure connection exists between a secure client and a secure gateway.
- the determination as to whether or not a secure connection exists between a secure client and a secure gateway is performed in response to a request by a messaging application (or system) that receives a message intended for a user.
- a messaging application or system
- FIG. 3 depicts a method for determining whether a secure connection exists between a secure client and a secure gateway.
- the determination as to whether or not a secure connection exists between a secure client and a secure gateway is performed in response to a request by a messaging application (or system) that receives a message intended for a user.
- a messaging application or system
- the method 300 begins at step 302 and proceeds to step 304 .
- a messaging application detects a message intended for delivery to a user.
- the message may be any type of message, including a text message, a voicemail message, a multimedia message, and the like, as well as various combinations thereof.
- the messaging application is a messaging application of a private network (such as an enterprise network or other private network), and may be a messaging application corresponding to the message type of the detected message (e.g., a text messaging application for a text message, a voicemail messaging application for a voicemail message, a multimedia messaging application for a multimedia message, and the like).
- the messaging application identifies the user for which the detected message is intended. Since the UD 102 may be located in any access network, and the IP address of the UD 102 is not known a-priori, SG 112 must find a way to locate UD 102 without using IP addresses. For example, UD 102 may be identified using one or more identifiers included with the message, including an email address, a Session Initiation Protocol (SIP) address or some other identifier, and the like, as well as various combinations thereof.
- SIP Session Initiation Protocol
- the messaging application transmits a request for user reachability information.
- the messaging application transmits the request for user reachability information to a management system.
- the management system is a system adapted for managing secure connections between secure clients (utilized by remote users to establish secure connections with a private network) and one or more secure gateways of a private network.
- the management system receives the request from the messaging application for user reachability information.
- the management system identifies the secure client associated with the user.
- the management system identifies the secure client associated with the user using user information included within the request for user reachability information (e.g., using a user identifier determined by the messaging application using one or more identifiers included with the message, as determined in step 306 ).
- the management system may maintain a database including associations between a user (as identified using one or more user identifiers) and a secure client by which the user securely accesses the private network using a user device from a remote location outside of the private network (e.g., while working from home).
- the management system determines whether a secure connection already exists between the secure client and a secure gateway of the private network.
- the management system may maintain one or more tables tracking secure connections between secure clients and secure gateways. If a secure connection exists between the secure client and the secure gateway, method 300 proceeds to method 400 , depicted and described herein with respect to FIG. 4 . If a secure connection does not exist between the secure client and the secure gateway, method 300 proceeds to method 500 , depicted and described herein with respect to FIG. 5 .
- FIG. 4 depicts a method according to one embodiment of the present invention.
- method 400 of FIG. 4 includes a method for delivering an available message from a messaging application in a private network to a secure client when a secure connection exists between the secure client and a secure gateway of the private network when the available message is detected by the messaging application.
- method 400 of FIG. 4 may be used independently of method 300 of FIG. 3 , as well as in conjunction with various other embodiments of the present invention.
- FIG. 4 depicted and described as being performed serially, at least a portion of the steps of method 400 of FIG. 4 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 4 .
- the method 400 begins at step 402 and proceeds to step 404 .
- the management system determines that a secure connection exists between the secure client and secure gateway. In one embodiment, the management system determines that the secure connection exists as depicted and described in method 300 of FIG. 3 .
- the management system transmits a response to a messaging application (e.g., to a messaging application from which a request for user reachability information was received, as depicted and described with respect to method 300 of FIG. 3 ).
- the response includes an IP address of the secure client associated with the user.
- the messaging application receives the response from the management system.
- the messaging application transmits the message toward the secure client using the IP address of the secure client included in the response from the management system. Since a secure connection between the secure client and the secure gateway exists when the message becomes available at the messaging application, the messaging application does not have to wait for the secure connection to be established; rather, the messaging application can provide the available message to the secure client immediately using the existing secure connection between the secure client and the secure gateway.
- the secure gateway receives the available message transmitted by the messaging application intended for delivery to the secure client.
- the secure gateway encrypts the message.
- the message may be encrypted using any type of encryption.
- the secure gateway transmits the encrypted available message to the secure client over the secure connection.
- the secure client receives the encrypted available message from the secure gateway over the secure connection.
- method 400 proceeds to method 600 , depicted and described herein with respect to FIG. 6 .
- FIG. 5 depicts a method according to one embodiment of the present invention.
- method 500 of FIG. 5 includes a method for delivering an available message from a messaging application in a private network to a secure client when a secure connection does not exist between the secure client and a secure gateway of the private network when the available message is detected by the messaging application.
- method 500 of FIG. 5 may be used independently of method 300 of FIG. 3 , as well as in conjunction with various other embodiments of the present invention.
- FIG. 5 depicted and described as being performed serially, at least a portion of the steps of method 500 of FIG. 5 may be performed contemporaneously, or in a different order than depicted and described with respect to FIG. 5 .
- the method 500 begins at step 502 and proceeds to step 504 .
- the management system determines that a secure connection does not exist between the secure client and secure gateway. In one embodiment, the management system determines that the secure connection does not exist as depicted and described in method 300 of FIG. 3 . In one embodiment, as depicted in FIG. 5 , from step 504 method 500 proceeds to steps 506 and 512 contemporaneously. Although depicted and described as being performed in parallel, in other embodiments, steps 506 and 512 may be performed in series (e.g., step 506 is performed before step 512 or step 512 is performed before step 506 ).
- the management system transmits a response to a messaging application (e.g., to a messaging application from which a request for user reachability information was received, as depicted and described with respect to method 300 of FIG. 3 ).
- the response includes a value other than an IP address of the secure client associated with the user (e.g., a blank value, an email address of the user, a telephone number of the user, and the like).
- the messaging application receives the response from the management system.
- the messaging application in response to determining that the response includes a value other than an IP address, the messaging application is triggered to wait for a request from the secure client for the available message (received by the messaging application at step 538 , as depicted and described herein). Since a secure connection between the secure client and the secure gateway does not exist, the messaging application waits until the management system triggers the secure client to establish a secure connection with the secure gateway of the private network and, after the secure connection is established, the secure client requests delivery of the available message from the messaging application to the secure client using the secure connection between the secure client and the secure gateway.
- the management system obtains a unique address for the secure client.
- the unique address for the secure client is unique within the network such that the management system can identify the secure client irrespective of the access network with which the secure client is associated. For example, in several wireless networks, such as GPRS, UMTS, EVDO, and the like, each secure client is uniquely identified by a telephone number.
- the management system transmits, to the secure client, a message adapted for triggering the secure client to switch from an inactive state to an active state.
- the management system uses the unique address for the secure client to transmit the message adapted for triggering the secure client to switch from an inactive state to an active state. Since the message adapted for triggering the secure client to switch from an inactive state to an active state basically triggers the secure client to wake up from a sleep mode or dormant mode to an active mode, the message is also referred to herein as a wake-up message.
- the management system transmits the wake-up message via the secure gateway.
- the management system may transmit the wake-up message using an alternative network interface or technology.
- the wake-up message may be transmitted over a circuit-switched network (e.g., a paging notification to the user device).
- the wake-up message may correspond to initiating a telephone call to the user device.
- the wake-up message may correspond to one or more packets transmitted to a specific network address.
- the wake-up message is a Short Message Service (SMS) message.
- SMS Short Message Service
- the secure gateway receives the wake-up message.
- the secure gateway forwards the wake-up message to the secure client.
- steps 514 and 516 may be omitted (although it should be noted that fewer or more comparable steps may be performed by other network elements in the path traversed by the wake-up message).
- the secure client receives the wake-up message from the secure gateway.
- the secure client switches from an inactive state to an active state (e.g., the secure client switches from a sleep mode or dormant mode to an active mode).
- the secure client transmits, to the secure gateway, a secure connection request (i.e., a request to establish a secure connection between the secure client and the secure gateway).
- the secure connection request includes authentication information adapted for use by the secure gateway to establish the secure connection, such as a certificate or other user and/or secure client authentication information.
- the secure gateway receives the request for the secure connection from the secure client.
- the secure gateway completes the secure connection.
- the secure gateway completes the secure connection by authenticating the user and/or secure client using the authentication information (e.g., comparing an authentication certificate received with the secure connection request to a database of authentication information maintained by the secure gateway (or retrieved by the secure gateway from another system such as an authentication system, management system, and the like).
- the secure gateway transmits a secure connection acknowledgment to the secure client, indicating that the secure connection requested by the secure client was successfully established.
- the secure client receives the secure connection acknowledgment from the secure gateway.
- the secure gateway may initiate establishment of the secure connection.
- the secure gateway may merely establish the secure connection without transmitting an acknowledgment to the secure client (i.e., the secure client assumes that the secure connection has been established and proceeds as if there is a secure connection over which the available message may be provided to the secure client).
- the secure client transmits a request for the available message (i.e., a message detected by a messaging application, e.g., the message detected at step 304 of method 300 of FIG. 3 ) to the messaging application of the enterprise network via the secure gateway.
- the request for the available message may include one or more identifiers adapted for use in retrieving the available message.
- the secure client transmits the request for the available message using the secure connection.
- the secure gateway receives the request for the available message.
- the secure gateway forwards the request for the available message to the messaging application.
- the messaging application receives the request for the available message.
- the messaging application retrieves the available message.
- the messaging application retrieves the available message using one or more identifiers included in request for the available message (e.g., a message identifier, a user identifier, and the like, as well as various combinations thereof).
- the messaging application may retrieve the available message from one or more of a local memory associated with the messaging application, a messaging system associated with the messaging application, and the like, as well as various combinations thereof.
- the messaging application transmits the available message toward the secure client via the secure gateway.
- the secure gateway receives the available message from the messaging application.
- the secure gateway encrypts the available message.
- the secure gateway transmits the encrypted available message to the secure client over the secure connection.
- the secure client receives the encrypted available message from the secure gateway over the secure connection.
- method 500 proceeds to method 600 , depicted and described herein with respect to FIG. 6 .
- FIG. 6 depicts a method according to one embodiment of the present invention.
- method 600 of FIG. 6 includes a method for alerting a user that a message is available if the user device associated with the user is inactive, and presenting the available message to the user in response to a determination that the user device has switched from an inactive state to an active state.
- the method 600 begins at step 602 and proceeds to step 604 .
- the secure client receives the encrypted available message.
- the secure client stores the encrypted available message.
- the secure client is adapted for receiving and storing the encrypted available message irrespective of whether the associated user device is in an active state or an inactive state.
- the secure client activates an alert.
- the secure client may play one or more beeps, light one or more LEDs, and the like, as well as various combinations thereof, as described herein.
- the secure client sends, to the user device, a signal adapted to activate the user device.
- the user device receives the signal adapted to activate the user device.
- the user device in response to the activation signal received from the secure client, the user device switches from an inactive state to an active state. As depicted in FIG. 6 , from step 616 , the user device waits to receive the available message from the secure client (where waiting is represented by the dotted line from step 616 to step 624 ). If the secure client is not configured to activate the user device, method 600 proceeds to step 618 .
- the secure client determines whether the user device has become active (i.e., whether the user device has switched from an inactive state to an active state). If the user device has not become active, method 600 loops within step 618 until the user device become active. In other words, since the secure client is not configured to activate the user device, the secure client must wait for the user to activate the user device. If the user device has become active, method 600 proceeds to step 620 . At step 620 , the secure client retrieves the decrypted available message. At step 622 , the secure client decrypts the available message.
- the secure client transmits the available message to the user device.
- the user device receives the available message from the secure client.
- the user device determines whether a user interface of the user device is active (i.e., whether the available message can be presented to the user). If a user interface of the user device is not active, method 600 loops within step 628 until the user interface of the user device becomes active. If a user interface of the user device is active, method 600 proceeds to step 630 .
- the user device presents the available message via one or more active user interfaces (e.g., via a speaker, a display device, and the like).
- the user device sends a message acknowledgment to the secure client.
- the secure client deactivates the alert in response to the acknowledgment from the user device (i.e., deactivates the alert activated at step 608 ).
- the secure client may stop playing one or more beeps, turn off one or more LEDs, and the like, as well as various combinations thereof, as described herein.
- the user device may trigger a notification to at least one other user device associated with the user (e.g., to a laptop, a mobile phone, a personal data assistant (PDA), and like user devices; using at least one of a short-range notification technology, a long-range notification technology, and the like).
- the user device may trigger a notification in response to receiving the available message from the secure client.
- the user device may trigger the notification to one or more other user devices in response to a determination that a user interface of the user device is not active at the time at which the user device receives the available message from the secure client.
- the secure client may receive an available message when the user device is in an active state.
- the secure client since the available message is delivered from the secure client to the user device at the time the available message is received by the secure client, the secure client may or may not activate the alert to the user.
- the secure client may still activate an alert (such as an audible and/or visual alert) to alert the user that an available message has been received and may be reviewed via the user device.
- FIG. 7 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein.
- system 700 comprises a processor element 702 (e.g., a CPU), a memory 704 , e.g., random access memory (RAM) and/or read only memory (ROM), a message delivery module 705 , and various input/output devices 706 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or compact disk drive, a receiver, a transmitter, a speaker, a display, an output port, and a user input device (such as a keyboard, a keypad, a mouse, and the like)).
- processor element 702 e.g., a CPU
- memory 704 e.g., random access memory (RAM) and/or read only memory (ROM)
- message delivery module 705 e.g., a message delivery module 705
- various input/output devices 706 e
- the present invention may be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents.
- ASIC application specific integrated circuits
- the present message delivery process 705 can be loaded into memory 704 and executed by processor 702 to implement the functions as discussed above.
- message delivery process 705 (including associated data structures) of the present invention can be stored on a computer readable medium or carrier, e.g., RAM memory, magnetic or optical drive or diskette and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
- Telephonic Communication Services (AREA)
- Alarm Systems (AREA)
Abstract
Description
- The present patent application is related to commonly assigned patent application Ser. No. 11/293,843 entitled “Method and Apparatus For Providing Secure Remote Access To Enterprise Networks,” filed Dec. 2, 2005 (Attorney Docket: Kamat 4-11-20-14), which is hereby incorporated by reference in its entirety.
- The invention relates to the field of communication networks and, more specifically, to secure messaging for remote enterprise users.
- Many enterprises provide employees with the capability to connect to the enterprise network from remote locations (e.g., telecommuting from home, working from a hotel while traveling for business, and the like). These enterprise employees are known as remote enterprise users. Many such enterprises also operate enterprise messaging servers, known as Unified Messaging Systems (UMSs), which allow remote enterprise users to connect to the enterprise network in order to access e-mail and voicemail messages. Disadvantageously, however, remote enterprise users are forced to connect to the enterprise messaging servers periodically in order to avoid long delays in receiving important messages, thereby reducing enterprise user efficiency and consuming valuable enterprise network resources.
- Various deficiencies in the prior art are addressed through the invention of a method and apparatus for notification and delivery of messages to mobile users using a secure client associated with a user device. The secure client includes a power module, a communication module, a storage module, and an alert module. The power module powers the client device independent of a power state of the user device. The communication module receives a wake-up message and responsively triggers the secure client to switch from an inactive state to an active state without changing the power state of the user device, initiates a secure connection with a secure gateway in response to the wake-up message, and requests and receives a user message from a messaging application using the secure connection. The storage module stores the received message independent of the power state of the user device. The alert module activates an alert to indicate that the message is available.
- The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
-
FIG. 1 depicts a high-level block diagram of a communication network; -
FIG. 2 depicts a high-level block diagram of a user device, including an associated secure client, of the communication network ofFIG. 1 ; -
FIG. 3 depicts a method according to one embodiment of the present invention; -
FIG. 4 depicts a method according to one embodiment of the present invention; -
FIG. 5 depicts a method according to one embodiment of the present invention; -
FIG. 6 depicts a method according to one embodiment of the present invention; and -
FIG. 7 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein. - To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
- As described herein, the present invention generally includes a self-powered secure client associated with a user device. The secure client is capable of communicating even when the user device is turned off. The secure client includes a remote wake-up capability (enabled using out-of-band signaling) such that a remote messaging can wake up the secure client without waking the user device, thereby conserving power and resources. The secure gateway does not know the IP address of the secure client. The out-of-band signaling allows the secure client to be awoken using a global identifier, thereby enabling the secure client to initiate a request for a secure connection with the secure gateway, whereby the secure client is assigned an IP address. Using the IP address and the secure connection, the secure client requests, receives, and stores messages intended for a user associated with the user device independent of the state of the user device (e.g., even when the user device is turned off). The secure client includes a capability to generate and present one or more alerts via the secure client such that the user is informed that a message is available even when the user device is turned off. As described herein, various other versions of these features and combinations of these features and functions may be provided by the present invention, as well as numerous other features and functions depicted and described herein.
-
FIG. 1 depicts a high-level block diagram of a communication network. Specifically, communication network 100 includes a plurality of user devices (UDs) 102 1-102 N (collectively, UDs 102) communicating with an enterprise network (EN) 110. The UDs 102 1-102 N communicate with EN 110 using a respective plurality of access networks (ANs) 106 1-106 N (collectively, ANs 106) and a public communication network 108 (denoted as Internet 108). As depicted inFIG. 1 ,UD 102 1 communicates withAN 106 1 using a communication link (CL) 105 1 andUD 102 N communicates withAN 106 N using a communication link (CL) 105 N (CLs 105 1-105 N are collectively denoted as CLs 105). The ANs 106 1-106 N communicate with Internet 108 using a plurality of communication links (CLs) 107 1-107 N (collectively, CLs 107), respectively. The Internet 108 communicates with EN 110 using acommunication link 109. - As depicted in
FIG. 1 ,UDs 102 include any user devices adapted for transmitting and receiving messages, as well as presenting messages to one or more end users associated withUDs 102. For example, UDs 102 may include desktop computers, laptop computers, personal digital assistants (PDAs), and the like, as well as various combinations thereof. The UDs 102, which may be better understood with respect toFIG. 2 , provide at least a portion of the functions of the present invention, including notifying users about the availability of messages (e.g., via one or more user interfaces ofUDs 102, via one or more other devices (e.g., cell phone, pager, and the like), and the like), presenting available messages to users, as well as other functions of the present invention, as depicted and described herein. - As depicted in
FIG. 1 , UDs 102 1-102 N include a plurality of secure clients (SCs) 104 1-104 N (collectively, SCs 104). TheSCs 104 support secure connections with SG 112 of EN 110, thereby enabling secure communications between UDs 102 and EN 110 (and thus supporting secure communications for remote enterprise users). TheSCs 104, which may be better understood with respect toFIG. 2 , provide at least a portion of the functions of the present invention, including initiating establishment of secure connections when associatedUDs 102 are inactive, alerting users to available messages whenUDs 102 are inactive, as well as other functions of the present invention, as depicted and described herein. - As depicted in
FIG. 1 ,ANs 106 include any access networks adapted for facilitating communications betweenUDs 102 and EN 110. In one embodiment, at least a portion ofANs 106 include wireline access networks, such as cable television (CATV) networks, digital subscriber line (DSL) networks, and the like. In one embodiment, at least a portion of ANs 106 include wireless networks, such as General Packet Radio Service (GPRS) networks, Universal Mobile Telecommunications System (UMTS) networks, 1x Evolution (1XEV) data only (EVDO) networks, single carrier (1x) radio transmission technology (1xRTT) networks, high-speed downlink packet access (HSPDA) networks, Wireless Fidelity (WiFi) networks, and like public and private wireless networks. Thus, different instantiations ofCSs 104 may support different combinations of wireline and/or wireless network interfaces. - As depicted in
FIG. 1 , EN 110 is a secure, private network associated with an enterprise. Specifically, EN 110 includes a secure gateway (SG) 112, private communication network 114 (denoted as Intranet 114), a management system (MS) 116, a plurality of messaging systems (MSs) 118 1-118 N (collectively, MSs 118), and a messaging application (MA) 119. TheSG 112 communicates withIntranet 114 using a communication link (CL) 113. TheMS 116 communicates with Intranet 114 using a communication link (CL) 115. The MSs 118 1-118 N communicate withIntranet 114 using a plurality of communication links (CLs) 117 1-117 N (collectively, CLs 117). Although primarily depicted and described herein with respect to a private enterprise network, the present invention may be used for securely delivering message from any private network (e.g., university networks, organization networks, and the like). - As depicted in
FIG. 1 , SG 112 controlscommunications entering EN 110 and communications leaving EN 110. The SG 112 is adapted for supporting secure connections withSCs 104 ofUDs 102, including initiating secure connections withSCs 104 ofUDs 102, and responding to requests for secure connections received fromSCs 104 of UDs 102. In one embodiment, at least a portion of the functions ofSG 112 may be controlled byMS 116. The SG 112 performs at least a portion of the functions of the present invention, including encrypting messages transmitted toSCs 104, decrypting messages received fromSCs 104, as well as other functions of the present invention, as depicted and described herein. - The
MS 116 controls interactions betweenSG 112 andSCs 104 ofUDs 102. The MS 116 communicates with SG 112 andSCs 104 ofUDs 102, as well as other elements, for performing at least a portion of the functions of the present invention, including sending messages toSCs 104 adapted for triggeringSCs 104 to switch from an inactive state to an active state, sending messages toSCs 104 adapted for triggeringSCs 104 to initiate a request to establish a secure connection withSG 112 and to request delivery of available messages over the secure connection, as well as other functions of the present invention, as depicted and described herein. The MS 116 communicates with MA 119 (and, optionally, MSs 118) for performing at least a portion of the functions of the present invention, such as providing user reachability information toMA 119, as well as other functions of the present invention as depicted and described herein. - The
MSs 118 include messaging systems adapted for receiving, storing, and forwarding messages intended for end users. TheMSs 118 may include text messaging systems, voicemail messaging systems, multimedia messaging systems, and the like, as well as various combinations thereof, adapted for receiving, storing, and forwarding text messages, voicemail messages, multimedia messages, and the like, as well as various combinations thereof. For example, at least a portion ofMSs 118 may include private automated branch exchanges (PABXs), unified messaging systems (UMSs), and the like, as well as various combinations thereof. In one embodiment, at least a portion ofMSs 118 may host one or more messaging applications. - The
MA 119 is a messaging application. TheMA 119 may be hosted on any device adapted for supporting various functions provided byMA 119. TheMA 119 communicates withMSs 118 to receive indications that messages intended for users ofUDs 102 are available (and, optionally, to obtain messages intended for users of UDs 102). TheMA 119 communicates withMS 116 to triggerMS 116 to send messages toSCs 104 that are adapted to triggerSCs 104 to switch from an inactive state to an active state, to initiate establishment of secure connections withSG 112 for securely receiving messages intended for users ofUDs 102, and to request delivery of available messages (fromMA 119 or MSs 118) over the secure connections. TheMA 119 performs various other functions of the present invention, as depicted and described herein. - Although depicted and described as an individual application, in one
embodiment MA 119 may be hosted on one ofMSs 118 or, alternatively, messaging applications adapted for performing functions of the present invention may be hosted onMSs 118. Although depicted and described as an individual application, in one embodiment, each of theindividual MSs 118 may perform at least a portion of the functions depicted and described herein as being performed byMA 119. In one such embodiment, existing messaging applications (e.g., text messaging applications, voicemail messaging applications, multimedia messaging applications, and the like), e.g., messaging applications hosted byMSs 118, may be adapted for performing functions depicted and described herein as being performed byMA 119. In alternative implementations various combinations of messaging systems, messaging systems, and/or management systems may be hosted within one or more computers. - As depicted in
FIG. 1 ,SCs 104 communicate withEN 110 using a plurality of secure connections (SCs) 120 1-120 N (collectively, SCs 120). TheSCs 120 support secure transport of information betweenSCs 104 andSG 112 of EN 110 (and thus betweenUDs 102 and any systems of EN 110). TheSCs 120 may be initiated by SCs 104 (e.g., in response to a request from the associatedUD 102, in response to a request fromMS 116 orMA 119 ofEN 110, and the like). TheSCs 120 may be supported bySCs 104 irrespective of the power state of respective UDs 104 (i.e., irrespective of whetherUDs 102 are in active power states or inactive power states). In one embodiment,SCs 120 include secure tunnels. In one such embodiment,SCs 120 include Internet Protocol Security (IPSec) tunnels. - Although primarily depicted and described herein as a communication network supporting IP-based communications, communication network 100 may support various different communication technologies. Although primarily depicted and described with respect to specific numbers, types, and configurations of UDs 102 (and SCs 104),
CLs 105,ANs 106, CLs 107,Internet 108,CL 109,SG 112,CL 113,Intranet 114,CL 115,MS 116, CLs 117,MSs 118, andMA 119, various other numbers, types, and configurations of UDs 102 (and SCs 104),CLs 105,ANs 106, CLs 107,Internet 108,CL 109,SG 112,CL 113,Intranet 114,CL 115,MS 116, CLs 117,MSs 118, andMA 119 may be used to provide various functions of the present invention. TheUDs 102 and associatedSCs 104 may be better understood with respect toFIG. 2 . -
FIG. 2 depicts a high-level block diagram of a user device (referred to as the host or host computer), including an associated secure client, of the communication network ofFIG. 1 . As depicted inFIG. 2 ,SC 104 includes a client processor (CP) 201, a network interface module (NIM) 202, a host interface module (HIM) 204, support circuits (SCs) 206, an alert module (AM) 208, a power source (PS 207), and a client memory (CM) 210 (including a volatile memory (VM) 211 and a nonvolatile memory (NM) 215. TheCP 201 communicates with, and coordinates interactions between, each ofNIM 202,HIM 204,SCs 206,AM 208, andCM 210 for performing at least a portion of the functions of the present invention, including initiating secure connections withSG 112, activating alerts indicating availability of messages (irrespective of the power state of UD 102), storing messages inNM 215 until the messages are read byUD 102, providing available messages toUD 102 in response to detecting thatUD 102 is active, and performing like functions, as well as various combinations thereof, as depicted and described herein. - As depicted in
FIG. 2 , in oneembodiment SC 104 may be implemented as a card inserted within a slot ofUD 102. In one embodiment, for example,SC 104 may be implemented in a Cardbus (32-bit) PC-Card format. In one embodiment,SC 104 may be compatible with PC platforms supporting a type-II PCMCIA slot. In other embodiments,SC 104 may be implemented as a PCI Express Card, a mini-PCI Express module, or other similar cards or modules that enable connectivity to a host computer. In another embodiment (not depicted inFIG. 2 ),SC 104 may be implemented as a device external to UD 102 (e.g., a device coupled toUD 102 using one or more cables or connectors). In one such embodiment,SC 104 may be coupled to hostUD 102 using a USB interface. - As described herein,
SC 104 is able to be in a powered-on state regardless of the power state of the associatedhost computer UD 102. As depicted inFIG. 2 , in one embodiment,SC 104 includes an independent power source (illustratively, PS 207). In one embodiment, for example, PS 207 may be implemented as a rechargeable battery. In another embodiment,SC 104 may be powered through the host computer power source (e.g., battery or AC power supply), even when thehost computer UD 102 is powered off. In one embodiment, in whichSC 104 is implemented using a Cardbus interface,SC 104 may support at least D0, D1, D2, and D3 power states on the Cardbus interface and may be able to maintain power, irrespective of the power state ofhost computer UD 102, at the D3 cold state. - As described herein,
UD 102 may support numerous different power states. In one embodiment, power states supported byUD 102 may include inactive power states (e.g., powered off, powered on but in a dormant mode, powered on but in a sleep mode, and the like, as well as various combinations thereof) and active power states (e.g., powered on and active). Similarly,SC 104 may support numerous different power states. In one embodiment, power states supported byUD 102 may include inactive power states (e.g., powered off, powered on but in a dormant mode, powered on but in a sleep mode, and the like, as well as various combinations thereof) and active power states (e.g., powered on and active). A device or component described herein as being in an active power state or an inactive power state is more commonly referred to herein as being active or inactive, respectively. - As depicted in
FIG. 2 ,NIM 202 includes a network interface module adapted for supporting communications ofSC 104 andUD 102. TheNIM 202 may be configured to interface with various different wireline and wireless networks (illustratively, AN 106). TheNIM 202 includes at least one wireless interface supporting the Simple Messaging System (SMS), such as GSM, UMTS, CDMA, 1xEVDO, and the like. TheNIM 202 operates as a transmitter and receiver for transmitting and receiving information associated withSC 104 and associatedUD 102. In one embodiment, for example,NIM 202 may be implemented as a modem (e.g., wireline modem, wireless modem, and the like) providing network connectivity, forSC 104 and associatedUD 102, over one or more associated access networks (illustratively, AN 106). - As depicted in
FIG. 2 ,HIM 204 operates as an interface betweenSC 104 andUD 102. TheHIM 204 facilitates transfer of information fromSC 104 toUS 102. For example,HIM 204 facilitates the transfer of messages received over a secure connection (e.g., fromMA 119 orMSs 118 via SG 112) for immediate delivery toUD 102 ifUD 102 is active when the messages are received, for delayed delivery to UD 102 (after being stored in CM 210) ifUD 102 is inactive when the messages are received, and the like. TheHIM 204 facilitates transfer of information fromUD 102 toSC 104. For example,HIM 204 facilitates the transfer of messages generated by UD 102 (e.g., manually by one or more users via a user interface, automatically by one or more processors or modules, and the like) for immediate transmission over a secure connection toSG 112 if a secure connection is available, for storage inCM 210 until a secure connection toSG 112 becomes available, and the like. - The
SCs 206 include any additional circuits that cooperate withCP 201,CM 210,NM 215, and other components ofSC 104 to provide various functions of the present invention. In one embodiment,SCs 206 may include one or more power circuits adapted for supplying power toSC 104 whileUD 102 is inactive (i.e., powered-off). In one embodiment, as described herein, such power circuits may support at least various different power states forSC 104, e.g., the D0, D1, D2, and D3 power states on the Cardbus (32-bit) PC-Card interface including maintaining power ofSC 104 at D3 hot or cold states. In one embodiment,SCs 206 may include other processors, communication circuits, input-output modules, and like circuits and modules adapted for providing various functions ofSC 104. - The
AM 208 includes a module adapted for supporting the external alerting functions of the present invention. TheAM 208 provides the external alerting functions of the present invention using an external alert device (EAD) 209. TheEAD 209 may be any device, or combination of devices, adapted for providing a visual and/or audible alert indicating that a message is available, acknowledging that an available message has been delivered, and the like, as well as various combinations thereof. For example,EAD 209 may include one or more light emitting diodes (LEDs), one or more speakers, and like devices adapted for presenting alerts, as well as various combinations thereof. TheAM 208 andEAD 209 are adapted for generating and presenting alerts irrespective of the power state of the associated UD 102 (i.e., even whenUD 102 is inactive). - The
AM 208 is adapted for activating an external alert in response to detecting an available message. In one embodiment, in response to receiving a message atSC 104,NIM 202 provides the received message toCP 201, which stores the message inNM 215 and triggers AM 208 to generate an external alert associated with the available message. In one embodiment,AM 208 activates the external alert by generating an alert activation signal and providing the alert activation signal toEAD 209. In one embodiment, for example,AM 208 may triggerEAD 209 to provide a visual and/or audible alert. In one embodiment, for example,AM 208 may triggerEAD 209 to light an LED (or a combination of LEDs), play a sound or combination of sounds, and the like, as well as various combinations thereof. - In one embodiment, in which AM 208
triggers EAD 209 to light an LED,AM 208 may triggerEAD 209 to light the LED a specific color. The color that the LED is lit may depend on a number of factors, including message type of the available message (e.g., text, voice, video, and the like, as well as various combinations thereof), message priority of the available message (e.g., high priority, medium priority, and low priority, and the like), the number of messages currently available and awaiting acknowledgment, and like factors, as well as various combinations thereof. In one example, a text message may result in a blue light while a voicemail may result in a green light. In another example, a high priority message may result in a red light (irrespective of message type) while a low priority message may result in a green light. - In one embodiment, in which AM 208
triggers EAD 209 to light an LED (or multiple LEDs),AM 208 may triggerEAD 209 to light a specific number of LEDs, a specific combination of LEDs, and the like. The number of LEDs lit, or the specific combination of LEDs lit, may depend on a number of factors, including message type of the available message (e.g., text, voice, video, and the like, as well as various combinations thereof), message priority of the available message (e.g., high priority, medium priority, and low priority, and the like), the number of messages currently available and awaiting acknowledgment, and like factors, as well as various combinations thereof. In one example, a text message may result in one LED being lit, while a multimedia message may result in three LEDs being lit. In another example, a high priority message may result in three LEDs being lit while a low priority message may result in one LED being lit (irrespective of message type). - Although primarily depicted and described herein with respect to embodiments in which different color LEDs, or different numbers and/or combinations of LEDs, are lit in order to alert users to available messages, combinations of such embodiments may also be used in order to alert users regarding available messages. For example, the colors of LEDs may indicate message type and the number of LEDs lit may indicate message priority. Although primarily depicted and described herein with respect to LEDs which remain lit, in other embodiments flashing LEDs and/or lasers may be used in order to alert users to available messages (e.g., based on the frequency, pattern, and the like with which the LEDs and/or lasers flash). Furthermore, although primarily depicted and described herein with respect to embodiments in which visual alerts are implemented using LEDs, various other visual display means may be used in order to alert users to available messages.
- In one embodiment, in which AM 208
triggers EAD 209 to play a sound or a series of sounds, the number, tone, volume, frequency, and rhythm of the sound or sounds (as well as any other configurable parameter) may depend on a number of factors, including message type of the available message, message priority of the available message, the number of messages currently available and awaiting acknowledgment, and like factors, as well as various combinations thereof. In one example, a text message may result in a single beep once every 10 seconds while a voicemail may result in a repeated loop of three beeps in a row followed by 5 seconds of silence. In another example, a high priority message may result in a 7 dB beep while a low priority message may result in a 3 dB beep. - The
AM 208 is adapted for deactivating an external alert in response to detecting that an available message has been acknowledged (e.g., has been delivered toUD 102 and displayed via one or more user interfaces, has been delivered toUD 102 which in turn triggered a notification to one or more other devices associated withUD 102, and the like). In one embodiment, for example, in response to detecting thatUD 102 becomes active (e.g., the user turns on the power ofUD 102, the user wakesUD 102 from a sleep mode, and the like),CP 201 retrieves available messages being stored inCM 210 and provides the available messages to HIM 204 for delivery toUD 102, and triggersAM 208 to deactivate one or more external alerts associated with the delivered message(s). - In one embodiment,
AM 208 deactivates an external alert by generating an alert deactivation signal and providing the alert deactivation signal toEAD 209. Upon receiving the alert deactivation signal fromAM 208,EAD 209 no longer presents the external alert. In one embodiment, in which the alert to be deactivated is being provided by lit and/or flashing LEDs, LEDs previously lit and/or flashing to indicate one or more available messages are no longer lit or flashing. In one embodiment, in which the alert to be deactivated is being provided by a speaker playing various sounds to indicate that one or more messages is available, speakers previously playing sounds indicate one or more available messages no longer play the sounds. The deactivation of an alert depends on the device(s) with which the alert was being presented. - As depicted in
FIG. 2 ,CM 210 is a memory partitioned into two units: a volatile memory (VM) 211 and a nonvolatile memory (NM) 215. TheVM 211 may be any memory used for temporary storage (e.g., DRAM, SDRAM, and the like, as well as various combinations thereof). TheVM 211 temporarily stores an operating system (OS) 212, kernel drivers (KDs) 213, andprograms 214, as well as various other processing functions. TheNM 215 may be any memory used for permanent storage (e.g., flash memory). TheNM 215 permanently storesapplications 216 anddata 217 wheredata 217 includes messages received at and stored bySC 104 regardless of the power state ofhost computer UD 102. - The
OS 212 is an on-card operating system hosting on-card functions, applications, services, and the like adapted for supporting various functions of the present invention. TheOS 212 operates in conjunction withKDs 213 andprograms 214 ofVM 211, andapplications 216 anddata 217 ofNM 215, as well as various other components ofSC 104, to provide various functions of the present invention, as depicted and described herein. - The
applications 216 may include client-side applications associated with messaging applications ofMA 119 and/orMSs 118. For example,applications 216 may include text message applications, voicemail message applications, video message applications, and the like, as well as various combinations thereof. Theapplications 216 may also include various other applications adapted for performing functions of the present invention (e.g., initiating secure connections, encrypting/decrypting messages, and the like, as well as various combinations thereof). - The
data 217 may include any data. Thedata 217 includes data in support of functions of the present invention. For example,data 217 may include security certificates, end-user authentication data, client synchronization data, and the like, as well as various combinations thereof. Thedata 217 includes content data. For example,data 217 includes available messages awaiting delivery toUD 102 whileUD 102 is inactive. Thedata 217 may include various other types of data for use in performing functions of the present invention. - Although primarily depicted and described herein with respect to specific components supporting specific functions of the present invention. For example,
SC 104 may include additional components such as additional communication modules (e.g., internal and/or external communication modules), full IP stack operations, specific encryption-decryption modules, simulator (SIM) compatibility, embedded flash memory, embedded processor subsystems, integrated infrastructure for two-factor authentication, an external on/off switch forNIM 202 and/orEAD 209 that is independent of the power state of the associatedUD 102, and the like, as well as various combinations thereof. - As depicted in
FIG. 2 ,UD 102 includes a host processor (HP) 221, a client interface module (CIM) 222, an input-output module (IOM) 224, support circuits (SCs) 226, and a host memory (HM) 230. TheHP 221 communicates with, and manages interactions between, each ofCIM 222,IOM 224,SCs 226, andHM 230 for performing at least a portion of the functions of the present invention, including presenting available messages to one or more end users (via IOM 224), providing notification (including short-range and/or long-range notification) of available messages to one or more other user devices (viaIOM 224 and, optionally, SC 104), and the like, as well as various combinations thereof, as depicted and described herein. - The
HP 221 is adapted for providing available messages toIOM 224 for presentation to one or more end users via one or more user interfaces. In one embodiment,HP 221 provides available messages toIOM 224 for presentation to an end user in response toUD 102 switching from an inactive state to an active state. In one embodiment,HP 221 provides available messages toIOM 224 for presentation to an end user in response to an end user initiating a request to retrieve available messages (e.g., to retrieve messages received atUD 102 since the last time thatUD 102 switched from an active state to an inactive state). TheHP 221 is adapted for triggering notifications of available messages toIOM 224 for notification to one or more other user devices. - As depicted in
FIG. 2 ,CIM 222 operates as an interface betweenUD 102 andSC 104. TheCIM 222 facilitates transfer of information fromUD 102 toSC 104. For example,CIM 222 facilitates the transfer of information generated by UD 102 (e.g., manually generated by one or more end users via a user interface, automatically generated byUD 102, and the like) for immediate transmission over a secure connection toSG 112 if a secure connection is available, for storage inCM 210 until a secure connection toSG 112 becomes available, and the like. TheCIM 222 facilitates transfer of information fromSC 104 toUD 102. For example,CIM 222 facilitates the transfer of messages received over a secure connection (e.g., fromMA 119 and/orMSs 118 via SG 112) for presentation to one or more users viaIOM 224, for notification to one or more users viaIOM 224, and the like, as well as various combinations thereof. - The
IOM 224 is adapted for interfacing with various user interfaces. TheIOM 224 receives information provided by one or more users via one or more input user interfaces (e.g., a keyboard, a mouse, and the like). TheIOM 224 provides the received information from input user interfaces toHP 221 for processing. TheIOM 224 receives processed information from HP 221 (information fromCIM 222 and/or HM 230). TheIOM 224 presents information fromCIM 222 and/orHM 230 to one or more users via one or more output user interfaces (e.g., a display, a speaker, and the like). In other words,IOM 224 supports any user interaction and presentation capabilities available from a computer, phone, and like user devices. - The
SCs 226 include any additional circuits that cooperate withHP 221,CIM 222,IOM 224, andHM 230, as well as any other components ofUS 102, and, optionally, components ofSC 104, to provide various functions of the present invention. In one embodiment, for example,SCs 226 may include one or more processors, microprocessors, controllers, microcontrollers, transmitters, receivers, storage devices, power circuits, and the like, as well as various combinations thereof. In one embodiment,SCs 226 may include other processors, communication circuits, input-output modules, and like circuits and modules adapted for providing various functions ofUD 102. - As depicted in
FIG. 2 ,HM 230 is a memory storing an operating system (OS) 231, kernel drivers (KDs) 232,programs 233, support libraries (SLs) 234,applications 235, anddata 236. In one embodiment,HM 230 is a non-volatile memory. TheOS 231 is an on-host operating system hosting various functions, applications, services, and the like, adapted for supporting various functions of the present invention. TheOS 231 operates in conjunction withKDs 232,programs 233,SLs 234,applications 235, anddata 236, as well as other components ofUS 102, andSC 104, to provide various functions of the present invention, as depicted and described herein. - The
applications 235 may include host-side applications associated with corresponding client-side applications ofSC 104, as well as messaging applications such asMA 119 or messaging applications of MSs 118 (e.g., text message applications, voicemail message applications, multimedia message applications, and the like, as well as various combinations thereof). Theapplications 235 may include other applications adapted for performing functions of the present invention (e.g., processing available messages for presentation to one or more end users, triggering notifications for available messages, and the like, as well as various combinations thereof). Thedata 236 may include any data, including data in support of functions of the present invention, as well as content (e.g., available messages awaiting presentation to users via UD 102), and the like, as well as various combinations thereof. - As described herein,
SC 104 andUD 102 cooperate to perform various functions of the present invention. TheSC 104 receives an available message (e.g., from a messaging application such asMA 119, or hosted on MSs 118) regardless of whetherUD 102 is active or inactive. TheSC 104 stores the received available message in local memory (e.g., CM 210). The SC 104 (e.g., one ofclient applications 215 corresponding to the received message) alerts the user of the available message (e.g., a visual and/or audio alert). IfUD 102 is inactive,SC 104 either triggers (or waits for the user to trigger)UD 102 to switch from inactive to active. Upon switching from inactive to active,client application 215 onSC 104 informs acorresponding host application 235 onUD 102 of the available message. Thehost application 235 provides the message to the user (e.g., to one or more user interfaces of UD 102), provides notification of the message to one or more user devices, and the like, as well as various combinations thereof. TheSC 104 deactivates the alert upon delivery of the message or notification of the message. - The operation of
UD 102, including client components ofSC 104 host components ofUD 102, in coordination withSG 112, as well as MS 116 (which manages communications betweenSC 104 and SG 112) andMA 119 andMSs 118, in performing various functions of the present invention may better understood with respect toFIGS. 3-6 , as depicted and described herein. Although primarily depicted and described herein using four different method figures, as described herein, various portions of methods depicted and described herein may be combined to form different embodiments of the present invention. The present invention is not intended to be limited to the specific methods depicted and described herein with respect toFIGS. 3-6 . -
FIG. 3 depicts a method according to one embodiment of the present invention. Specifically,method 300 ofFIG. 3 includes a method for determining whether a secure connection exists between a secure client and a secure gateway. In one embodiment, the determination as to whether or not a secure connection exists between a secure client and a secure gateway is performed in response to a request by a messaging application (or system) that receives a message intended for a user. Although depicted and described as being performed serially, at least a portion of the steps ofmethod 300 ofFIG. 3 may be performed contemporaneously, or in a different order than depicted and described with respect toFIG. 3 . Themethod 300 begins atstep 302 and proceeds to step 304. - At
step 304, a messaging application detects a message intended for delivery to a user. The message may be any type of message, including a text message, a voicemail message, a multimedia message, and the like, as well as various combinations thereof. The messaging application is a messaging application of a private network (such as an enterprise network or other private network), and may be a messaging application corresponding to the message type of the detected message (e.g., a text messaging application for a text message, a voicemail messaging application for a voicemail message, a multimedia messaging application for a multimedia message, and the like). - At
step 306, the messaging application identifies the user for which the detected message is intended. Since theUD 102 may be located in any access network, and the IP address of theUD 102 is not known a-priori,SG 112 must find a way to locateUD 102 without using IP addresses. For example,UD 102 may be identified using one or more identifiers included with the message, including an email address, a Session Initiation Protocol (SIP) address or some other identifier, and the like, as well as various combinations thereof. - At
step 308, the messaging application transmits a request for user reachability information. The messaging application transmits the request for user reachability information to a management system. The management system is a system adapted for managing secure connections between secure clients (utilized by remote users to establish secure connections with a private network) and one or more secure gateways of a private network. Atstep 310, the management system receives the request from the messaging application for user reachability information. - At
step 312, the management system identifies the secure client associated with the user. In one embodiment, the management system identifies the secure client associated with the user using user information included within the request for user reachability information (e.g., using a user identifier determined by the messaging application using one or more identifiers included with the message, as determined in step 306). In one such embodiment, for example, the management system may maintain a database including associations between a user (as identified using one or more user identifiers) and a secure client by which the user securely accesses the private network using a user device from a remote location outside of the private network (e.g., while working from home). - At
step 314, the management system determines whether a secure connection already exists between the secure client and a secure gateway of the private network. In one embodiment, in which the management system is adapted for managing secure connections between secure clients and one or more secure gateways of the private network, the management system may maintain one or more tables tracking secure connections between secure clients and secure gateways. If a secure connection exists between the secure client and the secure gateway,method 300 proceeds tomethod 400, depicted and described herein with respect toFIG. 4 . If a secure connection does not exist between the secure client and the secure gateway,method 300 proceeds tomethod 500, depicted and described herein with respect toFIG. 5 . -
FIG. 4 depicts a method according to one embodiment of the present invention. Specifically,method 400 ofFIG. 4 includes a method for delivering an available message from a messaging application in a private network to a secure client when a secure connection exists between the secure client and a secure gateway of the private network when the available message is detected by the messaging application. Although depicted and described as a continuation ofmethod 300 ofFIG. 3 ,method 400 ofFIG. 4 may be used independently ofmethod 300 ofFIG. 3 , as well as in conjunction with various other embodiments of the present invention. Although depicted and described as being performed serially, at least a portion of the steps ofmethod 400 ofFIG. 4 may be performed contemporaneously, or in a different order than depicted and described with respect toFIG. 4 . Themethod 400 begins atstep 402 and proceeds to step 404. - At
step 404, the management system determines that a secure connection exists between the secure client and secure gateway. In one embodiment, the management system determines that the secure connection exists as depicted and described inmethod 300 ofFIG. 3 . Atstep 406, the management system transmits a response to a messaging application (e.g., to a messaging application from which a request for user reachability information was received, as depicted and described with respect tomethod 300 ofFIG. 3 ). In one embodiment, the response includes an IP address of the secure client associated with the user. Atstep 408, the messaging application receives the response from the management system. - At
step 410, the messaging application transmits the message toward the secure client using the IP address of the secure client included in the response from the management system. Since a secure connection between the secure client and the secure gateway exists when the message becomes available at the messaging application, the messaging application does not have to wait for the secure connection to be established; rather, the messaging application can provide the available message to the secure client immediately using the existing secure connection between the secure client and the secure gateway. - At
step 412, the secure gateway receives the available message transmitted by the messaging application intended for delivery to the secure client. Atstep 414, the secure gateway encrypts the message. The message may be encrypted using any type of encryption. Atstep 416, the secure gateway transmits the encrypted available message to the secure client over the secure connection. Atstep 418, the secure client receives the encrypted available message from the secure gateway over the secure connection. Atstep 420,method 400 proceeds tomethod 600, depicted and described herein with respect toFIG. 6 . -
FIG. 5 depicts a method according to one embodiment of the present invention. Specifically,method 500 ofFIG. 5 includes a method for delivering an available message from a messaging application in a private network to a secure client when a secure connection does not exist between the secure client and a secure gateway of the private network when the available message is detected by the messaging application. Although depicted and described as a continuation ofmethod 300 ofFIG. 3 ,method 500 ofFIG. 5 may be used independently ofmethod 300 ofFIG. 3 , as well as in conjunction with various other embodiments of the present invention. Although depicted and described as being performed serially, at least a portion of the steps ofmethod 500 ofFIG. 5 may be performed contemporaneously, or in a different order than depicted and described with respect toFIG. 5 . Themethod 500 begins atstep 502 and proceeds to step 504. - At
step 504, the management system determines that a secure connection does not exist between the secure client and secure gateway. In one embodiment, the management system determines that the secure connection does not exist as depicted and described inmethod 300 ofFIG. 3 . In one embodiment, as depicted inFIG. 5 , fromstep 504method 500 proceeds tosteps steps step 506 is performed beforestep 512 or step 512 is performed before step 506). - At
step 506, the management system transmits a response to a messaging application (e.g., to a messaging application from which a request for user reachability information was received, as depicted and described with respect tomethod 300 ofFIG. 3 ). In one embodiment, the response includes a value other than an IP address of the secure client associated with the user (e.g., a blank value, an email address of the user, a telephone number of the user, and the like). Atstep 508, the messaging application receives the response from the management system. - At
step 510, in response to determining that the response includes a value other than an IP address, the messaging application is triggered to wait for a request from the secure client for the available message (received by the messaging application atstep 538, as depicted and described herein). Since a secure connection between the secure client and the secure gateway does not exist, the messaging application waits until the management system triggers the secure client to establish a secure connection with the secure gateway of the private network and, after the secure connection is established, the secure client requests delivery of the available message from the messaging application to the secure client using the secure connection between the secure client and the secure gateway. - At
step 511, the management system obtains a unique address for the secure client. The unique address for the secure client is unique within the network such that the management system can identify the secure client irrespective of the access network with which the secure client is associated. For example, in several wireless networks, such as GPRS, UMTS, EVDO, and the like, each secure client is uniquely identified by a telephone number. - At
step 512, the management system transmits, to the secure client, a message adapted for triggering the secure client to switch from an inactive state to an active state. The management system uses the unique address for the secure client to transmit the message adapted for triggering the secure client to switch from an inactive state to an active state. Since the message adapted for triggering the secure client to switch from an inactive state to an active state basically triggers the secure client to wake up from a sleep mode or dormant mode to an active mode, the message is also referred to herein as a wake-up message. - In one embodiment, depicted in
FIG. 5 , the management system transmits the wake-up message via the secure gateway. In another embodiment, the management system may transmit the wake-up message using an alternative network interface or technology. For example, several mobile devices can be connected to both circuit-switched and packet-switched networks. In one embodiment, the wake-up message may be transmitted over a circuit-switched network (e.g., a paging notification to the user device). In one embodiment, the wake-up message may correspond to initiating a telephone call to the user device. In other embodiments, the wake-up message may correspond to one or more packets transmitted to a specific network address. In one embodiment, the wake-up message is a Short Message Service (SMS) message. - At
step 514, the secure gateway receives the wake-up message. Atstep 516, the secure gateway forwards the wake-up message to the secure client. In embodiments in which the wake-up message is not transmitted by the management system via the secure gateway, steps 514 and 516 may be omitted (although it should be noted that fewer or more comparable steps may be performed by other network elements in the path traversed by the wake-up message). Atstep 518, the secure client receives the wake-up message from the secure gateway. - At
step 520, in response to the wake-up message, the secure client switches from an inactive state to an active state (e.g., the secure client switches from a sleep mode or dormant mode to an active mode). Atstep 522, the secure client transmits, to the secure gateway, a secure connection request (i.e., a request to establish a secure connection between the secure client and the secure gateway). In one embodiment, the secure connection request includes authentication information adapted for use by the secure gateway to establish the secure connection, such as a certificate or other user and/or secure client authentication information. Atstep 524, the secure gateway receives the request for the secure connection from the secure client. - At
step 526, the secure gateway completes the secure connection. In one embodiment, in which the secure connection request includes authentication information, the secure gateway completes the secure connection by authenticating the user and/or secure client using the authentication information (e.g., comparing an authentication certificate received with the secure connection request to a database of authentication information maintained by the secure gateway (or retrieved by the secure gateway from another system such as an authentication system, management system, and the like). Atstep 526, the secure gateway transmits a secure connection acknowledgment to the secure client, indicating that the secure connection requested by the secure client was successfully established. Atstep 528, the secure client receives the secure connection acknowledgment from the secure gateway. - Although primarily depicted and described herein with respect to an embodiment in which the secure client initiates establishment of the secure connection, in one embodiment the secure gateway may initiate establishment of the secure connection. Although primarily depicted and described herein with respect to an embodiment in which the secure gateway transmits an acknowledgement to the secure client indicating that the secure connection has been established, in other embodiments the secure gateway may merely establish the secure connection without transmitting an acknowledgment to the secure client (i.e., the secure client assumes that the secure connection has been established and proceeds as if there is a secure connection over which the available message may be provided to the secure client).
- At
step 532, the secure client transmits a request for the available message (i.e., a message detected by a messaging application, e.g., the message detected atstep 304 ofmethod 300 ofFIG. 3 ) to the messaging application of the enterprise network via the secure gateway. In one embodiment, the request for the available message may include one or more identifiers adapted for use in retrieving the available message. In one embodiment, the secure client transmits the request for the available message using the secure connection. Atstep 534, the secure gateway receives the request for the available message. Atstep 536, the secure gateway forwards the request for the available message to the messaging application. - At
step 538, the messaging application receives the request for the available message. Atstep 540, the messaging application retrieves the available message. In one embodiment, the messaging application retrieves the available message using one or more identifiers included in request for the available message (e.g., a message identifier, a user identifier, and the like, as well as various combinations thereof). The messaging application may retrieve the available message from one or more of a local memory associated with the messaging application, a messaging system associated with the messaging application, and the like, as well as various combinations thereof. - At
step 542, the messaging application transmits the available message toward the secure client via the secure gateway. Atstep 544, the secure gateway receives the available message from the messaging application. Atstep 546, the secure gateway encrypts the available message. Atstep 548, the secure gateway transmits the encrypted available message to the secure client over the secure connection. Atstep 550, the secure client receives the encrypted available message from the secure gateway over the secure connection. Atstep 552,method 500 proceeds tomethod 600, depicted and described herein with respect toFIG. 6 . -
FIG. 6 depicts a method according to one embodiment of the present invention. Specifically,method 600 ofFIG. 6 includes a method for alerting a user that a message is available if the user device associated with the user is inactive, and presenting the available message to the user in response to a determination that the user device has switched from an inactive state to an active state. Although depicted and described as being performed serially, at least a portion of the steps ofmethod 600 ofFIG. 6 may be performed contemporaneously, or in a different order than depicted and described with respect toFIG. 6 . Themethod 600 begins atstep 602 and proceeds to step 604. - At
step 604, the secure client receives the encrypted available message. Atstep 606, the secure client stores the encrypted available message. As described herein, the secure client is adapted for receiving and storing the encrypted available message irrespective of whether the associated user device is in an active state or an inactive state. Atstep 608, the secure client activates an alert. For example, the secure client may play one or more beeps, light one or more LEDs, and the like, as well as various combinations thereof, as described herein. - At
step 610, a determination is made as to whether the secure client is configured to activate the user device upon receiving an available message. If the secure client is configured to activate the user device,method 600 proceeds to step 612. Atstep 612, the secure client sends, to the user device, a signal adapted to activate the user device. Atstep 614, the user device receives the signal adapted to activate the user device. Atstep 616, in response to the activation signal received from the secure client, the user device switches from an inactive state to an active state. As depicted inFIG. 6 , fromstep 616, the user device waits to receive the available message from the secure client (where waiting is represented by the dotted line fromstep 616 to step 624). If the secure client is not configured to activate the user device,method 600 proceeds to step 618. - At
step 618, the secure client determines whether the user device has become active (i.e., whether the user device has switched from an inactive state to an active state). If the user device has not become active,method 600 loops withinstep 618 until the user device become active. In other words, since the secure client is not configured to activate the user device, the secure client must wait for the user to activate the user device. If the user device has become active,method 600 proceeds to step 620. Atstep 620, the secure client retrieves the decrypted available message. Atstep 622, the secure client decrypts the available message. - At
step 624, the secure client transmits the available message to the user device. Atstep 626, the user device receives the available message from the secure client. Atstep 628, the user device determines whether a user interface of the user device is active (i.e., whether the available message can be presented to the user). If a user interface of the user device is not active,method 600 loops withinstep 628 until the user interface of the user device becomes active. If a user interface of the user device is active,method 600 proceeds to step 630. - At
step 630, the user device presents the available message via one or more active user interfaces (e.g., via a speaker, a display device, and the like). Atstep 632, the user device sends a message acknowledgment to the secure client. Atstep 634, the secure client deactivates the alert in response to the acknowledgment from the user device (i.e., deactivates the alert activated at step 608). For example, the secure client may stop playing one or more beeps, turn off one or more LEDs, and the like, as well as various combinations thereof, as described herein. - Although omitted for purposes of clarity, as described herein, in some embodiments, the user device may trigger a notification to at least one other user device associated with the user (e.g., to a laptop, a mobile phone, a personal data assistant (PDA), and like user devices; using at least one of a short-range notification technology, a long-range notification technology, and the like). In one embodiment, the user device may trigger a notification in response to receiving the available message from the secure client. In one embodiment, the user device may trigger the notification to one or more other user devices in response to a determination that a user interface of the user device is not active at the time at which the user device receives the available message from the secure client.
- Although primarily depicted and described herein with respect to an embodiment in which the user device is in an inactive state when the available message is received by the secure client (such that the secure client proxies for the user device until the user device is activated by the secure client or a user of the user device), as described herein the secure client may receive an available message when the user device is in an active state. In this embodiment, since the available message is delivered from the secure client to the user device at the time the available message is received by the secure client, the secure client may or may not activate the alert to the user. In one such embodiment, the secure client may still activate an alert (such as an audible and/or visual alert) to alert the user that an available message has been received and may be reviewed via the user device.
-
FIG. 7 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein. As depicted inFIG. 7 ,system 700 comprises a processor element 702 (e.g., a CPU), amemory 704, e.g., random access memory (RAM) and/or read only memory (ROM), amessage delivery module 705, and various input/output devices 706 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or compact disk drive, a receiver, a transmitter, a speaker, a display, an output port, and a user input device (such as a keyboard, a keypad, a mouse, and the like)). - It should be noted that the present invention may be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents. In one embodiment, the present
message delivery process 705 can be loaded intomemory 704 and executed byprocessor 702 to implement the functions as discussed above. As such, message delivery process 705 (including associated data structures) of the present invention can be stored on a computer readable medium or carrier, e.g., RAM memory, magnetic or optical drive or diskette and the like. - It is contemplated that some of the steps discussed herein as software methods may be implemented within hardware, for example, as circuitry that cooperates with the processor to perform various method steps. Portions of the present invention may be implemented as a computer program product wherein computer instructions, when processed by a computer, adapt the operation of the computer such that the methods and/or techniques of the present invention are invoked or otherwise provided. Instructions for invoking the inventive methods may be stored in fixed or removable media, transmitted via a data stream in a broadcast or other signal bearing medium, and/or stored within a working memory within a computing device operating according to the instructions.
- Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings.
Claims (20)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/668,800 US8533272B2 (en) | 2007-01-30 | 2007-01-30 | Method and apparatus for notification and delivery of messages to mobile PC users |
PCT/US2008/000525 WO2008094400A1 (en) | 2007-01-30 | 2008-01-16 | Method and apparatus for notification and delivery of messages to mobile pc users |
CN2008800034532A CN101595677B (en) | 2007-01-30 | 2008-01-16 | Method and apparatus for notification and delivery of messages to mobile PC users |
EP08724532.0A EP2109957B1 (en) | 2007-01-30 | 2008-01-16 | Method and apparatus for notification and delivery of messages to mobile pc users |
JP2009548258A JP5025737B2 (en) | 2007-01-30 | 2008-01-16 | Method and apparatus for message notification and delivery to mobile PC users |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/668,800 US8533272B2 (en) | 2007-01-30 | 2007-01-30 | Method and apparatus for notification and delivery of messages to mobile PC users |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080183825A1 true US20080183825A1 (en) | 2008-07-31 |
US8533272B2 US8533272B2 (en) | 2013-09-10 |
Family
ID=39477550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/668,800 Active 2031-03-10 US8533272B2 (en) | 2007-01-30 | 2007-01-30 | Method and apparatus for notification and delivery of messages to mobile PC users |
Country Status (5)
Country | Link |
---|---|
US (1) | US8533272B2 (en) |
EP (1) | EP2109957B1 (en) |
JP (1) | JP5025737B2 (en) |
CN (1) | CN101595677B (en) |
WO (1) | WO2008094400A1 (en) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130457A1 (en) * | 2005-12-02 | 2007-06-07 | Kamat Sanjay D | Method and apparatus for providing secure remote access to enterprise networks |
US20080016151A1 (en) * | 2006-07-12 | 2008-01-17 | International Business Machines Corporation | Client-side aggregation of context-sensitive request results where results for aggregation are asynchronously produced by multiple servers |
US20080127234A1 (en) * | 2006-09-19 | 2008-05-29 | International Business Machines Corporation | Methods, systems, and computer program products for a remote request dispatcher extension framework for container based programming models |
US20090055469A1 (en) * | 2007-08-22 | 2009-02-26 | International Business Machines Corporation | Re-using asynchronous server-side results generated for a request context of one client to satisfy a request context of a different client |
US20110238726A1 (en) * | 2010-03-29 | 2011-09-29 | Motorola, Inc. | Method and apparatus for distribution of applications to a plurality of communication devices for an expanded operating mode |
US20120215854A1 (en) * | 2011-02-18 | 2012-08-23 | Research In Motion Limited | Communication device and method for overriding a message filter |
US20120224480A1 (en) * | 2009-10-27 | 2012-09-06 | Shell Nakash | Technique for throughput control for packet switches |
US20140118132A1 (en) * | 2004-10-05 | 2014-05-01 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US20150046588A1 (en) * | 2013-08-08 | 2015-02-12 | Phantom Technologies, Inc. | Switching between networks |
US20150096005A1 (en) * | 2013-09-17 | 2015-04-02 | Iboss, Inc. | Mobile device management profile distribution |
US20150161551A1 (en) * | 2013-12-06 | 2015-06-11 | Vivint, Inc. | Management of multi-site dashboards |
EP2837214A4 (en) * | 2012-04-13 | 2015-12-02 | Zipit Wireless Inc | Reduced latency messaging for mobile communication devices |
US9217380B2 (en) | 2004-10-05 | 2015-12-22 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9292017B2 (en) * | 2013-04-22 | 2016-03-22 | Dan Alan Preston | System and method for real-time guidance and mapping of a tunnel boring machine and tunnel |
US9371002B2 (en) | 2013-08-28 | 2016-06-21 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9381902B2 (en) | 2004-10-05 | 2016-07-05 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9426115B1 (en) * | 2012-10-15 | 2016-08-23 | Solace Systems, Inc. | Message delivery system and method with queue notification |
US9550452B2 (en) | 2004-10-05 | 2017-01-24 | Vision Works Ip Corporation | Early warning of vehicle deceleration |
US9643538B2 (en) | 2004-10-05 | 2017-05-09 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9830821B2 (en) | 2004-10-05 | 2017-11-28 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9834184B2 (en) | 2013-09-13 | 2017-12-05 | Vision Works Ip Corporation | Trailer braking system and controller |
US9855986B2 (en) | 2013-08-28 | 2018-01-02 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9878693B2 (en) | 2004-10-05 | 2018-01-30 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US20180212930A1 (en) * | 2017-01-24 | 2018-07-26 | International Business Machines Corporation | Secure network connections |
US10046694B2 (en) | 2004-10-05 | 2018-08-14 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US11336603B2 (en) * | 2015-02-28 | 2022-05-17 | Boris Shoihat | System and method for messaging in a networked setting |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6357778B2 (en) | 2013-06-26 | 2018-07-18 | 株式会社リコー | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND PROGRAM |
JP2016220064A (en) * | 2015-05-21 | 2016-12-22 | ヤマハ株式会社 | Network device |
CN104994006B (en) * | 2015-07-14 | 2017-10-24 | 王明伟 | Back-to-back instant communicating method and device based on wechat public number |
JP2017208791A (en) * | 2016-05-17 | 2017-11-24 | モダ情報通信株式会社Modacom Co., Ltd. | Remote control method and device using message |
CN113391691A (en) * | 2021-06-03 | 2021-09-14 | 深圳市广和通无线股份有限公司 | Equipment awakening method, device, equipment and storage medium |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129107A1 (en) * | 2001-03-12 | 2002-09-12 | Loughran Stephen A. | Method and apparatus for automatic content handling |
US20030002676A1 (en) * | 2001-06-29 | 2003-01-02 | Stachura Thomas L. | Method and apparatus to secure network communications |
US20030012382A1 (en) * | 2000-02-08 | 2003-01-16 | Azim Ferchichi | Single sign-on process |
US6629248B1 (en) * | 2000-03-30 | 2003-09-30 | Intel Corporation | Apparatus and method for maintaining a security association for manageability across power failures |
US20040133668A1 (en) * | 2002-09-12 | 2004-07-08 | Broadcom Corporation | Seamlessly networked end user device |
US6894994B1 (en) * | 1997-11-03 | 2005-05-17 | Qualcomm Incorporated | High data rate wireless packet data communications system |
US20050138143A1 (en) * | 2003-12-23 | 2005-06-23 | Thompson Blake A. | Pre-fetching linked content |
US20060069742A1 (en) * | 2004-09-30 | 2006-03-30 | International Business Machines Corporation | Method, system, and computer program product for prefetching sync data and for edge caching sync data on a cellular device |
US20070130457A1 (en) * | 2005-12-02 | 2007-06-07 | Kamat Sanjay D | Method and apparatus for providing secure remote access to enterprise networks |
US20070162582A1 (en) * | 2006-01-11 | 2007-07-12 | Microsoft Corporation | Network event notification and delivery |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4531974B2 (en) * | 1998-01-07 | 2010-08-25 | マイクロソフト コーポレーション | System and method for receiving wireless information at a mobile device |
JPH11265332A (en) * | 1998-03-18 | 1999-09-28 | Toshiba Corp | Portable electronic equipment and electronic mail incoming informing method |
JP2002268778A (en) * | 2001-03-14 | 2002-09-20 | Toshiba Corp | Information processor |
US7240228B2 (en) * | 2003-05-05 | 2007-07-03 | Microsoft Corporation | Method and system for standby auxiliary processing of information for a computing device |
JP2004336446A (en) * | 2003-05-08 | 2004-11-25 | Hitachi Kokusai Electric Inc | Radio communication equipment |
JP2005057428A (en) * | 2003-08-01 | 2005-03-03 | Nippon Telegr & Teleph Corp <Ntt> | Mobile information terminal and wireless communication method |
JP2006067277A (en) * | 2004-08-27 | 2006-03-09 | Nippon Telegr & Teleph Corp <Ntt> | Terminal, network transferring device, server device, method for controlling terminal, method for controlling network transferring device, program and recording medium |
JP2007241747A (en) * | 2006-03-09 | 2007-09-20 | Toshiba Corp | Information processor and e-mail receiving method |
-
2007
- 2007-01-30 US US11/668,800 patent/US8533272B2/en active Active
-
2008
- 2008-01-16 WO PCT/US2008/000525 patent/WO2008094400A1/en active Application Filing
- 2008-01-16 EP EP08724532.0A patent/EP2109957B1/en active Active
- 2008-01-16 CN CN2008800034532A patent/CN101595677B/en active Active
- 2008-01-16 JP JP2009548258A patent/JP5025737B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6894994B1 (en) * | 1997-11-03 | 2005-05-17 | Qualcomm Incorporated | High data rate wireless packet data communications system |
US20030012382A1 (en) * | 2000-02-08 | 2003-01-16 | Azim Ferchichi | Single sign-on process |
US6629248B1 (en) * | 2000-03-30 | 2003-09-30 | Intel Corporation | Apparatus and method for maintaining a security association for manageability across power failures |
US20020129107A1 (en) * | 2001-03-12 | 2002-09-12 | Loughran Stephen A. | Method and apparatus for automatic content handling |
US20030002676A1 (en) * | 2001-06-29 | 2003-01-02 | Stachura Thomas L. | Method and apparatus to secure network communications |
US20040133668A1 (en) * | 2002-09-12 | 2004-07-08 | Broadcom Corporation | Seamlessly networked end user device |
US20050138143A1 (en) * | 2003-12-23 | 2005-06-23 | Thompson Blake A. | Pre-fetching linked content |
US20060069742A1 (en) * | 2004-09-30 | 2006-03-30 | International Business Machines Corporation | Method, system, and computer program product for prefetching sync data and for edge caching sync data on a cellular device |
US20070130457A1 (en) * | 2005-12-02 | 2007-06-07 | Kamat Sanjay D | Method and apparatus for providing secure remote access to enterprise networks |
US20070162582A1 (en) * | 2006-01-11 | 2007-07-12 | Microsoft Corporation | Network event notification and delivery |
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9381902B2 (en) | 2004-10-05 | 2016-07-05 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9217380B2 (en) | 2004-10-05 | 2015-12-22 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9643538B2 (en) | 2004-10-05 | 2017-05-09 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9550452B2 (en) | 2004-10-05 | 2017-01-24 | Vision Works Ip Corporation | Early warning of vehicle deceleration |
US10195989B2 (en) | 2004-10-05 | 2019-02-05 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US10046694B2 (en) | 2004-10-05 | 2018-08-14 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9834215B2 (en) | 2004-10-05 | 2017-12-05 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US10410520B2 (en) | 2004-10-05 | 2019-09-10 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9327726B2 (en) * | 2004-10-05 | 2016-05-03 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9830821B2 (en) | 2004-10-05 | 2017-11-28 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US10391989B2 (en) | 2004-10-05 | 2019-08-27 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9945298B2 (en) | 2004-10-05 | 2018-04-17 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US11577705B2 (en) | 2004-10-05 | 2023-02-14 | VisionWorks IP Corporation | Absolute acceleration sensor for use within moving vehicles |
US11332071B2 (en) | 2004-10-05 | 2022-05-17 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US10384682B2 (en) | 2004-10-05 | 2019-08-20 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US10436125B2 (en) | 2004-10-05 | 2019-10-08 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9878693B2 (en) | 2004-10-05 | 2018-01-30 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US20140118132A1 (en) * | 2004-10-05 | 2014-05-01 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US10266164B2 (en) | 2004-10-05 | 2019-04-23 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US10227041B2 (en) | 2004-10-05 | 2019-03-12 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US8286002B2 (en) | 2005-12-02 | 2012-10-09 | Alcatel Lucent | Method and apparatus for providing secure remote access to enterprise networks |
US20070130457A1 (en) * | 2005-12-02 | 2007-06-07 | Kamat Sanjay D | Method and apparatus for providing secure remote access to enterprise networks |
US9069870B2 (en) | 2006-07-12 | 2015-06-30 | International Business Machines Corporation | Client-side aggregation of context-sensitive request results where results for aggregation are asynchronously produced by multiple servers |
US20080016151A1 (en) * | 2006-07-12 | 2008-01-17 | International Business Machines Corporation | Client-side aggregation of context-sensitive request results where results for aggregation are asynchronously produced by multiple servers |
US20080127234A1 (en) * | 2006-09-19 | 2008-05-29 | International Business Machines Corporation | Methods, systems, and computer program products for a remote request dispatcher extension framework for container based programming models |
US9432243B2 (en) * | 2007-08-22 | 2016-08-30 | International Business Machines Corporation | Re-using asynchronous server-side results generated for a request context of one client to satisfy a request context of a different client |
US20090055469A1 (en) * | 2007-08-22 | 2009-02-26 | International Business Machines Corporation | Re-using asynchronous server-side results generated for a request context of one client to satisfy a request context of a different client |
US8942090B2 (en) * | 2009-10-27 | 2015-01-27 | Eci Telecom Ltd. | Technique for throughput control for packet switches |
US20120224480A1 (en) * | 2009-10-27 | 2012-09-06 | Shell Nakash | Technique for throughput control for packet switches |
US9674635B2 (en) * | 2010-03-29 | 2017-06-06 | Motorola Solutions, Inc. | Method and apparatus for distribution of applications to a plurality of communication devices for an expanded operating mode |
US20110238726A1 (en) * | 2010-03-29 | 2011-09-29 | Motorola, Inc. | Method and apparatus for distribution of applications to a plurality of communication devices for an expanded operating mode |
US8635291B2 (en) * | 2011-02-18 | 2014-01-21 | Blackberry Limited | Communication device and method for overriding a message filter |
US20120215854A1 (en) * | 2011-02-18 | 2012-08-23 | Research In Motion Limited | Communication device and method for overriding a message filter |
EP2837214A4 (en) * | 2012-04-13 | 2015-12-02 | Zipit Wireless Inc | Reduced latency messaging for mobile communication devices |
US9426115B1 (en) * | 2012-10-15 | 2016-08-23 | Solace Systems, Inc. | Message delivery system and method with queue notification |
US9292017B2 (en) * | 2013-04-22 | 2016-03-22 | Dan Alan Preston | System and method for real-time guidance and mapping of a tunnel boring machine and tunnel |
US9380077B2 (en) * | 2013-08-08 | 2016-06-28 | Iboss, Inc. | Switching between networks |
US20150046588A1 (en) * | 2013-08-08 | 2015-02-12 | Phantom Technologies, Inc. | Switching between networks |
US10200354B2 (en) | 2013-08-08 | 2019-02-05 | Iboss, Inc. | Switching between networks |
US10202159B2 (en) | 2013-08-28 | 2019-02-12 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US11173976B2 (en) | 2013-08-28 | 2021-11-16 | VisionWorks IP Corporation | Absolute acceleration sensor for use within moving vehicles |
US11407357B2 (en) | 2013-08-28 | 2022-08-09 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9868385B2 (en) | 2013-08-28 | 2018-01-16 | Vision Works IP | Absolute acceleration sensor for use within moving vehicles |
US9855986B2 (en) | 2013-08-28 | 2018-01-02 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US10220765B2 (en) | 2013-08-28 | 2019-03-05 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9371002B2 (en) | 2013-08-28 | 2016-06-21 | Vision Works Ip Corporation | Absolute acceleration sensor for use within moving vehicles |
US9834184B2 (en) | 2013-09-13 | 2017-12-05 | Vision Works Ip Corporation | Trailer braking system and controller |
US9160751B2 (en) * | 2013-09-17 | 2015-10-13 | Iboss, Inc. | Mobile device management profile distribution |
US20150096005A1 (en) * | 2013-09-17 | 2015-04-02 | Iboss, Inc. | Mobile device management profile distribution |
US20150161551A1 (en) * | 2013-12-06 | 2015-06-11 | Vivint, Inc. | Management of multi-site dashboards |
US11336603B2 (en) * | 2015-02-28 | 2022-05-17 | Boris Shoihat | System and method for messaging in a networked setting |
US10547597B2 (en) * | 2017-01-24 | 2020-01-28 | International Business Machines Corporation | Secure network connections |
US11082413B2 (en) * | 2017-01-24 | 2021-08-03 | International Business Machines Corporation | Secure network connections |
US20180212930A1 (en) * | 2017-01-24 | 2018-07-26 | International Business Machines Corporation | Secure network connections |
Also Published As
Publication number | Publication date |
---|---|
JP5025737B2 (en) | 2012-09-12 |
EP2109957B1 (en) | 2016-01-13 |
CN101595677A (en) | 2009-12-02 |
JP2010517474A (en) | 2010-05-20 |
US8533272B2 (en) | 2013-09-10 |
CN101595677B (en) | 2013-11-27 |
WO2008094400A1 (en) | 2008-08-07 |
EP2109957A1 (en) | 2009-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8533272B2 (en) | Method and apparatus for notification and delivery of messages to mobile PC users | |
US11012920B2 (en) | Wireless network host in silent mode | |
US7349355B2 (en) | Methods and apparatus for providing a communication proxy system | |
US10110538B2 (en) | Method and apparatus for message transmission | |
US20130275530A1 (en) | Reduced Latency Messaging For Mobile Communication Devices | |
CN102726029A (en) | An USSD transport method and device | |
JP2003345477A (en) | Reduction of idle power consumption for battery- operated network device | |
JP2016517664A (en) | System and method for distributing multimedia information to mobile devices | |
EA009019B1 (en) | Establishing a connection using a hybrid receiver | |
US20060128350A1 (en) | Methods and apparatus for operating transceiver systems of a wireless platform | |
US8504123B1 (en) | Telephone ringing signal-based notification method for mobile devices | |
WO2018095175A1 (en) | Communication message synchronization method, data backup method, device and storage medium | |
WO2018129876A1 (en) | Method for transmitting multimedia data, server and terminal | |
RU2007113615A (en) | ADVANCED PRELIMINARY NOTIFICATION PROCEDURE FOR MBMS SERVICE ON GERAN NETWORK | |
US7603421B1 (en) | Method and system for management of instant messaging targets | |
TW201101886A (en) | Methods and apparatus for providing emergency alerts in a communication network | |
WO2016177222A1 (en) | Missed call reminding method and device | |
US20210076352A1 (en) | Notifications concerning ue unreachability | |
US11620960B2 (en) | Synchronous display blinking | |
US11653307B2 (en) | Modifying idle mode DRX on wireless devices | |
CN109996194A (en) | A kind of method and apparatus sending short message | |
TW201630444A (en) | Setting method for sending short message and mobile device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LUCENT TECHNOLOGIES INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ALICHERRY, MANSOOR ALI KHAN;CHAN, MARY S;KAMAT, SANJAY D;AND OTHERS;REEL/FRAME:019040/0500;SIGNING DATES FROM 20070131 TO 20070315 Owner name: LUCENT TECHNOLOGIES INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ALICHERRY, MANSOOR ALI KHAN;CHAN, MARY S;KAMAT, SANJAY D;AND OTHERS;SIGNING DATES FROM 20070131 TO 20070315;REEL/FRAME:019040/0500 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: CREDIT SUISSE AG, NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:ALCATEL-LUCENT USA INC.;REEL/FRAME:030510/0627 Effective date: 20130130 |
|
AS | Assignment |
Owner name: ALCATEL-LUCENT USA INC., NEW JERSEY Free format text: MERGER;ASSIGNOR:LUCENT TECHNOLOGIES INC.;REEL/FRAME:030804/0019 Effective date: 20081101 |
|
AS | Assignment |
Owner name: ALCATEL LUCENT, FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ALCATEL-LUCENT USA INC.;REEL/FRAME:030839/0206 Effective date: 20130717 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: ALCATEL-LUCENT USA INC., NEW JERSEY Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG;REEL/FRAME:033949/0016 Effective date: 20140819 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: BEIJING XIAOMI MOBILE SOFTWARE CO.,LTD., CHINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ALCATEL LUCENT;REEL/FRAME:045397/0598 Effective date: 20170630 Owner name: ALCATEL LUCENT, FRANCE Free format text: CHANGE OF ADDRESS;ASSIGNOR:ALCATEL LUCENT;REEL/FRAME:045815/0013 Effective date: 20140519 |
|
AS | Assignment |
Owner name: BEIJING XIAOMI MOBILE SOFTWARE CO.,LTD., CHINA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 045397 FRAME: 0598. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:ALCATEL LUCENT;REEL/FRAME:046478/0193 Effective date: 20170630 |
|
AS | Assignment |
Owner name: BEIJING XIAOMI MOBILE SOFTWARE CO.,LTD., CHINA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS PREVIOUSLY RECORDED AT REEL: 045397 FRAME: 0598. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:ALCATEL LUCENT;REEL/FRAME:046544/0365 Effective date: 20170630 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |