MODULAR PAGING DEVICE
CLAIM OF PRIORITY [0001] This application is a continuation-in-part application of and claims priority benefit from U.S. Patent Application No. 16/040,081, filed on July 19, 2018 and entitled“MODULAR PAGING DEVICE,” and which is hereby incorporated by reference herein in its entirety.
TECHNICAL FIELD [0002] The present invention relates to a portable electronic device for storage and transfer of digital data.
BACKGROUND
[0003] Current paging technology is cumbersome and out of date, forcing restrictions with accessibility and utility on its users. Pagers generally include receiving circuitry to receive a signal from a remote transmitting station and respond with an audio or visual notifications to notify a user of the page. To satisfy the paging function, pagers differ from telephone equipment in that pagers do not include transmission capabilities, but only receiver capabilities. Pagers do not support real time, two-way communication.
[0004] Presently, a majority of hospitals utilize pagers as a means of communication between healthcare providers due to the low cost, battery' life, and robust network architecture. Despite these benefits, pagers still come with significant drawbacks and limitations as a result of the limited of two-way communication, and limited display capabilities.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which:
[0006] FIG. 1 is a network diagram depicting a client-server system, within which one example embodiment may be deployed.
[0007] FIG. 2 is a block diagram illustrating components of a paging system, according to some example embodiments.
[0008] FIG. 3 is a flowchart illustrating operations of the paging system in forwarding message data to a client device, according to some example embodiments.
[0009] FIG. 4 is a flowchart illustrating operations of the paging system in forwarding message data to a client device, according to some example embodiments.
[0010] FIG. 5 is a flowchart illustrating operations of the paging system in delivering a response to message data, according to some example embodiments.
[0011] FIG. 6 is a diagram illustrating various functional components of a pager module, according to some example embodiments.
[0012] FIG 7 is a diagram illustrating various embodiments of a pager module.
[0013] FIG. 8 is an interaction diagram illustrating a flow of data, according to some example embodiments.
[0014] FIG. 9 is an interface diagram illustrating a graphical user interface presented at a client device, according to certain example embodiments
[0015] FIG. 10 is an interface diagram illustrating a graphical user interface presented at a client device, according to certain example embodiments.
[0016] FIG. 11 is an interface diagram illustrating a graphical user interface presented at a client device, according to certain example embodiments
[0017] FIG. 12 is an interface diagram illustrating a graphical user interface presented at a client device, according to certain example embodiments.
[0018] FIG. 13 is a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions may be executed
for causing the machine to perform any one or more of the methodologies discussed herein.
DETAILED DESCRIPTION
[0019] Reference will now be made in detail to specific example embodiments for carrying out the inventive subject matter. Embodiments may be practiced without some or all of these details. It will be understood that the forgoing disclosure is not intended to limit the scope of the claims to the described embodiments. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the scope of the disclosure as defined by the appended claims. In addition, well known features may not have been described in detail to avoid unnecessarily obscuring the subject matter.
[0020] As discussed above, current paging technology is cumbersome and out of date, forcing restrictions with accessibility and utility on its users. The proposed invention discloses example embodiments that comprise a specially configured pager module, modified with the addition of a low energy
connectivity module (e.g., Bluetooth LE module (5 0)), and aims to tackle the inherent limitations of existing pagers by facilitating a link with current generation client devices such as smartphones, without necessitating any need for modifications upon existing, and already robust, pager network functionality.
[0021] In some example embodiments, a client device passes incoming messages off, through wi-fi or cellular data, to a central server. This central server handles a response request, and sends the message to a corresponding pager address found within a pager network, allowing a closed loop two-way communication handled through a graphical user interface which may be displayed at the client device. Such embodiments facilitate rapid communication through an existing pager network, while also allowing for a seamless fallback to the original pager system in the case of cellular/wi-fi network outages, such that messages remain accessible through the link between the client device and the pager module.
[0022] As a second benefit, such embodiments enable rich multi-media communication within an existing pager network. As each pager module may be associated with a specific address or device identifier (e.g., a capcode), which
would be used to identify individuals or services tied to a specific client device. For instance, a client device may be set to receive a common capcode for emergency services, as well as the capcode specific to the user. This allows for both announcements and targeted information to be received by the client device. With each user specified by a unique capcode, these codes can be used as specific identifiers for a central server to communicate multi-media information back and forth between users on a network. This has many benefits: a user can make direct phone calls using information sent through the system, request VoIP, video over IP, recorded images, recorded messages, recorded video, or file transfer, without exposing a personal phone number. As this network may be connected to the internet, communications to existing services outside of the augmented pager network would also be possible while keeping the user’s privacy tied to their unique netwOrk identifier.
[0023] Another benefit comes inherently from the improvements found in BTl .fi 5.0. Pairing and communications are extremely low energy, and do not tax the battery of the pager module itself. Introduced in BTLE 5.0 also exists the ability for extremely quick pairing to multiple devices. In this way, the multiple pager modules may be paired with a single device, or multiple devices may be paired to a single pager module. In some example embodiments, an application executing at the client device is configured to accept and parse the incoming messages for the user. In addition to this, the extended range of BTLE 5.0 allows for interesting possibilities, such as an intra-network of BT enabled pager module to communicate with client devices surrounding them (e.g., within a geo-fenced area). This could allow for emergency services to intelligently target users based off proximity and activity. Coupling this information with location services found on the client device, the server or other could use this information to assess current personnel availability.
[0024] According to certain example embodiments, a pager system transmits message data to a pager module based on attributes of the message data including an identifier of the pager module. The pager module identifies a client device in response to receiving the message data, and forwards the message data to the client device. The client device causes di splay of a notification in response to receiving the message data. In some example embodiments, the message data comprises message content which may include
text, image, video, as well as location data identifying a location, and useable by a client device to navigate a user to a destination.
[0025] In some example embodiments, a pager module may be paired or otherwise associated with one or more client devices within a database.
Messages received at the pager module may thereby be forwarded by various communication means (e.g., Bluetooth) to the one or more paired client devices. In further embodiments, the client device may respond to the messages forwarded by the pager module, and in response a central pager system may route and distribute the responses to the messages to recipient devices.
[0026] FIG. 1 is an example embodiment of a high-level client-server- based network architecture 100. A networked system 102, in the example form of a pager network, provides server-side functionality via a network 104 (e.g., the Internet or wide area network (WAN), Bluetooth) to one or more client devices 110. FIG. 1 illustrates, for example, a web client 112 (e.g., a browser, such as the Internet Explorer® browser developed by Microsoft® Corporation of Redmond, Washington State), client application(s) 114, and an enhanced paging application 116 executing on the client device 110.
[0027] The client device 110 may comprise, but is not limited to, a wearable device, mobile phone, desktop computer, laptop, portable digital assistant (PDA), smart phone, tablet, ultra-book, netbook, laptop, multi processor system, microprocessor-based or programmable consumer electronics, game console, set-top box, or any other communication device that a user may utilize to access the networked system 102. In some embodiments, the client device 110 comprises a display module (not shown) to display information (e.g., in the form of user interfaces). In further embodiments, the client device 1 10 comprises one or more of touch screens, accelerometers, gyroscopes, cameras, microphones, global positioning system (GPS) devices, and so forth. The client device 110 may be a device of a user configured to facilitate communication within the networked system 102. One or more portions of the network 104 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the public switched telephone network (PSTN), a cellular telephone network, a wireless network, a WiFi network, a
WiMax network, a Wireless Mesh Network (WMN), or a combination of two or more such networks.
[0028] The client device 1 10 may include one or more client applications 114 (also referred to as“apps”) such as, but not limited to, a web browser, messaging application, electronic mail (email) application, a navigation application, and the like. In some embodiments, the client application(s) 114 is configured to locally provide the user in terface and at least some of the functionalities with the client application(s) 1 14 configured to communicate with the networked system 102, on an as needed basis, for data or processing capabilities not locally available (e.g., access to a database of items available for sale, to authenticate a user, to verify a method of payment). Conversely, the client device 110 may use its web browser to access data hosted on the networked system 102 to generate and provide various user interfaces.
[0029] One or more users 106 may be a person, a machine, or other means of interacting with the client device 1 10. In example embodiments, the user 106 is not part of the network architecture 100, but may interact with the network architecture 100 via the client device 1 10 or other means. For instance, the user 106 provides input (e.g., touch screen input, alphanumeric input, text-to-speech, or speech-to-text) to the client device 110 and the input is communicated to the networked system 102 via the network 104. In this instance, the networked system 102, in response to receiving the input from the user 106, communicates information to the client device 110 via the network 104 to be presented to the user 106. In this way, the user 106 can interact with the networked system 102 using the client device 110.
[0030] An application program interface (API) server 120 and a web server 122 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 140. The application server(s) 140 may host a paging system 150, which provides functionality operable to provide a means for managing links between one or more client device (e.g., client device 110), and a pager module 130, enabling a single device (e.g., the client device 110) to be utilized for both authentication and paging. For example, the paging system 150 distributes message data across the network 102 to a pager module 130. The pager module 130 identifies the client device 110 based on factors includi ng attributes of the message data, and associati ons of
pager identifiers and device identifiers located within the database(s) 126, and forwards the message data to the identified client device (e.g., client device 110). The enhanced paging application 116 causes display of a notification in response to receiving the message data at the client device 1 10.
[0031] Further, while the client-server-based network architecture 100 shown in FIG. 1 employs a client-server architecture, the present inventive subject matter is of course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system, for example. The paging system 150 could also be implemented as standalone software programs, which do not necessarily have networking capabilities.
[0032] The web client 112 may access the various publication and payment systems 142 and 144 via the web interface supported by the web server 122. Similarly, the enhanced paging application 1 16 accesses the various sendees and functions provided by the paging system 150 via the programmatic interface provided by the API server 120. The enhanced paging application 116 may, for example, generate and cause display of notifications in response to receiving message data from an associated pager module 130.
[0033] FIG. 2 is a block diagram illustrating components of the paging system 150 that configure the paging system 150 to distribute message data to a pager module 130, forward the message data from the pager module 130 to a client device 110, and cause display of a notification at the client device 110 in response to receiving the message data, according to some example
embodiments. The paging system 150 is shown as including a receiver module 202, an identification module 204, a communication module 206, and a notification module 208, all configured to communicate with each other (e.g., via a bus, shared memory, or a switch). Any one or more of these modules 202- 208 may be implemented using one or more processors 210 (e.g., by configuring such one or more processors 210 to perform functions described for that module) and hence may include one or more of the processors 210.
[0034] Any one or more of the modules 202-208 described may be implemented using hardware alone (e.g., one or more of the processors 210 of a machine) or a combination of hardware and software. For example, any module described of the paging system 150 may physically include an arrangement of one or more of the processors 210 (e.g., a subset of or among the one or more
processors of the machine) configured to perform the operations described herein for that module. As another example, any module of the paging system 150 may include software, hardware, or both, that configure an arrangement of one or more processors 210 (e.g., among the one or more processors of the machine) to perform the operations described herein for that module.
Accordingly, different modules of the paging system 150 may include and configure different arrangements of such processors 210 or a single arrangement of such processors 210 at different points in time. Moreover, any two or more modules of the paging system 150 may be combined into a single module, and the functions described herein for a single module may be subdivided among multiple modules. Furthermore, according to various example embodiments, modules described herein as being implemented within a single machine, database, or device may be distributed across multiple machines, databases, or devices
[0035] FIG. 3 is a flowchart illustrating operations of the paging system 150 in performing a method 300 of forwarding message data from a pager module 130 to a client device 110, according to some example embodiments.
[0036] In operation 302, the paging system 150 transmits message data received from a first client device to the pager module 130. The first client device may include the database server 124, as well as a third party device executed by a third party. The message data comprises at least message content, a device identifier, a user identifier, and a pager identifier. For example, a user may generate and send a page from a central system associated with the database server 124, wherein the page includes an identification of a specific pager, individual, or group identifier for a group of individuals.
[0037] In some embodiments, the paging system 150 may further comprise a protocol converter to convert between messaging protocols. For example, message data received from the first client device may be in a first protocol not supported by the pager module 130. In response to receiving the message data from the first client device, the protocol converter converts the message data into a protocol suitable for the pager module 130.
[0038] In operation 304, a receiver module 202 associated with the pager module 130 receives the message data through the network 104. In some embodiments the network 104 may include a Simple Network Paging Protocol
(SNPP), a Telelocator Alphanumeric Protocol (TAP), FLEX, ReFLEX, Post Office Code Standardisation Advisory Group (POCSAG), GOLAY, Enhanced Radio Messaging System (ERMS), and NTT
[0039] In operation 306, an identification module 204 identifies a second client device (e.g., the client device 1 10) to forward the message data, and provides the pager module 130 with an address of the identified client device. In some example embodiments, the pager module 130 may be paired or otherwise linked to the client device 110 via a wireless means including Bluetooth and Personal Area Networks (PANs). In further embodiments, a pager identifier associated with the pager module 130 may be linked with a device identifier or user identifier associated with the client device 110 within the database(s) 126.
[0040] In operation 308, a communication module 206 associated with the pager module 130 forwards the message data to the second client device (e.g., client device 110). In some example embodiments, the pager module 130 may communicate with the client device 110 via Bluetooth, or a PAN. In response to receiving the message data, at operation 310 a notification module 208 associated with the client device 1 10 generates and causes display of a notification that includes a presentation of the message data within a graphical user interface displayed at the client device 1 10 For example, the presentation may include a display of message content of the message data, as well as an indication of a sender of the message data.
[0041] FIG. 4 is a flowchart illustrating operations of the paging system 150 in performing a method 400 of forwarding message data from a pager module 130 to a client device 110, according to some example embodiments.
As shown in FIG. 4, one or more operations 402, and 404 may be performed as part (e.g., a precursor task, a subroutine, or a portion) of the method 300, according to some example embodiments.
[0042] In operation 402, the paging system 150 associated a pager identifier of the pager module 130 to one or more user identifiers or device identifiers associated with at least the client device 1 10 within the database(s) 126. For example, an administrator of the paging system 150 may provide inputs to specify a link between the pager module 130 and the client device 110. In further embodiments, in response to detecting a pairing of the pager module
130 to the client device 110, the paging system 150 updates the database(s) 126 to reflect the connection of the devices.
[0043] In operation 404, in response to receiving the message data at the pager module 130 at operation 304 of the method 300, the paging system 150 and/or the pager module 130 identifies the client device 110 from among one or more client devices, based on the information within the database(s) 126. In some example embodiments, the message data may include a device identifier or user identifier that identifies the client device 1 10.
[0044] FIG. 5 is a flowchart illustrating operations of the paging system 150 in performing a method 500 of delivering a response to the message data, according to some example embodiments. As shown in FIG. 5, one or more operations 502, 504, and 506 may be performed as part (e.g., a precursor task, a subroutine, or a portion) of the method 300, according to some example embodiments.
[0045] In operation 502, the communication module 206 of the paging system 150 receives a response to the message data from the second client device (e.g., client device 1 10). The response to the message data may include message attributes that include a tag that identifies the message data, a pager identifier that identifies the pager module 130, and a device identifier that identifies the client device 110.
[0046] In operation 504, the paging syste determines a destination for the response based on the message attributes, and at operation 506, the paging system 150 delivers the response to the destination (e.g., the first client device), via the network 104.
[0047] FIG. 6 is a diagra 600 illustrating various functional components of a pager module 130. As seen in the diagram 600, the pager module 130 may comprise a demodulator 602, a transmitter 604, an antenna 606, an inductive charging coil 608, and a battery 610, all enclosed within an enclosure 612.
[0048] In some example embodiments, the demodulator 602 includes a Frequency Shift Keying (FSK) Demodulator, configured to transmit digital information (e.g., message data) through discrete frequency changes of a carrier signal.
In some example embodiments, the transmitter 604 includes a short wave radio frequency transmitter (e.g., Bluetooth), configured to forward message data between the pager module 130 and a paired client device 110.
[0050] In some example embodiments the antenna 606 includes a loop antenna consisting of a loop of wire, and fully enclosed by the enclosure 612. In some example embodiments, the antenna 606 is integrated into a portion of the enclosure 612. For example, the enclosure 612 may comprise multiple components that come together to form the enclosure 612. In some
embodiments, the antenna 606 may be molded or formed into one or more of the components of the enclosure 612
[0051] In some example embodiments, the antenna 606 may be formed into a frame that encompasses a perimeter of a surface of the enclosure 612.
[0052] In some example embodiments, the charging coil 608 includes one or more exposed charging leads to enable a use to plug the pager module 130 into an outlet (e.g., USB).
[0053] In some example embodiments, the enclosure 612 is the form of a proximity card, such as a contactless smart card.
[0054] FIG. 7 is a diagram illustrating various embodiments of a pager module 130 As seen in FIG. 7, the enclosure 612 of the pager module 130 may include a number of different forms. In some example embodiments, the pager module 130 itself may comprise a modular unit which may be inserted within a number of distinct enclosures (e.g., the enclosure 612 of FIG. 6).
[0055] In some example embodiments, the enclosure 612 that houses the pager module 130 (as seen in FIG. 6) may include the tethered enclosure 702, wherein the tethered enclosure 702 may be communicatively coupled to the client device 110 via a cable. In some embodiments, the tethered enclosure 702 may include an extended battery unit to provide power to both the client device 1 10, as well as the pager module 130
[0056] For example, the tethered enclosure 702 may comprise a metallic, or non-metal!ic housing that includes a connection port to receive a cable, such as a Universal Serial Bus Type- A (USB A) cable, USB Type-B, Mini-USB, Micro-USB, and USB Type-C. A user 106 of a client device 110 may connect the pager module 130 to the client device 110 via the tethered enclosure 702, through the integrated connection port.
[0057] In some example embodiments, the enclosure 612 that houses the pager module 130 (as seen in FIG. 6) may include a key-fob 704. The key-fob 704 may comprise a hook or loop to detachably receive a key-ring.
[0058] In some example embodiments, the enclosure 612 that houses the pager module 130 (as seen in FIG. 6) may include a cell-phone case 706, wherein the client device 1 10 may be inserted into the cell-phone case 706. In further embodiments, the cell-phone case 706 may include an integrated extended battery that supplies battery power to both the pager module 130 as well as the client device 110.
[0059] The cell-phone case 706 may comprise a semi-flexible housing to enclose a device, such as the client device 110, wherein the semi-flexible housing encases the client devi ce 1 10, while exposing a screen of the client device 110.
[0060] In some example embodiments, the enclosure 612 that houses the pager module 130 (as seen in FIG. 6) may include a bi-fold case 708, wherein the client device 110 may be inserted into the bi-fold case 708. The bi-fold case 708 may comprise a housing to encase the client device 1 10, as well as a flap to cover a screen of the client device 110.
[0061] In some example embodiments, the enclosure 612 that houses the pager module 130 (as seen in FIG. 6) may include a band 710 (e.g., a wrist-band, an arm-band), wherein the band 710 may be worn by a user 106. The band 710 may comprise a fastener, such as a Velcro strap, an elastic band, buckle, tang buckle, deployment clasp, or pushbutton deployment clasp.
[0062] FIG. 8 is an interaction diagram 800 illustrating a flow of data, and various interactions between the paging system 150, the pager module 130, and a client device 110, according to some example embodiments.
[0063] At operation 802, a first user of the paging system 150 generates a message to be distributed to a second user. The message may for example comprise message data (e.g., text data, multi-media content, audio data), as well as a recipient address (e.g., a pager address), and an identification of the paging system 150 (e.g., a device identifier, sender address, location data that identifies a location of the paging system 150). At operation 804, the paging system 150 transmits a signal that includes the message to the pager module 130, wherein the pager module 130 is identified by the pager address of the message. In some
embodiments the signal is transmitted to the pager module 130 via a network, such as the network 104.
[0064] At operation 806, the pager module 130 receives the signal from the paging system 150. For example, the pager module 130 may receive the signal via the antenna 606, as depicted in FIG. 6. At operation 808, the demodulator 802 of the pager module 130, demodulates the signal received from the paging system 150, at the pager module 130. At operation 810, the demodulated signal is transmitted to a client device associated with the pager module 130 (e.g., client device 1 10). For example, the demodulated signal is transmitted to the client device 110 from the pager module 130 via a wireless communication medium, such as Wi-Fi, Bluetooth, or RF.
[0065] At operation 812, the client device 1 10 authenticates the signal based on the pager address indicated within the message. At operation 814, the client device 110 causes di splay of the message within a graphical user interface, in response to the authentication.
[0066] In some embodiments, at operation 814, the client device 1 10 generates and transmits a read-receipt to the paging system 150, in response to causing display of the message. The read receipt may for example include a message identifier that identifies the message, the pager identifier associated with the client device 1 10, location data that identifies a location of the client device 110 at a time of receiving the message, and a time stamp that indi cates a time in which the message was displayed at the client device. At operation 816, the paging system 150 receives the read receipt from the client device, and authenticates the read receipt based on attributes of the message. For example, the paging system 150 may authenticate the read receipt based on the message identifier, the pager identifier, or the location data.
[0067] In some embodiments, in response to verifying the message at the paging system 150, the paging system 150 may cause display of an indication that the message was received at the client device 1 10.
[0068] FIG. 9 is an interface diagram 900 illustrating a graphical user interface 905 displayed at a client device I I 0, according to certain example embodiments including embodiments described above, as in the method 300 and the interaction diagram 800.
[0069] As seen in the interface diagram 900, the graphical user interface 905 may include an interface to associate a pager module 130 with a client device 1 10. For example, the pager module 130 may be connected (i.e., paired, linked) with the client device 110 (e.g., through a wired connection or using Bluetooth). In response to detecting the connection between the pager module 130 and the client device 110, the notification module 208 may generate and cause display of the status indicator 915. The status indicator 915 may for example indicate that the pager module 130 is: connected, not connected, or intermittent.
[0070] To authenticate the connection between the client device 1 10 and the pager module 130, a user 106 may provide authentication credentials into an authentication menu 920. In some embodiments the authentication credentials may include a username and login.
[0071] In some example embodiments, the graphical user interface 905 may be configured to display a logo 910. The logo 910 may for example be preset by an administrator of the network 104, or may in further embodiments be based on a logo identifier received from the pager module 130.
[0072] For example, the pager module 130 may store a logo identifier that comprises display instructions, or a logo identifier that identifies the logo 910.
In response to detecting a connection between the pager module 130 and the client device 110, the client device 110 may retrieve the logo identifier from the pager module 130, and retrieve or otherwise access the logo 910 from a logo repository. For example, the logo repository may be accessible through the web client 112, executed at the client device 110, may be located within a memory of the client device 1 10, or may be hosted within the database 126, and accessed through the application sewers 140.
[0073] The pager module 130 may therefore be configured to display one or more logos based on configuration instructions that define a logo, such as the logo 910. For example, an administrator may configure the pager module 130 to display a particular logo.
[0074] FIG. 10 is an interface diagram 1000 illustrating a graphical user interface 1005 displayed at a client device 110, according to certain example embodiments including embodiments described above, as in the method 300 and the interaction diagram 800.
[0075] As seen in the interface diagram 1000, the graphical user interface 1005 may include a messaging interface configured to display messages (such as the message 1010) received at the pager module 130. The messaging interface may display a user identifier 1015 associated with a sender of a message, such as the message 1010. For example, the pager module 130 may receive a message that comprises message content and an identifier of a sender of the message.
The client device 1 10 may receive the message fro the pager module 130, parse the message to identify the sender of the message and the message content, and cause display of the message 1010 within the graphical user interface 1005 along with the user identifier 1015.
[0076] In some embodiments, the graphical user interface 1005 may display notifications such as the notification 1020. For example, the notification 1020 may be distributed to a group of devices associated with a message category (e.g., emergency department). For example, a user identifier or device identifier that corresponds with the user 106 may be associated with a message category', wherein the message category has a unique messaging address. In response to the user identifier or device identifier being associated with the message category', the communication module 206 may associate the pager module 130 with the unique messaging address of the message category, and the notification module 208 may display the group identifier 1030 within the graphical user interface 1005. A sender may thereby distribute a message or notification to the message category, and in response, a plurality of client devices associated with the message category may be notified simultaneously, for example by the notification 1020.
[0077] The user 106 may provide inputs into the graphical user interface 1005 using the input menu 1025. In some embodiments, the input menu 1025 may comprise a keyboard that includes set of alphanumeric icons. In some embodiments, the user 106 may toggle between different input menus. For example, the input menu 1025 may additionally include an input field in which a user may provide tactile input directly into the graphical user interface 1005, to draw' an input which may then be distributed to one or more devices.
[0078] FIG. 1 1 is an interface diagram 1100 illustrating a graphical user interface 1105 displayed at a client device 110, according to certain example
embodiments including embodiments described above, as in the method 300 and the interaction diagram 800.
[0079] As seen in the interface diagram 1100, the graphical user interface 1105 may include a group messaging interface to display messages received at one or more distinct message categories (e.g., hospital announcements, emergency department, etc.). For example a user identifier or device identifier that corresponds with the user 106 may be associated with a plurality of message categories, wherein each message category has a unique messaging address. In response to the user identifier or device identifier being associated with the plurality of message categories, the communication module 206 may associate the pager module 130 with the unique messaging address of each message category', and the notification module 208 may display the group identifiers that correspond with the message categories within the graphical user interface 1105.
[0080] In some embodiments, the group identifiers displayed within the graphical user interface 1 105 may include group attributes. For example, the group identifier 1110 includes a display of an identifier of the group identifier (e.g., EMERGENCY DEPARTMENT), a display of a number of users 1 120 associated with the group identified by the group identifier 1110, and a display of a number of messages 1115 received at the messaging address of the group identified by the group identifier 1 110.
[0081] A user 106 may select and display messages associated with a group within an interface, such as within the interface 1005.
[0082] FIG. 12 is an interface diagram 1200 illustrating a graphical user interface 1205 displayed at a client device 110, according to certain example embodiments including embodiments described above, as in the method 300 and the interaction diagram 800.
[0083] As seen in the interface diagram 1200, the graphical user interface 1205 may include a car management interface to enable a user (e.g., the user 106) to configure notification settings for messages received at the pager module 130. For example, the graphical user interface 1205 includes a display of notification setting 1210 that include an alert tone, a vibrate pattern, as well as whether or not to emit an audible alert.
The graphical user interface 1205 may also include a presentation of a battery' life indicator 1210 that comprises a display of a battery life of the pager module 130. For example, the client device 110 may retrieve a battery life value from the pager module 130 at time intervals that may be defined by the user 106, or may be predefined. In some embodiments, the pager module 130 may send a battery' life value to the client device 110 automatically and based on the intervals, while in further embodiments the client device 1 10 may request a battery life value in response to detecting the user 106 requesting a display of the graphical user interface 1205. MODULES, COMPONENTS AND LOGIC
[0084] Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules. A hardware module is tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g , a standalone, client or server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
[0085] In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special- purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
[0086] Accordingly, the term "hardware module" should he understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
[0087] Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple of such hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation, and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output.
Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
[0088] The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or
more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
[0089] Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
[0090] The one or more processors may also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs).)
ELECTRONIC APPARATUS AND SYSTEM
[0091] Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
[0092] A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
[0093] In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
[0094] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client- server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that that both hardware and software architectures merit consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.
EXAMPLE MACHINE ARCHITECTURE AND MACHINE-READABLE MEDIUM
[0095] FIG. 13 is a block diagram illustrating components of a machine 1300, according to some example embodiments, able to read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and perform any one or more of the methodologies discussed herein. Specifically, FIG. 13 shows a diagrammatic representation of the machine 1300 in the example form of a computer system, within which instructions 1316 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 1300 to perform any one or more of the methodologies discussed herein may be executed. Additionally, or alternatively, the instructions may implement the modules of FIG. 2. The instructions transform the general, non-programmed machine into a specially configured machine programmed to carry out the described and illustrated functions in the manner
described. In alternative embodiments, the machine 1300 operates as a standalone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the machine 1300 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
[0096] The machine 1300 may comprise, but not be limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 1316, sequentially or otherwise, that specify actions to be taken by machine 1300. Further, while only a single machine 1300 is illustrated, the term “machine” shall also be taken to include a collection of machines 1300 that individually or jointly execute the instructions 1316 to perform any one or more of the methodologies discussed herein
[0097] The machine 1300 includes processors 1310, memory' 1330, and I/O components 1350, which may be configured to communicate with each other such as via a bus 1302. In an example embodiment, the processors 1310 (e.g., a Central Processing Unit (CPU), a Reduced Instruction Set Computing (RISC) processor, a Complex Instruction Set Computing (CISC) processor, a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Radio-Frequency Integrated Circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, processor 1312 and processor 1314 that may execute instructions 1316. The term“processor” is intended to include multi-core processor that may comprise two or more independent processors (sometimes referred to as“cores”) that may execute instructions contemporaneously. Although FIG. 13 shows multiple processors, the machine 1300 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core process), multiple processors with a single core, multiple processors with multiples cores, or any combination thereof.
[0098] The memory/ storage 1330 may include a memory 1332, such as a
main memory, or other memory storage, and a storage unit 1336, both accessible to the processors 1310 such as via the bus 1302. The storage unit 1336 and memory 1332 store the instructions 1316 embodying any one or more of the methodologies or functions described herein. The instructions 1316 may also reside, completely or partially, within the memory 1332, within the storage unit 1336, within at least one of the processors 1310 (e.g., within the processor’s cache memory), or any suitable combination thereof, during execution thereof by the machine 1300. Accordingly, the memory 1332, the storage unit 1336, and the memory of processors 1310 are examples of machine-readable media.
[0099] As used herein,“machine-readable medium” means a device able to store instructions and data temporarily or permanently and may include, but is not be limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache memory, other types of storage (e.g., Erasable Programmable Read-Only Memory (EEPROM)) and/or any suitable combination thereof The term“machine- readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions 1316. The term“machine-readable medium” shall also be taken to include any medium, or combination of multiple media, that is capable of storing instructions (e.g., instructions 1316) for execution by a machine (e.g., machine 1300), such that the instructions, when executed by one or more processors of the machine 1300 (e.g., processors 1310), cause the machine 1300 to perform any one or more of the methodologies described herein.
Accordingly, a“machine-readable medium” refers to a single storage apparatus or device, as well as“cloud-based” storage systems or storage networks that include multiple storage apparatus or devices. The term“machine-readable medium” excludes transitory signals per se.
[00100] The I/O components 1350 may include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. The specific I/O components 1350 that are included in a particular machine will depend on the type of machine. For example, portable machines such as mobile phones will likely include a touch input device or other such input mechanisms, while a headless server machine will likely not include such a touch input device. It will be
9
appreciated that the I/O components 1350 may include many other components that are not shown in FIG. 13. The I/O components 1350 are grouped according to functionality merely for simplifying the following discussion and the grouping is in no way limiting. In various example embodiments, the I/O components 1350 may include output components 1352 and input components 1354. The output components 1352 may include visual components (e.g., a display such as a plasma display panel (PDF), a light emitting diode (LED) display, organic light-emitting diode (OLED), a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), electronic paper (e-paper), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth. The input components 1354 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components), point based input components (e.g , a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instrument), tactile input components (e.g., a physical button, a touch screen that provides location and/or force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.
[00101] In further example embodiments, the I/O components 1350 may include biometric components 1356, motion components 1358, environmental components 1360, or position components 1362 among a wide array of other components. For example, the biometric components 1356 may include components to detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measure biosignals (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram based identification), and the like. The motion components 1358 may include acceleration sensor components (e.g., accelerometer), gravitation sensor components, rotation sensor components (e.g , gyroscope), and so forth. The environmental components 1360 may include, for example, illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometer that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor
components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detection concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that may provide indications, measurements, or signals
corresponding to a surrounding physical environment. The position components 1362 may include location sensor components (e.g., a Global Position System (GPS) receiver component), altitude sensor components (e.g., altimeters or barometers that detect air pressure from which altitude may be derived), orientation sensor components (e.g., magnetometers), and the like.
[00102] Communication may be implemented using a wide variety of technologies. The I/O components 1350 may include communication components 1364 operable to couple the machine 1300 to a network 1380 or devices 1370 via coupling 1382 and coupling 1372 respectively. For example, the communication components 1364 may include a network interface component or other suitable device to interface with the network 1380. In further examples, communication components 1364 may include wired communication components, wireless communication components, cellular communication components, Near Field Communication (NFC) components, Bluetooth® components (e.g., Bluetooth® Low Energy), Wi-Fi® components, and other communication components to provide communication via other modalities. The devices 1370 may be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a Universal Serial Bus (USB)).
[00103] Moreover, the communication components 1364 may detect identifiers or include components operable to detect identifiers. For example, the communication components 1364 may include Radio Frequency
Identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect one dimensional bar codes such as Universal Product Code (UPC) bar code, multi dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify tagged audio signals). In addition, a variety of information may be
derived via the communication components 1364, such as, location via Internet Protocol (IP) geo-location, location via Wi-Fi® signal triangulation, location via detecting a NFC beacon signal that may indicate a particular location, and so forth.
TRANSMIS S ION MEDIUM
[00104] In various example embodiments, one or more portions of the network 1380 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network ( AN), the Internet, a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, a Wi-Fi® network, another type of network, or a combination of two or more such networks. For example, the network 1380 or a portion of the network 1380 may include a wireless or cellular network and the coupling 1382 may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile
communications (GSM) connection, or other type of cellular or wireless coupling. In this example, the coupling 1382 may implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (IxRTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM
Evolution (EDGE) technology, third Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiM AX), Long Term Evolution (LTE) standard, others defined by various standard setting
organizations, other long range protocols, or other data transfer technology.
[00105] The instructions 1316 may be transmitted or received over the network 1380 using a transmission medium via a network interface device (e.g., a network interface component included in the communication components 1364) and utilizing any one of a number of well-known transfer protocols (e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions 1316 may be transmitted or received using a transmission medium via the coupling 1372 (e.g.,
a peer-to-peer coupling) to devices 1370. The term“transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions 1316 for execution by the machine 1300, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
LANGUAGE
[00106] Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
[00107] Although an overview of the inventive subject matter has been described with reference to specific example embodiments, various
modifications and changes may be made to these embodiments without departing from the broader scope of embodiments of the present disclosure.
Such embodiments of the inventive subject matter may be referred to herein, individually or collectively, by the term“invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single disclosure or inventive concept if more than one is, in fact, disclosed.
[00108] The embodiments illustrated herein are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed. Other embodiments may be used and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. The Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims
are entitled.
[00109] As used herein, the term“or” may be construed in either an inclusive or exclusive sense. Moreover, plural instances may be provided for resources, operations, or structures described herein as a single instance. Additionally, boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary, and particular operations are illustrated in a context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within a scope of various embodiments of the present disclosure. In general, structures and functionality presented as separate resources in the example configurations may be implemented as a combined structure or resource. Similarly, structures and functionality presented as a single resource may be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within a scope of embodiments of the present disclosure as represented by the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.