RELATED APPLICATIONSThis application claims the benefit of priority to U.S. Provisional Patent Application No. 61/433,193 entitled “Telehealth Wireless M2M Communication Hub And Service Platform System” filed Jan. 14, 2011, and U.S. Provisional Patent Application No. 61/566,939 entitled “Telehealth Wireless M2M Communication Hub And Service Platform System” filed Dec. 5, 2011. The entire contents of both provisional applications are hereby incorporated herein by reference.
FIELD OF THE INVENTIONThe present invention relates generally to computer networks, and more particularly to a wireless communication hub for coupling medical devices to remote medical service and support providers by way of an intermediate server.
BACKGROUNDThere is an ever growing population of electronic medical devices, many of them configured for home use. While the capabilities of such medical devices are significant, little integration of such medical devices, medical systems, and medical institutions have been accomplished. One of the challenges preventing such integration is that most electronic medical devices have been developed without regard to communication interfaces. Thus, no standard communication protocols or technologies have been implemented that could serve as an integrating backbone.
BRIEF DESCRIPTION OF THE DRAWINGSThe accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate exemplary embodiments of the invention, and together with the general description given above and the detailed description given below, serve to explain the features of the invention.
FIGS. 1A-1C are communication system block diagrams illustrating communication systems suitable for use with various embodiments.
FIG. 2 illustrates functional components of various embodiments.
FIGS. 3A and 3B are component block diagrams of a wireless communication hub device according to an embodiment.
FIGS. 3C and 3D are perspective views of alternative configurations of a wireless communication hub device according to an embodiment.
FIG. 3E is a data structure diagram illustrating potential configurability functions and parameters of a wireless communication hub device according to an embodiment.
FIGS. 4A and 4B are software/hardware module block diagrams of a wireless communication hub device according to an embodiment.
FIG. 5 is a process flow diagram of an embodiment method for initializing and utilizing a wireless communication hub device.
FIGS. 6A and 6B are process flow diagrams illustrating embodiment methods for tunneling data and commands to and from electronic medical and fitness devices.
FIGS. 7A and 7B are message flow diagrams illustrating messages that may be exchanged among various components during various operations of an embodiment wireless communication hub device.
FIG. 8A is a process flow diagram of an embodiment method for activating a wireless communication hub device.
FIG. 8B is a message flow diagram illustrating messages that may be exchanged among various communication network participants during the embodiment method illustrated inFIG. 8A.
FIG. 9A is a process flow diagram of an embodiment method implemented in a wireless communication hub device for reporting data received from an electronic medical or fitness device.
FIG. 9B is a message flow diagram illustrating messages that may be exchanged among various communication network participants during the embodiment method illustrated inFIG. 9A.
FIG. 10 is a communication system block diagram illustrating another embodiment communication system suitable for use with various embodiments.
FIG. 11 is a process flow diagram illustrating an embodiment method for interconnected wireless communication hub device communication.
FIG. 12 is a process flow diagram illustrating another embodiment method for interconnected wireless communication hub device communication.
FIG. 13 is a process flow diagram illustrating an embodiment method for generating a polling sequence.
FIG. 14 is a component block diagram of a server suitable for use with various embodiments.
FIG. 15 is a component block diagram of another server suitable for use with the various embodiments.
FIG. 16 is a component block diagram of a mobile device suitable for use with the various embodiments.
FIG. 17 is a process flow diagram illustrating an embodiment method for interacting with a wireless communication hub device via an SMS message.
FIG. 18 is a process flow diagram illustrating an embodiment method for maintaining a persistent wireless communication link.
FIG. 19 is a process flow diagram illustrating an embodiment method for enabling the appearance of persistent connections with electronic medical or fitness devices.
FIG. 20 is a process flow diagram illustrating an embodiment method for downloading driver software modules.
FIG. 21 is a process flow diagram illustrating another embodiment method for downloading driver software modules.
FIG. 22 is a process flow diagram illustrating a third embodiment method for downloading driver software modules.
FIG. 23 is a process flow diagram illustrating an embodiment method for associating a wireless communication hub device based on location information.
FIG. 24 is a process flow diagram illustrating an embodiment method for electronic medical or fitness device data sharing.
FIG. 25 is a process flow diagram illustrating another embodiment method for electronic medical or fitness device data sharing.
FIG. 26 is a process flow diagram illustrating an embodiment method for tracking data traffic through the wireless communication hub device.
FIG. 27 is a process flow diagram illustrating an embodiment method for managing electronic medical or fitness device authorization.
FIG. 28 is a process flow diagram illustrating an embodiment method for procurement, provisioning, activation, and billing of a wireless communication hub device.
FIG. 29 is a process flow diagram illustrating another embodiment method for procurement, provisioning, activation, and billing of a wireless communication hub device.
FIG. 30 is a process flow diagram illustrating an embodiment method for authenticating an electronic medical or fitness device.
DETAILED DESCRIPTIONThe various embodiments will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to particular examples and implementations are for illustrative purposes, and are not intended to limit the scope of the invention or the claims.
As used herein, the terms “computer,” “personal computer” and “computing device” refer to any programmable computer system that is known or that will be developed in the future. In a preferred embodiment a computer will be coupled to a network such as described herein. A computer system may be configured with software instructions to perform the processes described herein.
As used herein, the terms “component,” “module,” “system,” and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
As used herein, the term “device” refers to any electronic device, several examples of which are mentioned or described herein. In a preferred embodiment, a device includes a communication port enabling the device to be coupled to another computing device or a network.
Various aspects will be presented in terms of systems that may include a number of components, modules, and the like. It is to be understood and appreciated that the various systems may include additional components, modules, etc. and/or may not include all of the components, modules, etc. discussed in connection with the figures. Also, it is to be understood and appreciated that a number of components and modules may be combined into integrated circuits or chipsets. A combination of these approaches may also be used.
The various embodiments described herein provide devices, systems and methods that enable connecting any number of a variety of electronic medical devices to remote medical suppliers, services and facilities via a machine to machine (M2M) communication hub which communicates data to and from a remote service platform server in order to simplify networking of personal medical devices with telemedicine systems and databases. The various embodiments include a communication hub device (referred to herein interchangeably as a wireless M2M communication hub, virtual personal hub (VPH), communication hub device, wireless communication hub device, and/or hub) which includes a processor and communication transceivers configured to provide a communication link between electronic medical and fitness equipment which may be in a user's home, office, or medical/fitness facility and an external server which can receive and process medical and/or fitness data. In particular, the wireless communication hub device is configured to connect to wireless wide are networks (WWAN) (e.g., cellular telephone) and/or WiFi communication networks to provide one side of a communication link, and to medical, fitness and personal sensors via wireless (e.g., BlueTooth®) and wired (e.g., USB) local communication links to provide the other side of the communication link. Thus, the wireless communication hub device can serve as the connection gateway between a variety of different types of medical, fitness and personal sensor devices which can only communicate locally, and remote servers, remote facilities, and data server/storage systems which can use the data of such devices but are only coupled to the Internet. In order to accommodate the different data structures, communication protocols, systems, and driver software of any of a variety of electronic devices, the wireless communication hub device may communicate, such as via WWAN or WiFi wireless communication links, with a remote server that provides a service platform of functionalities. Such a service platform server may then facilitate the communication of data between users of the device data on one side, and the details of communicating with and controlling a wide variety of electronic devices on the patient's end.
Electronic medical and fitness devices have been developed by a large number of manufacturers who have focused on the medical aspects of their products, and have only recently considered or added communication capabilities. As a result, there has been little if any cooperation on communication protocols and technologies. Thus, the universe of electronic medical and fitness equipment lacks any kind of coordination or standards that would facilitate connecting such devices to the facilities and services that could use the data. To solve this problem, the various embodiments provide a wireless gateway or hub that is capable of collecting the healthcare data from any of a variety of electronic medical and fitness devices, such as in the home setting, and sending this data over the wireless communication network, such as a cellular telephone wireless network (i.e., WANN), back to a centralized server. The wireless communication hub device may include a variety of wireless communication transceivers, such as WiFi, Bluetooth, Zigbee, and ANT+ transceivers, in order to enable the wireless communication hub device to communicate with devices that do not have a standard communication capability and/or do not comply with a widely used communication standard. In the future, electrical medical and fitness devices may be configured with a standard wireless data link, such as Bluetooth®, in which case the wireless communication hub device may be simplified to utilize that single standard local area wireless communication transceiver.
In an embodiment, the wireless communication hub device may be used in the home setting to enable electronic medical and fitness devices to communicate data regarding a patient in the residence to remote users of such data. In an embodiment, the wireless communication hub device may be plugged into a standard wall electrical socket to receive power, and then search out and pair with wireless electronic medical and fitness devices, such as blood pressure monitors, glucose meters, treadmills, etc. using the wireless communication links of such devices. Such pairing and establishing the communication links may be accomplished automatically, thereby minimizing the configuration and setup burden for the patient. The wireless communication hub device may collect data provided by the various electronic medical and fitness devices in the home, package the data into suitable packets for communication via wireless and Internet communication links, and send the data packets back to the central server (i.e., a service platform server or virtual personal hub (VPH) server) using a wireless wide area network (WWAN) communication link, such as an LTE, 3 G or 4 G cellular communication network. In order to enable the greatest ease of setup, lack of complexity and security for this medical communication system, the wireless communication hub device and the central server (i.e., service platform server) may be configured to provide for automatic device discovery, communication links setup, security key exchange, data addressing, and device configuration. Thus in an embodiment, a patient may simply plug the wireless communication hub device into an electrical outlet to establish a communication network between the wireless electronic medical and fitness devices in the patient's home and those facilities and services that can utilize the medical and fitness data generated by such devices. Using suitable encryption mechanisms, the data may be transferred securely while maintaining the appropriate security required under government regulations (e.g., HIPPA).
In a simple embodiment, the wireless communication hub device may be configured as a small, integrated module that can be plugged into a power source, such as a standard utility wall socket, and attached (wirelessly or via a wired connection like USB) to one or more medical or fitness devices (e.g., a blood pressure sensor, a glucose monitor, a pedometer, a treadmill, etc.). The wireless communication hub device may be configured with processor-executable software to enable connected electronic medical and fitness devices to be used from any computer attached to a local area network or the Internet. An associated Internet server-based service platform enables discovery of the wireless communication hub device and connected electronic medical and fitness devices. The wireless communication hub device may also be accessed from the Internet through the associated server-based service.
The various embodiments of the wireless communication hub device (“hub” or “2net HUB” in the drawings), minimize the complexity of networking electronic medical and fitness devices by eliminating many of the requirements conventionally imposed on a host system and local network. Wireless communication hub devices can be placed in any location, stationary or mobile, and are configured so that the electronic medical and fitness devices connected to the wireless communication hub device appear to the accessing computers as if they are locally connected. This is accomplished by way of intelligence and connectivity in the wireless communication hub device, the associated server-based service and, optionally, software that may be hosted on the accessing computer.
The various embodiments also simplify the traditionally challenging technical processes of networking electronic medical and fitness devices, such as setup and initialization, security, driver management, and device sharing by way of a server-based supporting service element. This service may also enable valuable communication and data utilization capabilities, such as batch operation support; access via the Web and intelligent sharing across user defined and controlled groups.
In order to provide a “universal” hub to handle health-sensitive data from any of a variety of electronic medical and fitness devices, a number of different radios may be implemented within the wireless communication hub device. Multiple radios each potentially serving multiple devices increases the complexity of design, but simplifies the process of establishing communication networks between electronic medical and fitness devices and remote users of data from those devices. Employing multiple radios in the wireless communication hub device enables manufacturers of various electronic medical and fitness devices to be able to pair up with the hub without significant changes to their devices, thus enabling them to avoid the need to be concerned with communication protocols and data encryption. This enables the wireless communication hub device to function as a data-in/data-out device, with its only function being to collect, package and faithfully transfer data to the service platform server.
In addition to supporting multiple radio protocols, including Bluetooth®, WiFi and ANT+, a software scheme may be implemented within the wireless communication hub device to accommodate a wide range of customizations. To support this, the hub processor may be configured with a high-functionality operating system, such as the Android operating system.
A wireless communication hub device may be configured to use software interface models that mirror the types of devices that can be connected to computers via USB (Universal serial bus) or FireWire ports. In short, the wireless communication hub device embodiments can broaden and extend the value of many connected electronic medical and fitness devices. Employing the wireless communication hub device, electronic medical and fitness devices can be placed virtually anywhere, shared across groups, accessed via the Internet or local networks, and supported by extended services which enable new use models and revenue opportunities.
In order to comply with regulations imposed on medical equipment, the wireless communication hub device may be developed under ISO 13485 standards that are required for medical devices. This would enable wireless communication hub device systems to be sold in combination with one or more medical devices as a system.
In an embodiment, the wireless communication hub device may be configured to receive and send messages over a cellular wireless network, such as simple message service (SMS) messages. As an example, a SMS message may be sent from a remote server (i.e., service platform server) to the wireless communication hub device, or from the wireless communication hub device to the remote server. The SMS messages may be any type SMS message, such as SMS messages having a payload (i.e., includes payload data) and SMS messages that are payload-less (i.e., includes no payload data). In an embodiment, the receipt of an SMS message may trigger the wireless communication hub device to perform a task. In this manner, just the reception of an SMS message, regardless of its payload or lack of payload, triggers the communication hub device to takes an action which may be predefined, such as contacting the remote server for further instructions. In an embodiment, the remote server may send an SMS message to the wireless communication hub device to activate the wireless communication hub device. In a further embodiment, the wireless communication hub device may be configured to establish a connection with the remote server, such as a data connection or WWAN connection, in response to receiving an SMS message. In an embodiment, if a data call between the remote server and the wireless communication hub device cannot be established, the remote server may send an SMS message to the wireless communication hub device. In an embodiment, the remote server may send an SMS message to the wireless communication hub device if the remote server needs to immediately establish a data call with the wireless communication hub device. In an embodiment, the remote server may determine that the period of time since the remote server last received data from the wireless communication hub device has passed an established minimum connection periodicity (i.e., a predetermined connection periodicity value), and may transmit an SMS message to the wireless communication hub device to ensure continuity of communication with the remote server.
In the various embodiments, SMS messages may be sent to and from the wireless communication hub device to direct or manage: the updating of software, updating of firmware, running diagnostics and reporting of the results of diagnostics, the update of pairings with the electronic medical and fitness devices, checks of security settings of the wireless communication hub device. As mentioned above, in an embodiment, the SMS message need not include a payload, and the reception alone may trigger an action. In an embodiment, a payload of the SMS message may include an indication for the wireless communication hub device to execute a task and/or data for use by the wireless communication hub device. In an embodiment, the information in a payload-less SMS message, such as the originating phone number, may be an indication to the wireless communication hub device to execute a certain task. In this manner, different originating phone numbers may be indications of different tasks to be executed. In an embodiment, an SMS message may enable selective data retrieval, such as by including an indication of a specific portion of stored data on the wireless communication hub device to be transmitted to the remote server.
In an embodiment, the wireless communication hub device may transmit a SMS message to a remote server (e.g., a service platform server). In an embodiment, SMS messages may be initiated by the wireless communication hub device in response to determining the unavailability of a primary network connection with the remote server, such as when the primary data connection is lost. In an embodiment, SMS messages may be sent from the wireless communication hub device to the remote server to convey an exception within the electronic medical and fitness devices. In an embodiment, SMS messages may be sent by the wireless communication hub device to upload data to the remote server. In an embodiment, SMS messages may be sent and/or received by the wireless communication hub device to troubleshoot the data call or network coverage issues.
FIG. 1A illustrates system components that may be included in the communication system that is enabled by the various embodiments. As illustrated inFIG. 1A, a variety of electronic medical orfitness devices102,104,108 (e.g., a blood pressure sensor, a glucose sensor, and a scale) may transmit data via a local network105 (such as a local area wireless network (e.g., WiFi, Bluetooth, Zigbee, and ANT+) or wired network (e.g., USB)) to the wirelesscommunication hub device112, which packages the data encrypted and transmits it via a wireless communication link, such as a wireless wide area network130 (e.g., 3 G cellular wireless network), to aservice platform server140 where the data may be unpacked and stored in a database or transferred to other systems where the data may be stored and processed.FIG. 1A also provides a high-level illustration of the flow of data from various electronic medical and fitness devices through the hub over three short range radio protocols. The various embodiments, the data collected from each device may be encrypted and securely managed from end-to-end so that each data set is stored in its own, perhaps proprietary format, by the device and by technology. In this manner, the wireless communication hub device acts as a gateway that securely enables wireless transport of data or information from the various electronic medical and fitness devices through the service platform server to the caregiver or provider's servers and databases located in the Internet cloud.
For example, when a medical device, such as a blood pressure monitor or weight scale, is in the vicinity of the wireless communication hub device, the data received from that device (e.g., blood pressure readings, wait, etc.) may be sent to databases within the Internet cloud. Additionally, the system may enable caregivers and medical facilities to send a command or diagnostic message to a medical or fitness device within the patient's home, in which case such commands can be routed via the Internet to the service platform server which can then transmit them via the established wireless communication link to the wireless communication hub device, which can then communicate them to the intended medical or fitness device.
FIG. 1B illustrates acommunication network100 and some of the functionality and functional modules that may be implemented within theservice platform server140, as well as functions that may be accomplished by customer andcaregiver servers142,144 receiving data via theInternet114 from theservice platform server140.FIG. 1C illustrates the communication system in more detail.
As illustrated inFIGS. 1B and 1C, theservice platform server140 may include memory and maintain its own database for storing or buffering data received from various medical and fitness devices. Theservice platform server140 may also perform some analytics on the received data, such as comparing data to alarm settings to determine whether any urgent actions or alarms should be communicated to the patient or to healthcare providers. Theservice platform server140 may also be configured with provisioning and device management software, data plan agreement management software, cellular operator connectivity interface functionality, cellular billing functionality and customer support services. The references to 3 G cellular wireless networks herein are for example purposes only. In some embodiments, lower-cost “2 G” components and networks may be utilized. However, in order to remain compatible with cellular wireless networks as cellular providers transition their systems to higher capability LTE, 3 G, and 4 G networks, embodiments may implement LTE, 3 G and/or 4 G radio technology and communication protocols.
The wireless communicationhub device system100 may include two core elements, the wirelesscommunication hub device112 and a service platform server (“2net Service Platform” in the figures)140. The wirelesscommunication hub device112 may be sold to consumers and may be attached by USB, FireWire or wireless communication links to wireless electronic medical andfitness devices102,104,108. Theservice platform server140 is coupled to theInternet114 and provides a variety of service platform services, such as secure access to the wirelesscommunication hub device112 to enable receiving data from and connecting to the electronic medical andfitness devices102,104,108.
The wirelesscommunication hub device112 may connect to electronic medical andfitness devices102,104,108 via direct (i.e., wired) connections, such as a USB connection, a FireWire connection, or local area network connection (e.g., Ethernet), as well as wireless communication links, such as Bluetooth, WiFi, ZigBee and ANT+ wireless communication networks.
Theservice platform server140 may be configured to provide a variety of data and communication services related to wirelesscommunication hub devices112, the electronic medical andfitness devices102,104,108 that may be connected to them, and data that may be obtained from such electronic medical andfitness devices102,104,108. Such services are generally referred to herein as “service platform services.” One service platform service provided by theservice platform server140 may support user-authenticated discovery and communication between the electronic medical andfitness devices102,104,108 connected to the wirelesscommunication hub device112 and remote computer(s)138 accessing the electronic medical andfitness devices102,104,108. This capability may enable health care providers and medical data users to setup accounts that provide access to the electronic medical andfitness devices102,104,108 coupled to one or more wirelesscommunication hub devices112 registered to them. Authentication may be accomplished by theservice platform server140 with respect to the wirelesscommunication hub device112, electronic medical andfitness devices102,104,108 coupled to the wirelesscommunication hub device112, acomputer138 accessing theservice platform server140 via theInternet114, and/or the user of acomputer138 using any known device and user authentication methods. This service may employ a custom protocol to communicate with particular electronic medical andfitness devices102,104,108 connected to a wirelesscommunication hub device112.
The service platform services may also handle normal interfacing and device management issues, such as allowing wirelesscommunication hub devices112 to enter an idle mode to minimize over-the-air (OTA) usage charges, and waking up an idle wirelesscommunication hub device112 when needed. Like the wireless communication hub device's112 handling of electronic medical andfitness devices102,104,108, the data protocol between theservice platform server140, the wirelesscommunication hub device112, and the accessing computer(s)138 can be generic, enabling support for almost any current and future electronic medical andfitness devices102,104,108 or server based data system. The wirelesscommunication hub device112 may register connected electronic medical and fitness devices with theservice platform server140, making electronic medical and fitness devices available to authorizedremote servers142,144 and computers138 (e.g., a physician's personal computer).
The service platform provides client services enabling access to the remote electronic medical andfitness devices102,104,108 may be facilitated for any type ofcomputer138 capable of hosting the software necessary to access the service platform server, regardless of whether thatcomputer138 has the native ability to host locally connected electronic medical andfitness devices102,104,108. Thus, accessing computer(s)138 may include mobile devices (e.g., phones, smartphones, etc.) with applications capable of accessing the data from theservice platform server140. The service platform services may also include “machine to machine” (M2M) applications where the remotely accessingcomputer138 supports no direct human interaction.
Another service of service platform services may be the setup and configuration of the wirelesscommunication hub device112, including support for the addition and removal of connected electronic medical andfitness devices102,104,108, and connectivity by remote computers138 (e.g., the personal computer of an attending physician). For example, an attending physician may login to the service platform service, identify the position's patient, authenticate himself, and thereby gain access to medical data from electronic medical devices within the patient's home so as to determine the current condition of the patient. The various embodiments enable this telemedical communication system to be established simply by plugging a wirelesscommunication hub device112 into a power outlet within the patient's home and providing the physician with the URL for theservice platform server140.
Another service of the service platform services may be user-based authentication using mechanisms that can be used to associate an authenticated user andcomputer138 with the wirelesscommunication hub device112 and its connected electronic medical andfitness devices102,104,108. Data, particularly personal information and medical data, transmitted between the wirelesscommunication hub device112, theservice platform server140 andcomputers138 may be encrypted by the wirelesscommunication hub device112 to enhance the privacy of the transmitted data and comply with the HIPPA regulations.
The service platform services may also enable accessing electronic medical andfitness devices102,104,108 from any Internet-connected computer (e.g., web kiosks) when a user is away from the user'spersonal computer138. The service platform services may also include storage, relaying and utilization of data obtained from electronic medical andfitness devices102,104,108 connected to a wirelesscommunication hub device112. Such utilization of electronic medical and fitness device data made possible by the various embodiments may enable a variety of useful applications.
In a further embodiment, intelligence in the wirelesscommunication hub device112 andservice platform server140 may enhance the efficiency of wireless data transmission, facilitating an appearance of persistence in the connection to the electronic medical andfitness devices102,104,108 while minimizing wireless/cellular network overhead. In this manner, theservice platform server140 may “host” the latest data or status from electronic medical andfitness devices102,104,108 for access by computer(s)138 enabling the appearance that the electronic medical andfitness devices102,104,108 are continuously connected to a computer138 (e.g., a physician's personal computer) accessing the electronic medical andfitness devices102,104,108 via theservice platform server140. This appearance of continuous connectivity may be achieved without the need to maintain a constant communication link between the electronic medical andfitness devices102,104,108, the wirelesscommunication hub device112 and theservice platform server140. Depending upon the nature of the electronic medical andfitness device102,104,108, data provided by the electronic medical andfitness device102,104,108, status states of electronic medical andfitness device102,104,108, or current circumstances, establishment of an active communication link to transmit updated data from the electronic medical andfitness device102,104,108 may be accomplished on an as-needed basis. By configuring the wirelesscommunication hub device112 and theservice platform server140 with intelligence, a wide variety of electronic medical andfitness device102,104,108 applications may be supported while minimizing communication costs.
As mentioned above, users' personal computer(s)138 may be provisioned with wireless communication hub device driver software modules. The basic function of such driver software may be to support transparent access to electronic medical andfitness devices102,104,108 connected to a wirelesscommunication hub device112. Such driver software may provide virtualized access to the USB or FireWire port across a local network or a wide area network (e.g., the Internet114), and may be used to support secure access to wirelesscommunication hub devices112 through theservice platform server140. Such driver software may be made available from a service platform services website (such as may be hosted by the service platform server140), and may include the necessary encryption keys to access specific electronic medical andfitness devices102,104,108 coupled to a wirelesscommunication hub device112 associated with a patient. Such encryption keys may be generated during the electronic medical andfitness device102,104,108 setup, registration and configuration phase.
Unlike a common single physical cable connection between the electronic medical andfitness devices102,104,108 and an attachedcomputer138, the virtual nature of the connectivity to the electronic medical andfitness devices102,104,108 via the wirelesscommunication hub device112 allows more than a single computer to access the same remote electronic medical andfitness device102,104,108 at a given time. Likewise, the electronic medical andfitness devices102,104,108 connected to the wirelesscommunication hub device112 may be accessed by a number of different remotely accessingcomputers138. Further, the connectivity and access permissions configuration may be changed at any time byremote computers138 interfacing with theservice platform server140.
Third-party servers142,144 may communicate with theservice platform server140 via theInternet114 to receive data from or communicate data to electronic medical andfitness devices102,104,108 connected to a wirelesscommunication hub device112.
An example of an application of thecommunication network100 illustrated inFIGS. 1A and 1B is the transmission of data from medical or fitness device102 (e.g., a blood pressure (“BP”) sensor). Once the wirelesscommunication hub device112 is installed and registered with theservice platform server140, it can be connected to the medical and fitness device, such as a medical or fitness device102 (e.g., a blood pressure (“BP”) sensor), by a cable (e.g., a USB cable or FireWire cable) or a wireless communication link (e.g., a Bluetooth®). Once connected, the wirelesscommunication hub device112 may report the connection with the medical or fitness device102 (e.g., a blood pressure (“BP”) sensor) to theservice platform server140 which may maintain data records for storing data received from the sensor, medical device or fitness device. Data records may be maintained in a user account, in an account associated with the communication hub device and/or each medical or fitness device.
Data packets received from the medical or fitness device102 (e.g., a blood pressure (“BP”) sensor) by the wirelesscommunication hub device112 may be encapsulated in IP packets which are relayed as cellular data communications to acellular wireless network130 which applies them to theInternet114 for delivery to theservice platform server140. By tunneling the data packets received from the medical or fitness device102 (e.g., a blood pressure (“BP”) sensor) to theservice platform server140 within encapsulated IP packets, the wirelesscommunication hub device112 does not have to be configured with driver software module(s) for interacting with the medical or fitness device102 (e.g., a blood pressure (“BP”) sensor). Instead, the encapsulating IP packets from the wirelesscommunication hub device112 may be received by theservice platform server140, which unpacks the packets so the medical or fitness device102 (e.g., a blood pressure (“BP”) sensor) data may be processed by the driver software module appropriate for the medical orfitness device102 resident on theservice platform server140 and the translated data may be stored on theservice platform server140. In this manner the processing of the electronic medical or fitness device data in theservice platform server140 using a driver appropriate for the electronic medical orfitness device102 may enable storage of translated data that may be in a useful format to various data users.
With the medical or fitness device102 (e.g., a blood pressure (“BP”) sensor) data stored on theservice platform server140, this medical or fitness device102 (e.g., a blood pressure (“BP”) sensor) data may be made accessible via theInternet114 to other entities which may have use for the medical or fitness device102 (e.g., a blood pressure (“BP”) sensor) data. For example, the stored medical or fitness device102 (e.g., a blood pressure (“BP”) sensor) data may be transmitted to a doctor'scomputer138 orhospital server142 as hypertext transfer protocol IP (HTTP/IP) packets, such as in response to queries posed to a website hosted by theservice platform server140. In an embodiment, the doctor'scomputer138 may use a driver appropriate for the electronic medical orfitness device102 to view the electronic medical or fitness device data.
Thecommunication network100 may also enable hardware manufacturers to control or limit the distribution of driver software in order to maintain control over the data or electronic medical and fitness devices for which they are responsible. For example, some medical device manufacturers may choose to maintain device drivers as proprietary software so that data from their products can only be interpreted by their in-house servers. Such limitations may be appropriate to prevent storage of sensitive patient information on databases accessible via theInternet114. Such limitations may also be appropriate to ensure that medical devices cannot be reprogrammed or controlled by unauthorized individuals. To support such an implementation, theservice platform server140 may forward unprocessed data packets received from such a proprietary sensor (e.g., a blood pressure sensor) as encapsulated IP packets to the device manufacturer'sserver144 via theInternet114, or another network (not shown). The manufacturer'sserver144 may then use its proprietary driver software to interpret the data received from the electronic medical and fitness device.
As noted above, the communication link to the electronic medical andfitness devices102,104,108 (e.g., blood pressure sensor) enabled by theservice platform server140 and wirelesscommunication hub device112 can support reverse communications in a similar manner. Thus, a medical facility or manufacture of the electronic medical and fitness device may transmit settings commands to the device using the communication links illustrated inFIG. 1B. For example, a doctor receiving readings from the medical or fitness device102 (e.g., a blood pressure (“BP”) sensor) via amedical server142 may transmit a message to be displayed on a screen of the medical or fitness device102 (e.g., a blood pressure (“BP”) sensor) or another electronic medical and fitness device coupled to the wirelesscommunication hub device112.
One challenge faced by those who set up local wireless networks involves discovering and establishing communication links with all devices that may be accessed via the network. This challenge is simplified by the services provided by the wirelesscommunication hub device112 and theservice platform server140.
When the wirelesscommunication hub device112 is installed and initially activated, it may report to theservice platform server140 all of the commercial devices coupled to it by wired (e.g., USB connector, FireWire) or wireless links (e.g., BlueTooth® link). As part of the registration process theservice platform server140 may assign unique IPv6 addresses to each of the electronic medical andfitness devices102,104,108 coupled to the wirelesscommunication hub device112. These IPv6 addresses can then be used by alocal computer138 to access specific electronic medical andfitness devices102,104,108 via the wirelesscommunication hub device112. Thus, to access a particular electronic medical andfitness device102,104,108, a user may use apersonal computer138 coupled to theInternet114 via a local wireless router to access theservice platform server140. After registering with theservice platform server140, such as by entering a username and password or exchanging verification keys, the user may request and receive a listing of all electronic medical andfitness devices102,104,108 coupled to the wirelesscommunication hub device112, including their IPv6 addresses. Once the user'spersonal computer138 has the IPv6 addresses of the electronic medical andfitness devices102,104,108, thecomputer138 may then access particular electronic medical andfitness devices102,104,108 via wireless communications through the wireless router to the wirelesscommunication hub device112. Command signals, such as data access requests, transmitted by thelocal computer138 that are addressed to a particular electronic medical andfitness device102,104,108, using the IPv6 address provided by theservice platform server140 will be relayed by the wirelesscommunication hub device112. Thus, one of the service platform services enabled by the various embodiments is simplified network establishment with electronic medical and fitness devices coupled to the wirelesscommunication hub device112.
The various embodiments of the wireless communication hub device and the service platform services can enable rapid and efficient deployment of existing and future electronic medical and fitness devices (e.g., cameras, etc.) to locations and circumstances which may not currently lend themselves well to such deployments. For example, a battery powered wireless communication hub device may be coupled to electronic medical devices without the need for running cables, configuring routers and networks, or configuring the devices. Connectivity and configuration, including providing drivers for receiving the camera imagery can be handled automatically by the wireless communication hub device and the service platform services. In this manner, a telemedicine communication link can be established to a patient or an ad hoc medical station at a scene of an accident, in a sporting event (e.g., a marathon) or on the battlefield without the need for an infrastructure any more complex than access to a cellular communication network.
FIG. 2 shows a high-level block diagram of the key components of the wireless communication hub device and the Service Platform hosted on the service platform server.
Example components of a wirelesscommunication hub device112 embodiment are illustrated inFIGS. 3A and 3B. The wirelesscommunication hub device112 may be configured in a case orhousing300 and may include aprogrammable processor301 that is coupled tointernal memory302, and to a WWAN transceiver303 (e.g., a cellular telephone transceiver) which is coupled to anantenna304. Apower supply308 may be coupled to theprocessor301 and other components. In some embodiments, thepower supply308 may include a battery. In a preferred embodiment, thepower supply308 may be electrically connected to apower plug309 for plugging into a standard utility wall socket. Theprocessor301 may also be coupled to one or more wired network connection sockets, such as aUSB port310, aFireWire port311 and/or anEthernet socket312. In a simple embodiment, only asingle USB port310 may be provided. In other embodiments, the wirelesscommunication hub device112 may includemultiple USB ports310,FireWire ports311, andEthernet sockets312 to enable connecting a number of electronic medical and fitness devices via data cables. Providing anoptional Ethernet socket312 within the wirelesscommunication hub device112 may enable connecting the hub directly to a LAN or local network router. The number of ports may differ among the various embodiments depending upon the physical design of the housing and the particular market or application for which the wirelesscommunication hub device112 is configured.
In preferred embodiments, the wirelesscommunication hub device112 may include one or more wireless local area network transceivers for coupling to electronic medical and fitness devices via wireless communication links. For example, theprocessor301 may be coupled to aBluetooth® transceiver314, which is connected to anantenna316, and to an IEEE 802.11 (i.e., WiFi)transceiver322, which is coupled to anantenna324, for establishing wireless indication links to electronic medical and fitness devices. As described above, aWiFi transceiver322 may also be connected to theprocessor301 for use in coupling the wirelesscommunication hub device112 to a local area wireless router. Other local wireless transceivers may also be included, such as a Zigbee transceiver (not shown) for coupling to a Zigbee protocol network or an ANT+ transceiver338 (FIG. 3B) for coupling to an ANT+ protocol network. In some embodiments, the wirelesscommunication hub device112 may include a global positioning system (GPS)receiver326 coupled to theprocessor301 and to anantenna328. It should be noted that instead of havingmultiple antennas304,316,324,328, the wirelesscommunication hub device112 may include a single integrated antenna, or two or more transceivers may share a common antenna. Also, in some embodiments, the wirelesscommunication hub device112 may not include wired network connection sockets (i.e.,USB port310,FireWire port311 andEthernet socket312 are optional), and instead include only one or more wireless local area network transceivers for coupling to electronic medical and fitness devices via wireless communication links.
Since the wireless communication hub device is intended to be simple for users to implement, it may include a very rudimentary user interface. For example, theprocessor301 may be coupled to one or more light emitting diodes (LEDs)334 for communicating status, and to one ormore buttons332 for receiving simple user command inputs (e.g., push to activate or restart).
WhileFIG. 3A shows the various components of the wirelesscommunication hub device112 as separate integrated circuits, several components may be integrated into a single very large-scale integrated (VLSI) chip or assembled as an integrated chipset on a single circuit board as is well-known in the art. For example, many modern cellular telephone transceivers, such as the Gobi™ cellular chipset module manufactured by QUALCOMM, Inc., include a powerful processor, transceivers for connecting to WiFi networks and Bluetooth enabled devices, a built-in GPS receiver, and circuitry for connecting to wired connections such as a data port for receiving USB, FireWire and/or Ethernet connections. Thus in an embodiment, the wirelesscommunication hub device112 may be assembled by configuring a Gobi™ module (or similar cellular transceiver) within ahousing300 with anappropriate power supply308, one ormore antennas304, one ormore LEDs334, one ormore buttons332, and connections to sockets for receiving USB, Firewire, Ethernet or other wired inputs. Configuring a wireless communication hub device around a sophisticated cellular transceiver module, like the Gobi™ module, can provide 3 G cellular, WiFi, and Bluetooth connectivity in a single small package.
Theprocessor301 within a wirelesscommunication hub device112 may be configured with processor-executable instructions (which may be stored in memory302) to enable the processes and communications of the various embodiments described herein. Such software may include the processes required to communicate with acellular wireless network130 as well as establishing local networks with electronic medical and fitness devices. Such software may also include a custom protocol for managing communications between the wirelesscommunication hub device112 and theservice platform server140, as well as with a user'spersonal computer138. Such software may also control processes for identifying and communicating with electronic medical and fitness devices even without having a device driver installed on theprocessor301, including packaging received data for transmission to theservice platform server140 by “tunneling” via the Internet. Such software may also include processes to minimize the cost of operation or maximize battery life (when implemented in a battery powered configuration) by causing the cellular transceiver to go into an idle mode, and wake up in response to inputs from electronic medical and fitness devices or signals received from aservice platform server140 as described herein. For example, theservice platform server140 may send an SMS message (with or without a message payload) to the communication hub device to prompt it to exit the idle mode and accomplish a predetermined or specified action, such as contacting the service platform server for instructions.
In an embodiment, the wirelesscommunication hub device112 may enable direct connection to apersonal computer138, such as via aUSB port310 orEthernet socket312. In this embodiment, apersonal computer138 may access electronic medical and fitness devices coupled to the wirelesscommunication hub device112 as though they were connected directly to the computer.
As noted above, the wirelesscommunication hub device112 may be battery powered, powered by conventional household AC current, or powered by 12 volt DC current from an automobile (e.g., from a cigarette lighter). Thus, thepower supply308 will be configured to receive power from whatever form of external source the device is configured to receive, and configure the power as required by theprocessor301 and transceiver circuitry. In battery powered implementations, thepower supply308 may also include circuitry for monitoring the charge of a battery (not shown separately) and providing charging power to the battery when theconnector plug309 is plugged into a power socket. Power supply circuitries which can perform such functions are well-known in the electronic device arts.
The wirelesscommunication hub device112 may includeLEDs334 that illuminate in different colors, such as a three color LED set which can emit yellow, green and red lights to indicate different status conditions. Such LEDs may be configured to flash or emit continuous light in response to commands from theprocessor301.
The wirelesscommunication hub device112 may be configured in a variety of forms. Two examples of a basic small device that plugs into a wall socket are illustrated inFIGS. 3C and 3D. As illustrated, the wirelesscommunication hub device112 may be packaged within acompact housing300 that exhibits amulticolor LED334 and features asingle push button332 and one or more USB ports310 (and/or other ports/sockets). A uniqueserial number336 may be printed on thehousing300 to facilitate registration of the wirelesscommunication hub device112 with theservice platform server140 as described more fully below. Anantenna304 may be provided as part of thehousing300. Anelectrical plug309 may be provided as part of thehousing300 or as a separate module (as shown) that is configured to plug into astandard wall socket340. In some embodiments, thepower supply308 may be included as part of a module including theplug309.
FIG. 3E is a data structure diagram illustrating potential configurability functions and parameters that may be stored in amemory302 resident in a wirelesscommunication hub device112 of the various embodiments. The memory302 may contain: transaction data upload flags352, such as a flag indicating if transaction data is to be uploaded off-peak or not; Quality of Service (QoS) parameters, such as minimum QoS levels required before transmitting data; data call periodicity parameters356, such as a parameter indicating how many times a day the wireless communication hub device should establish a data call with the service platform server and/or a parameter indicating how often keep alive pings should be sent to the service platform server to keep a given communication link open (i.e., alive); URL and DNS port information358, such as the URL and port for DNS resolution of the service platform server (e.g., www.2net.com/data:56) and/or a backup URL; a transaction storage limit parameter360, such as a maximum threshold of number of transactions per customer that should be stored on the wireless communication hub device before uploading data to the service platform server; a storage limit362, such as an amount of transaction data to store (i.e., data size or total number of transactions) and/or a maximum storage capacity; security/encryption mechanisms363 (e.g., advanced encryption standard (AES) encryption); a time out parameter364, such as a parameter indicating how long between receiving electronic medical and fitness device data to wait before timing out; a configuration file366, such as applications or software to support electronic medical and fitness device discovery, pairing, and authentication; and a hub ID368, such as the wireless communication hub device's identification code (e.g., a six-digit number printed on the housing). In the various embodiments, thememory302 may contain additional parameters, functions, algorithms, software, and/or controls as necessary to perform the methods and functions discussed herein.
FIGS. 4A and 4B illustrate functional modules that may be implemented within a wireless communication hub device system400 as software modules, hardware components, or combinations of hardware and software modules. A wireless communication hub device system400 may includeexecutive functions402 implemented in aprocessor301 which oversee the overall processes and coordinate the other modules. Acommunication module404 may include the transceivers and software for operating the transceivers as well as coordinating communication functions with the executive functions402. Thecommunication module404 may include the processing necessary to comply with various communication protocols, as well as negotiating communication links, verifying data transmissions, and performing the other common functionality of digital communication systems. A bridginglogic module406 may also be coupled to theexecutive functions402 and configured to perform the processes associated with providing a communication link between electronic medical and fitness devices and an external computer, such as theservice platform server140. The bridginglogic module406 may include the logic to package data received from electronic medical and fitness devices into IP packets for tunneling to theservice platform server140, for example. Similarly, the bridginglogic module406 may include the logic to unpack command packets received from theservice platform server140 and provide the embedded commands to the appropriate electronic medical and fitness device.
In various embodiments, the wireless communication hub device system400 may include additional modules, such asrouter logic408 to enable the device to perform typical processes of a conventional router.
Also, therouter logic408 may include algorithms and implement methods for polling connected electronic medical and fitness devices for data according to their respective priority, importance to the user's health, or an order request by the remote server. Also, the wireless communication hub device system400 may includeserver logic410 to enable the device to perform typical processes of a server. Further, embodiments of the wireless communication hub device system400 may include memory and store-and-forward logic412 for receiving and storing data from electronic medical and fitness devices and relaying that data at a later time to a destination computer. Router, server and store-and-forward processes and logic are well-known in the computer arts.
FIG. 4B illustrates in more detail relationships and interactions between hardware components and software modules implemented within an example embodiment communication hub device.
Initial configuration and some of the operations of the wireless communication hub device are illustrated inFIG. 5 asexample method500. A beneficial characteristic of the wireless communication hub device system is simple, fast and reliable setup. To enable simplified setup, the wirelesscommunication hub device112 may be configured with a single button, which when pushed initiates activation. The wirelesscommunication hub device112 may also include acode336 printed on thehousing300. The wirelesscommunication hub device112 may be pre-configured to establish wireless communication links with a cellular service (e.g., a CDMA, 3 G, 4 G, etc.) and communicate directly with theservice platform server140 via theInternet114. After pushing the activation button, a user can access an Internet web site of aservice platform server140 and enter the device'scode336 into a webpage to identify the user as the owner of the wirelesscommunication hub device112. Thereafter, theservice platform server140 may download any required driver software to the user's computer.
Referring toFIG. 5, atblock502 the wirelesscommunication hub device112 may initiate the activation process in response to receiving an activation indication (e.g., an indication of a press of the activation button). Alternatively, in some embodiments activation may be initiated when the device is first plugged into a power source, such as awall socket340. As activation begins, atblock504 the wirelesscommunication hub device112 may begin to flash theLED334. For example, theprocessor301 may flash a yellow LED to indicate that the wirelesscommunication hub device112 is connecting with a cellular network. Simultaneously, atblock506 the wirelesscommunication hub device112 may attempt to make a connection with a cellular data network. Atblock508, once theprocessor301 determines that thetransceiver302 has established a connection to a cellular network, theprocessor301 may place a data call via the cellular network to the service platform server (i.e., VPH-server)140. Atdetermination block510, theprocessor301 may monitor thecellular transceiver302 to determine if a connection has been established with theservice platform server140. As long as thetransceiver302 is in the process of establishing a communication link to the service platform server140 (i.e.,determination510=“No”), theprocessor301 continues to flash the yellow LED.
Once theprocessor301 determines that a communication link is established with the service platform server140 (i.e.,determination510=“Yes”), atblock510, theprocessor301 may apply steady power to the yellow LED (e.g., to indicated that the registration and configuration process is underway). Atblock514, at the same time theprocessor301 may communicate the identifier of thehub device112 to theservice platform server140 to identify itself and register with theservice platform server140. The wirelesscommunication hub device112 may stay in this state for some pre-configured period of time (e.g., 5 minutes). During this time, atblock516 the user may access theservice platform server140 from any computer with a web browser and access to the Internet. Atblock518 first time users may set up an account on theservice platform server140 by entering the number printed on the wirelesscommunication hub device112 along with a user name and password. In an embodiment, the number used to identify ahub device112 to theservice platform server140 may be a six-digit number. Atblock520, theservice platform server140 validates the number entered by the user with the number provided by thehub device112 during its own online registration. If the user entered code and the code communicated by the wirelesscommunication hub device112 match, atblock522 theservice platform server140 may generate encryption and authentication keys to be used in future communications with the wirelesscommunication hub device112 and the user's computer, and transmits those keys to the device and the user's computer to complete the registration process. As part of the registration process the user's computer may download driver software that may be used to communicate with the wirelesscommunication hub device112 and/or theservice platform server140. Such drivers may be pre-configured to enable secure communications with the specific wireless communication hub device112 (i.e., the device with the same six-digit number received by the service platform server140). Also as part of the registration process, theservice platform server140 may download to the wirelesscommunication hub device112 data and software to support the various functions, such as software updates for the hub device, appropriate peripheral drivers for interfacing with peripheral devices coupled to the hub device, communication look up tables (e.g., updated IP addresses), etc.
Once the registration and configuration process has been completed, atblock524 theprocessor301 may illuminate a steady green LED (e.g., to indicate to the user that thehub device112 is registered with the service platform server140).
It should be noted that the registration process illustrated inFIG. 5 is but one example of how a wirelesscommunication hub device112 may be set up and registered with a user account maintained on aservice platform server140. Other mechanisms for registering wirelesscommunication hub devices112 and correlating them with user accounts maintained on theservice platform server140 may also be implemented. For example, the correlation of the wireless communication hub device112 (e.g., based upon its six-digit number) with a user account maintained on theservice platform server140 may be accomplished at the point-of-sale of the wirelesscommunication hub device112. In such an implementation, the user information necessary to identify or set up a user account may be obtained by the cashier or entered by the user into the point-of-sale terminal which transmits that information along with the six-digit code to theservice platform server140. Thus, when the user leaves the store after purchasing a wirelesscommunication hub device112, the system may be ready to begin services as soon as it is plugged into a wall socket and connected to electronic medical or fitness devices (i.e., peripheral devices).
Referring once again toFIG. 5, once the configuration and registration process is completed, the wirelesscommunication hub device112 can be moved to any location that has cellular wireless network connectivity. Different electronic medical or fitness devices may be plugged into the wirelesscommunication hub device112. In an embodiment, the wirelesscommunication hub device112 may discovery electronic medical or fitness devices plugged into or wirelessly linked to it,step526. As electronic medical or fitness devices coupled to the wirelesscommunication hub device112 are identified, the wirelesscommunication hub device112 may identify the electronic medical or fitness devices to theservice platform server140,step528, such as by transmitting their media access control (MAC) identifier (ID). Theservice platform server140 may store the electronic medical or fitness device identifier in data fields associated with the user or the particular wirelesscommunication hub device112,step530. Theservice platform server140 may also assign an IPv6 address to each electronic medical or fitness device which also may be stored in the data records of theservice platform server140.
A further feature that may be included in service platform services involves downloading the driver software appropriate for particular electronic medical and fitness devices to a user'scomputer138. In this service, the wirelesscommunication hub device112 informs theservice platform server140 about the connected electronic medical or fitness devices during the registration and device discovery process described above. Theservice platform server140 may be configured to store driver software for most electronic medical or fitness devices available in the marketplace, including historical versions of driver software that may be appropriate for older electronic medical or fitness devices. Thus, when the wirelesscommunication hub device112 identifies the connected electronic medical or fitness devices to theservice platform140, such as by providing MAC IDs of each electronic medical or fitness device, theservice platform server140 may identify the proper driver software stored in its memory or associated database and download the appropriate drivers to a user'scomputer138 when the user accesses theservice platform server140. This downloading of driver software may be accomplished when the user first registers with theservice platform server140 or associates acomputer138 with the user's account and a particular wirelesscommunication hub device112. Also, theservice platform server140 may keep a data record of the MAC IDs of the attached peripheral devices and the driver software that has been downloaded toparticular user computers138. Using such records, theservice platform server140 may determine when auser computer138 requires a new or updated driver, and download the appropriate driver software when updates are received or when new electronic medical or fitness devices are connected to the wirelesscommunication hub device112. In this manner, users'computers138 can be provisioned automatically with the latest driver software required for the electronic medical and fitness devices plugged into the user's wirelesscommunication hub device112 without having to keep track of the driver software, download the drivers themselves, or bother with the CDs containing driver software that come with electronic medical or fitness devices. Thus, this service platform can help to simplify the user experience of using a variety of electronic medical or fitness devices.
As mentioned above, the wirelesscommunication hub device112 can support local network operations, such as when a user wishes to connect the wirelesscommunication hub device112 to their local network by way of an Ethernet or WiFi connection. In such embodiments, the user may provide the relevant information to the service platform server140 (e.g., by accessing theservice platform server140 via a web browser) which then configures the wirelesscommunication hub device112 using the entered information. If successful, the wirelesscommunication hub device112 may leverage the local network to access theInternet114 and gain access to theservice platform server140 without using a cellular network130 (e.g., a 3 G cellular data network). If a failure occurs in this registration process, the wirelesscommunication hub device112 may switch back to cellular connectivity and inform theservice platform server140 that the attempt to switch to local connectivity failed. When the wirelesscommunication hub device112 is connected to a local area network or WiFi network, locally connectedcomputers138 may directly access the wirelesscommunication hub device112 and electronic medical and fitness devices coupled to the wirelesscommunication hub device112. In an embodiment, this may be accomplished using IPv6 addresses provided by theservice platform server140. In an embodiment,additional computers138 may connect to the wirelesscommunication hub device112 provided they have been granted access to the wirelesscommunication hub device112 by the user who performed the initial setup.
FIG. 5 also illustrates some normal operation processes that may be conducted once the wirelesscommunication hub device112 has been registered with theservice platform server140. For example, a user may request access to an electronic medical or fitness device from apersonal computer138 by accessing theservice platform server140,step532. This may be accomplished by the user accessing theservice platform server140 via theInternet114 from anycomputer138 hosting a web browser. Upon accessing aservice platform server140 webpage, the user may be prompted to enter a username and password (or some other form of user/account identification and verification). When the user is verified, theservice platform server140 may present a menu (e.g., in the form of an HTTP webpage) of peripheral devices coupled to the wirelesscommunication hub device112, and accept a data request or configuration command for a particular electronic medical or fitness device from the user'scomputer138. When this data request or command is received, theservice platform server140 may relay the data request or command to the wireless communication hub device,step534. In some cases, the request for data from a user'scomputer138 may require the wirelesscommunication hub device140 to use a driver for the particular electronic medical or fitness device in order to format the data request or command so that it can be received and processed by the electronic medical or fitness device. In this manner, a user may be able to access a particular electronic medical or fitness device (e.g., a webcam, heart rate monitor, pedometer, etc) from anycomputer138 with Internet access, includingcomputers138 that are not equipped with the appropriate device driver software. The wirelesscommunication hub device112 receives the data request or commands from theserver platform server140 and relays them on to the particular electronic medical or fitness device,step536. In some cases the data request or command may be encapsulated within IP packets with the packet payload including the data request or command in the format required by the device driver as formatted by theservice platform server140. In such cases, the wirelesscommunication hub device112 unpacks the data request or command and relays it to the electronic medical or fitness device via the wired or wireless connection established with the electronic medical or fitness device.
If an electronic medical or fitness device provides data for communication to theservice platform server140 or a user computer138 (such as may occur in response to a data request messages discussed above), such data is received by thehub device112 and relayed to theservice platform server140,step538. In some cases, the wirelesscommunication hub device112 may encapsulate the device data within IP packets so that the data can be tunneled through theInternet114 for processing by theservice platform server140 using an appropriate driver software. As described above, the data messages may be transmitted to the Internet address of theservice platform server140 via a cellular or local area network connection to theInternet114. Electronic medical or fitness device data packets are received by theservice platform server140, processed if necessary, and relayed to a user computer138 (if appropriate) via theInternet114,step540.
When not actively responding to a data request or relaying data from an electronic medical or fitness device, the wirelesscommunication hub device112 may await messages from theservice platform server140 or acomputer138 coupled to the wireless communication hub device or to a local area network,step542. To minimize costs associated with maintaining a data connection via a cellular data network, the wirelesscommunication hub device112 may be configured to terminate an active data connection when activity ceases for a predetermined amount of time (“timeout interval”). Thus, theprocessor301 of the wirelesscommunication hub device112 may be configured to determine whether the timeout interval has transpired since a last communication event,determination544. If the timeout interval has not expired (i.e.,determination544=“No”), the wirelesscommunication hub device112 may continue to monitor the open cellular data communication link for messages from theservice platform server140. Once the timeout interval has expired (i.e.,determination544=“Yes”), the wirelesscommunication hub device112 may terminate the open cellular data communication link and enter a “sleep” mode,step546. In embodiments in which the wirelesscommunication hub device112 is plugged into an inexhaustible power supply, such as an AC wall socket, the sleep mode may involve terminating the open cellular data communication link but continuing to monitor messages or telephone calls placed to the telephone number of the wirelesscommunication hub device112. For example, as described more fully below with reference toFIG. 8A, the wirelesscommunication hub device112 may be configured to receive a simple message service (SMS) message during the sleep mode which prompts the wirelesscommunication hub device112 to place a data call to theservice platform server140 and initiate a new data communication link. In embodiments in which the wirelesscommunication hub device112 is battery powered, the sleep mode may further entail reducing processing performed on the wireless communication hub device in order to economize battery consumption.
Another example method for activating the wirelesscommunication hub device112 and associating it with a user wireless communication hub device account may take advantage of location information from a GPS receiver that may be included in the device itself. In this implementation, when the wirelesscommunication hub device112 is activated, such as by being plugged into a wall outlet, the device determines its location from itsGPS receiver326. Upon establishing a communication link with theservice platform server140, the wirelesscommunication hub device112 may inform the server of its identification code (e.g., the six-digit number printed on the housing) along with its precise latitude and longitude coordinates. Using this coordinate information, theservice platform server140 can identify the user from public information, such as a residential address determined based upon the map coordinates from a map including address information, and then associate the wirelesscommunication hub device112 with a user account having the same residential address.
FIG. 23 illustrates anembodiment method2300 for associating a wirelesscommunication hub device112 with aservice platform server140 taking advantage of location information received from the wirelesscommunication hub device112. In an embodiment, the wirelesscommunication hub device112 may include aGPS receiver326 enabling the wirelesscommunication hub device112 to determine its location. Atblock2302 the wirelesscommunication hub device112 may determine its location. As an example, the wirelesscommunication hub device112 may utilize itsGPS receiver326 to determine the latitude and longitude at which the wirelesscommunication hub device112 may be located. Atblocks2304 and2306 the wirelesscommunication hub device112 andservice platform server140 may establish a wireless communications link with each other. In an embodiment, in establishing the wireless link, or after establishing the wireless link, the wirelesscommunication hub device112 may transmit its identification code (e.g., the six-digit number printed on the housing) to theservice platform server140. Atblock2308 the wirelesscommunication hub device112 may transmit the location information (e.g., the latitude and longitude) to theservice platform server140. Atblock2310 theservice platform server140 may receive the location information (e.g., the latitude and longitude), and atblock2312 theservice platform server140 may compare the location information (e.g., the latitude and longitude) to public information to identify user information. In an embodiment, theservice platform server140 may compare the latitude and longitude to a map to determine a residential address (i.e., user information) corresponding to that latitude and longitude. Atblock2314 theservice platform server140 may determine a user account containing the user information. In an embodiment, theservice platform server140 may search a database of user accounts to identify a user account with an address matching the address found using the received latitude and longitude. Atblock2316 theservice platform server140 may associate the wireless M2M hub with the user account containing the user information (e.g., address).
Once the configuration and registration process is completed, the wirelesscommunication hub device112 can be moved to any location that has cellular wireless network connectivity. Different electronic medical and fitness devices can be plugged into the wirelesscommunication hub device112. In an embodiment the wirelesscommunication hub device112 may discovery electronic medical and fitness devices plugged into or wirelessly linked to it. As electronic medical and fitness devices coupled to the wirelesscommunication hub device112 are identified, the wirelesscommunication hub device112 may identify them to theservice platform server140, such as by transmitting their media access control (MAC) identifier (ID). Theservice platform server140 may store the electronic medical and fitness device identifier in data fields associated with the user or the particular wirelesscommunication hub device112. Theservice platform server140 may also assign an IPv6 address to each electronic medical and fitness device which also may be stored in the data records.
A further feature that may be included in service platform services involves downloading the driver software appropriate for particular electronic medical and fitness devices to a user'scomputer138. In this service, the wirelesscommunication hub device112 informs theservice platform server140 about the connected electronic medical and fitness devices during the registration and device discovery process described above. Theservice platform server140 may be configured to store driver software for most electronic medical and fitness devices available in the marketplace, including historical versions of driver software that may be appropriate for older electronic medical and fitness devices. Thus, when the wirelesscommunication hub device112 identifies the connected electronic medical and fitness devices to theservice platform server140, such as by providing MAC IDs of each electronic medical and fitness device, the server can identify the proper driver software stored in its memory or associated database and download the appropriate drivers to a user'scomputer138 when the user accesses the server. This downloading of driver software may be accomplished when the user first registers with theservice platform server140 or associates acomputer138 with the user's account and a particularwireless M2M communication112. Also, theservice platform server140 may keep a data record of the MAC IDs of the attached electronic medical and fitness devices and the driver software that has been downloaded to particular user computers. Using such records, theservice platform server140 may determine when auser computer138 requires a new or updated driver, and download the appropriate driver software when updates are received or when new electronic medical and fitness devices are connected to the wirelesscommunication hub device112. In this manner, users'computers138 can be provisioned automatically with the latest driver software required for the electronic medical and fitness devices plugged into their wirelesscommunication hub device112 without having to keep track of the driver software, download the drivers themselves, or bother with the CDs containing driver software that come with electronic medical and fitness devices. Thus, this service platform service can help to simplify the user experience of using a variety of electronic medical and fitness devices.
FIG. 20 illustrates anembodiment method2000 for downloading driver software appropriate for a particular electronic medical andfitness device102 to a user device (such as a user's computer138). As discussed above, atblock1902 theservice platform server140 may associate an electronic medical andfitness device102 with a communication hub device (such as the wireless communication hub device112). Atblock2002 theservice platform server140 may associate an electronic medical and fitness device with a user device (e.g., user computer138). Atblock2004 theservice platform server140 may identify a driver associated with the electronic medical andfitness device102. Atblock2006 theservice platform server140 may transmit the driver to the user device (e.g., user computer138). In this manner, the appropriate drivers for the medical and fitness device may be downloaded to theuser computer138 without the user needing to keep track of the driver software, download the driver themselves, or bother with physical media, such as CDs, containing the driver software.
Atblock2008 theservice platform server140 may associate a new electronic medical andfitness device102 with the communication hub device (such as the wireless communication hub device112), and atblock2010 theservice platform server140 may associate the new electronic medical andfitness device102 with a user device. Atblock2102 theservice platform server140 may identify a new driver associated with the new electronic medical andfitness device102. Atdetermination block2014 theservice platform server140 may determine if the new driver has been previously transmitted to the user device (e.g., user computer138). In an embodiment, theservice platform server140 may maintain a list of drivers transmitted to and/or already stored on auser computer138, and may compare the new driver to that list to determine if the new driver has been previously transmitted to theuser computer138. If the new driver has not been previously transmitted (i.e.,determination block2014=“No”), atblock2016 theservice platform server140 may transmit the new driver to the user device (e.g., user computer138). If the new driver has been previously transmitted (i.e.,determination block2014=“Yes”), atblock2018 themethod2000 may end. In this manner, theservice platform server140 may download the appropriate driver software when new electronic medical and fitness devices are connected to the wirelesscommunication hub device112.
FIG. 21 illustrates anembodiment method2100 that may be used in conjunction withmethod2000 discussed above with reference toFIG. 20 to download appropriate driver software to a user device (e.g., user computer138). Atblock2102 theservice platform server140 may receive a registration request from a user device (e.g., user computer138). In an embodiment, a registration request may be sent from the user device (e.g., user computer138) when the user first attempts to connect with theservice platform server140. In an alternative embodiment, a registration request may be sent each time the user device (e.g., user computer138) attempts to establish a connection with theservice platform server140. Atdetermination block2104 theservice platform server140 may determine if the user device (e.g., user computer138) has previously registered with theservice platform server140. If the user device (e.g., user computer138) had previously registered (i.e.,determination block2104=“Yes”), atblock2106 theservice platform server140 may retrieve the previous user device information frommemory302. If the user device (e.g., user computer138) had not previously registered (i.e.,determination block2104=“No”), as discussed above, atblock1902 theservice platform server140 may associate an electronic medical andfitness device102 with a communication device (such as the wireless communication hub device112). Atblock2002 theservice platform server140 may associate an electronic medical and fitness device with a user device (e.g., user computer138). Atblock2004 theservice platform server140 may identify a driver associated with the electronic medical andfitness device102. Atblock2006 theservice platform server140 may transmit the driver to the user device (e.g., user computer138).
FIG. 22 illustrates anembodiment method2200 that may be used in conjunction withmethod2000 discussed above with reference toFIG. 20 to update driver software. As discussed above, atblock1902 theservice platform server140 may associate an electronic medical andfitness device102 with a communication device (such as the wireless communication hub device112). Atblock2002 theservice platform server140 may associate an electronic medical and fitness device with a user device (e.g., user computer138). Atblock2202 theservice platform server140 may receive a MAC ID for the user device (e.g., user computer138). Atblock2204 theservice platform server140 may receive a MAC ID for the electronic medical andfitness device102. In an embodiment, the MAC ID for the electronic medical andfitness device102 may be provided by the wirelesscommunication hub device112. As discussed above, atblock2004 theservice platform server140 may identify a driver associated with the electronic medical andfitness device102. Atblock2006 theservice platform server140 may transmit the driver to the user device (e.g., user computer138). Atblock2206 the service platform may maintain a record of the driver associated with the electronic medical andfitness device102 MAC ID. In an embodiment, the record may be a table of MAC IDs and their associated drivers stored in a memory. Atblock2208 the service platform may maintain a record of the driver associated with user device (e.g., user computer138) MAC ID. In an embodiment, the record may be a table of MAC IDs and their associated drivers stored in a memory. In a further embodiment, a combined table of MAC IDs for both electronic medical andfitness devices102, user devices (e.g., user computer138), and individual users (e.g., a user account) may be stored in the memory of theservice platform server140.
Atblock2210 theservice platform server140 may receive an indication that the driver has been updated. Atblock2212 theservice platform server140 may determine the user device (e.g., user computer138) that may require an updated driver. In an embodiment, theservice platform server140 may determine the user device requiring the updated driver using, at least in part, the record of the driver associated with the user device (e.g., user computer138) MAC ID and/or the record of the electronic medical andfitness device102 MAC ID. Atblock2214 theservice platform server140 may transmit the updated driver to the user device. In this manner the appropriate drivers may be provided to theuser computer138 when updates are received.
If an electronic medical and fitness device provides data for communication to theservice platform server140 or a user computer138 (such as may occur in response to a data request messages discussed above), such data is received by the wirelesscommunication hub device112 and relayed to theservice platform server140. In some cases, the wirelesscommunication hub device112 may encapsulate the device data within IP packets so that the data can be tunneled through the Internet for processing by theservice platform server140 using an appropriate driver software. As described above, the data messages are transmitted to the Internet address of theservice platform server140 via a cellular or local area network connection to theInternet114. Device data packets are received by theservice platform server140, processed if necessary, and relayed to other computers/servers via theInternet114.
As mentioned above, the wirelesscommunication hub device112 and theservice platform server140 may be configured to communicate data in a format that does not require the wireless communicationhub device processor301 to run a device driver for any electronic medical and fitness device.FIG. 6A illustrates anexample method600 for tunneling data and commands to and from electronic medical and fitness devices via the Internet. In theexample method600, a user may access the Internet from any computer, such as from a web kiosk computer, and access theservice platform server140 at its URL,step602. After the user is identified and verified to theservice platform server140,service platform server140 may generate a webpage listing a menu of electronic medical and fitness devices coupled to the wirelesscommunication hub device112,step603. The user may then request access to a particular electronic medical and fitness device,102,104,108 (e.g., such as a webcam to check on the user's house),step604. This request may be accomplished, for example, by the user selecting an electronic medical orfitness device102,104,108 hyperlink (e.g., a webcam hyperlink) on the menu list of available electronic medical and fitness devices listed in a webpage generated by theservice platform server140. For example, hyperlinks may be configured so that double-clicking on a webcam hyperlink in the electronic medical and fitness device menu may transmit a device access request to theservice platform server140, or transmit a code that theservice platform server140 will recognize as such.
In response to receiving a device or data access request from a user, theservice platform server140 may transmit a suitable request message to the wirelesscommunication hub device112 to obtain the access or data requested by the user,step606. Upon receiving this request, the wirelesscommunication hub device112 may query the indicated electronic medical or fitness device for the requested data,step608. In response, the queried electronic medical or fitness device may begin providing the requested data in its native format (i.e., in a format that requires a device driver to receive),step610. For example, if the request is for images from an electronic medical or fitness device102 (e.g., a webcam or blood pressure monitor), the wirelesscommunication hub device112 may signal the electronic medical or fitness device102 (e.g., a webcam or blood pressure monitor) to activate and begin transmitting image data to the wirelesscommunication hub device112. In this embodiment, the wirelesscommunication hub device112 receives the native format electronic medical or fitness device data and packages the data into IP packets that can be tunneled via theInternet114 to theservice platform server140,step612. Methods and protocols for tunneling data via theInternet114 are well-known in the computer communication arts.
Theservice platform server140 may receive message packets from the wirelesscommunication hub device112, unpack the electronic medical or fitness device data from the tunneling IP packets, and use the appropriate driver software to process the received electronic medical or fitness device data,step614. Theservice platform server140 may then transmit the requested data on to the requester'scomputer138 via theInternet114 using standard IP formats, such as in the form of a webpage or video feed,step616. Thus, in the example of a user requesting access to video images from a webcam coupled to the wirelesscommunication hub device112, the user may receive a video feed presented on a web browser without having to load the webcam driver software onto thecomputer138.
The tunneling of data and commands may also proceed from a user's computer via theservice platform server140 to the wirelesscommunication hub device112. For example, a user may be able to operate or configure an electronic medical and fitness device from a web kiosk computer (i.e., a computer that does not is not equipped with the appropriate device driver) using the service platform services.FIG. 6B illustrates anembodiment method650 for tunneling command messages to an electronic medical and fitness device via the wirelesscommunication hub device112 similar tomethod600 described above with reference toFIG. 6A except the data and commands may proceed from a user'scomputer138. As described above, at block602 a user may access the Internet from any computer, such as from a web kiosk computer, and access theservice platform server140 at its URL. After the user is identified and verified to theservice platform server140, as described above, atblock603, theservice platform server140 may generate a webpage listing a menu of electronic medical and fitness devices coupled to the wirelesscommunication hub device112. As described above, atblock603 the user may then request access to a particular electronic medical and fitness device104 (e.g., such as a security system to remotely set a particular alarm state). This request may be accomplished by the user selecting a hyperlink on the menu list of available electronic medical and fitness devices listed in a webpage generated by theservice platform server140. For example, double-clicking on a security system hyperlink in the electronic medical and fitness device menu may be configured as a device access request that is transmitted to theservice platform server140. If the selected device will accept user commands, theservice platform server140 may transmit a webpage presenting a menu of the commands available for the selected electronic medical and fitness device,step652. The user may select a particular command, such as by clicking on a hyperlink associated with the command description, the user can signal theservice platform server140 to send the corresponding command to the selected electronic medical and fitness device via the wirelesscommunication hub device112. Upon receiving such a command request,step654, theservice platform server140 may format the requested command using the appropriate device driver software,step656, and encapsulate the command within IP message packets so that it will be tunneled through theInternet114 to the wirelesscommunication hub device112,step658. Upon receiving such IP packets, the wirelesscommunication hub device112 unpacks the command data and transmits the command packets to the addressed electronic medical and fitness device,step660. The electronic medical and fitness device receives and executes the command as if it had been provided directly by a computer linked to the device and configured with the appropriate device driver,step662.
Example message flows the may be implemented in the various embodiment methods are illustrative inFIGS. 7A and 7B. Referring toFIG. 7A, when the wirelesscommunication hub device112 is activated, such as when it is plugged into a wall socket and the user presses the initiation button, the device may exchange thenetwork signaling messages702 necessary to establish a cellular data communication link with acellular wireless network130. Once connected to thecellular wireless network130, the wirelesscommunication hub device112 may establish a data call to theservice platform server140 and transmit the device's identifier,message704. As described above, the wirelesscommunication hub device112 may signal to a user when a connection is made to theservice platform server140, such as by displaying a steady yellow light, at which point the user may log into theservice platform server140 via theInternet114 and enter registration information (e.g., as the six-digit number on the housing of the wireless communication hub device),message705. Once the wirelesscommunication hub device112 is registered with theservice platform server140, it may discover the electronic medical andfitness devices102 coupled to it, such as by transmittingdevice discovery messages706 and receivingdevice reply messages708. Device discovery and reply message formats are well-established in networking protocols, such as the Bluetooth® protocol. As the wirelesscommunication hub device112 identifies attached electronic medical and fitness devices, it may transmit information regarding them, such as their MAC ID, to theservice platform server140,message710.
Once the registration process is completed, a user may access an electronic medical andfitness device102 from acomputer138 by logging on to theservice platform server140. As discussed above, theservice platform server140 may send a webpage to the browser of the user'scomputer138 presenting a menu of electronic medical andfitness devices102 that may be accessed,message711. Using such a menu or a direct command, the user may request access to a particular electronic medical and fitness device by sending anaccess request message712 to theservice platform server140 via theInternet114. In response to receiving this message, theservice platform server140 may transmit an appropriatedata request message714 over the open data communication link with the wirelesscommunication hub device112 via theInternet114 and thecellular wireless network130. The wirelesscommunication hub device112 relays thedata request message716 to the selected electronic medical andfitness device102. Data generated in response to the request may be transmitted from the electronic medical andfitness device102 to the wirelesscommunication hub device112 via the established cable or wireless communication link,message718. The wireless communication hub device then relays the data, such as in an encapsulated IP packet, to theservice platform server140 over the open data communication link via thecellular wireless network130 and theInternet114,message720. Theservice platform server140 may unpack the device data and process it using the appropriate device driver software, processing722, and forward the data on to the requestingcomputer138 via theInternet114,message724.
As mentioned above, other data users, such as medical establishments or device manufacturers, may request data from electronic medical and fitness devices coupled to the wirelesscommunication hub device112. To do so, a third-party server142,144 controlled by the data user may transmit a data request message via theInternet114 to theservice platform server140,message726. If theservice platform server140 does not have the requested data in memory, it may transmit adata request message728 to the wirelesscommunication hub device112. The wirelesscommunication hub device112 relays thedata request message730 to the selected electronic medical andfitness device102. Data generated in response to the request may be transmitted from the electronic medical andfitness device102 to the wirelesscommunication hub device112 via the established cable or wireless communication link,message732. The wireless communication hub device then relays the data, such as in an encapsulated IP packet, to theservice platform server140 over the open data communication link via thecellular wireless network130 and theInternet114,message734. Theservice platform server140 may unpack the device data and process it using the appropriate device driver software,optional processing736, and forward the data on to the requestingserver142,144 via theInternet114,message738. In situations where theservice platform server140 does not possess the device driver for the particular electronic medical and fitness device, such as when the data requester controls device drivers, theservice platform server140 may simply relay the encapsulated device data without processing.
The service platform services may be configured to deliver data generated by an electronic medical andfitness device102 without receiving a data request message. For example, a electronic medical andfitness device102, such as a home security system, may generate adata message740 that is transmitted to the wirelesscommunication hub device112 by an establish communication link (e.g., a USB or FireWire cable or local wireless communication link). In response to receiving such adata message740, the wirelesscommunication hub device112 may place a data call to theservice platform server140 and transmit the data via thecellular wireless network130 and theInternet114,message742. Theservice platform server140 may unpack the device data and process it using the appropriate device driver software,optional processing744, and forward the data on to the appropriate destination computer, such as a third-party server142,144 via theInternet114 inmessage746, or to auser computer138 via theInternet114 inmessage748. In situations where theservice platform server140 does not possess the device driver for the particular electronic medical and fitness device, such as when the data generating electronic medical and fitness device is controlled by the manufacturer, theservice platform server140 may simply relayed the encapsulated device data without processing.
As mentioned above, the wirelesscommunication hub device112 may also be configured to communicate with theservice platform server140 via a connection to theInternet114 through a local wireless router. Example messages that may be transmitted among various components in such a communication system are illustrated inFIG. 7B. For example, during the registration and configuration process described above with reference toFIG. 5, the wirelesscommunication hub device112 may discover that it can gain access to theInternet114 via a wireless router. In that case, the wirelesscommunication hub device112 may establish a wireless communication link with the router in an exchange ofmessages703 as provided for in the wireless protocol implemented by the router. Once connected to the router, the wirelesscommunication hub device112 may transmit its identification number (e.g., a unique six-digit) to theservice platform server140 via the wireless router,message704a, which may relay the message via theInternet114,message704b. Similarly, the wirelesscommunication hub device112 may transmit information about attached electronic medical andfitness devices102 in awireless message710ato the wireless router which may relay the message via theInternet114 to theservice platform server140,message710b. Other like numbered messages may be exchanged in the manner described above with reference toFIG. 7A.
FIG. 7B also illustrates message flows of communications between a user'spersonal computer138, the wirelesscommunication hub device112 and electronic medical andfitness devices102 when alocal wireless router135 is available. When a user'spersonal computer138 is coupled to thelocal wireless router135, it may log in to theservice platform server140 with anaccess message712asent to thelocal wireless router135. Thelocal wireless router135 may relay the access message from thepersonal computer138 to theservice platform server140 via theInternet114,message712b. Messages from theservice platform server140 to the wirelesscommunication hub device112 may be communicated via theInternet114 to thelocal wireless router135,messages714a, which may relay them to the wirelesscommunication hub device112,messages714b. Similarly, messages relaying data from electronic medical andfitness devices102 may be transmitted from the wirelesscommunication hub device112 to thelocal wireless router135,messages720a, which routes them onto theservice platform server140 via theInternet114,messages720b. Theservice platform server140 may process the data, processing722, and forward the data on to thepersonal computer138 by transmitting data messages via theInternet114 to the wireless router,message724a, which relays the messages to thepersonal computer138,message724b. As mentioned above, the wirelesscommunication hub device112 may also be configured to communicate directly with thepersonal computer138 via a local network. Thus, messages from the wirelesscommunication hub device112 may be sent to thepersonal computer138 via thelocal wireless router135,message720c, which may relay the messages directly to thepersonal computer138,message724d.
In an embodiment, the wirelesscommunication hub device112 may be configured to send and receive messages via a cellular communication network.
As described above, the wirelesscommunication hub device112 may be configured to enter an idle or “sleep mode” when there are no active interactions with electronic medical and fitness devices or with theservice platform server140. The purpose of such a sleep mode may be to minimize the operating cost of the wireless communication hub device, such as by minimizing cellular wireless network access charges when no active data communications are taking place. In such an implementation, theservice platform server140 may be configured to send a message to the wirelesscommunication hub device112 to “wake it up” when there is a need to communicate with the electronic medical and fitness devices. Anexample method800 for accomplishing this is illustrated inFIG. 8A and example messages that may be exchanged in the process are illustrated inFIG. 8B.
Referring toFIGS. 8A (for steps) and8B (for messages), when the service platform server receives a request for data or access to a particular electronic medical and fitness device coupled to a wirelesscommunication hub device112,step802 andmessages852,853, the service platform server may transmit a wake-up message to the wirelesscommunication hub device112,step804. Such a wake-up message may be transmitted as an SMS message which may be sent by conventional means to thecellular wireless network130,message854, which may deliver the message like a conventional SMS message,message856. Such an SMS message may be addressed to a telephone number assigned to the wirelesscommunication hub device112 and include data or codes which the wireless communication hub device can recognize as constituting a wake-up message. In an embodiment, reception of an SMS without any message payload (i.e., no included data or codes) may prompt thecommunication hub device112 to wake-up. Alternatively, theservice platform server140 may send a paging-type message to the wirelesscommunication hub device112 which may be configured with a paging receiver.
When the wirelesscommunication hub device112 receives the SMS or page message,step806, thedevice processor301 may parse the received message to determine whether it includes a code indicating that the wirelesscommunication hub device112 should wake-up,determination808. If the received message does not include the appropriate “wakeup code” (i.e.,determination808=“No”), theprocessor301 may simply ignore the received message,step810. This test of the received code can guard against inadvertent activations of the wirelesscommunication hub device112, such as when a message is improperly routed or a wrong number is dialed.
If theprocessor301 determines that the received message includes the appropriate “wakeup code” (i.e.,determination808=“Yes”), and in embodiments in which the device is configured to wake up in response to receiving a payload-less SMS message, the wirelesscommunication hub device112 may activate itscellular transceiver303 to exchange thenetwork signaling messages702 necessary to establish a cellular data communication link with acellular wireless network130. If alocal wireless router135 with access to theInternet114 is available, the wirelesscommunication hub device112 may negotiate a communication link with the wireless router instead. Once connected to the cellular wireless network130 (or a local wireless router135), the wirelesscommunication hub device112 may place a data call to theservice platform server140,step506. When a connection to theservice platform server140 is established (or as part of establishing the connection), the wireless communication hub device may provide its unique identifier to the server, thereby identifying itself, step508 andmessage858. With a communication link established between the wirelesscommunication hub device112 and theservice platform server140, the server and devices may proceed with communications as described above with reference toFIGS. 5,6A,6B and7A,step812.
Additional methods for activating a computing device such as the wireless communication hub device are disclosed in U.S. patent application Ser. No. 12/430,642 entitled “Apparatus and Method for Activating Computer Applications with SMS Messaging” filed Apr. 27, 2009, the entire contents of which are hereby incorporated by reference.
FIG. 17 illustrates anembodiment method1700 for transmitting a simple message service message (SMS) message from aservice platform server140 to the wirelesscommunication hub device112. Atblock1702 theservice platform server140 may determine the period of time that has expires since theservice platform server140 last received data from the wirelesscommunication hub device112. The period of time may be determined in any manner, such as by comparing a time stamp in the last received data communication to a current clock time at theservice platform server140. Atdetermination block1704 theservice platform server140 may determine if the period of time is greater than a periodicity for which data should be received from the wirelesscommunication hub device112. The periodicity may be any amount of time, such as 10 minutes, or 30 minutes, and may be fixed value based on communication protocol requirements, orservice platform server140 operator settings. In an embodiment, the periodicity may be a value stored in a memory accessible by theservice platform server140. If the period of time is not greater than the periodicity (i.e.,determination block1704=“No”), atblock1702 theservice platform server140 may determine the period of time that has expires since theservice platform server140 last received data from the wirelesscommunication hub device112. If the period of time is greater than the periodicity (i.e.,determination block1704=“Yes”) atblock1706 theservice platform server140 may transmit an SMS message via the cellular wireless network to the wirelesscommunication hub device112. Atblock1708 the wirelesscommunication hub device112 may receive the SMS message via the cellular wireless network. In an embodiment, the SMS message may be a payload-less SMS message. In an alternative embodiment, the SMS message may have a payload.
Atblock1710 the wirelesscommunication hub device112 may run a diagnostic of the data connection between the wirelesscommunication hub device112 and theservice platform server140. In an embodiment, the diagnostic may be run in response to an indication in the received SMS message, such as a command in the payload of an SMS message, or such as the originating phone number in a payload-less SMS message.
In another embodiment, the wirelesscommunication hub device112 may be configured with processor-executable instructions to perform operations to run a diagnostic on the data connection in response to any received SMS messages. In a further embodiment, thewireless communication hub112 may be configured with processor-executable instructions to perform operations to contact another server to receive one of instructions, configuration changes, and software updates in response to any received SMS messages. In a further embodiment, thewireless communication hub112 may be configured with processor-executable instructions to perform operations to transmit a log of data traffic transmitted from and/or received by the wirelesscommunication hub device112 to theservice platform server140 in response to any received SMS messages. In a further embodiment, the wirelesscommunication hub device112 may be configured with processor-executable instructions to perform operations to contact theservice platform server140 to report an operating condition of the wirelesscommunication hub device112 and/or any electronic medical orfitness device102 in response to any received SMS messages. In a further embodiment, the wirelesscommunication hub device112 may be configured with processor-executable instructions to perform operations for authenticating the electronic medical orfitness device102 and/or re-authenticating the wirelesscommunication hub device112 to theservice platform server140 in response to any received SMS messages. In a further embodiment, the wirelesscommunication hub device112 may be configured with processor-executable instructions to perform operations for verifying security settings to theservice platform server140 in response to any received SMS messages.
Atdetermination block1712 the wirelesscommunication hub device112 may determine if the data connection with theservice platform server140 is available. In an embodiment, the determination that the data connection is available may be made based on the diagnostic run atblock1710 or may be determined based on a connection test. If the data connection is available (i.e.,determination block1712=“Yes”), atblock1714 the wirelesscommunication hub device112 may receive medical and fitness device data, such as medical and fitness device data from the medical andfitness device102. Atblock1716, the wirelesscommunication hub device112 may transmit the medical and fitness device data to theservice platform server140. If the data connection is not available (i.e.,determination block1712=“No”), atblock1718 the wirelesscommunication hub device112 may transmit an SMS message via the cellular wireless network to theservice platform server140. In an embodiment, the SMS message may include a payload, for example diagnostic results. In another embodiment, the SMS message may include medical and fitness device data.
A wirelesscommunication hub device112 that is in a deactivated, low power, idle, or sleep mode may also be activated in response to receiving a data message from a connected electronic medical and fitness device.FIG. 9A illustrates anexample method900 for communicating data to data users initiated by a electronic medical and fitness device data push. Example messages that may be passed among system components inmethod900 are illustrated inFIG. 9B. Referring toFIGS. 9A (for steps) and9B (for messages), when an electronic medical andfitness device102 determines that it has data that should be transmitted to an appropriate data user (e.g., a medical facility, a device manufacturer, a user, etc.) it may transmit the data to the wirelesscommunication hub device112 via the established communication connection. Upon receiving the data message, the wirelesscommunication hub device112 may recognize the particular electronic medical and fitness device providing the data. This may be accomplished based upon the particular communication port through which the data signal was received or information provided with the data message, such as a device identifier. As part of this step, the wireless communicationhub device processor301 may obtain the IPv6 address, MAC ID or other unique identifier for the reporting electronic medical and fitness device that is known to be service platform server140 (i.e., the identifier that was reported to the server during a registration and configuration process). If a data connection is not already established with acellular wireless network130, the wirelesscommunication hub device112 may activate thecellular transceiver303 and exchange thenetwork signaling messages702 necessary to establish a cellular data communication link with thecellular wireless network130. If alocal wireless router135 with access to theInternet114 is available, the wirelesscommunication hub device112 may negotiate a communication link with the wireless router instead. Once connected to the cellular wireless network130 (or a local wireless router135), the wirelesscommunication hub device112 may place a data call to theservice platform server140. When a connection to theservice platform server140 is established (or as part of establishing the connection), the wirelesscommunication hub device112 may provide its unique identifier to the server, thereby identifying itself,step508. Once the wirelesscommunication hub device112 has registered with theservice platform server140 it may transmit the data received from the electronic medical andfitness device102. The data message also includes the identifier for the device providing the data. Theservice platform server140 may use the electronic medical and fitness device identifier to determine the appropriate processing and destination for the data. If the data is to be transmitted immediately to another destination, such as a medical ordevice manufacturer server142,144, theservice platform server140 may contact the appropriate server and negotiate an appropriate encrypted communication link via theInternet114. Once an appropriate communication link is established, theservice platform server140 may transmit the received device data to thedestination server142,144 via theInternet114. Thedestination server142,144 receiving the data may then process or use the data for other purposes, such as transmitting a notification message to the user'spersonal computer138 via theInternet114.
Referring toFIGS. 9A (for steps) and9B (for messages), when an electronic medical orfitness device102 determines that it has data that should be transmitted to an appropriate data user (e.g., a medical facility, a device manufacturer, a user, etc.) it may transmit the data to the wirelesscommunication hub device112 via the established communication connection,step902 andmessage952. Upon receiving the data message, the wirelesscommunication hub device112 may recognize the particular electronic medical orfitness device102 providing the data,step904. This may be accomplished based upon the particular communication port through which the data signal was received or information provided with the data message, such as an electronic medical orfitness device102 identifier. As part of this step, the wirelesscommunication hub device112processor301 may obtain the IPv6 address, MAC ID or other unique identifier for the reporting electronic medical or fitness device that is known to be service platform server (i.e., VPH-server)140 (i.e., the identifier that was reported to theservice platform server140 during a registration and configuration process). If a data connection is not already established with acellular wireless network130, the wirelesscommunication hub device112 may activate thecellular transceiver303 and exchange thenetwork signaling messages702 necessary to establish a cellular data communication link with thecellular wireless network130. If alocal wireless router135 with access to theInternet114 is available, the wirelesscommunication hub device112 may negotiate a communication link with thelocal wireless router135 instead. Once connected to the cellular wireless network130 (or a local wireless router135), the wirelesscommunication hub device112 may place a data call to theservice platform server140,step506. When a connection to theservice platform server140 is established (or as part of establishing the connection), the wirelesscommunication hub device112 may provide its unique identifier to theservice platform server140, thereby identifying itself,step508. Once the wirelesscommunication hub device112 has registered with theservice platform server140 it may transmit the data received from the electronic medical orfitness device102,step910 andmessage954. The data message transmitted instep910 andmessage954 also includes the identifier for the electronic medical or fitness device providing the data. Theservice platform server140 may use the electronic medical or fitness device identifier to determine the appropriate processing and destination for the data,step912 andprocessing956. If the data is to be transmitted immediately to another destination, such as a medical ordevice manufacturer server142,144, theservice platform server140 may contact the appropriate server and negotiate an appropriate encrypted communication link via theInternet114,step914. Once an appropriate communication link is established, theservice platform server140 may transmit the received device data to thedestination server142,144 via theInternet114,step916 andmessage958. Theserver142,144 receiving the data may then process or use the data for other purposes, such as transmitting a notification message to the user'spersonal computer138 via theInternet114,message960.
As noted above, the service platform services may be two-way, enabling data users to also transmit commands or messages back through theM2M communication hub112 to selected electronic medical or fitness devices. This may involve adata user server142,144 transmitting amessage962 addressed to a particular electronic medical or fitness device to theservice platform server140, which receives the message via theInternet114,step918. Theservice platform server140 re-addresses the message to the particular electronic medical or fitness device IPv6 address,step920, and transmits the message to the wirelesscommunication hub device112 via theInternet114,step922 andmessage964. The wirelesscommunication hub device112 receives the messages and relays them onto the addressed the electronic medical or fitness device,step924 andmessage966. The addressed electronic medical or fitness device then processes or displays the message,step926.
A practical implementation example may clarify the processing described above with reference toFIGS. 9A and 9B. Since sudden weight gain can be an indicator of some serious medical conditions, providing such information to a medical facility may be useful for advising patients when they need to take medication or see a doctor immediately. To enable such early warning with minimal effort by patients, an electronic bathroom scale may be configured as an electronic medical or fitness device with a wireless (or wired) transceiver that couples to a wirelesscommunication hub device112 to transmit weight readings whenever a user starts on the scale. The scale, the wirelesscommunication hub device112, and/or theservice platform server140 may be configured (e.g., as part of a registration process) to promptly forward scale readings to amedical facility server142 that is tracking a patient's weight. When a user steps on the scale, the weight reading may be automatically transmitted to adestination server142 that can process the information without any action or involvement on the part of the user. If themedical facility server142 detects a sudden change in weight that may indicate a condition requiring a medical intervention (e.g., taking a medication or visiting a doctor), theserver142 may transmit a message to be displayed on an appropriate electronic medical or fitness device (e.g., the weight scale) that the user is likely to see. Thus, themedical facility server142 may transmit a message using the service platform services so that it is receives by an electronic medical or fitness device (such as an LCD display, a digital picture frame, or other device with a display) informing the user to take the proper precautions.
FIG. 18 illustrates anembodiment method1800 for enabling the wirelesscommunication hub device112 to establish a persistent wireless communications link with theservice platform server140. In blocks1802 and1804 the wirelesscommunication hub device112 and theservice platform server140 may exchange information necessary to establish a persistent wireless communications link between each other. In blocks1806 and1808 the wirelesscommunication hub device112 and theservice platform server140 may establish a persistent wireless communications link with each other. A persistent wireless communications link may be a communications link that is kept open regardless of the rate of data sent over the wireless communication link. Inblock1810 the wirelesscommunication hub device112 may receive medical and fitness device data from the medical andfitness device102 as discussed above. Atblock1812 the wirelesscommunication hub device112 may transmit medical and fitness device data to theservice platform server140 as discussed above. Atblock1814 theservice platform server140 may receive the medical and fitness device data.
Atblock1816 the wirelesscommunication hub device112 may monitor the periodicity of data exchanges with theservice platform server140. As an example, the wirelesscommunication hub device112 may compare a time stamp associated with the last transmission of the wirelesscommunication hub device112 to the current wirelesscommunication hub device112 time. Atdetermination block1818 the wirelesscommunication hub device112 may determine if the periodicity is approaching a network threshold. As an example, the wirelesscommunication hub device112 may compare a network threshold, such as the maximum time allowed between transmissions before a communication link is deemed dormant (which may be stored in a memory302), to the time period since the last data transmission. If the period since the last data transmission is approaching the network threshold (i.e.,determination block1818=“Yes”), atblock1812 the wirelesscommunication hub device112 may transmit the medical and fitness device data to theservice platform server140. If the period since the last data transmission is not approaching the network threshold (i.e.,determination block1818=“No”), atblock1816 the wirelesscommunication hub device112 may monitor the periodicity of data exchanges with theservice platform server140. In this manner, the persistent wireless communications link may be maintained despite network thresholds for activity because the persistent wireless communications link may not be identified as dormant by a host network. By not being identified as dormant, the persistent wireless communications link may be less at risk for being automatically broken or closed by the host network. In an optional embodiment, if the period since the last data transmission is approaching the network threshold (i.e.,determination block1818=“Yes”), atblock1820 the wirelesscommunication hub device112 may transmit data other than medical and fitness device data to theservice platform server140. The other data may be any data, such as a test message, that may serve to keep the persistent wireless communication link active. Atblock1822 theservice platform server140 may receive the other data.
FIG. 19 illustrates anembodiment method1900 for enabling the appearance that the electronic medical andfitness device102 is continuously connected to another device (e.g., a physician's personal computer138) accessing the electronic medical and fitness device via theservice platform server140, without the need to maintain a constant communication link between the electronic medical andfitness device102 and the wirelesscommunication hub device112. Atblock1902 theservice platform server140 may associate an electronic medical andfitness device102 with a communication device, such as the wirelesscommunication hub device112. Atblock1904 theservice platform server140 may establish a wireless communications link with the communication device (e.g., the wireless M2M communications hub112). Atblock1906 theservice platform server140 may receive the electronic medical and fitness data from the communication device (e.g., the wireless M2M communications hub112) via the wireless communications link. Atblock1908 theservice platform server140 may store the electronic medical and fitness device data. In an embodiment, the electronic medical or fitness device data may include an electronic medical or fitness device identifier. Theservice platform server140 may compare the received electronic medical or fitness device identifier to a database of electronic medical or fitness device identifier associated with users to identify at least one of a user account, a partner account (e.g., account on a third party server142) and/or a service account (e.g., a third party account on server142) associated with the electronic medical or fitness device, and may store the medical or fitness data received from the communication hub device in a data record for the user associated with the electronic medical or fitness device. Atblock1910 theservice platform server140 may close the wireless communications link with the communication device (e.g., the wireless M2M communications hub112).
Atblock1912 theservice platform server140 may receive a request for the electronic medical and fitness device data from another device (e.g., the physician's personal computer138). Atblock1914 theservice platform server140 may update the stored electronic medical and fitness device data such that the electronic medical or fitness device appears to be continuously connected via a wireless communications link. As an example, theservice platform server140 may update a time stamp on the stored electronic medical and fitness device data to reflect the currentservice platform server140 time. Atblock1916 theservice platform server140 may transmit the updated stored electronic medical and fitness device data to the other device (e.g., the physician's personal computer138). In this manner, the electronic medical and fitness device data received may appear to be current electronic medical and fitness device data and it may appear that the other device (e.g., the physician's personal computer138) is continuously connected via a wireless communications link to the electronic medical andfitness device102, though a continuous wireless communications link may not be established.
FIG. 24 illustrates anembodiment method2400 for enabling two electronic medical andfitness devices102aand102bto exchange data. In blocks2402 and2404 the first electronic medical andfitness device102aand the wirelesscommunication hub device112 may establish a first communication link with each other. Inblock2406 the first electronic medical andfitness device102amay transmit electronic medical and fitness device data to the wirelesscommunication hub device112 via the first communication link. Atblock2408 the wirelesscommunication hub device112 may receive the electronic medical and fitness device data. Atblock2410 the wirelesscommunication hub device112 may store the received electronic medical and fitness device data in a memory resident on the wirelesscommunication hub device112. In an optional embodiment, atblocks2412 and2114 the wirelesscommunication hub device112 and the first electronic medical andfitness device102amay close the first communication. Atblocks2416 and2418 the second electronic medical andfitness device102band the wirelesscommunication hub device112 may establish a second communication link between each other. Atblock2420 the second electronic medical andfitness device102bmay transmit a request for the electronic medical and fitness device data to the wirelesscommunication hub device112 via the second communication link. In an embodiment, the request for the electronic medical and fitness device data may specify a specific type of data (e.g., weight or blood pressure data), a specific type of originating device (e.g., a weight scale or blood pressure monitor), and/or a specific originating device ID (e.g., the device ID for the user's specific weight scale). Atblock2422 the wirelesscommunication hub device112 may receive the request for the medical and fitness device data. Atblock2424 the wirelesscommunication hub device112 may transmit the electronic medical and fitness data requested, and atblock2426 the second electronic medical andfitness device102bmay receive the electronic medical and fitness device data. In this manner, a second electronic medical andfitness device102bmay access data from a first electronic medical andfitness device102avia the wirelesscommunication hub device112 whether the first electronic medical andfitness device102amay be currently, or may have been previously connected to the wirelesscommunication hub device112.
FIG. 25 illustrates anembodiment method2500 for enabling two electronic medical andfitness devices102aand102bto exchange data similar tomethod2400 described above with reference toFIG. 24, except that the wirelesscommunication hub device112 may exchange electronic medical and fitness data with theservice platform server140. Atblocks2402,2406,2408,2410,2412, and2414 operations ofmethod2400 as described above with reference toFIG. 24 may be performed. Atblocks2502 and2504 the wirelesscommunication hub device112 and may theservice platform server140 may establish a wireless communication link with each other. Atblock2506 the wirelesscommunication hub device112 may transmit the electronic medical and fitness device data to theservice platform server140, and atblock2508 theservice platform server140 may receive the electronic medical and fitness data. Atblock2510 theservice platform server140 may store the electronic medical and fitness device data. Atblocks2416,2418,2420, and2422 operations ofmethod2400 as described above with reference toFIG. 24 may be performed. Atblock2512 the wirelesscommunication hub device112 may transmit the request for the electronic medical and fitness device data to theservice platform server140. In an embodiment, the request may be transmitted by the wirelesscommunication hub device112 in response to a determination that the previously stored electronic medical and fitness device data is no longer available to the wirelesscommunication hub device112. Atblock2514 theservice platform server140 may receive the request for electronic medical and fitness device data. Atblock2516 theservice platform server140 may transmit the electronic medical and fitness device data to the wirelesscommunication hub device112. Atblock2518 the wirelesscommunication hub device112 may receive the electronic medical and fitness device data. Atblock2424 the wirelesscommunication hub device112 may transmit the electronic medical and fitness data requested, and atblock2426 the second electronic medical andfitness device102bmay receive the electronic medical and fitness device data. In this manner, two electronic medical andfitness devices102aand102bmay exchange data via theservice platform server140.
In an embodiment, the wireless communication hub device may be a part of communications that may need to be monitored. Communications with the wirelesscommunication hub device112 may be carried over the cellular operator's network, and may result in a billing event for the service platform, retailers, customers and/or users associated with the wirelesscommunication hub device112.FIG. 26 illustrates anembodiment method2600 for tracking data traffic through the wirelesscommunication hub device112. Atblock2602 the wirelesscommunication hub device112 may maintain a transmittal log. In an embodiment, the transmittal log may be a log of all transmissions sent from the wirelesscommunication hub device112. The transmittal log may be any type log, such as a counter for each byte of data traffic sent from the wirelesscommunication hub device112. Atblock2404 the wirelesscommunication hub device112 may identify the origin of received data traffic. In an embodiment, the wirelesscommunication hub device112 may parse data headers to determine the origin of received data. In this manner, data originated at theservice platform server140 may be distinguished from data originated at a customer server but transmitted via theservice platform server140. Atblock2606 the wirelesscommunication hub device112 may maintain a receipt log. In an embodiment, the receipt log may be a log of all traffic received by the wirelesscommunication hub device112. In an embodiment, the receipt log may distinguish data traffic by the origin of the data traffic (e.g., data traffic originated at theservice platform server140 may be distinguished in a receipt log from data traffic originated at a customer server). The receipt log may be any type log, such as a counter for each byte of data traffic received by the wirelesscommunication hub device112. Atblock2608 the wirelesscommunication hub device112 may transmit the data traffic log(s) (i.e., the transmittal log and/or the receipt log) to theservice platform server140. Atblock2610 theservice platform server140 may receive the data traffic log(s). In this manner the data traffic log(s) may be utilized by the service platform server to reconcile and generate reports, generate statistics, and/or generate and resolve billing statements. In a further embodiment, SMS messages (e.g., MT SMS and/or MO SMS messages) may be tracked in conjunction with data traffic by the wirelesscommunication hub device112.
FIG. 27 illustrates amethod2700 for managing device authorization which may be performed by theservice platform server140 or the wirelesscommunication hub device112. In an embodiment theservice platform server140 may have stored in a memory a listing of authorized electronic medical or fitness devices. In an embodiment, the wirelesscommunication hub device112 may have previously received a listing of authorized electronic medical or fitness devices and may have stored the listing of authorized electronic medical or fitness devices in a memory of the wirelesscommunication hub device112. Atblock2702 theservice platform server140 or the wirelesscommunication hub device112 may receive a pairing request originated from the electronic medical and fitness device, such as the electronic medical andfitness device102. In an embodiment, the pairing authorization request may include electronic medical and fitness device information, such as an electronic medical and fitness device ID and/or an electronic medical and fitness device type. Atdetermination block2704 theservice platform server140 or the wirelesscommunication hub device112 may determine if the electronic medical and fitness device is authorized to be paired with the wirelesscommunication hub device112. In an embodiment, authorization may be determined by comparing electronic medical and fitness device information (e.g., an electronic medical and fitness device ID) to a listing of authorized electronic medical of fitness devices (e.g., list of authorized devices). In another embodiment, authorization may be determined by authenticating the electronic medical and fitness device by comparing electronic medical and fitness device information (e.g., an electronic medical and fitness device ID and type) to an authorized electronic medical and fitness device list to determine if the device ID and type match the authorized list. If the electronic medical and fitness device is authorized (i.e.,determination block2704=“Yes”), atblock2706 pairing of the electronic medical and fitness device with the communication device (e.g., wireless communication hub device112) may be enabled by theservice platform server140 or the wirelesscommunication hub device112. In an embodiment, theservice platform server140 may transmit a device authorization message to the wirelesscommunication hub device112 authorizing communication with the discovered electronic medical or fitness device. If the electronic medical and fitness device is not authorized (i.e.,determination block2704=“No”), atblock2708 theservice platform server140 or the wirelesscommunication hub device112 may deny the pairing request. In an embodiment, theservice platform server140 may transmit an electronic medical or fitness device authorization message to the wireless communication hub device authorizing communication and/or pairing with the discovered electronic medical or fitness device.
FIG. 28 illustrates anembodiment method2800 for procurement, provisioning, activation, and billing of a wireless communication hub device according to the various embodiments for use with a UMTS communication network. At block2810 acustomer server operator2804 may order a wireless communication hub device. Thecustomer server operator2804 may be a retailer of wireless communication hub devices, an end user of wireless communication hub devices, and or the operator of a server (i.e., customer server) that utilizes wireless communication hub devices to receive/manage electronic medical and fitness devices and/or electronic medical and fitness device data. At block2812 a wireless communicationhub device manufacturer2806 may receive the wireless communication hub device order. Atblock2806 the wireless communicationhub device manufacturer2806 may order/receive a WWAN module for the wireless communication hub device. Atblock2816 the wireless communicationhub device manufacturer2806 may order a subscriber identity module (SIM) card for the wireless communication hub device. Atblock2818 the cellular operator/carrier2808 may receive the SIM order. In an embodiment, the wireless communicationhub device manufacturer2806 may order the SIM card directly from a cellular operator/carrier2808, or alternatively may order then from a SIM card manufacturer who may receive SIM information from the cellular operator/carrier2808 for inclusion in the SIM cards. In an embodiment the SIM cards store the necessary credentials for the wireless communication hub device to operate on the cellular operator/carrier's2808 network. Atblock2820 the cellular operator/carrier2808 may deliver the SIM card. Atblock2822 the wireless communicationhub device manufacturer2806 may receive the SIM card. Atblock2824 the wireless communicationhub device manufacturer2806 may manufacture the wireless communication hub device including the WWAN module and SIM card. Atblock2826 the wireless communicationhub device manufacturer2806 may deliver the wireless communication hub device and atblock2828 thecustomer server operator2804 may receive the wireless communication hub device.
Atblock2830 thecustomer server operator2804 may pre-pair the wireless communication hub device with an electronic medical and fitness device (e.g., a heart rate monitor). Atblocks2832 and2834 thecustomer server operator2804 and serviceplatform server operator2802 may activate the wireless communication hub device. In an embodiment, a customer server may communicate with the service platform server to authorize the wireless M2M communication huh, such as by sending wireless communication hub device information to the service platform server. Atblocks2836 and2838 the serviceplatform server operator2802 and the cellular operator/carrier2808 may activate the SIM and/or the wireless communication hub device. In an embodiment, the service platform server may interact with a server of the cellular operator/carrier2808 to activate the SIM and/or the wireless communication hub device. Atblock2840 the cellular operator/carrier2808 may provide a MSISDN and/or IMSI for the wireless communication hub device. Atblock2842 the serviceplatform server operator2802 may receive the MSISDN and/or IMSI. Atblocks2844 and2846 thecustomer server operator2804 and serviceplatform server operator2802 may utilize the wireless communication hub device, for example by sending electronic medical and fitness device data from the wireless communication hub device to the service platform server and on to the customer server. Atblock2848 the serviceplatform server operator2802 may track cellular carrier network and data traffic usage by the wireless communication hub device. Atblock2856 the serviceplatform server operator2802 may provide a bill to thecustomer server operator2804. In an embodiment, the bill may be provided through billing services, such as a carrier usage monitoring service, fraud monitoring service, and/or a billing entity. Atblock2858 thecustomer server operator2804 may receive the bill. In an optional embodiment, the serviceplatform server operator2802 may send cellular carrier network usage information to the cellular operator/carrier2808. At block2852 the cellular operator/carrier2808 may receive the cellular carrier network usage information, and atblock2854 the cellular operator/carrier2808 may provide a bill to the serviceplatform server operator2802. In an alternative embodiment the cellular operator/carrier2808 may directly bill thecustomer server operator2804.
FIG. 29 illustrate anotherembodiment method2900 for procurement, provisioning, activation, and billing of a wireless communication hub device according to the various embodiments similar tomethod2800 described above with reference toFIG. 28, except thatmethod2900 may be used with a CDMA communication network. Atblocks2810,2812, and2814, operations ofmethod2800 may be performed as described above with reference toFIG. 28. Atblock2902 the wireless communicationhub device manufacturer2806 may send the EDF (i.e., WANN ID) to the cellular operator/carrier2808. Atblock2904 the cellular operator/carrier2808 may receive the EDF. Atblocks2824,2826,2828,2830,2832, and2834, operations ofmethod2800 may be performed as described above with reference toFIG. 28. Atblocks2906 and2908 the serviceplatform server operator2802 and the cellular operator/carrier2808 may activate the MEID and/or the wireless communication hub device. In an embodiment, the service platform server may interact with a server of the cellular operator/carrier2808 to activate the MEID and/or the wireless communication hub device. Atblock2910 the cellular operator/carrier2808 may provide a MDN and/or MSID for the wireless communication hub device. Atblock2912 the serviceplatform server operator2802 may receive the MDN and/or the MSID. Atblocks2844,2846,2848,2856, and2858, operations ofmethod2800 may be performed as described above with reference toFIG. 28.
FIG. 30 illustrates anembodiment method3000 for authenticating an electronic medical andfitness device102 through aservice platform server140. Atblock3002 the electronic medical andfitness device102 may transmit a discovery beacon. In an embodiment, the discovery beacon may be transmitted in response to a received query or may be periodically transmitted by the electronic medical andfitness device102. In this manner, electronic medical or fitness devices coupled to the wirelesscommunication hub device112 may be discovered. In an embodiment, a discovery beacon may include electronic medical andfitness device102 identification information (e.g., electronic medical or fitness device identifier) and/or device parameters. Atblock3004 the wirelesscommunication hub device112 may receive the discovery beacon. Atdetermination block3006 the wirelesscommunication hub device112 may determine if the electronic medical andfitness device102 was previously paired with the wirelesscommunication hub device112. In an embodiment, the determination of previous pairing may be made, at least in part, on electronic medical andfitness device102 information contained in the discovery beacon. If the electronic medical andfitness device102 was previously paired with the wireless communication hub device112 (i.e.,determination block3006=“Yes”), atblock3020 the wirelesscommunication hub device112 may enable pairing between with the electronic medical andfitness device102. Atblock3022 and3024 the electronic medical andfitness device102 and the wireless communication hub device may pair with each other.
If the electronic medical andfitness device102 was not previously paired with the wireless communication hub device112 (i.e.,determination block3006=“No”), atblock3008 the wirelesscommunication hub device112 may send a device authentication request to theservice platform server140. In an embodiment by sending the device authentication request the wirelesscommunication hub device112 may be identifying each discovered electronic medical or fitness device to theservice platform server140. Atblock3010 theservice platform server140 may receive the authentication request. In an embodiment, the authentication request may include electronic medical andfitness device102 identification information (e.g., an identifier of the electronic medical or fitness device) and/or device parameters. Atdetermination block3012 theservice platform server140 may determine if the electronic medical andfitness device102 is authenticated. In an embodiment, theservice platform server140 may compare electronic medical andfitness device102 information (e.g., ID and device parameter) to an authorized electronic medical and fitness device list (e.g., a “white list”) to determine if the electronic medical andfitness device102 information is on the authorized list and/or if the information provided matches the information on the list. Alternatively, or in addition, theservice platform server140 may compare identifier information to a list of identifiers which are specifically not authorized or precluded (e.g., a “black list”) to determine when the electronic or fitness device should not be authorized for pairing.
If the electronic medical andfitness device102 is authenticated (i.e.,determination block3012=“Yes”), atblock3018 theservice platform server140 may send a “success” message to the wirelesscommunication hub device112. Atblock3028 the wirelesscommunication hub device112 may receive the “success” message. Atblock3020 the wirelesscommunication hub device112 may enable pairing between with the electronic medical andfitness device102. Atblock3022 and3024 the electronic medical andfitness device102 and the wirelesscommunication hub device112 may pair with each other. If the electronic medical andfitness device102 is not authenticated (i.e.,determination block3012=“No”), atblock3014 theservice platform server140 may send an “unsuccessful message” to the wirelesscommunication hub device112. Atblock3026 the wirelesscommunication hub device112 may receive the “unsuccessful” message. Atblock3016 the wirelesscommunication hub device112 may disable pairing with the electronic medical andfitness device102. In a further embodiment, a wirelesscommunication hub device112 may be a “service all” type hub and theservice process server140 may authenticate an electronic medical andfitness device102 if simply the device type parameter matches an authorized device type list and/or authentication.
FIG. 10 is a component block diagram illustrating acommunication system3100 with multiple-wirelesscommunication hub devices112a,112benabled by the various embodiments. In a geographic location3102 (e.g., a user's house) wirelesscommunication hub devices112a,112b, and electronic medical andfitness devices102c,102d, and102emay be operating. Electronic medical andfitness devices102c,102d, and102emay communicate with wirelesscommunication hub devices112a, and112b, respectively, viacommunication pathways3104,3106, and3110, respectively. In an embodiment, wirelesscommunication hub devices112aand112bmay communicate viacommunication pathway3112. In an embodiment, one wirelesscommunication hub device112amay be a master hub and wirelesscommunication hub device112bmay be a slave hub. Electronic medical andfitness devices102emay send its electronic medical and fitness data to wirelesscommunication hub device112b. In the master/slave embodiment, the wirelesscommunication hub device112bmay not have a communication link established with theservice platform server140, but rather must send and/or receive data with wirelesscommunication hub device112 which may then send and/or receive data with theservice platform server140 viacommunication pathway3108. In an alternative embodiment, wirelesscommunication hub device112bmay have itsown communication pathway3114 with theservice platform server140 and may send/receive its own data with theservice platform server140 viacommunication pathway3114. In this manner, one wirelesscommunication hub device112aor112bmay be a master and the other a slave, or both may be equals. In this manner, thecommunication pathway3112 established between the wirelesscommunication hub devices112aand112bmay serve as a backup connection pathway to theservice platform server140 and/or enable local data sharing at thegeographic location3102. In a further embodiment, electronic medical andfitness devices102c,102d, and102emay be pre-paired with both wirelesscommunication hub devices112aand112b, thus the electronic medical andfitness devices102c,102d, and102emay be enabled to roam between the wirelesscommunication hub devices112aand112bwithout requiring re-authentication by theservice process server140. In a further embodiment, wirelesscommunication hub devices112aand112bmay not be in the samegeographic location3102.
FIG. 11 illustrates anembodiment method3200 enabling multi-wirelesscommunication hub device112a,112bmulti-electronic medical andfitness device102d,102edata sharing. Inmethod3200 the respective electronic medical andfitness devices102d,102e, may have previously established communication pathways with their respective wirelesscommunication hub devices112a,112b. Additionally, the respective wirelesscommunication hub devices112a,112bmay have previously established communication pathways with theservice platform server140. Atblock3202 electronic medical andfitness device102dmay transmit electronic medical and fitness device data to the wirelesscommunication hub device112a. Atblock3204 the wirelesscommunication hub device112amay receive the electronic medical and fitness device data, and atblock3206 may store the electronic medical and fitness device data. Atblock3208 the wirelesscommunication hub device112 may transmit the electronic medical and fitness device data to theservice platform server140. Atblock3212 theservice platform server140 may store the electronic medical and fitness device data. Atblock3214 the electronic medical andfitness device102emay transmit a request for electronic medical and fitness device data. In an embodiment the request may identify the originating electronic medical and fitness device, a time period, quantity, etc. Atblock3216 the wirelesscommunication hub device112bmay receive the request. Atblock3218 the wirelesscommunication hub device112bmay transmit the request to theservice platform server140. Atblock3220 the service platform server may receive the request. In an embodiment, theservice platform server140 may retrieve the requested electronic medical and fitness device from a memory. Atblock3222 theservice platform server140 may transmit the electronic medical and fitness device data to the wirelesscommunication hub device112b. Atblock3224 the wirelesscommunication hub device112bmay receive the electronic medical and fitness device data. Atblock3226 the wirelesscommunication hub device112bmay transmit the electronic medical and fitness device data to the electronic medical andfitness device102e. Atblock3228 the electronic medical andfitness device102emay receive the electronic medical and fitness device data.
FIG. 12 illustrates anembodiment method3300 enabling multi-wirelesscommunication hub device112a,112bmulti-electronic medical andfitness device102d,102edata sharing without data sharing communications to a service platform server. Inmethod3300 the respective electronic medical andfitness devices102d,102e, may have previously established communication pathways with their respective wirelesscommunication hub devices112a,112b. Additionally, the respective wirelesscommunication hub devices112a,112bmay have previously established a communication pathway with each other. Atblock3302 electronic medical andfitness device102dmay transmit electronic medical and fitness device data to the wirelesscommunication hub device112a. Atblock3304 the wirelesscommunication hub device112amay receive the electronic medical and fitness device data, and atblock3306 may store the electronic medical and fitness device data. Atblock3308 the electronic medical andfitness device102emay transmit a request for electronic medical and fitness device data. In an embodiment the request may identify the originating electronic medical and fitness device, a time period, quantity, etc. Atblock3310 the wirelesscommunication hub device112bmay receive the request. Atblock3310 the wirelesscommunication hub device112bmay transmit the request to wirelesscommunication hub device112a. Atblock3312 the wirelesscommunication hub device112amay receive the request. In an embodiment, the wirelesscommunication hub device112amay retrieve the requested electronic medical and fitness device from a memory. Atblock3316 the wirelesscommunication hub device112amay transmit the electronic medical and fitness device data to the wirelesscommunication hub device112b. Atblock3318 the wirelesscommunication hub device112bmay receive the electronic medical and fitness device data. Atblock3320 the wirelesscommunication hub device112bmay transmit the electronic medical and fitness device data to the electronic medical andfitness device102e. Atblock3322 the electronic medical andfitness device102emay receive the electronic medical and fitness device data.
FIG. 13 illustrates anembodiment method3400 for managing device polling by a wireless communication hub device. In an embodiment themethod3400 may be implemented by a service platform server and the polling sequence may be provided to a wireless communication hub device. Atblock3402 the service process server may receive an active device list. In an embodiment, an active device list may be a list of all active electronic medical and fitness devices paired with a wireless communication hub device. Atblock3404 the service process server may determine the priority for each device. In an embodiment, device priority may be determined based on the device type (e.g., heart rate monitors may be given a higher priority and weight scales may be given a lower priority) and/or sampled data importance (e.g., glucose meter for a diabetic may be given the highest priority). Also, device priority may be specified by a user, by the service platform server, or a third party (e.g., a physician) accessing the service platform server. Atblock3406 the service platform server may determine the available antennas on the wireless communication hub device and/or the active devices. Atblock3408, the service platform server may determine the user settings related to device polling. As an example, user settings may include user priority settings for devices, user antenna restrictions, user settings related to cost of transmission (e.g., power saving settings and/or money saving settings), preset polling algorithm selections, etc. At block3410 a polling algorithm may be applied as a function of priority, available antennas, and/or user settings. Based on the applied polling algorithm, at block3412 a polling sequence may be generated. In an embodiment, the service platform server may transmit the polling sequence to the wireless communication hub device for execution. In an alternative embodiment, themethod3400 may be implemented locally by a wireless communication hub device.
In an embodiment, the wireless communication hub device and an electronic medical and fitness device may be pre-paired before registration and use with the service platform server. Prior to bundling the wireless communication hub device and electronic medical and fitness device together to form a kit, the electronic medical and fitness device and the wireless communication hub device may be pre-paired. The pre-pairing registration may be performed over a short-range radio interface between the electronic medical and fitness device (e.g., a Bluetooth® connection). After pairing, each of the wireless communication hub device and the electronic medical and fitness device may be provided with each other's identity and may be paired if they're on and in radio-range proximity of each other. In an embodiment, a customer server may register the pairing on the customer side and may notify the service platform server of the pairing for storing in a repository and subsequent authentication request from the wireless communication hub device.
In an embodiment, a new wireless communication hub device may be provided to a user who already is operating an existing electronic medical and fitness device. The new wireless communication hub device retailer may determine from their records or from a customer server that the user requesting the new wireless communication hub device is already utilizing the existing electronic medical and fitness device in their home and that the existing electronic medical and fitness device is capable of operating with the new wireless communication hub device. The retailer may register the pairing of the user's existing electronic medical and fitness device and the new wireless communication hub device at a customer server and the customer server may notify the service platform server of the pairing for storing in a repository and subsequent authentication request from the wireless communication hub device. The retailed may only ship the new wireless communication hub device (rather than a kit including an electronic medical and fitness device) to the user.
In an embodiment, a new electronic medical and fitness device not previously registered to a user may be registered with the service platform server, the wireless communication hub device, and/or a customer server. In an embodiment, a user may obtain a new electronic medical and fitness device from an indirect channel, such as not from a device/hub retailer or customer server operator. The user may need to resister the new electronic medical and fitness device to an existing wireless communication hub device. The user may contact the retailer/customer server operator by phone or web-portal to register the new electronic medical and fitness device. The retailer/customer server operator may register the new electronic medical and fitness device. The retailer/customer server operator may register the pairing of the new electronic medical and fitness device and the user's existing wireless communication hub device at the customer server. The customer server may notify the service platform server of the pairing for storing in a repository and subsequent authentication request from the wireless communication hub device.
In an embodiment, a new wireless communication hub device may be activated. The retailed/customer may register the new wireless communication hub device at the customer server. The customer server may notify the service platform server of the newly registered wireless communication hub device and provide the appropriate information to register and activate the new wireless communication hub device (e.g., the wireless communication hub device's serial number, SIM ID, number, etc).
In an embodiment, a wireless communication hub device may be deactivated. A retailer/customer server operator may determine that an existing wireless communication hub device in the field is not being used, or a user may request deactivation of the wireless communication hub device. The retailer/customer server operator may register the deactivation request with the customer server. The customer server will notify the service platform server of the deactivation. In an embodiment the service platform server may use an appropriate interface to a cellular operator to deactivate the wireless communication hub device, such as by deactivating the WWAN module. In an embodiment, notification of deactivation may be sent back to the customer server from the service platform server.
In an embodiment, a previously deactivated wireless communication hub device may be reactivated. A user of a previously deactivated wireless communication hub device may contact the retailer/customer server operator to request reactivation. The retailer/customer server operator may register a reactivation request with the customer server. The customer server may notify the service platform server of the reactivation request. The service platform server may perform appropriate interfaces with a cellular operator to reactivate the wireless communication hub device, such as reactivating the WWAN module. In an embodiment, notification of reactivation may be sent back to the customer server from the service platform server.
In an embodiment, a user may receive a kit containing a pre-paired wireless communication hub device and an electronic medical and fitness device. The user may open the kit and plug the wireless communication hub device into a wall-socket. The first time the wireless communication hub device powers on, the wireless communication hub device may perform self-tests and establish a data call on the cellular operator's network. The wireless communication hub device may then perform registration operations with the service platform server and exchange information with the service platform server. After receiving an acknowledgement from the service platform server the wireless M2M communications hub may be ready to perform other tasks.
In an embodiment, a wireless communication hub device may discover a USB radio dongle (e.g., ANT+) that connects to a USB port of the wireless communication hub device. The USB radio dongle may be authenticated and if successful and appropriate USB interface driver may be identified by the wireless communication hub device and used locally. The radio dongle may now become an additional short-range radio on the wireless communication hub device and may communicate with any registered electronic medical and fitness device (e.g., ANT+ weight scale). In an embodiment, if registration is unsuccessful the radio dongle may be unusable.
In an embodiment, an electronic medical and fitness device may connect to the wireless communication hub device USB port. The wireless communication hub device may discover the electronic medical and fitness device is connected on the USB port. An appropriate USB interface driver may be identified and used locally. The USB electronic medical and fitness device may be authenticated and if successful may be used as described above with the wireless communication hub device locally.
In an embodiment, the wireless communication hub device may already be successfully registered with the service platform server and thru active search and/or listening may discover an electronic medical and fitness device in proximity. In an embodiment, the electronic medical and fitness device and the wireless communication hub device may have been pre-paired, and upon discovery the electronic medical and fitness device and the wireless communication hub device may immediately begin to communicate. In an alternative embodiment, some form of authentication of the electronic medical and fitness device may be performed by the wireless communication hub device prior to communication exchange and may be stored or sent to the service platform server. In a further embodiment, once communication with the electronic medical and fitness device is complete, the wireless communication hub device may check all other short-range radios to determine if there are other electronic medical and fitness devices that may want to communicate. In an embodiment if none are found the wireless communication hub device may come back to the first radio to start the communication session with the next electronic medical and fitness device.
In an embodiment, during electronic medical and fitness device discover the wireless communication hub device may receive pairing information from the electronic medical and fitness device. In an embodiment the wireless communication hub device may determine the electronic medical and fitness device is not on a local paired device list. The wireless communication hub device may send an electronic medical and fitness device authentication request to the service platform server. In an embodiment, the service platform server may have stored the pairing details for the electronic medical and fitness device previously received from the customer server. If the electronic medical and fitness device pairing details are stored it may send a “successful” message to the wireless communication hub device and the electronic medical and fitness device may be added to the local paired device list. If the electronic medical and fitness device pairing details are not stored on the service platform server the service platform server may send an “unsuccessful” message to the wireless communication hub device and the electronic medical and fitness device may be denied service by the wireless communication hub device.
In an embodiment, a user may be operating two wireless communication hub devices in their home, and two electronic medical and fitness devices received with each of the respective wireless communication hub devices. Each electronic medical and fitness device may be newly paired with the other wireless communication hub device as if it were a new electronic medical and fitness device as described above.
In an embodiment, communications between various electronic medical and fitness devices and the wireless communication hub device thru various radio links and USB connections may be managed by the wireless communication hub device either concurrently, in some sequential round robin, in hybrid, or other fashion.
In an embodiment, the wireless communication hub device may store electronic medical device data. The wireless communication hub device may receive a data payload containing payload data from each electronic medical and fitness device it is communicating with when a measurement on a respective electronic medical and fitness device is taken and may store the payload data locally. Utilizing some threshold and/or timer approach, the wireless communication hub device may then upload the data payload to the service platform server.
In an embodiment, the wireless communication hub device may periodically receive notifications form the service platform server over a data call (e.g., TCP/IP) and may respond accordingly. In an embodiment, the wireless communication hub device may periodically receive notification from the service platform server via a mobile terminated (MT) short message service (SMS) message. In an embodiment, to the wireless communication hub device's immediate attention, the service platform server may send a MT SMS to the wireless communication hub device for various reasons (such as to run a diagnostic check, for a pairing update, firmware/software OTA update, security check, authentication, re-authentication, other commands, a persistent data connection failure, and/or communication threshold expiration, etc). In an embodiment, in response to the MT SMS, the wireless communication hub device may immediately wake up and establish a data call with the service platform server, and process next operations as directed by the service platform server.
In an optional embodiment, the wireless communication hub device may periodically go into a low power mode. In an embodiment, the wireless M2M communication mode may not maintain a data call actively with the service platform server to conserve resources, but may periodically set up a data call with the service platform server, such as on an ad-hoc basis (e.g., stored data needs to be uploaded), on an exception basis (e.g., when receiving an SMS message), and/or on a hybrid combination of approaches.
In an embodiment, the wireless communication hub device may receive a notification to upgrade firmware/software. In an embodiment, the wireless communication hub device may establish a data call (e.g., TCP/IP) with the service platform server and the service platform server may push the upgrade build file(s) to the wireless communication hub device. In an embodiment, the wireless communication hub device may receive the upgrade build file(s) and management software on the wireless communication hub device may update the new build.
In an embodiment, an electronic medical and fitness device may utilize the wireless communication hub device to access data from other electronic medical and fitness devices currently, or previously, connected to the wireless communication hub device, or to other wireless communication hub devices (located in the same geographic location or elsewhere). In an embodiment, the other electronic medical and fitness devices may be owned/operated by the same user or may be owned/operated by different users. In an embodiment, the wireless M2M hub may have access to all shareable data on the wireless communication hub device, get data from the service platform server, request data from the service platform server stored on other wireless communication hub devices, and/or a hybrid combination of all approaches. In an embodiment, sharing and business agreements may control data shareability/availability.
In an embodiment, multiple users in a household may utilize the same electronic medical and fitness device (e.g., a weight scale, blood pressure monitor, etc.). In an embodiment, a determination as to the user currently utilizing the electronic medical and fitness device may be made. In an embodiment, the electronic medical and fitness device may determine the identity of the user. In an embodiment, user identification data may be included in the data sent from the electronic medical and fitness device to the wireless communication hub device.
In an embodiment, the wireless communication hub device may not include a battery backup, in this manner removing the wireless communication hub device from a power source (e.g., unplugging from the wall, power outage, etc) may result in all data stored on the wireless communication hub device being lost.
In an embodiment, the service platform server may store data received from an electronic medical and fitness device via a wireless communication hub device (e.g., store data payloads in an online transaction processing (OLTP) database and may upline the data (e.g., to a customer server over a web services API) based on registration (e.g., device, hub, and/or customer/user).
In an embodiment, the service platform server may receive single (and/or batch) events, commands, and/or messages from a customer server (or multiple customer servers) and forward them to an electronic medical and fitness device via a wireless communication hub device. In an embodiment, the wireless communication hub device may send a receipt acknowledgement to the service platform server may which may forward the receipt acknowledgement to the customer server that originated the event, command, and/or message. In an embodiment, if multiple events, commands, and/or messages are intended for a wireless communication hub device they may be batched to the wireless communication hub device.
In an embodiment, the service platform server may be enabled to direct wireless communication hub device diagnostic troubleshooting. In an embodiment, the troubleshooting may be accomplished remotely from the service platform server over a data call established between the service platform server and the wireless communication hub device. In an alternative embodiment, a diagnostic tool may be connected to the wireless communication hub device's USB port to enable diagnostic troubleshooting. In an embodiment, the service platform server may perform remote diagnostics to determine and/or resolve data connectivity issues with the wireless communication hub device. In an embodiment, resolution of data connectivity issues may involve the cellular operator interface and/or the wireless communication hub device operator/user interface. In an embodiment, if WWAN coverage is lost or coverage is spotty the service platform server may field the associated customer service request and resolution of the issues may involve the cellular operator interface and/or the wireless communication hub device operator/user interface.
In an embodiment, the wireless communication hub device may encapsulate device data files in a manner such that the encapsulated device data files tunnel through the gateway in a different protocol than they are received in the gateway.
The embodiments described above may be implemented with any of a variety of server devices, such as theserver1400 illustrated inFIG. 14. Such aserver1400 typically includes aprocessor1401 coupled to volatile memory1402 and a large capacity nonvolatile memory, such as adisk drive1403. Theserver1400 may also include a floppy disc drive and/or a compact disc (CD) drive1406 coupled to theprocessor1401. Theserver1400 may also include network access ports1404 coupled to theprocessor1401 for establishing data connections withnetwork circuits1405, such as the Internet.
The embodiments described above may be implemented with any of a variety of server devices, such as theserver1500 illustrated inFIG. 15. Such aserver1500 typically includes aprocessor1501 coupled tovolatile memory1502 and a large capacity nonvolatile memory, such as adisk drive1503. Theserver1500 may also include a floppy disc drive and/or a compact disc (CD) drive1506 coupled to theprocessor1501. Theserver1500 may also includenetwork access ports1504 coupled to theprocessor1501 for establishing data connections withnetwork circuits1505, such as the Internet.
The embodiments may also be implemented on any of a variety of mobile devices, an example of which is illustrated inFIG. 16. For example, an exemplarymobile receiver device1600 may include aprocessor1601 coupled tointernal memory1602, adisplay1603, and to a network access port1609 (e.g., a USB port). Additionally, themobile receiver device1600 may have anantenna1604 for sending and receiving electromagnetic radiation that is connected to a wireless data link and/orcellular telephone transceiver1605 and to a localarea wireless transceiver1608, both coupled to theprocessor1601. Mobile receiver devices typically also include akey pad1606 or miniature keyboard and menu selection buttons orrocker switches1607 for receiving user inputs.
Theprocessors301,1401,1501,1601 in the various devices may be any programmable microprocessor, microcomputer or multiple processor chip or chips that can be configured by software instructions (applications) to perform a variety of functions, including the functions of the various embodiments described herein. In some devices,multiple processors301,1401,1501,1601 may be provided, such as one processor dedicated to wireless communication functions and one processor dedicated to running other applications. Typically, software applications may be stored in theinternal memory301,1401,1501,1601 before they are accessed and loaded into theprocessor301,1401. In some mobile devices, theprocessor301,1401,1501,1601 may include internal memory sufficient to store the application software instructions. In some devices, the secure memory may be in a separate memory chip coupled to theprocessor301,1401,1501,1601. In many devices theinternal memory302,1402,1502,1602 may be a volatile or nonvolatile memory, such as flash memory, or a mixture of both. For the purposes of this description, a general reference to memory refers to all memory accessible by theprocessor301,1401,1501,1601, includinginternal memory302,1402,1502,1602 removable memory plugged into the device, and memory within theprocessor301,1401,1501,1601 itself.
Further details regarding the various embodiments are provided in the drawings that are included in the drawings but not described above, and in the technical specifications which are attached hereto as Attachment A. Attachment A and all drawings of this application, including those not discussed above are part of this provisional application.
The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of the various embodiments must be performed in the order presented. As will be appreciated by one of skill in the art the order of steps in the foregoing embodiments may be performed in any order. Words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Further, any reference to claim elements in the singular, for example, using the articles “a,” “an” or “the” is not to be construed as limiting the element to the singular.
The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some steps or methods may be performed by circuitry that is specific to a given function.
In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module executed which may reside on a non-transitory, tangible computer-readable storage medium. Non-transitory computer-readable media include any available computer storage media that may be accessed by a computer. By way of example, and not limitation, such non-transitory computer-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to carry or store desired program code in the form of instructions or data structures and that may be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable medium and/or non-transitory computer-readable medium, which may be incorporated into a computer program product.
The preceding description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.