Typically, when a message is received at a device, a notification regarding the message is immediately provided at the device. However, there may be instances when receiving such a notification regarding a particular message may be undesirable or annoying. There are currently no adequate and/or cost-effective solutions for addressing the foregoing.
Accordingly, in one aspect a device includes a processor and a memory accessible to the processor. The memory bears instructions executable by the processor to receive a first message, identify at least a first type of message to which the first message pertains, and determine whether to provide a notification at the device pertaining to the first message based on the identification.
In another aspect, a method includes receiving a first message at a device and determining whether to provide a notification regarding the first message based on a first message type to which the first message pertains.
In still another aspect, an apparatus includes a first processor, a network adapter, and storage bearing instructions executable by a second processor for determining whether to provide an alert at a device pertaining to at least one message received at the device based on a message type to which the message pertains. The first processor transfers the instructions ever a network via the network adapter.
The details of present principles, both as to their structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which:
This disclosure relates generally to device-based information. With respect to any computer systems discussed herein, a system may include server and client components, connected over a network such that data may be exchanged between the client and server components. The client components may include one or more computing devices including televisions (e.g. TVs, Internet-enabled TVs), computers such as desktops, laptops and tablet computers, so-called convertible devices (e.g. having a tablet configuration and laptop configuration), and other mobile devices including smart phones. These client devices may employ, as non-limiting examples, operating systems from Apple, Google, or Microsoft. A Unix or similar such as Linux operating system may be used. These operating systems can execute one or inure browsers such as a browser made by Microsoft of Google or Mozilla other browser program that can access web applications hosted by the Internet servers over a network such as the Internet, a local intranet, or a virtual private network.
As used herein, instructions refer to computer-implemented steps for processing information in the system. Instructions can be implemented in software, firmware or hardware; hence, illustrative components, blocks, modules, circuits, and steps are set forth in terms of their functionality.
A processor may be any conventional general purpose single or multi-chip process that can execute logic by means of various lines such as address lines, data lines, and control lines and registers and shift registers. Moreover, any logical blocks, modules and circuits described herein can be implemented or performed, in addition to a general purpose processor, iii or by a digital signal processor (DSP), a field programmable gate array (FPGA) or other programmable logic device such as an application specific integrated circuit (ASIC), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor can be implemented by a controller or state machine or a combination of computing devices.
Any software and/or applications described by way of flow charts and/or user interfaces herein can include various sub-routines, procedures, etc. It is to be understood that logic divulged as being executed by e.g. a module can be redistributed to other software modules and/or combined together in a single module and/or made available in a shareable library.
Logic when implemented in software, can be written in an appropriate language such as but not limited to C# or C++, and can be stored on or transmitted through a computer-readable storage medium (e.g. that may not be a carrier wave) such as a random access memory (RAM), read-only memory (ROM) electrically erasable programmable read-only memory (EEPROM), compact disk read-only memory (CD-ROM) or other optical disk storage such as digital versatile disc (DVD), magnetic disk storage or other magnetic storage devices including removable thumb devices, etc. A connection may establish a computer medium. Such connections an include, as examples, hard-wired cables including fiber optics and coaxial wires and twisted pair wires. Such connections may include wireless communication connections including infrared and radio.
In example, a processor can access info don over its input lines from data storage, such as the computer readable storage medium, and/or the processor can access information wirelessly from an Internet server by activating a wireless transceiver to send and receive data. Data typically is converted from analog signals to digital by circuitry between the antenna and the registers of the processor when being received and from digital to analog when being transmitted. The processor then processes the data through its shift registers to output calculated data on output lines, for presentation of the calculated data on the device.
Components included in one embodiment can be used in other embodiments in any appropriate combination, For example, any of the various components described herein and/or depicted in the Figures may be combined, interchanged or excluded from other embodiments.
“A system having at least one of A, B, and C” (likewise “a system having at least one of A, B, or C” and “a system having at least one of A, B, C”) includes systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.
“A system having one or more of A, B, and C” (likewise “a system having one or more of A, B, C” and “a system having one or more of A, B, C”) includes systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.
The term “circuit” or “circuitry” is used in the summary, description, and/or claims, As is well known in the art, the term “circuitry” includes all levels of available integration, e.g., from discrete logic circuits to the highest level of circuit integration such as VLSI, and includes programmable logic components programmed to perform the functions of an embodiment as well as general-purpose or special-purpose processors programmed with instructions to perform those functions.
Now specifically in reference to
As shown. in
In the example of
The core and memory control group 120 include one or more processors 122 (e.g., single core or multi core, etc.) and a memory controller hub 126 that exchange information via a front side bus (FSB) 124, As described herein, various components of the core and memory control group 120 may be integrated onto a single processor die, for example, to make a chip that supplants the conventional “northbridge” style architecture.
The memory controller hub 126 interfaces with memory 140, For example, the memory controller hub 126 may provide support DDR SDRAM memory (e.g., DDR, DDR2, DDR3, etc.)). In general, the memory 140 is a type of random-access memory (RAM). It is often referred to as “system memory.”
The memory controller hub 126 further includes a low-voltage differential signaling interface (LVDS) 132. The LVDS 132 may be a so-called LVDS Display Interface (LDI) for support of a display device 192 (e.g., a CRT a flat panel, a projector, a touch enabled display, etc.)), A block 138 includes some examples of technologies that may be supported via the LVDS interface 132 (e.g., serial digital video, HDMI/DVI, display port). The memory controller hub 126 also includes one or more PCI-express interfaces (PCI-E) 134 for example, for support of discrete graphics 136. Discrete graphics using a PCI-E interface has become an alternative approach to an accelerated graphics port (AGP). For example, the memory controller hub 126 may include a 16-lane (×16) PCI-E port for an external PCI-E-based graphics card (including e.g. one of more GPUs). An example system may include AGP or PCI-E for support of graphics.
The I/O hub controller 150 includes a variety of interfaces, The example of
The interfaces of the I/O hub controller 150 provide for communication with various devices, networks, etc. For example, the SATA interface 151 provides for reading, writing or reading and writing information on one or more drives 180 such as HDDs, SDDs or a combination thereof, but in any case the drives 180 are understood to be e.g. tangible computer readable storage mediums that may not be carrier waves. The I/O controller 150 may also include an advanced host controller interface (AHCI) to support one or more drives 180. The PCI-E interface 152 allows for wireless connections 182 to devices, networks, etc. The USB interface 153 provides for input devices 184 such as keyboards (KB), nice and various other devices (e.g., cameras, phones, storage, media players, etc.)
In the example of
The system 100, upon power on, may be configured to execute boot code 190 for the BIOS 168, as stored within the SPI Flash 166, and thereafter processes data under the control of one or more operating systems and application soft are (e.g., stored in system memory 140). An operating system may be stored in any of a variety of locations and accessed, for example, according to instructions of the BIOS 168.
Also shown is at least one light 193 which may be e.g. a light emitting diode (LED). It is to be understood that the light 193 may be positioned at least partially on a portion of housing for the system 100 that does not form part of the display device 192, and/or may be positioned on a portion of the display device 192 such as e.g. a generally-blackened periphery of the display device 192 riot configured to present images, user interfaces, application windows, etc. It is to be further understood that the at least one light 193 may be configured to change colors emitted therefrom under control of the processor 122 such as e.g. being configured to emit green light, orange light, blue light, red light, and/or yellow light. Notwithstanding, it is to be understood that in some embodiments the at least one light 193 may be plural lights each being respectively configured to emit light of a different color such as e.g. green light, orange light, blue light, red light, and yellow light.
Still further, the system 100 includes a vibrating element 195 that may be and/or include e.g. a motor for moving an eccentric weight of the vibrating element to generate a vibration at the system 100. Additionally, though now shown for clarity, in some embodiments the system 100 may include a gyroscope for e.g. sensing and/or measuring the orientation of the system 100 and providing input related thereto to the processor 122, an accelerometer for e.g. sensing acceleration and/or movement of the system 100 and providing input related thereto to the processor 1 an audio receiver/microphone providing input to the processor 122 e.g. based on a user providing audible input to the microphone, and a camera for gathering one or more images and providing input related thereto to the processor 122. The camera may be, e.g., a thermal imaging camera, a digital camera such as a webcam and/or a camera integrated into the system 100 and controllable by the processor 122 to gather pictures/images and/or video.
Moreover, and also not shown for clarity, the system 100 may include a GPS transceiver that is configured to e.g. receive geographic position information from at least one satellite and provide the information to the processor 122. However, it is to be understood that another suitable position receiver other than a OPS receiver may be used in accordance with present principles to e.g. determine the location of the system 100.
Before moving or to
Turning now to
Referring to
From block 302 the logic moves to block 304, at which the logic receives a message (referred to below as the “first message”) from another user, device, email account, etc. The logic then proceeds to block 306 where the logia pares and/or analyzes the first message for data useful to determine at least one message type to which the first message pertains. For example, the header, payload, and/or to it of the first message may be parsed. After block 306 the logic moves to block 308.
At block 308, the logic identifies at .least. one message type and possibly plural message types to which the first message pertains. Examples of message typos include e.g. a reply to a message sent from the present device (e.g. sent at block 302), a message in a message chain and/or a threaded message (e.g. a threaded message in which one or plural other messages associated with, continuing a thread, and/or and responding to previous messages have already been transmitted to and/or from the device by one or more other devices and/or people prior to receipt of the first message which may also continue the thread, a new message (e.g. a first message it a message chain) and/or a forwarded message, a message from a known contact (e.g. a contact in a contact list accessible by the present device), and a message from a particular class of senders such as e.g. from a sender designed by the user as being in a “family and friends” class or from a personal account (e.g. email account) as opposed to a corporate one (e.g. one beginning with the phrase “info” such as info@email.com), etc. Furthermore, note that in some embodiments the logic may determine message type by e.g. identifying a word or phrase identified at block 306 when parsing, and/or analyzing the first message, accessing a data table which correlates words and phrases to message types (e.g. such as the table 400 of
In any case, at block 308 the logic proceeds to decision diamond 310, where the logic determines whether to provide a notification and/or alert at the present device pertaining to the first message based on the message type identified at block 308, notification settings for the respective message type that is identified such as those to be described below, and/or e.g. a time of day for which notifications of messages of that type are to be provided as e.g. also specified by the user. A negative determination at diamond 310 causes the logic to proceed to block 312, at which the logic may filter the first message in that e.g. a notification and/or alert may not be provided but the message may still be stored at the present device for viewing when desired by the user. Also at block 312, the device may set a notification to be provided at a later tune based on e.g. the notification settings for the respective message type referenced above and/or may determine to not provide a notification at any later time and to thus e.g. simply provide the first message itself to the user when the user accesses an application for viewing the message (e.g. an email application).
However, if an affirmative determination is instead made at diamond 310, the logic instead proceeds to block 314, at which the logic provides a notification and/or alert regarding the first message e.g. on a display of the present device such as the display device 192 described above, using a speaker such as the speaker 194 described above (e.g. providing a notification in a particular tone, tone pattern, and/or tone magnitude), using a vibration element such as the element 195 described above (e.g. at a particular vibration pattern and/or vibration magnitude), and/or using a light emitting diode (LED) or other light such as the light 19 described above (e.g. illuminating the LED in a particular color, luminosity level, and/or pattern). Furthermore note that in some embodiments if a user has configured the device to provide notifications regarding messages of the identified message type at another device in addition to or in lieu of at the present device (e.g. using one or more of the notification types described earlier in this paragraph), the logic may also at block 314 provide such a notification at the other device as specified by the user.
Now in reference to the aforementioned
As an example, the data table 400 may include an entry in the first column 402 for the phrase “Re:” such as may have been identified from e.g. a subject field of an email message and accordingly determine that the corresponding message type for the entry is a reply message. The table 400 may also include correlations such as e.g. the phrase “monthly update” being associated with a newsletter message type, the phrase “following up on” being associated with a message chain message type, the name “Fred Stevenson” as may be identified from metadata in a message being associated with a family/friend class message type, the phrase “thanks for the email” being associated with a reply message type, and an email address for the sender of a received message beginning with “info@” being associated with a corporate email account message type.
Continuing the detailed description in reference to
Each of the message types ma also have a remove selector element 504 to remove the message type from the UI 500 and hence delete and/or remove an configurations or settings for the respective message type associated therewith, E.g., in some embodiments and responsive to selection of the selector element 504 for a respective message type, the device may be configured to not have any notification settings for the respective message type associated therewith and hence no notifications will be provided in response to receipt of future messages of the message type.
In addition to the foregoing, each of the message types may also have one or more selector elements 506 and 508 associated therewith for selecting one or more message formats for which to provide notifications of the respective message typo and message format, such as e.g. email message formats, short message service (SMS) message formats, etc. Note that the shading of the selector elements 506 and 508, and indeed shading shown on other of the selector elements shown on the UI 500, denote that the shaded selector elements are ones that have been selected by a user to thus configure the device to provide notifications in accordance with the function associated with the respective shaded selector element. Thus, e.g., notifications of the message type “replies to my messages” may be provided in response to receiving reply messages in both text message and email formats.
Still further, each of the message types may also have one or more selector elements associated therewith for selecting one or more notification types for notifications which are to he provided in response to receiving a message of the respective message type. Thus, e.g. a selector element 510 is selectable to p vide notifications for the respective message type as audible tones (e.g. at least a portion of a song, a sequence of notes, etc.), a selector element 512 is selectable to provide notifications for the respective message type as vibrations, and a selector element 514 is selectable to provide notifications for the respective message type by illuminating one or more LEDs. It is to be understood that in some embodiments more than one of the elements 510-514 may be (e.g. concurrently) selected to thus configure the device to present notifications in plural types depending on which of the elements 510-514 are selected.
Also note that a configure selector element 516 may also be presented for the notification type selector elements which is selectable to configure settings or each type of notification selected using the elements 510-514. Thus, in one embodiment the selector element 516 may be selectable to automatically without further user input responsive thereto cause the device to present the UI 700 of
Still in reference to
Now in reference to
Moving on in the detailed description with reference to
In any case, the UI 700 includes a first setting 702 for selecting a tone in which to provide a notification (e.g. a song), The setting 702 this includes an entry box 704 for inputting and/or specifying a tone, along with a browse selector element 706 selectable to browse to a tone file accessible to the device for selection and/or automatic entry to the box 704. The UI 700 also includes a setting 708 for selecting a tone pattern (e.g. when the tone, is a particular note or chime), and thus one or more selector elements 710, 712, and 714 are shown for configuring the device to present a notification in respective tone patterns of one beep, two beeps (e.g. equal lengths and separated a period of no tone), or a constant tone for five seconds (e.g. note that in some embodiments the length of the constant tone may be specified by the user). Also note that should another tone pattern be desired, the user may select an other selector element 716 for inputting and/or selecting another tone pattern other than those associated with the elements 710-714. Still further, yet another setting 718 is shown for selecting a particular tone magnitude (e.g. of Rune level) for the tone and/or tone pattern. Thus, a level element 720 is shown which is manipulable to establish the tone magnitude based on selection of a particular portion or area of the element 720 relative to a maximum for the tone magnitude as represented by the right-most portion of the element 720. Note that the shaded portion of the element 720 denotes the particular level selected in the example shown.
The UI 700 of
Still in reference to
Last, the example UI 700 includes a setting 752 for establishing a level of luminosity at which to provide the light-based notification using level selector element 754. The element 754 is manipulable to establish the luminosity based on selection of a particular portion or area of the element 754 relative to a maximum for the luminosity as represented by the right-most portion of the element 754. Note that the shaded portion of the element 754 denotes the particular level selected in the example shown.
Now in reference to
Describing
Without reference to any particular figure, it is to be understood that should a device in accordance with present principles determine that is message pertains to and/or may be associated with more than one message type, in some embodiments one or more notifications regarding the message may be provided according to each respective message type to which the message is determined to pertain. Thus, e.g., should it be determined that a received message pertains to both a reply message type and a friends/family class message type, where notifications regarding messages of the reply message type are configured to only be provided as vibration notifications and messages of the friends/family class message type are configured to only be provided based on illumination of an LED, notifications may be provided for the received message as both a vibration notification and an LED-based notification. However, note that in other embodiments e.g. using a UI a user may rank based on priority message types such that should a message be determined to pertain to plural message types, then a notification is provided regarding the message per the notification configuration for the highest-ranked of the plural message types.
Also without reference to any particular figure, still other ways of determining a message type for a received message may be used, such as e.g. analyzing a message format (e.g. the format of an email) to determine if the message is a “newsletter” type of message complete with a unique or organization-specific border surrounding the message text, or is instead a message containing personalized text. A logo may be identified in a message to determine that the message is from an e.g. corporate account and not a personal account, and furthermore e.g. a message relatively plentiful HTML content may be determined to not be a personalized message. Text recognition may also be used in accordance with present principles. As a specific example, if the message contains the wording “Text ‘stop’ to stop receiving messages,” the device may determine that the message is a mass message and not a personalized one for which a notification should be provided. Furthermore, sender information e.g. contained in a header portion of a received message may be parsed to identify information pertaining to the sender such as e.g. whether the sender is identified only under an alias of some sort or whether an actual name is specified.
As another example of message type, a message type may be any message pertaining to an event currently occurring as indicated on an electronic calendar accessible to the device, where any message de ermined to not pertain to the event will upon receipt not cause the device to present a notification. Thus, e.g. assume a meeting has started for which an entry has been placed in an electronic calendar. The device may then receive a message with a phrase such as “when is our meeting?” and determine based on electronic calendar information that the meeting is supposed to be currently occurring with that particular sender listed as an attendee, and hence determine to provide a notification regarding the received message containing the phrase.
It may now be appreciated that present principles provide for, among other things, allowing a user to elect to be notified when they get email/SMS messages to their smart phone based on message type via vibration, ring tone, or flashing LED. Notifications may be provided for types of messages including e.g. messages that are being sent as a reply to user messages while filtering messages that are new or forwarded messages, messages from known contacts as opposed to unknown ones, and/or threaded messages (e.g., specifically that arrive within time threshold of the user sending a message in the thread from their device (it being noted that this time threshold may apply to e.g. any reply message received within a threshold time of transmission of a message from the device that received the reply and not just messages in a thread)). Newsletters may be filtered out, if desired, such that no notification regarding their receipt is provided. Furthermore, the principles described herein are understood to apply equally to e.g. text messages (e.g. SMS) e.g. to detect automated text messages versus messages from a person, and provide notifications upon determinations that received messages are from a person rather than being an automated text message.
Before concluding, it is to be understood that although e.g. a software application for undertaking present principles may be vended with a device such as the system 100, present principles apply in instances where such an application is e.g. downloaded from a server to a device over a network such as the Internet. Furthermore, present principles apply in instances where e.g. such an application is included on a computer readable storage medium that is being vended and/or provided, where the computer readable storage medium is not a earlier wave and/or a signal per se.
While the particular PROVIDING NOTIFICATION PERTAINING TO MESSAGE BASE ON MESSAGE TYPE is herein shown and described in detail, it is to be understood that the subject matter which is encompassed by the present application is limited only by the claims.