The present invention relates to a method and system for managing multiple communication protocols in a mobile communication device. The present invention further relates to achieving simultaneous communication over multiple protocols to remotely manage a sensor network.
When a mobile communications device connects to a telecommunications network, the device may follow a series of standard rules called a communications protocol. These rules may cover data representation, signaling, authentication, and error detection. These protocols allow for more efficient and faster communications.
One such protocol is WiFi®. WiFi® is a protocol developed by working group 11 of the Institute of Electrical and Electronics Engineers (IEEE) Local Area Network (LAN)/Metropolitan Area Network (MAN) Standards Committee. WiFi® was developed to be used with mobile computing devices. WiFi® is commonly used in homes, commercial shops, and even within municipals to create a wireless LAN (WLAN). A WiFi® access point may broadcast its service set identifier (SSID) via beacon packets. A user may choose to connect to an access point based on that SSID. The connections may be encrypted using various kinds of password protection.
Another protocol is ZigbBee. ZigBee® is a protocol developed by working group 15 of the IEEE 802. ZigBee® was developed to be used with wireless personal area network (WPAN) standards. ZigBee® operates on the industrial, scientific, and medical band. ZigBee® is considered to be a less expensive and a more power efficient alternative to other WPAN protocols, such as Bluetooth.
ZigBee® and WiFi® are eached used for different tasks. ZigBee® tends to be used more for monitoring and control functions, whereas WiFi® is used for various communications functions such as web transmissions, email, voice over internet protocol (VOIP), and video transmissions. A mobile communications device may have need to perform functions that require both types of protocols.
A method, apparatus, and electronic device for achieving simultaneous communication between multiple protocols are disclosed. The method may include receiving with a telecommunication device a first message on a first communications network using a first communications protocol; simultaneously receiving with the telecommunication device a second message on a second communications network using a second communications protocol; assigning a first priority to the first message; assigning a second priority to the second message; and processing the first message and the second message in an order based on the first priority and the second priority.
In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth herein.
Various embodiments of the invention are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the invention.
The present invention comprises a variety of embodiments, such as a method, an apparatus, and an electronic device, and other embodiments that relate to the basic concepts of the invention. The electronic device may be any manner of computer, mobile device, or wireless communication device.
A combined protocol telecommunications device for achieving simultaneous communication between multiple protocols is disclosed. The method may include a telecommunication device that receives a first message on a first communications network using a first communications protocol. The telecommunication device simultaneously receives a second message on a second communications network using a second communications protocol. The telecommunications device assigns a first priority to the first message and a second priority to the second message. The telecommunication device processes the first message and the second message in an order based on the first priority and the second priority.
The controller/processor 110 may be any programmed processor known to one of skill in the art. However, the decision support method can also be implemented on a general-purpose or a special purpose computer, a programmed microprocessor or microcontroller, peripheral integrated circuit elements, an application-specific integrated circuit or other integrated circuits, hardware/electronic logic circuits, such as a discrete element circuit, a programmable logic device, such as a programmable logic array, field programmable gate-array, or the like. In general, any device or devices capable of implementing the decision support method as described herein can be used to implement the decision support system functions of this invention.
The memory 120 may include volatile and nonvolatile data storage, including one or more electrical, magnetic or optical memories such as a RAM, cache, hard drive, CD-ROM drive, tape drive or removable storage disk. The memory 120 may have a cache to speed access to specific data.
The Input/Output interface 130 may be connected to one or more input devices that may include a keyboard, mouse, pen-operated touch screen or monitor, voice-recognition device, or any other device that accepts input. The Input/Output interface 130 may also be connected to one or more output devices, such as a monitor, printer, disk drive, speakers, or any other device provided to output data.
The series of one or more timers 140 may include any clock, crystal, or timing device. A clock may produce a periodic signal that may be used for computing purposes, such as decoding or demodulating a signal sent over a frequency. A timing device may include any device used to measure the passage of time or to measure the frequency, duration, or period of any periodic signal.
While this embodiment discloses a first radio 150 to generate a first connection using a first telecommunications signal and a second radio 160 to generate a second connection using a second telecommunications signal are described, it is to be understood that a single radio generating both connections is also covered by this description. The first and second connection may use protocols such as ZigBee®, WiFi®, or other protocols. ZigBee® and WiFi® both use direct sequence spread spectrum (DSSS), which may allow for the consolidation of certain functions and devices. Both the first radio 150 and the second radio 160 may use the antenna 170, along with the necessary hardware, in order to create a telecommunication connection with another wireless device, according to the instructions given by the embedded programs.
If a message is marked as an emergency event (Block 506), the message containing the emergency event is processed immediately (Block 508) and the ISC 240 generates an emergency response to be transmitted to the appropriate devices (Block 510). Emergency events may be malfunctions in network devices or, in a sensor network, evidence of some event in a region that requires a response, such as security intrusion, flood, fire, or other events. The message may be marked as containing an emergency event by the remote sensor, the ISC 240 may make that determination upon a cursory initial review of the message, or some alternate device may make that determination. The response may be a notification to a responsible individual, a directive to a remote device on location (such as turning on the sprinklers or triggering a burglar alarm), or any other appropriate response based on the emergency presented.
If no emergency is present (Block 506), the ISC 240 may assign the messages a priority (Block 512). These priorities may be based on the location the message is received from, the time received, the nature of the message (such as an ordinary status report), the sensor data type, priority level, destination of the message, data threshold, data packaging, or other criteria. The ISC 240 may then compare the priorities (Block 514) and then send the messages to the application 210 for processing in an order based on their priorities (Block 516). After the application 210 has processed the messages using a processing block of the processor 110, the application 210 may mark the processing block as available for reuse in processing the next message (Block 518). The processing block is not limited to use in processing messages of one type of protocol, but rather may be used for many different types of protocol.
Although not required, the invention is described, at least in part, in the general context of computer-executable instructions, such as program modules, being executed by the electronic device, such as a general purpose computer. Generally, program modules include routine programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that other embodiments of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof through a communications network.
Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.
Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments of the invention are part of the scope of this invention. For example, the principles of the invention may be applied to each individual user where each user may individually deploy such a system. This enables each user to utilize the benefits of the invention even if any one of the large number of possible applications do not need the functionality described herein. It does not necessarily need to be one system used by all end users. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.