Aspects of the disclosure provide replacement and/or augmentation of automated audio menus of automated communication platforms with interactive digital menus. A digital menu of options associated with an automated communication platform may be provided in response to a call from a communication device to the automated communication platform having an automated audio menu for interaction with such a platform. The digital menu can include options that correspond to options in the automated audio menu, and can be displayed at the communication device via interactive buttons or other actionable indicia. The digital menu also can include options representing shortcuts for specific responses to the automated communication platform and/or options for responses customized to the communication device and the automated communication platform. Shortcuts and/or customized options can be displayed at the communication device with indicia distinctive from other options corresponding to the automated audio menu.
|
6. A method, comprising:
receiving a request to connect with an automated communication platform having an automated audio menu of options for interaction with the automated communication platform;
sending a communication address of the automated communication platform;
receiving option information indicative of a digital menu of options;
receiving an audio input signal representative of at least one option of the automated audio menu;
causing a speaker of the communication device to generate audio corresponding to at least a portion of the audio input signal, the audio input signal permits determining accuracy of the digital menu;
displaying a plurality of actionable indicia representative of the digital menu, a first actionable indicia of the plurality of actionable indicia corresponding to a first option in the automated audio menu;
receiving a selection of the first actionable indicia;
generating code information according to the selection; and
sending the code information generated tone or sequence of tones to the automated communication platform.
14. A device, comprising:
at least one memory device having instructions encoded thereon;
at least one processor functionally coupled to the at least one memory device and configured, by the instructions, to at least:
receive a request to connect with an automated communication platform having an automated audio menu of options for interaction with the automated communication platform;
send a communication address of the automated communication platform;
receive an audio input signal representative of at least one option of the automated audio menu;
cause a speaker of the communication device to generate audio corresponding to at least a portion of the audio input signal;
determine, using at least a portion of the audio input signal, that the digital menu is a valid representation of the automated audio menu
receive option information indicative of a digital menu of options for interaction with the automated communication platform;
display a plurality of actionable indicia representative of the digital menu, a first actionable indicia of the plurality of actionable indicia corresponds to a first audible option in the automated audio menu;
receive a selection of one of the plurality of actionable indicia;
generate code information according to the received selection; and
send the code information to the automated communication platform.
1. A method, comprising:
calling, by a mobile telephone, an interactive voice response (IVR) system having a telephone number;
communicating the telephone number to a remote server;
receiving, from the remote server during the call to the IVR system, information used to display a digital menu of options for interaction with the IVR system, wherein each of the options is associated with one or more tones corresponding to a numeric code comprising one or more numerals from 0 to 9;
receiving, from the IVR system prior to displaying the digital menu, an audio input signal representative of a portion of an automated audio menu for interaction with the IVR system;
causing a speaker of the mobile telephone to generate audio corresponding to a first portion of the audio input signal;
determining that the digital menu is a valid representation of the automated audio menu by comparing at least a portion of the audio input signal to a reference audio signal;
displaying the digital menu at a display device of the mobile telephone, wherein the displayed digital menu comprises selectable display options, each of the selectable display options corresponding to an audible option in the automated audio menu, and wherein each of the selectable display options comprises a textual representation of the audible option;
receiving a selection from the selectable display options via a touch screen of the mobile telephone prior to a speaker of the mobile telephone generating audio corresponding to a second portion of the audio input signal;
generating numeric code information according to the received selection; and
communicating the numeric code information to the IVR system.
2. The method of
determining second numeric code information associated with the live attendant option,
wherein displaying the digital menu further comprises highlighting at least one of the selectable display options to represent the live attendant option.
3. The method of
4. The method of
5. The method of
identifying one or more historical options selected in a previous connection with the automated communication platform; and
generating second code information according to the one or more historical options.
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
comparing a sequence of frequencies of the audio input signal with a sequence of frequencies of the reference audio signal, and
determining the accuracy of the digital menu using an outcome of the comparing.
12. The method of
13. The method of
15. The device of
to display distinctively at least one of the plurality of actionable indicia to represent the live attendant option.
16. The device of
17. The device of
18. The device of
19. The device of
20. The device of
identify one or more historical options selected in a previous connection with the automated communication platform; and
generate second code information according to the one or more historical options.
|
Businesses and other organizations generally rely on automated response telephony systems in order to serve a large segment of customers while containing costs. Such systems usually utilize automated audio menus or scripts that can be played back when a call is established between a calling device, such as a mobile phone, and an automated response telephony system. Playback of the automated audio menus typically provides the available menu options relatively slowly and sequentially. In addition, automated audio menus are sometimes altered, so a previously familiar selection via a touch-tone telephone (e.g., pressing number 1) directs the caller to a different branch of an automated menu tree than it did last time it was selected.
The accompanying drawings form part of the disclosure and are incorporated into the subject specification. The drawings illustrate example embodiments of the disclosure and, in conjunction with the present description and claims, serve to explain at least in part various principles, features, or aspects of the disclosure. Certain embodiments of the disclosure are described more fully below with reference to the accompanying drawings. However, various aspects of the disclosure can be implemented in many different forms and should not be construed as limited to the implementations set forth herein. Like numbers refer to like, but not necessarily the same or identical, elements throughout.
The disclosure recognizes and addresses, in at least certain aspects, the limited utility and lack of convenience of automated audio menus presented by automated response telephony systems. More particularly, yet not exclusively, the disclosure recognizes the difficulty or inconvenience associated with interacting with a typical automated attendant or an interactive voice response (IVR) system via an automated audio menu. In accordance with certain aspects of this disclosure, interactive digital menus can provide visual options that can replace and/or augment automated audio menus of automated communication platforms. A digital menu of options associated with an automated communication platform may be provided in response to a call from a communication device to the automated communication platform having an automated audio menu for interaction with such a platform. The digital menu can include options that correspond to options in the automated audio menu. The options can be displayed at the communication device via interactive buttons or other actionable indicia. The digital menu also can include options customized to the communication device. For example, in addition or in the alternative, the digital menu of options can include options associated with shortcuts for specific responses to the automated communication platform and/or options for responses customized to the communication device and the automated communication platform. Shortcut options and/or customized options can be displayed at the communication device with indicia distinctive from other options corresponding to the automated audio menu. Actuation or selection of an option displayed at the communication device can cause the communication device to generate and/or transmit one or more tones (such as dual-tone multi-frequency (DTMF) signals). Other type of code information besides the one or more tones also can be utilized or leveraged, where actuation or selection of an option displayed at the communication device can cause the communication device to generate code information (e.g., numeric data, alphanumeric data, or the like). As such, actuation or selection of a displayed option can cause the communication to generate code information, e.g., a sequence of one or more tones, numeric data, alphanumeric data, or the like. The code information (e.g., tone(s), numeric data, alphanumeric data, or the like) so generated can correspond to the selected or actuated option.
In accordance with the present disclosure, communication devices that can utilize or otherwise leverage the interactive digital menus can generally include one or more processors and one or more memory devices; communication devices (e.g., a system bus, a memory bus, or the like); input/output interface(s) that can include display device(s); and/or a radio unit for wireless communication. More specifically, in one example, a communication device in accordance with this disclosure can be embodied in a tethered computing device or a portable computing device, such as a mobile tablet computer, an electronic-book reader (also referred to as an e-reader), a mobile telephone (e.g., a smartphone), and the like. In another example, the communication device can be embodied in or can comprise a wearable computing device, such as a watch, goggles or head-mounted visors, or the like. In yet another example, the communication device can be embodied in or can comprise portable consumer electronics equipment, such as a camera, a media reproduction device, a portable television set, a gaming console, a navigation device, a voice-over-internet-protocol (VoIP) telephone or two-way communication device, and the like. In additional or alternative embodiments, a combination of a communication device (e.g., a VoIP telephone) and a second device (e.g., a television set) can utilize the interactive digital menus of this disclosure, where the communication device and the second device can be synchronized so as to display or otherwise present a digital menu options at the second device (which may be referred to as a second screen).
With reference to the drawings,
In addition, the communication device 110 also can communicate, via a second communication pathway (herein referred to as “pathway II”), with a digital menu server 140. For example, the second communication pathway may be embodied in one or more out-of-band channels available for communication within the communication protocol utilized to establish the call between the communication device 110 and the digital menu server 140. In one embodiment, the communication device 110 can communicate or otherwise provide, via the second communication pathway, a telephone number (which is exemplified as “1-555-123-4567” in
The digital menu server 140 can receive the telephone number (or other type of communication address) associated with the automated communication platform 120. The telephone number may be compared with a set of one or more telephone numbers available (e.g., retained or otherwise stored) in one or more memory devices (which may be referred to as storage 150) that can be functionally coupled (e.g., communicatively coupled) to the digital menu server 140. In one scenario, the outcome of such a comparison can determine that the telephone number associated with the automated communication platform 120 is available in the storage 150 and, in response, the digital menu server 140 can query the storage 150 for a digital menu of options associated with the telephone number. As illustrated, the storage 150 can include one or more memory elements 154, such as register(s), file(s), database(s), or the like, that can contain one or more digital menus of options for known automated communication platforms (IVR systems, automated attendants, etc.). As such, the one or more memory elements 154 may be referred to as “menu(s) 154,” and can include information, such as data and/or metadata, indicative or otherwise representative of a digital menu of options associated with an automated audio menu of the automated communication platform 120. In certain implementations, the menu(s) 154 also can include a tone or a sequence of tones associated with each option in the digital menu of options. In other implementations, the menu(s) 154 also can include code information (e.g., numeric data or alphanumeric data) associated with each option in the digital menu of options. It should be appreciated that a sequence of tones can be associated with a deep option within the automated audio menu. Therefore, in response to the query, the digital menu server 140 can receive information indicative or otherwise representative of the digital menu of options (which also may be referred to as “digital menu”) for the automated communication platform 120. The digital menu server 140 can communicate (e.g., transmit) the information indicative or otherwise representative of such a digital menu to the communication device 110 via the second communication pathway.
In response to transmission of the telephone number (or other type of communication address) associated with the automated communication platform 120 and the availability of a digital menu for such a platform, the communication device 110 can receive the digital menu. The digital menu can be received as information (e.g., data, metadata, and/or signaling) that can be processed or otherwise consumed by the communication device 110. In one aspect, the communication device 110 can validate the received digital menu. An invalid digital menu can cause the communication device to present a message indicating the invalidity of the menu. In addition, when the received digital menu is valid, the communication device 110 can display or otherwise present the received digital menu for the automated communication platform 120. In certain embodiments, the communication device 110 can utilize the received information indicative or otherwise representative of the digital menu to render the digital menu without augmenting or otherwise modifying such information. The received information so rendered can be displayed by the communication device. In other embodiments, in order to display the digital menu, the communication device 110 can arrange or otherwise allocate the information indicative of the digital menu according to a template for displaying the digital menu at the communication device 110.
As described herein, the digital menu can include one or more options that are specific to the automated communication platform 120. Accordingly, in one example, the communication device 110 can present at least one (e.g., one, two, more than two, each) of the one or more options. One or more of the presented options can be displayed as actionable indicia, such as a soft button that can be actuated (e.g., touched, swiped, clicked, pressed, or the like). Therefore, the digital menu may be referred to as an interactive digital menu. In addition, one or more of the menu options that are displayed, such as options 180e and 180f, can be highlighted or otherwise presented differently from the other menu options that are displayed. A menu option can be highlighted by displaying the menu option in a font that is different than the font utilized to display other menu option(s). In addition or in the alternative, the menu option can be highlighted by displaying the menu option via graphical elements (e.g., color, images (such as icons), a combination thereof or the like) that are different from the graphical elements utilized to display other menu option(s). Further, or as another alternative, the menu option can be highlighted by including aural elements during or at certain times during the display of the highlighted menu option. For instance, the communication device 110 can playback a sound for a predetermined period, which may be short, to convey the availability of a particular menu options. The sound also may be played when an end-user interacts with the menu option, e.g., hovers pointing indicia over the menu option. It should be appreciated that a menu option may be highlighted in any fashion that permits emphasizing, visually or otherwise, the menu option relative to other displayed menu option(s).
Highlighted options can be associated, for example, with popular or otherwise special options or a combination of options available in the automated communication platform 120. A highlighted option can correspond to a popular option, such as a number (“9”) or a combination of a number and a sign (e.g., “*9”) to reach a live attendant, such as a representative and/or operator. In certain embodiments, the communication device 110 can parse information representative of the digital menu associated with the automated communication platform 120 for a keyword or phrase indicative of a live attendant option to reach at least one of a representative or an operator. After or upon identifying such a keyword or phrase, the communication device can determine numeric information (e.g., the digit “9”) or alphanumeric information (e.g., the combination of the “*” and the digit “9” in “*9”) representative or otherwise indicative of the live attendant option. In addition or in the alternative, the communication device 110 can display distinctively or otherwise highlight indicia (actionable or otherwise) to represent the live attendant option.
In addition or in the alternative, a highlighted option can correspond to option macro associated with a combination of numbers and/or signs that can provide certain information (e.g., date of birth and last four digits of a social security number) and/or can permit accessing certain chain of options (e.g., “Service and Parts” and “Tire Specialist”) available in the automated communication platform 120 (e.g., an automated attendant for a car dealership). As described herein, an option macro can include an option customized to the communication device 110 and the automated communication platform 120.
The communication device 110 also can display a greetings message 170 associated with the automated communication platform 120. For instance, the greetings message 170 can include indicia representative of a message such as “Welcome to Acme Inc. If you know your party's three-digit extension, you can enter it at any time.” In certain embodiments, the greetings message 170 can be embodied in or can include a form having one or more input fields for inputting certain information, such as a telephone extension number.
It should be appreciated that, in one example, the portion of the automated audio menu that is received within the call between the communication device 110 and the automated communication platform 120 is presented, via the sound 114, substantially concurrently or concurrently with the greetings message 170 and the options 180a-180f. The digital menu 160 can provide more and/or different interactive options than those conveyed in the received portion of the automated audio menu. In addition or in the alternative, the digital menu 160 can provide fewer and/or different interactive options than those conveyed in the received portion of the digital menu. As described herein, in certain embodiments, each of such options can be presented as actionable indicia or other selectable display options. Therefore, interaction with a displayed option can cause the communication device 110 to generate and/or transmit or otherwise communicate one tone (e.g., a DTMF tone) or a sequence of two or more tones (e.g., several DTMF tones) corresponding to the option that is actuated. In one example, actuation of the displayed option can cause the communication device 110 to communicate such one tone or sequence to the automated communication platform 120 via the communication pathway between the communication device 110 and the automated communication platform 120. In addition or in the alternative, as described herein, interaction with the displayed option can cause the communication device 110 to transmit or otherwise communicate other type of code information (e.g., numeric code(s) or alphanumeric code(s)) as digital signaling (e.g., digital packets) other than one or more tones. At least a portion of the code information can correspond to the displayed option, and such signaling can be encoded or otherwise formatted according to a protocol suitable for the automated communication platform 120 to decode or otherwise interpret. As such, regardless of the specific signaling (tone(s) or digital packets), interaction of an end-user of the communication device 110 with the automated communication platform 120 can be greatly simplified with respect to the typical interaction that relies on the automated audio menu presented as sound 114. As described in greater detail hereinafter, the options available in a digital menu can include forms or can be configured to receive information (e.g., data and/or metadata) associated with an option.
The communication device 200 can include one or more audio input units 230 and one or more audio output units 250. At least one of the audio input unit(s) 230 can include a microphone that can receive sound, such as an utterance, from an end-user of the communication device 200. At least one of the audio output unit(s) 250 can present the end-user with one or more options of the automated audio menu for the automated communication platform 120. To at least such an end, in one example, the audio output unit(s) 250 can include at least one piezoelectric speaker that can transmit audio (e.g., sound 114) to an end-user of the communication device 200.
In addition, the communication device 200 can include a display unit 220 that can present or otherwise display the information representative or otherwise indicative of the digital menu that can be received at the communication device 200. As described herein, the communication device 200 can validate the digital menu prior to rendering or displaying it. To at least such an end, the communication device 200 can include a digital-to-audio option unit 260 that can validate the digital menu in a number of ways. In one example, the digital-to-audio option unit 260 can compare audio input signal from the automated communication platform with a reference audio signal (e.g., a segment of a few seconds of digitized audio) that is expected to be received from such a platform. More specifically, the digital menu server described herein can communicate the reference audio signal in addition to the digital menu. The reference audio signal can correspond to the audio signal that is expected to be received from the automated communication platform after a certain time interval has elapsed since the communication device 200 has initiated a call therewith. In addition, the digital-to-audio option unit 260 can compare one or more frequencies of the audio input signal with one or more frequencies of the reference audio signal. A comparison that establishes that both such signals have the same or substantially the same frequency or frequencies can indicate that the digital menu is valid. In other embodiments, the digital-to-audio option unit 260 can include a speech-to-text unit that can convert to text a portion of audio input signal from the automated communication platform. The text so generated can be compared with at least a portion of the digital menu in order to establish that the digital menu is consistent with an automated audio menu of the automated communication platform. In a scenario in which the digital menu is invalid, the display unit 220 can present a message accordingly. For instance, the display unit 220 can display the following messages: “Digital Menu is Outdated,” “Audio-to-Digital Menu Service is Currently Unavailable,” or any other suitable message.
In a scenario in which the digital menu is valid, the display unit 220 can present, for example, the indicia representative of the greetings message 170 and the options 180a-180f in
In certain implementations, the digital-to-audio option unit 260 can receive a selection of an option displayed by the communication device 200 and, in response, can cause the communication unit 210 to transmit a sequence of one or more tones or other type of code information corresponding to the selected option. In certain embodiments, the display unit 220 can include an input interface—such as a capacitive touchscreen or a resistive touchscreen combined with an input interface module—that can permit receiving input information indicative of the selection. The input interface module can be included in the one or more input/output (I/O) interface(s) 240. In addition, the I/O interface(s) 240 can include at least one port (serial, parallel, or both), at least one Ethernet port, at least one pin, and can permit communication of information between the communication device 200 and an external electronic device, such as another computing device (e.g., a remote network device or an end-user device). In one example, the communication device 200 can present an example digital menu 300, as shown in
In addition, the example digital menu 300 also includes actionable indicia 340 that corresponds to a specific sequence of tones that correspond to an option to reach a live attendant, which is represented as “Representative.” In response to the selection of such indicia, the digital-to-audio option unit 260 can cause or otherwise instruct the communication unit 210 to transmit such specific sequence of tones. In certain embodiments, such as in the example digital menu 350, shown in
The digital-to-audio option unit 260 also can cause the display unit 220 to display options that can include forms with fillable fields in order to permit input of information pertinent to a selected option. As illustrated in
In certain embodiments, a digital menu can include one or more custom options that can be specific to an end-user and the automated communication platform (e.g., an automated attendant of a financial institution) that is called by the communication device 200. In one example, a custom option, such as option 510 in the example digital menu 500, shown in
The menu collection unit 610 can initiate communication with an automated communication platform at predetermined times (e.g., according to a schedule or periodically) and/or in response to certain events. In certain embodiments, the menu collection unit 610 can utilize session initiation protocol (SIP) or other packet-switched communication protocols in order to initiate automatically a call session with the automated communication platform. In one aspect, after the communication is established, other communication may be utilized to receive menu information.
At least a portion of the menu information that can be received at the digital menu server 600 can be provided to a menu composition unit 620 that can configure data and/or metadata indicative or otherwise representative of an option in an automated audio menu made available by an automated communication platform. Therefore, the menu composition unit 620 can generate a digital menu of options corresponding to the options in the automated audio menu. Digital menus so generated can be retained in one or more memory elements 644 (referred to as menu(s) 644) in one or more memory devices 640 (referred to as storage 640).
Each of the menu(s) 644 retained in the storage 640 can be indexed or otherwise catalogued according to the telephone number or other type of communication address of the automated communication platform corresponding to a menu. Therefore, in one aspect, the digital menu server 600 can receive a telephone number or other type of communication address, and can determine if a corresponding digital menu is available. As described herein, in response to the corresponding digital menu being available, the digital menu server 600 can communicate such a menu to a device that provided the telephone number or other type of communication address.
In the illustrated embodiment, two or more of the menu collection unit 610; the menu composition unit 620; at least one of the I/O interface(s) 630; and the storage 640 can exchange information (e.g., data, metadata, and/or signaling) via a bus architecture 650. In one example, the bus architecture 650 can include at least one of a system bus, a memory bus, an address bus, or a message bus.
In one embodiment, a communication device can be instructed to provide tone information and an input audio signal representative of an audible option of the automated audio menu. Such a signal can be received by a microphone and/or other audio input unit(s) at the communication device in response to a speaker of the communication device generating audio representative of the audible option. At the digital menu server, the menu collection unit 610 can receive at least a portion of the input audio signal and can recognize speech indicative of the audible option. Therefore, in one aspect, the digital menu server 700 can identify the option in the automated audio menu and one or more tones associated with the option. As such, the menu composition unit 620 can generate data and/or metadata indicative of the option and/or the tone(s), and assign such data and/or metadata to a digital menu option corresponding to the audible option.
In connection with generation of a customized option, the response collection unit 710 also can acquire information indicative of a response to available options in a digital menu (e.g., digital menu 160) displayed at a communication device (e.g., communication device 110). The digital menu can correspond to an automated audio menu for an automated communication platform. The communication device can be in communication or otherwise functionally coupled to the digital menu server 700. The acquired information can be retained in the storage 640 and can be categorized according to identifying information (e.g., telephone number, subscriber number, IMSI, ESN, or the like) of the communication device. As such, the information can be categorized based at least on the communication device. The retained information so acquired can be utilized to generate an option macro for the communication device. More specifically, in one aspect, the digital menu server 700 can include a machine-learning unit 720 that can apply one or more machine-learning techniques in order to learn a selection behavior of the communication device (e.g., the communication device 110). After the selection behavior is determined, the menu composition unit 620 can generate a customized digital menu associated with the automated communication platform and with the communication device that communicates with the automated communication platform. In one example, the customized digital menu can include one or more custom options to access a service and/or information from the automated communication platform. Customized digital menus can be retained in one or more memory elements 730 (referred to as menu(s) 730) within the storage 640.
In the illustrated embodiment, two or more of the menu collection unit 610; the menu composition unit 620; at least one of the I/O interface(s) 630; the response collection unit 710; the machine-learning unit 720; and the storage 640 can exchange information (e.g., data, metadata, and/or signaling) via a bus architecture 650.
The computational environment 800 represents an example implementation of the various aspects or features of the disclosure in which the processing or execution of operations described in connection with the replacement and/or augmentation of automated audio menus with interactive digital menus disclosed herein can be performed in response to execution of one or more software components at the computing device 810. It should be appreciated that the one or more software components can render the computing device 810, or any other computing device that contains such components, a particular machine for the replacement and/or augmentation of automated audio menus with interactive digital menus as described herein, among other functional purposes. A software component can be embodied in or can comprise one or more computer-accessible instructions, e.g., computer-readable and/or computer-executable instructions. In one scenario, at least a portion of the computer-accessible instructions can embody and/or can be executed to perform at least a part of one or more of the example methods described herein, such as the example method presented in
The various example embodiments of the disclosure can be operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that can be suitable for implementation of various aspects or features of the disclosure in connection with the replacement and/or augmentation of automated audio menus with interactive digital menus described herein can comprise personal computers; server computers; laptop devices; handheld computing devices, such as mobile tablets or e-readers; wearable computing devices; and multiprocessor systems. Additional examples can include set-top boxes, programmable consumer electronics, network personal computers (PCs), minicomputers, mainframe computers, blade computers, programmable logic controllers, distributed computing environments that comprise any of the above systems or devices, and the like.
As illustrated, the computing device 810 can comprise one or more processors 814, one or more input/output (I/O) interfaces 816, a memory 830, and a bus architecture 832 (also termed bus 832) that functionally couples various functional elements of the computing device 810. In certain embodiments, the computing device 810 can include, optionally, a radio unit 812. The radio unit 812 can include one or more antennas and a communication processing unit that can permit wireless communication between the computing device 810 and another device, such as one of the computing device(s) 870. The bus 832 can include at least one of a system bus, a memory bus, an address bus, or a message bus, and can permit the exchange of information (data, metadata, and/or signaling) between the processor(s) 814, the I/O interface(s) 816, and/or the memory 830, or respective functional elements therein. In certain scenarios, the bus 832 in conjunction with one or more internal programming interfaces 850 (also referred to as interface(s) 850) can permit such exchange of information. In scenarios in which the processor(s) 814 include multiple processors, the computing device 810 can utilize parallel computing.
The I/O interface(s) 816 can permit communication of information between the computing device and an external device, such as another computing device, e.g., a network element or an end-user device. Such communication can include direct communication or indirect communication, such as the exchange of information between the computing device 810 and the external device via a network or elements thereof. As illustrated, the I/O interface(s) 816 can comprise one or more of network adapter(s) 818, peripheral adapter(s) 822, and display unit(s) 826. Such adapter(s) can permit or facilitate connectivity between the external device and one or more of the processor(s) 814 or the memory 830. For example, the peripheral adapter(s) 822 can include a group of ports, which can include at least one of parallel ports, serial ports, Ethernet ports, V.35 ports, or X.21 ports. In certain embodiments, the parallel ports can comprise General Purpose Interface Bus (GPIB), IEEE-1284, while the serial ports can include Recommended Standard (RS)-232, V.11, Universal Serial Bus (USB), FireWire or IEEE-1394.
In one aspect, at least one of the network adapter(s) 818 can functionally couple the computing device 810 to one or more computing devices 870 via one or more traffic and signaling pipes 860 that can permit or facilitate the exchange of traffic 862 and signaling 864 between the computing device 810 and the one or more computing devices 870. Such network coupling provided at least in part by the at least one of the network adapter(s) 818 can be implemented in a wired environment, a wireless environment, or both. The information that is communicated by the at least one of the network adapter(s) 818 can result from the implementation of one or more operations of a method in accordance with aspects of this disclosure. Such output can be any form of visual representation, including, but not limited to, textual, graphical, animation, audio, tactile, and the like. In certain scenarios, each of the computing device(s) 870 can have substantially the same architecture as the computing device 810. In addition or in the alternative, the display unit(s) 826 can include functional elements (e.g., lights, such as light-emitting diodes; a display, such as a liquid crystal display (LCD), a plasma monitor, a light-emitting diode (LED) monitor, or an electrochromic monitor; combinations thereof; or the like) that can permit control of the operation of the computing device 810, or can permit conveying or revealing the operational conditions of the computing device 810.
In one aspect, the bus 832 represents one or more of several possible types of bus structures, including a memory bus or a memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. As an illustration, such architectures can comprise an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, an Accelerated Graphics Port (AGP) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express bus, a Personal Computer Memory Card International Association (PCMCIA) bus, a Universal Serial Bus (USB), and the like. The bus 832, and all buses described herein can be implemented over a wired or wireless network connection and each of the subsystems, including the processor(s) 814, the memory 830 and memory elements therein, and the I/O interface(s) 816 can be contained within one or more remote computing devices 870 at physically separate locations, connected through buses of this form, in effect implementing a fully distributed system. In certain embodiments, such a distributed system can implement the functionality described herein in a client-host or client-server configuration in which the audio-to-digital menu component(s) 836 or the audio-to-digital menu information 840, or both, can be distributed between the computing device 810 and at least one of the computing device(s) 870, and the computing device 810 and at least one of the computing device(s) 870 can execute such components and/or leverage such information. It should be appreciated that, in an embodiment in which the computing device 810 embodies or constitutes a communication device, the audio-to-digital menu component(s) 836 can be different from those in an embodiment in which the computing device 810 embodies or constitutes a digital menu server.
The computing device 810 can comprise a variety of computer-readable media. Computer-readable media can be any available media (transitory and non-transitory) that can be accessed by a computing device. In one aspect, computer-readable media can comprise computer non-transitory storage media (or computer-readable non-transitory storage media) and communications media. Example computer-readable non-transitory storage media can be any available media that can be accessed by the computing device 810, and can comprise, for example, both volatile and non-volatile media, and removable and/or non-removable media. In one aspect, the memory 830 can comprise computer-readable media in the form of volatile memory, such as random access memory (RAM), and/or non-volatile memory, such as read-only memory (ROM).
The memory 830 can comprise functionality instructions storage 834 and functionality information storage 838. The functionality instructions storage 834 can comprise computer-accessible instructions that, in response to execution (by at least one of the processor(s) 814), can implement one or more of the functionalities of the disclosure. The computer-accessible instructions can embody or can comprise one or more software components illustrated as audio-to-digital menu component(s) 836. In one scenario, execution of at least one component of the audio-to-digital menu component(s) 836 can implement one or more of the methods described herein, such as the example method 900. For instance, such execution can cause a processor (e.g., one of the processor(s) 814) that executes the at least one component to carry out a disclosed example method. It should be appreciated that, in one aspect, a processor of the processor(s) 814 that executes at least one of the audio-to-digital menu component(s) 836 can retrieve information from or retain information in one or more memory elements 840 in the functionality information storage 838 in order to operate in accordance with the functionality programmed or otherwise configured by the audio-to-digital menu component(s) 836. The one or more memory elements 840 may be referred to as audio-to-digital menu information 840. Such information can include at least one of code instructions, information structures, or the like. For instance, at least a portion of such information structures can be indicative or otherwise representative of digital menus of options associated with an automated communication platform.
In certain embodiments, one or more of the audio-to-digital menu component(s) 836 can embody or can constitute one or more of the digital-to-audio option unit 260 and/or at least a portion of the communication unit 210, and can provide the functionality of such unit(s) in accordance with aspects of this disclosure. In other embodiments, one or more of the audio-to-digital menu component(s) 836 in combination with at least one of the processor(s) 814 can embody or can constitute one or more of the digital-to-audio option unit 260 or at least a portion of the communication unit 210, and can provide the functionality of such unit(s) in accordance with aspects of this disclosure. In scenarios in which the computing device 810 can embody a digital menu server (e.g., digital menu server 140), one or more of the audio-to-digital menu component(s) 836 can embody or can constitute one or more of the menu collection unit 610, the menu composition unit 620, the response collection unit 710, and/or the machine-learning unit 720, and can provide the functionality of such unit(s) in accordance with aspects of this disclosure.
At least one of the one or more interfaces 850 (e.g., application programming interface(s)) can permit or facilitate communication of information between two or more components within the functionality instructions storage 834. The information that is communicated by the at least one interface can result from implementation of one or more operations in a method of the disclosure. In certain embodiments, one or more of the functionality instructions storage 834 and the functionality information storage 838 can be embodied in or can comprise removable/non-removable, and/or volatile/non-volatile computer storage media.
At least a portion of at least one of the audio-to-digital menu component(s) 836 or the audio-to-digital menu information 840 can program or otherwise configure one or more of the processors 814 to operate at least in accordance with the functionality described herein. One or more of the processor(s) 814 can execute at least one of the audio-to-digital menu component(s) 836 and leverage at least a portion of the information in the functionality information storage 838 in order to provide replacement and/or augmentation of automated audio menus with interactive digital menus in accordance with one or more aspects described herein.
It should be appreciated that, in certain scenarios, the functionality instruction(s) storage 834 can embody or can comprise a computer-readable non-transitory storage medium having computer-accessible instructions that, in response to execution, cause at least one processor (e.g., one or more of the processor(s) 814) to perform a group of operations comprising the operations or blocks described in connection with the disclosed methods.
In addition, the memory 830 can comprise computer-accessible instructions and information (e.g., data, metadata, and/or programming code instructions) that permit or facilitate the operation and/or administration (e.g., upgrades, software installation, any other configuration, or the like) of the computing device 810. Accordingly, as illustrated, the memory 830 can comprise a memory element 842 (labeled operating system (OS) instruction(s) 842) that contains one or more program modules that embody or include one or more operating systems, such as Windows operating system, Unix, Linux, Symbian, Android, Chromium, and substantially any OS suitable for mobile computing devices or tethered computing devices. In one aspect, the operational and/or architectural complexity of the computing device 810 can dictate a suitable OS. The memory 830 also comprises a system information storage 846 having data, metadata, and/or programming code that permits or facilitates the operation and/or administration of the computing device 810. Elements of the OS instruction(s) 842 and the system information storage 846 can be accessible or can be operated on by at least one of the processor(s) 814.
It should be recognized that while the functionality instructions storage 834 and other executable program components, such as the OS instruction(s) 842, are illustrated herein as discrete blocks, such software components can reside at various times in different memory components of the computing device 810, and can be executed by at least one of the processor(s) 814. In certain scenarios, an implementation of the audio-to-digital menu component(s) 836 can be retained on or transmitted across some form of computer-readable media.
The computing device 810 and/or one of the computing device(s) 870 can include a power supply (not shown), which can power up components or functional elements within such devices. The power supply can be a rechargeable power supply, e.g., a rechargeable battery, and it can include one or more transformers to achieve a power level suitable for the operation of the computing device 810 and/or one of the computing device(s) 870, and components, functional elements, and related circuitry therein. In certain scenarios, the power supply can be attached to a conventional power grid to recharge and ensure that such devices can be operational. In one aspect, the power supply can include an I/O interface (e.g., one of the network adapter(s) 818) to connect operationally to the conventional power grid. In another aspect, the power supply can include an energy conversion component, such as a solar panel, to provide additional or alternative power resources or autonomy for the computing device 810 and/or one of the computing device(s) 870.
The computing device 810 can operate in a networked environment by utilizing connections to one or more remote computing devices 870. As an illustration, a remote computing device can be a personal computer, a portable computer, a server, a router, a network computer, a peer device or other common network node, and so on. As described herein, connections (physical and/or logical) between the computing device 810 and a computing device of the one or more remote computing devices 870 can be made via one or more traffic and signaling pipes 860, which can comprise wired link(s) and/or wireless link(s) and several network elements (such as routers or switches, concentrators, servers, and the like) that form a local area network (LAN), a wide area network (WAN), and/or other networks (wireless or wired) having different footprints. Such networking environments are conventional and commonplace in dwellings, offices, enterprise-wide computer networks, intranets, local area networks, and wide area networks.
In one or more embodiments, one or more of the disclosed methods can be practiced in distributed computing environments, such as grid-based environments, where tasks can be performed by remote processing devices (computing device(s) 870) that are functionally coupled (e.g., communicatively linked or otherwise coupled) through a network having traffic and signaling pipes and related network elements. In a distributed computing environment, in one aspect, one or more software components (such as program modules) can be located in both a local computing device and at least one remote computing device.
In view of the aspects described herein, example methods that can be implemented in accordance with the disclosure can be better appreciated with reference, for example, to the flowcharts in
It should be appreciated that the methods in accordance with this disclosure can be retained on an article of manufacture, or computer-readable medium, to permit or facilitate transporting and transferring such methods to a computing device (such as a two-way communication device, such as a mobile smartphone or a voice-over-IP tethered telephone; a blade computer; a programmable logic controller; and the like) for execution, and thus implementation, by a processor of the computing device or for storage in a memory thereof or functionally coupled thereto. In one aspect, one or more processors, such as processor(s) that implement (e.g., execute) one or more of the disclosed methods, can be employed to execute code instructions retained in a memory, or any computer- or machine-readable medium, to implement one or more of the disclosed methods. The code instructions can provide a computer-executable or machine-executable framework to implement the methods described herein.
At block 910, a call with the automated communication platform can be initiated by the communication device. In one example, initiating the call can include receiving a request to connect with the automated communication platform, where the request can be received at the communication device. The request to connect can be associated with numerous types of call sessions (either voice calls or data calls) that may be established or otherwise performed, at least in part, via the communication device. The types of call sessions can include, for example, calls implemented using a cellular radio telecommunication protocol (such as voice calls over cellular telecommunication networks); calls implemented using VoIP protocols; and videotelephony calls implemented using suitable protocols for call initiation and media stream communication (e.g., transmission and/or reception). The automated communication platform (e.g., an IVR system, an automated attendant, or the like) can utilize an automated audio menu of options for interaction with the automated communication platform. At block 920, a communication address (e.g., a telephone number, a subscriber number, an IMSI, an ESN, an IP address, a SIP address, a MAC address, or the like) of the automated communication platform can be communicated or otherwise sent (e.g., transmitted) to a remote computing device (e.g., a digital menu server, as described herein). The communication address can be included or otherwise conveyed in the request to connect, and can be transmitted by the communication device. In one aspect, the remote computing device can determine that a digital menu of options for interaction with the automated communication platform is available. To at least such an end, in one example, the remote computing device can query a database or other data storage for the digital menu of options, where a search query can include the communication address. In response to the query, the remote computing device can receive the digital menu of options, thus establishing that such a menu is available. As such, in one aspect, at block 930, the digital menu of options can be received at the communication device. In one aspect, the digital menu of options is received as option information indicative of each of the options included in the digital menu of options.
At block 940, the communication device that initiated the call at block 910 can determine if the received digital menu of options is valid. In certain embodiments, the communication device can compare audio input signal from the automated communication platform with a reference audio signal (e.g., a segment of a few seconds of digitized audio) that is expected to be received from such a platform. More specifically, the remote computing device that can communicate the digital menu also can provide the reference audio signal, which may correspond to the audio signal that is expected to be received from the automated communication platform after a certain time interval has elapsed since the call is initiated. In addition, the communication device can compare a sequence of frequencies of the audio input signal with a sequence of frequencies of the reference audio signal. A comparison that establishes that both such signals have the same or substantially the same sequences can indicate the validity of the digital menu. In other embodiments, the communication device can include a speech-to-text unit that can convert to text a portion of audio input signal from the automated communication platform. The text so generated can be compared with at least a portion of the digital menu in order to establish that the digital menu is consistent with an automated audio menu of the automated communication platform. A determination that the digital menu is invalid can result in implementing exception handling at block 950. For instance, the communication device can display or otherwise present a message indicating that the received digital menu is invalid. For instance, as described herein, the message “Digital Menu is Outdated” or the message “Audio-to-Digital Menu Service is Currently Unavailable” may be displayed at the communication device.
A determination at block 940 that the digital menu is valid can direct the flow of the subject example method to block 960, at which multiple actionable indicia, such as clickable buttons or other selectable display options, can be displayed at the communication device. At least one of the multiple actionable indicia can correspond to a respective option in the automated audio menu. In addition or in the alternative, one or more of the multiple actionable indicia can represent shortcuts for specific responses to the automated communication platform and/or options for responses customized to the communication device and the automated communication platform. In addition or in the alternative, in certain embodiments of the subject example, certain non-actionable indicia can displayed at the communication device. For instance, indicia representative of a timer indicative of an time interval remaining to transfer the call to a live attendant. As described herein, one or more of the displayed indicia (actionable or otherwise) can be highlighted or otherwise visually emphasized in order to present such indicia distinctively to convey a popular or otherwise special option(s), customized option(s), or live attendant option(s).
In certain embodiments, presenting or otherwise displaying certain visually emphasized options can include parsing the option information indicative or otherwise representative of the digital menu options for a keyword or a phrase indicative of a live attendant option to reach at least one of a representative or an operator. After one or more of such keywords or phrases are identified or otherwise selected, displaying the multiple actionable indicia can include visually emphasizing at least one of the multiple actionable indicia to represent the live attendant option.
In addition, in certain embodiments, displaying the multiple actionable indicia can include displaying second actionable indicia representative of concatenated options in the digital menu, and wherein the second actionable indicia represents a tree structure of options having a first node associated with a first option and a second node associated with a second option, the second actionable indicia comprising one or more fillable fields to input information associated with the first option. In addition or in the alternative, displaying the multiple actionable indicia can include displaying a second actionable indicia representative of a customized option for the automated communication platform, and wherein the customized option is representative of historical selections.
At block 970 a selection of one of the multiple actionable indicia can be received at the communication device. At block 980, the communication device can generate code information according to the received selection. The code information can be embodied in or can include one or more tones (e.g., one or more DTMF tones), numeric data, alphanumeric data, or the like. At least a portion of the code information can be encoded or otherwise formatted, for example, according to a protocol for digital signaling suitable for communication with the automated communication platform. At block 990, the communication device can communicate (e.g., send or transmit) the generated code information (e.g., a generated sequence of tones) to the automated communication platform.
While not illustrated in
In response to the digital menu being unavailable, at block 1040, an audio input signal representative of one or more audible options of the automated audio menu of options can be received at the communication device. At block 1050, a textual representation of at least a portion of the received audio input signal can be determined. In one embodiment, the communication device can recognize speech conveyed in at least the portion of the audio input signal, and can convert the recognized speech to text. For instance, a speech-to-text unit integrated into or functionally coupled to the communication device can apply one or more models of speech (e.g., hidden Markov model(s)) to at least the portion of the audio input signal in order to generate speech associated with the audio input signal, where the generated speech can represent at least a portion of the one or more audible options. The speech-to-text unit can determine the textual representation using the generated speech. At block 1060, one or more digital options can be generated using the textual representation of the one or more audible options. Each of the one or more digital options can correspond to the one or more audible options. At block 1070, a digital menu associated with the automated audio menu can be generated using at least one of the one or more digital non-audio options.
At block 1080, it can be determined if an audible option of the one or more audible options is selected. For instance, the communication device that received the audio input signal at block 1040 can determine that input information (e.g., signaling) indicative of interaction with a user interface of the communication device is received. When the input information does not terminate the call between the communication device and the automated communication platform, the input information can represent the selection of an audible option. In response to ascertaining that the audible option is not selected, the subject example method can end. In the alternative, in response to ascertaining that the audible option is selected, the flow of the example method 1000 can be directed to block 1040. Such redirection of the flow can permit receiving additional audible options associated with the automated audio menu, and thus, a tree or other tier(s) of audible option(s) can be received and incorporated into the digital menu via the implementation of blocks 1040-1070.
While not shown, in certain embodiments, digital menu generated by implementing the example method 1000 can be communicated or otherwise provided to the remote computing device (e.g., a digital menu server) that provided the indication received at block 1030. The remote computing device can retain the digital menu in a repository (e.g., storage 150) or other storage, and can associate the digital menu to the communication address of the automated communication platform. Therefore, the digital menu may be available in other instances when the communication device initiates a call with the automated communication platform.
It should be appreciated that in certain embodiments, one or more of blocks 1040 through 1070 can be implemented by a computing device remote to the communication device that initiates the call with the automated communication platform. In one example, the computing device can be embodied in or can include the remote computing device (e.g., the digital menu server 140) that provided the indication received at block 1030. In another example, the computing device can include a speech-to-text server that can be functionally coupled to the remote computing device (e.g., the digital menu server 140) that provided the indication received at block 1030. In any instance, in such embodiments, the communication device (e.g., communication device 110) can communicate audio signal received from the automated communication platform to the computing device for implementation of one or more of the blocks 1040-1070. In addition, in response to receiving an audible selection at block 1080, the communication device can communicate information indicative or otherwise representative of such a selection to the computing device, which can continue implementing one or more of the blocks 1040-1070 in order to develop the digital menu as described herein.
As an illustration of generation of digital menus by a computing device remote to a communication device,
At block 1120, an audio input signal representative of one or more audible options of the automated audio menu of options for the called automated communication platform can be received at the communication device. At block 1130, a textual representation of at least a portion of the received audio input signal can be determined. In one embodiment, the computing device (e.g., the digital menu server 140) can recognize speech conveyed in at least the portion of the audio input signal, and can convert the recognized speech to text. For instance, a speech-to-text unit integrated into or functionally coupled to the computing device can apply one or more models of speech (e.g., hidden Markov model(s))) to at least the portion of the audio input signal in order to generate speech associated with the audio input signal, where the generated speech can represent at least a portion of the one or more audible options. The speech-to-text unit can determine the textual representation using the generated speech. At block 1140, one or more digital non-audio options can be generated using the textual representation of the one or more audible options. Each of the one or more digital non-audio options can correspond to the one or more audible options. At block 1150, a digital menu associated with the automated audio menu can be generated using at least one of the one or more digital non-audio options.
At block 1160, it can be determined if the computing device that implements the subject example method is to select an audible option of the one or more audible options in block 1120. A determination that the audible option is not to be selected can result in the termination of the subject example method. In the alternative, a determination that the audible option is to be selected can lead to block 1170, at which the computing device can generate code information according to the selected audible option. The code information can be embodied in or can include a sequence of tones (e.g., one or more DTMF tones), numeric data, alphanumeric data, or the like. At least a portion of the code information can be encoded or otherwise formatted, for example, according to a protocol for digital signaling suitable for communication with the automated communication platform. In one example, the computing device can parse a digital option associated with the selected audible option and can determine a combination of digit(s) (e.g., 0, 1, 2, 3, 4, 5, 6, 7, 8, and/or 9), “#” symbol, and “*” symbol for the selected audible option. An autodialer device that may be integrated into the computing device can generate the sequence of tones for such a combination (e.g., “*3”). At block 1180, the computing device can communicate the generated sequence of tones or the other type of code information to the automated communication platform, and flow can be directed to block 1120. It should be appreciated that, in one aspect, selection of the audible option and implementation of at least blocks 1170 and 1180 can permit traversing, at least in part, the automated audio menu by causing the automated communication platform to communicate additional audio signal representative or otherwise indicative of other audible options in the automated audio menu. Therefore, a tree or other tier(s) of audible option(s) can be received and incorporated into the digital menu via the implementation of blocks 1120-1150.
At block 1230, one or more audio menu options in the automated audio menu of the automated communication platform can be determined using the content that can be access in response to implementation of the block 1230. In one implementation, the audio menu option(s) can be determined by searching for strings of characters, words, or phrases, the typically are included in automated audio menus—e.g., “1 for” “2 for,” “3 for,” “4 for,” “5 for,” “6 for,” “7 for,” “8 for,” “9 for,” “0 for,” “for payment,” “representative,” or the like. At block 1240, one or more digital menu options corresponding to the one or more audio menu options can be generated. At block 1240, a digital menu of options associated with the automated audio menu can be generated.
At block 1310, a call with an automated communication platform can be initiated by the communication device. As described herein, in one example, initiating the call can include receiving a request to connect with the automated communication platform, where the request can be received at the communication device. The request to connect can be associated with numerous types of call sessions (either voice calls or data calls) that may be established or otherwise performed, at least in part, via the communication device. The types of call sessions can include, for example, calls implemented using a cellular radio telecommunication protocol; calls implemented using VoIP protocols; and videotelephony calls implemented using suitable protocols for call initiation and media stream communication. At block 1320, it can be determined if the automated communication platform has been previously called. In one example, the communication device can search for a telephone number of the automated communication platform in records of previous calls (e.g., a history or log of recent calls) performed by the communication device. Such a search can be performed locally at the communication device, or the communication device can query historical records of calls at a remote computing device. A negative determination at block 1320 can lead to block 1330, at which exception handling is implemented. Implementing exception handling can include, for example, proceeding with the call without utilizing or leveraging historical information as described in greater hereafter.
A positive determination at block 1320 can lead to block 1340, at which one or more historical options selected for interaction with the automation communication platform can be determined or otherwise identified. Such historical option(s) can include an option that may have been selected from an automated audio menu or a digital menu associated with the automated communication platform. In certain embodiments, the communication platform that initiates the call with the automated communication platform can query a remote computing device and/or remote information storage for the one or more historical options associated with previous selections in previous interactions (calls or communications) with the automated communication platform. Such historical options may be referred to as “historical selections” or, more simply, as “historical options.” In response to the query, the remote computing device and/or the information storage can provide (e.g., transmit) information indicative of the one or more historical options. As such, in one aspect, the communication device can determine or otherwise identify previously selected options for interaction with the automated communication platform. At block 1350, the communication device can present (e.g., display) an option to select at least one of the one or more historical options. For example, the communication device can prompt an end-user of the communication device to select the one or more historical options. Prompting the end-user can include displaying indicia indicative of a prior selection and/or indicia indicative of a request for confirmation of such a selection as a newly selected option to interact with the automated communication platform. More specifically, in one example, the communication device can display a banner or other graphical object conveying the following: “The last time you called this number you selected ‘*9’ to reach a live attendant, would you like it to be your current selection and that it be entered again automatically when appropriate?” It should be appreciated that other information can be conveyed when prompting the end-user to confirm a previously selected option.
At block 1360, it can be determined if the one or more historical options are selected or otherwise confirmed. A negative determination—e.g., the previous selection is not confirmed—can lead to block 1370 in which exception handling is implemented. An affirmative determination—e.g., the previous selection is confirmed—can lead to block 1380, at which code information is generated according to the confirmed selection. In the one example, the code information can be embodied in or can include a sequence of one or more tones (e.g., one or more DTMF tones); a sequence of one or more numeric codes; or a sequence of one or more alphanumeric codes, where at least one of such sequences can be representative of the confirmed historical selection(s). At block 1390, the generated code information (e.g., sequence of tone(s), sequence of numeric code(s), or sequence of alphanumeric tone(s)) can be communicated (e.g., transmitted) to the automated communication platform.
It should be appreciated that, in certain implementations, the subject example method can be carried out in combination with one or more other methods described herein, such as example method 900. It also should be appreciated that, in certain implementations, the example method 1300 can include other blocks related to receiving and/or validating a digital menu in response to initiating or establishing a connection with an automated communication platform. For instance, blocks 920-960 may be included in the example method 1300.
Various embodiments of the disclosure may take the form of an entirely or partially hardware embodiment, an entirely or partially software embodiment, or a combination of software and hardware (e.g., a firmware embodiment). Furthermore, as described herein, various embodiments of the disclosure (e.g., methods and systems) may take the form of a computer program product comprising a computer-readable non-transitory storage medium having computer-accessible instructions (e.g., computer-readable and/or computer-executable instructions) such as computer software, encoded or otherwise embodied in such storage medium. Those instructions can be read or otherwise accessed and executed by one or more processors to perform or permit the performance of the operations described herein. The instructions can be provided in any suitable form, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, assembler code, combinations of the foregoing, and the like. Any suitable computer-readable non-transitory storage medium may be utilized to form the computer program product. For instance, the computer-readable medium may include any tangible non-transitory medium for storing information in a form readable or otherwise accessible by one or more computers or processor(s) functionally coupled thereto. Non-transitory storage media can include read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory, etc.
Embodiments of the operational environments and methods (or techniques) are described herein with reference to block diagrams and flowchart illustrations of methods, systems, apparatuses and computer program products. It can be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by computer-accessible instructions. In certain implementations, the computer-accessible instructions may be loaded or otherwise incorporated into onto a general purpose computer, special purpose computer, or other programmable information processing apparatus to produce a particular machine, such that the operations or functions specified in the flowchart block or blocks can be implemented in response to execution at the computer or processing apparatus.
Unless otherwise expressly stated, it is in no way intended that any protocol, procedure, process, or method set forth herein be construed as requiring that its acts or steps be performed in a specific order. Accordingly, where a process or a method claim does not actually recite an order to be followed by its acts or steps or it is not otherwise specifically recited in the claims or descriptions of the subject disclosure that the steps are to be limited to a specific order, it is in no way intended that an order be inferred, in any respect. This holds for any possible non-express basis for interpretation, including: matters of logic with respect to the arrangement of steps or operational flow; plain meaning derived from grammatical organization or punctuation; the number or type of embodiments described in the specification or annexed drawings, or the like.
As used in this application, the terms “component,” “environment,” “system,” “architecture,” “interface,” “unit,” “module,” “pipe,” and the like are intended to refer to a computer-related entity or an entity related to an operational apparatus with one or more specific functionalities. Such entities may be either hardware, a combination of hardware and software, software, or software in execution. As an example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable portion of software, a thread of execution, a program, and/or a computing device. For example, both a software application executing on a computing device and the computing device can be a component. One or more components may reside within a process and/or thread of execution. A component may be localized on one computing device or distributed between two or more computing devices. As described herein, a component can execute from various computer-readable non-transitory media having various data structures stored thereon. Components can communicate via local and/or remote processes in accordance, for example, with a signal (either analogic or digital) having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as a wide area network with other systems via the signal). As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry that is controlled by a software application or firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and can execute at least a part of the software or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, and the electronic components can include a processor therein to execute software or firmware that provides, at least in part, the functionality of the electronic components. In certain embodiments, components can communicate via local and/or remote processes in accordance, for example, with a signal (either analog or digital) having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as a wide area network with other systems via the signal). In other embodiments, components can communicate or otherwise be coupled via thermal, mechanical, electrical, and/or electromechanical coupling mechanisms (such as conduits, connectors, combinations thereof, or the like). An interface can include input/output (I/O) components as well as associated processors, applications, and/or other programming components. The terms “component,” “environment,” “system,” “architecture,” “interface,” “unit,” “module,” and “pipe” can be utilized interchangeably and can be referred to collectively as functional elements.
As utilized in this disclosure, the term “processor” can refer to any computing processing unit or device comprising single-core processors; single processors with software multithread execution capability; multi-core processors; multi-core processors with software multithread execution capability; multi-core processors with hardware multithread technology; parallel platforms; and parallel platforms with distributed shared memory. Additionally, a processor can refer to an integrated circuit (IC), an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor can be implemented as a combination of computing processing units. In certain embodiments, processors can utilize nanoscale architectures such as, but not limited to, molecular and quantum-dot based transistors, switches and gates, in order to optimize space usage or enhance the performance of user equipment or other electronic equipment.
In addition, in the present specification and annexed drawings, terms such as “store,” storage,” “data store,” “data storage,” “memory,” “repository,” and substantially any other information storage component relevant to the operation and functionality of a component of the disclosure, refer to “memory components,” entities embodied in a “memory,” or components forming the memory. It can be appreciated that the memory components or memories described herein embody or comprise non-transitory computer storage media that can be readable or otherwise accessible by a computing device. Such media can be implemented in any methods or technology for storage of information such as computer-readable instructions, information structures, program modules, or other information objects. The memory components or memories can be either volatile memory or non-volatile memory, or can include both volatile and non-volatile memory. In addition, the memory components or memories can be removable or non-removable, and/or internal or external to a computing device or component. Examples of various types of non-transitory storage media can include hard-disc drives, zip drives, CD-ROMs, digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, flash memory cards or other types of memory cards, cartridges, or any other non-transitory medium suitable to retain the desired information and which can be accessed by a computing device.
As an illustration, non-volatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The disclosed memory components or memories of the operational or computational environments described herein are intended to include one or more of these and/or any other suitable types of memory.
Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain implementations could include, while other implementations do not include, certain features, elements, and/or operations. Thus, such conditional language generally is not intended to imply that features, elements, and/or operations are in any way required for one or more implementations or that one or more implementations necessarily include logic for deciding, with or without user input or prompting, whether these features, elements, and/or operations are included or are to be performed in any particular implementation.
What has been described herein in the present specification and annexed drawings includes examples of systems, devices, and techniques that can provide replacement and/or augmentation of automated audio menus with interactive digital menus. It is, of course, not possible to describe every conceivable combination of elements and/or methods for purposes of describing the various features of the disclosure, but it can be recognized that many further combinations and permutations of the disclosed features are possible. Accordingly, it may be apparent that various modifications can be made to the disclosure without departing from the scope or spirit thereof. In addition or in the alternative, other embodiments of the disclosure may be apparent from consideration of the specification and annexed drawings, and practice of the disclosure as presented herein. It is intended that the examples put forward in the specification and annexed drawings be considered, in all respects, as illustrative and not restrictive. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Patent | Priority | Assignee | Title |
11080013, | May 12 2020 | SALESFORCE COM, INC | Audio menu navigation and option selection via display device |
11410670, | Oct 13 2016 | Sonos Experience Limited | Method and system for acoustic communication of data |
11671825, | Mar 23 2017 | Sonos Experience Limited | Method and system for authenticating a device |
11682405, | Jun 15 2017 | Sonos Experience Limited | Method and system for triggering events |
11683103, | Oct 13 2016 | Sonos Experience Limited | Method and system for acoustic communication of data |
11782577, | Dec 22 2020 | Snap Inc. | Media content player on an eyewear device |
11797162, | Dec 22 2020 | Snap Inc. | 3D painting on an eyewear device |
11847302, | Mar 31 2020 | Snap Inc. | Spatial navigation and creation interface |
11854569, | Oct 13 2016 | Sonos Experience Limited | Data communication system |
11870501, | Dec 20 2017 | Sonos Experience Limited | Method and system for improved acoustic transmission of data |
Patent | Priority | Assignee | Title |
20130069858, | |||
20130078970, | |||
20150023484, | |||
20150030140, | |||
20150030143, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 23 2014 | Amazon Technologies, Inc. | (assignment on the face of the patent) | / | |||
Oct 02 2014 | ATLAS, SAMUEL RICHARD | Amazon Technologies, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034039 | /0902 |
Date | Maintenance Fee Events |
Aug 23 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 23 2023 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 23 2019 | 4 years fee payment window open |
Aug 23 2019 | 6 months grace period start (w surcharge) |
Feb 23 2020 | patent expiry (for year 4) |
Feb 23 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 23 2023 | 8 years fee payment window open |
Aug 23 2023 | 6 months grace period start (w surcharge) |
Feb 23 2024 | patent expiry (for year 8) |
Feb 23 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 23 2027 | 12 years fee payment window open |
Aug 23 2027 | 6 months grace period start (w surcharge) |
Feb 23 2028 | patent expiry (for year 12) |
Feb 23 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |