Automatic Resource Retrieval And Use

Glitsch; Hans M. ;   et al.

Patent Application Summary

U.S. patent application number 13/459497 was filed with the patent office on 2012-08-23 for automatic resource retrieval and use. Invention is credited to Hans M. Glitsch, Ajay Shah.

Application Number20120213383 13/459497
Document ID /
Family ID43221121
Filed Date2012-08-23

United States Patent Application 20120213383
Kind Code A1
Glitsch; Hans M. ;   et al. August 23, 2012

AUTOMATIC RESOURCE RETRIEVAL AND USE

Abstract

At a commercial location, broadcasting a content acquisition cue via an audio signal. The audio signal has a frequency that renders the signal inaudible to a human; corresponds to the commercial location; and bears information that causes the device to obtain content relevant to the commercial location.


Inventors: Glitsch; Hans M.; (Quilcene, WA) ; Shah; Ajay; (Orange, CA)
Family ID: 43221121
Appl. No.: 13/459497
Filed: April 30, 2012

Related U.S. Patent Documents

Application Number Filing Date Patent Number
12789419 May 27, 2010
13459497
61181472 May 27, 2009

Current U.S. Class: 381/80 ; 381/77
Current CPC Class: H04N 21/2407 20130101; G06F 16/433 20190101; G06F 16/4393 20190101; H04N 21/4394 20130101
Class at Publication: 381/80 ; 381/77
International Class: H04B 3/00 20060101 H04B003/00

Claims



1. A method comprising: At a commercial location, broadcasting a content acquisition cue via an audio signal, in which the audio signal: has a frequency that renders the signal inaudible to a human; corresponds to the commercial location; and bears information that causes the device to obtain content relevant to the commercial location.

2. The method of claim 1, further comprising providing the content to the device.

3. The method of claim 1, in which the content includes a coupon for an item sold at the commercial location.

4. The method of claim 1, in which the content includes an advertisement for an item sold at the commercial location.

5. The method of claim 1, in which the content acquisition cue is broadcast over a plurality of substantially separate audio channels.

6. The method of claim 5, in which the content acquisition cue is broadcast over three separate audio channels.

7. The method of claim 1, in which the commercial location is at an entrance of a store.

8. The method of claim 1, in which the audio signal further includes a content use cue that causes the content to be used on the device.

9. A method comprising: at a commercial location, receiving a content acquisition cue via an audio signal, in which the audio signal: has a frequency that renders the signal inaudible to a human; and corresponds to the commercial location; and in response to receiving the content acquisition cue, obtaining content relevant to the commercial location.

10. The method of claim 7, wherein the content includes a coupon for an item sold at the commercial location.

11. The method of claim 7, wherein the content includes an advertisement for an item sold at the commercial location.

12. The method of claim 7, wherein receiving the audio signal includes receiving audio signals simultaneously broadcast over three substantially separate audio channels.

13. A system comprising: a controller, and a loudspeaker in data communication with a controller, wherein the controller is configured to cause the loudspeaker to broadcast a content acquisition cue that: has a frequency that renders the signal inaudible to a human; corresponds to the commercial location; and bears information that causes a device to automatically obtain content relevant to the commercial location.

14. The system of claim 13 wherein the content includes a coupon for an item sold at the commercial location.

15. The system of claim 13 wherein the content includes an advertisement for an item sold at the commercial location.

16. The system of claim 13, in which the content acquisition cue is broadcast over a plurality of substantially separate audio channels.

17. The system of claim 16, in which the content acquisition cue is broadcast over three substantially separate audio channels.

18. The system of claim 13, in which the commercial location is at an entrance of a store.

19. The system of claim 13, in which the controller is further configured to cause the loudspeaker to broadcast a content use cue that causes the content to be used on the device.
Description



RELATED APPLICATIONS

[0001] This application is a continuation of U.S. patent application Ser. No. 12/789,419, filed on May 27, 2010, which claims the benefit of U.S. Provisional Pat. App. 61/181,472 filed May 27, 2009, each of which the entire content is hereby incorporated by reference.

TECHNICAL FIELD

[0002] This disclosure relates automatic resource retrieval and use. More specifically, this disclosure relates to generating, providing, and processing cues for resource retrieval and use.

BACKGROUND

[0003] Computers and other computing devices are useful for retrieving and displaying resources such as multimedia content, interactive content, executable programs, and the like. Such resources are often useful in providing information to a user of the computer. Often, that content can augment or enhance other information, performances, or experiences that the user is presented with from a source other than his computer.

SUMMARY

[0004] In general, in one aspect: At a commercial location, broadcasting a content acquisition cue via an audio signal. The audio signal has a frequency that renders the signal inaudible to a human; corresponds to the commercial location; and bears information that causes the device to obtain content relevant to the commercial location.

[0005] In general, in another aspect, at a commercial location, receiving a content acquisition cue via an audio signal. The audio signal has a frequency that renders the signal inaudible to a human and corresponds to the commercial location. In response to receiving the content acquisition cue, obtaining content relevant to the commercial location.

[0006] Implementations may have one or more of the following features. Content is also provided to the device. The content includes a coupon for an item sold at the commercial location. The content includes an advertisement for an item sold at the commercial location. The content acquisition cue is broadcast over a plurality of substantially separate audio channels. The content acquisition cue is broadcast over three separate audio channels. The commercial location is at an entrance of a store. The audio signal further includes a content use cue that causes the content to be used on the device.

[0007] Other aspects include other combinations of the features recited above and other features, expressed as methods, apparatus, systems, program products, and in other ways. Other features and advantages will be apparent from the description and from the claims.

DESCRIPTION OF DRAWINGS

[0008] Embodiments of the invention described herein may be understood by reference to the following figures, which are provided by way of example and not of limitation:

[0009] FIG. 1 is schematic depiction of a resource retrieval system.

[0010] FIGS. 2-3 are flowcharts for a resource retrieval method.

[0011] FIG. 4 is a schematic depiction of an encoding process.

[0012] FIG. 5 is a flowchart for encoding a resource identifier

[0013] FIGS. 6A and 6B are schematic depictions of broadcasting an audio signal.

[0014] FIG. 7 is a flowchart for decoding a resource identifier.

[0015] FIG. 8 is a schematic depiction of a venue with several content use sites.

DETAILED DESCRIPTION

[0016] Computing devices (including personal computers, laptops, netbooks, smart phones, special-purpose computing hardware, and other portable or non-portable equipment, collectively referred to in this document as "computers") are useful for retrieving information. For example, computers often can electronically communicate (e.g., via the Internet) with a vast number of information sources, and can therefore retrieve a vast amount of information.

[0017] Moreover, computers are capable of displaying a vast amount of information in a variety of forms. Even computers with relatively modest capabilities can routinely display a variety of video, audio, document, and other data formats, and can similarly execute a wide variety of computer programs.

[0018] It is often useful or entertaining to employ these capabilities of a computer to enhance events that are occurring in the computer user's environment. For example, if the computer user is attending a presentation on a topic, it may enhance the user's experience of the presentation if the user was simultaneously viewing pertinent content, e.g., on his computer.

[0019] To some degree, this may be accomplished by traditional means. For example, the speaker at a presentation can display a visual aid to the audience. However, this does not allow audience members to individually interact with the visual aid. Alternatively, the speaker may disseminate an electronic copy of the visual aid to conference attendants in advance of the presentation. Although this allows audience members to individually interact with the visual aid, it is relatively difficult to focus the audience's collective attention on a desired feature of the visual aid. For example, if the speaker desired audience members to activate a function on a program by clicking on one of many available buttons, the speaker's options would be relatively inefficient. For example, one option is for the speaker to attempt to verbally describe which of the several buttons to click.

[0020] Among other things, the techniques described in this document allow for the automatic retrieval and/or use of content or other resources. These techniques may advantageously be employed, e.g., by a speaker at a conference to cause the participants' computers to automatically retrieve, load, or use content or other resources. Other exemplary uses are discusses below.

[0021] FIG. 1 is a schematic depiction of a resource retrieval system. The resource retrieval system 10 may include one or more client computers 12 and a signaling computer 14. The signaling computer 14 may include a loudspeaker 16, and each of the client computers 12 may include a microphone 20. Each client computer 12 may also be in data communication via a computer network 22 to one or more resource identification servers 24 and resource providers 28. The computer network 22 can include any known networking type or structure, including local area networks, ad-hoc networks, mesh networks, wide-area networks such as the Internet, telephone networks, satellite networks, etc. The data communication may be implemented in any known fashion, including hypertext transfer protocol (HTTP), file transfer protocol (FTP), BitTorrent protocol, e-mail, short message service (SMS), or any other standard or proprietary fashion.

[0022] The client computer 12 may more generally include any computing device that includes a microphone, networking communications capability, and processing capability adequate for the signal processing described herein. By way of example and not limitation, a client computer 12 as described herein may include a laptop computer, a notebook computer, a netbook computer, a cellular phone (including smart phones such as an iPhone or a Blackberry), a personal digital device, a media player (e.g., an iPod), an electronic messaging device, and so forth.

[0023] As described more thoroughly below, the presenter may emit suitable audio signals 18 using the loudspeaker 16, which can subsequently be detected by the microphone 20 of a client computer 12. The audio signal 18 can be decoded to reveal a resource identifier. As described more fully below, the resource identifier can consist of a relatively small amount of data; e.g., a 30 bit integer.

[0024] The resource identifier can be used to determine a corresponding resource location. For example, this can be accomplished by submitting the resource identifier over the computer network 22 to a resource identification server 24. A server 24 can include a data store 26 that lists a resource location corresponding to each resource identifier. The client computer 12 can then obtain the resource from a resource provider 28 at the specified resource location.

[0025] As used in this document, the word "resource" can refer to any computer-stored information or instructions that can be transferred, described, or implemented over a computer network. In particular, a "resource" can include audio, video, images, documents, markup language documents, hypertext links, scripts, macros, source code, executable code, or any combinations of the foregoing. The words "content" and "resource" are synonymous in this document.

[0026] FIG. 2 is a method of associating an audio signal with a resource. The method 30 begins by selecting a resource (step 32) with which to associate an audio signal 18. For example, this resource can include a visual aid for use by a speaker during a presentation. Many more examples are given below.

[0027] In step 34, a resource identifier can be associated with the resource. In some implementations, the resource identifier can consist solely of a number; for example, a 30 (or fewer) bit number. Additionally, a resource identifier can also include other information, such as information that describes a context or a geographic location in which the resource will be used. Further considerations pertinent to selecting a resource identifier are discussed in connection with FIGS. 6A and 6B.

[0028] Step 34 can be carried out at any location, on any computer. For example, step 34 can be carried out at the signaling computer 14, a resource identification server 24, a resource provider 28, or at another location outside the resource retrieval system 10.

[0029] In step 36, the resource is sent to known location at a resource provider 28. In some implementations, this can be done via any electronic communication, such as file transfer protocol, secure copying, via e-mail attachment, etc. In some implementations, the performer of the method 30 is also the resource provider 28, in which case the resource need not be sent to another location.

[0030] In step 37, the resource identifier and the location of the corresponding resource are stored in a data store 26 within a server 24. This information can be stored in any manner. For example, the resource identifier and resource location can be stored in corresponding fields in a record of a database, as corresponding entries in an index or table, as concurrent entries in a list, etc.

[0031] In step 38, the resource identifier can be encoded as an audio signal 18. Further details about possible encoding techniques are described below in connection with FIGS. 4 and 5. The encoding can take place at any location on any computer. For example, step 38 can be carried out at the signaling computer 14, a server 24, a resource provider 28, or at another location outside the resource retrieval system 10.

[0032] In step 40, the audio signal 18 can be broadcasted. In some implementations, the audio signal 18 is broadcasted by the signaling computer 14 using the loudspeaker 16, or other hardware capable of broadcasting an audio signal. In some implementations, a computer different from the signaling computer 14 broadcasts the audio signal.

[0033] FIG. 3 is a method for retrieving a resource. The method 42 of FIG. 3 can begin with receiving an audio signal (step 44). For example, an audio signal 18 that had previously been broadcasted using the method 30 or another method can be received.

[0034] In step 46, the audio signal can be decoded. Further details about decoding techniques are described below, in connection with FIG. 7. As a result of the decoding in step 46, a resource identifier can be obtained (step 48).

[0035] In step 49, a resource location can be ascertained based on the resource identifier. For example, the resource identifier can be submitted to a server 24, in response to which the server 24 provides the corresponding resource location. In some implementations, the resource identifier can be used as a query for a database, as an argument for a lookup routine, etc.

[0036] In step 50, the resource can be obtained from the resource location. In some implementations, the resource can be obtained directly by the performer of the retrieval method 42, such as a client computer 12. For example, the client computer 12 can initiate a data connection to the resource location and obtain the resource. In some implementations, the performer of the retrieval method 42 can indirectly obtain the resource. For example, the resource provider can send the resource as an attachment in an e-mail to an e-mail server, from which the performer of the method 42 subsequently obtains the resource.

[0037] After obtaining the resource, the client computer 12 may take a specified action with respect to the resource (e.g., display or execute the resource), or may simply store the resource for later use. Although the resource provider 28 is illustrated separately from the client computer 12 in FIG. 1, in some implementations the resource provider 28 can be the same as the client computer 12. In this case, the resource is "local" to the client computer 12.

[0038] Referring to FIGS. 4 and 5, a schematic illustration of encoding a resource identifier 52 is shown (FIG. 4), together with a method 58 of encoding a resource identifier (FIG. 5). In the schematic illustration, a resource identifier 52 is illustrated as a string of bits. Although only nine bits are illustrated in FIG. 4, in principal any number of bits can be used, subject to limitations discussed below. In step 60, the resource identifier 52 can be obtained. For example, this can be the result of step 34 of process 30 (FIG. 2).

[0039] In step 62, a number of audio channels 54 are identified. Although three audio channels 54a, 54b, and 54c are illustrated in FIG. 4, in principal any number of audio channels can be used. An audio channel is characterized by a central frequency 55 and a channel width (or "band width") that describes the range of frequencies in the channel. The channel width is illustrated in FIG. 4 by the geometric width of the channels 54a, 54b, 54c.

[0040] If the audio channels 54a, 54b, 54c do not overlap (i.e., are separate), then there is no interference between the audio signals sent over the audio channels. However, if the audio channels 54a, 54b, 54c do overlap, then the audio signals may, but need not, interfere. In some implementations, the audio channels 54a, 54b, and 54c are separate. In some implementations, one or more pairs of audio channels 54a, 54b, and 54c are only substantially separate, with a small amount of overlap permissible based on an acceptable level of interference-based errors. The rate at which these errors occurs depends on many factors, including the size of the overlap between channels, the type of encoding used, the data being sent during a particular transmission, and other factors.

[0041] As discussed below, some encoding techniques require a minimum bandwidth for a communication channel 54. In some implementations, the number of audio channels 54 can be chosen by identifying a total frequency range available for transmission, and partitioning the available frequency range into separate (or substantially separate) channels of the minimum-sized bandwidth necessary for the selected encoding technique. This approach maximizes the number of audio channels 54 available for transmission.

[0042] In principle, there is no upper limit for the total frequency range available for transmission. However, the sampling rate of the microphone 20 can determine the maximum possible frequency it can receive. In particular, the maximum possible identifiable frequency is equal to half the sampling rate. In some implementations, commonly available microphones have a sampling rate of 44.1 kilo-samples per second. Consequently, the maximum available frequency such a microphone can detect is 22.05 kHz.

[0043] In principle, there is no lower limit for the total frequency range available for transmission. However, in some implementations, it is desirable for the audio signals 18 to be in inaudible to humans or other animals. This has the advantage that people would not be distracted by audio signals 18 that are broadcast in their vicinity. According to one estimate, the audible range for most humans has an upper limit of 15 kHz. This, in turn, can be used as a lower limit of the total available frequency range.

[0044] Once the number of channels 54 is identified in step 62, the resource identifier 52 can be segmented into as many parts as there are channels (step 64). For example, in FIG. 4, the nine-bit resource identifier 52 is segmented into three parts, one for each of the communication channels 54a, 54b, 54c. If the number of bits in the resource identifier 52 is not evenly divisible by the number of communication channels 54, then the remainder bits can be associated with the higher-frequency channels. This can be advantageous for reasons of echo prevention, described more fully below (see FIGS. 6A and 6B).

[0045] After segmenting the resource identifier 52, each segment can be processed as follows. A first segment is identified (step 64). That segment is encoded according to a chosen algorithm (step 66). There are a number of modulation algorithms that can be employed, including analog modulation, digital modulation, spread spectrum modulation, and others. Each algorithm has potential strengths and weaknesses, depending on the particular constraints that are important in the deployment of a particular resource retrieval system 10.

[0046] Among the possible encoding techniques is the class of continuous spectrum, frequency shift keying algorithms. One such algorithm, known as Gaussian minimum shift keying ("GMSK"), has the advantageous property of requiring a relatively narrow bandwidth, e.g., approximately 1.5 kHz) for each of three audio channels to transmit about ten bits (or thirty bits in aggregate) within two to five milliseconds (without any cyclic redundancy check). Consequently, using GMSK for encoding accommodates a relatively high number of audio channels 54 that can be used for transmission. It will be understood that other modulation techniques may be suitably adapted to encode data for high-frequency audio transmission. Thus, while GMSK has been usefully demonstrated to provide adequate data rates and robustness in a variety of physical contexts, this disclosure is not limited to GMSK coding unless explicitly stated to the contrary. For example, other shift-keyed encoding techniques include minimum shift keying, frequency shift keying, phase shift keying, quadrature phase shift keying, and so forth. Still more generally, other modulation techniques based upon frequency modulation, amplitude modulation, phase modulation, and various combinations of the foregoing, are generally known in the art and all such techniques that may be usefully adapted to reliably encode data onto a high-frequency audio carrier are intended to fall within the scope of this disclosure.

[0047] Referring to FIGS. 6A and 6B, concurrently broadcasting several audio signals 18a, 18b, 18c helps reduce the possibility of errors related to echoes as compared to broadcasting a single audio signal 18. In FIG. 6A, a single audio signal 18 is broadcast from a loudspeaker 16; In FIG. 6B, three audio signals 18a, 18b, and 18c are broadcast from a loudspeaker 16. If the signal 18 carries the same information content as the signals 18a, 18b, and 18c, then the signal 18 is three times as long as any individual signal 18a, 18b, or 18c.

[0048] An echo-related error may occur when a signal interferes with itself where a microphone 20 is located. In FIG. 6A, for example, the signal 18 reflects off a wall 67, so that both the last portion and the (reflected) initial portion of the signal arrive at the microphone. By contrast, in FIG. 6B when the loudspeaker 16 and microphone 20 are in the same relative positions, there are no echo-related errors, because the signal lengths are sufficiently short.

[0049] The higher the frequency of an audio signal, the shorter its duration needs to be in order to send a certain fixed amount of data. Thus, allocating any extra bits of the resource identifier to higher-frequency channels helps reduce echo-related errors by keeping signals relatively short.

[0050] Using a larger resource identifier has the advantage of being able to accommodate more distinct resources, but has the disadvantage of requiring longer audio signals 18, thereby increasing the risk of echo-related error, as described above. In some implementations, the resource identifier 52 consists of an integer with a length between twenty four and thirty bits, which are segmented for transmission across three audio channels and encoded using GMSK modulation. In some implementations, the resource identifier 52 can also include other data, e.g., data describing a geographic or other context to which the resource relates.

[0051] Referring back to FIG. 5, if there are any unencoded segments remaining (decision 68), then the encoding process 58 returns back to step 64, where the next unencoded segment is selected. Once all segments have been encoded, process 58 concludes, having produced a number of audio signals that collectively encode the resource identifier.

[0052] Although the use of several separate (or substantially separate) audio channels to broadcast several audio signals is advantageous for reasons described herein, these techniques can still be successful with a single audio signal broadcast on a single audio channel.

[0053] FIG. 7 is a flowchart for a decoding process. Initially, an audio signal can be received (step 72). For example, the audio signal can be the result of broadcasting step 40 of method 30. The received audio signal can then be decoded (step 74). The decoding process utilizes the compatible techniques of those used to encode the audio signal. For example, if GMSK techniques were used to encode the audio signal, those techniques are used to decode the signal.

[0054] Upon decoding the signal, the step 74 produces one or more resource identifier segments. If more than one segment is produced, those segments are subsequently reassembled (step 76), thereby producing a resource identification 52.

[0055] FIG. 8 is a schematic depiction of a venue with several content display points. The venue 80 includes several content display points 82, each with a corresponding effective display area 84. For example, there may be a signaling computer 14 at each display point 82, and each effective display area 84 corresponds to the range of the signaling computer's loudspeaker 16. Other examples are possible.

[0056] As a person navigates the venue 80, they encounter the various content display points 82. Each content display point 82 provides a content use cue to cause a user's computer to display content relevant to that particular content display point. For example, the content use cue can include an audio signal 18 as described above. More generally, the content use cue can include any transmission that causes the user's computer to display specific content. For example, the content use cue can include a visual signal, a conventional data transmission over a network connection, etc.

[0057] In the foregoing scenario, it is sometimes convenient for the user to have obtained the pertinent content for the various content display points 82 in advance of encountering those display points. To facilitate this, one or more content acquisition sites 86 can be established in the venue 80. For example, a content acquisition site can be established near an entrance 88 of the venue 80.

[0058] A content acquisition site 86 can provide a content acquisition cue to a user. For example, the content acquisition cue can include an audio signal 18 as describe above. More generally, the content acquisition cue can include any transmission that causes the user's computer to acquire pertinent content. For example, the content acquisition cue can include a visual signal, a conventional data transmission over a network connection, etc. A content acquisition cue can simply include a verbal instruction to load a particular piece of physical media, such as a DVD, that bears the content pertinent to the content display points 82.

[0059] In response to receiving the content acquisition cue, the user's computer acquires the content pertinent to the various content display sites. For example, the user's computer can perform the method 42 of FIG. 3. The user's computer can obtain the content in other ways, such as acquiring the content via a conventional network connection to a local or remote computer, or by loading files from a local storage device.

[0060] Acquiring content prior to use can have advantages. For example, having content locally available when receiving a content use cue tends to allow the user's computer to use the content relatively quickly. Moreover, obtaining all the content for the various content use points 82 in the venue 80 in one network transmission can provide power or bandwidth savings over obtaining content from the different content use points 82 on an as-needed basis.

[0061] In addition to the example discussed above involving a presenter and audience members at a conference utilizing a resource retrieval system 10 to retrieve visual aides, interactive surveys, and the like, numerous other examples exist.

[0062] In one example, the resource retrieval system 10 can be deployed at a retail venue. At various locations near specified products, an audio signal source can be deployed to cause computers that detect the audio signal to retrieve content pertinent to one or more products in the vicinity. Such content can include, e.g., advertisement materials, promotions, coupons, product descriptions, product reviews, links to product-related web sites, etc. Additionally, a store-wide audio signal can be broadcast periodically alerting shoppers to promotions or specials occurring in specified departments or locations in the retail venue.

[0063] In another example, the resource retrieval system 10 can be deployed in a museum or other venue amenable to self-guided tours. Near points of interest (e.g., exhibits, historical sites, etc.), the resource retrieval system 10 can be used to cause users' computers to automatically retrieve information about the point of interest. Moreover, different information can be displayed to different users. For example, an "advanced" presentation or a "beginner" presentation can be displayed, depending on the user's preferences.

[0064] In another example, the resource retrieval system 10 can be deployed in a sporting event. At various times, the resource retrieval system 10 can be used to cause users' computers to automatically retrieve information pertinent to a particular competitor, a team, a play, etc.

[0065] In another example, the resource retrieval system 10 can be deployed in a classroom setting. The teacher can broadcast audio signals to cause students' computers to display specific resources pertinent to a lecture. Similarly, the teacher can broadcast audio signals to cause students' computers to begin or end an examination.

[0066] In another example, the resource retrieval system 10 can be deployed in any venue. At various locations, the resource retrieval system 10 can be used to cause users' computers to automatically retrieve information about the venue such as a map of the venue or surrounding areas. For example a loudspeaker can be deployed at information kiosks, orientation booths, entrances to the venue, etc.

[0067] In another example, at any venue, the resource retrieval system can be used to cause users' computers to automatically retrieve information about emergency procedures. For example, in the event of an emergency, a venue-wide broadcast can be sounded over the venue's alarm system to alert occupants about the emergency, where the venue-wide broadcast includes an audio signal according to the techniques described above. Emergency procedures can include evacuation routes, first aid information, safety information, etc.

[0068] Many of the above systems, devices, methods, processes, and the like may be realized in hardware, software, or any combination of these suitable for the control, data acquisition, and data processing described herein. This includes realization in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable devices or processing circuitry, along with internal and/or external memory. This may also, or instead, include one or more application specific integrated circuits, programmable gate arrays, programmable array logic components, or any other device or devices that may be configured to process electronic signals. It will further be appreciated that a realization of the processes or devices described above may include computer-executable code created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software. At the same time, processing may be distributed across devices such as the various systems described above, or all of the functionality may be integrated into a dedicated, standalone device. All such permutations and combinations are intended to fall within the scope of the present disclosure.

[0069] In embodiments, disclosed herein are computer program products comprising computer-executable code or computer-usable code that, when executing on one or more computing devices (such as the devices/systems described above), performs any and/or all of the steps described above. The code may be stored in a non-transitory fashion in a computer memory, which may be a memory from which the program executes (such as random access memory associated with a processor), or a storage device such as a disk drive, flash memory or any other optical, electromagnetic, magnetic, infrared or other device or combination of devices. In another aspect, any of the processes described above may be embodied in any suitable transmission or propagation medium carrying the computer-executable code described above and/or any inputs or outputs from same.

[0070] It will be appreciated that the methods and systems described above are set forth by way of example and not of limitation. Numerous variations, additions, omissions, and other modifications will be apparent to one of ordinary skill in the art. In addition, the order or presentation of method steps in the description and drawings above is not intended to require this order of performing the recited steps unless a particular order is expressly required or otherwise clear from the context.

[0071] While particular embodiments of the present invention have been shown and described, it will be apparent to those skilled in the art that various changes and modifications in form and details may be made therein without departing from the spirit and scope of the invention as defined by the following claims. The claims that follow are intended to include all such variations and modifications that might fall within their scope, and should be interpreted in the broadest sense allowable by law.

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed