The invention is generally related to the area of consumer electronics and human-computer interaction. In particular, the invention is related to user interfaces for controlling or manipulating a plurality of multimedia players in a multi-zone system.
An enduring passion for quality audio reproduction or system is continuing to drive demands from users. One of the demands includes an audio system in a house in which, for example, one could grill to classic rock on a patio while another one may cook up his/her own music selections in a kitchen. This is all at the same time while a teenager catches a ballgame in a family room, and another one blasts pop in a bedroom. And the best part of such audio system is that each family member does not need his or her own stereo system—one system gives everyone access to all the music sources,
Currently, one of the systems that can meet part of such demand is a conventional multi-zone audio system that usually includes a number of audio players. Each of the audio players has its own amplifier(s) and a set of speakers and typically installed in one place (e.g., a room). In order to play an audio source at one location, the audio source must be provided locally or from a centralized location. When the audio source is provided locally, the multi-zone audio system functions as a collection of many stereo systems, making source sharing difficult. When the audio source is provided centrally, the centralized location may include a juke box, many compact discs, an AM or FM radio, tapes, or others. To send an audio source to an audio player demanding such source, a cross-bar type of device is used to prevent the audio source from going to other audio players that may be playing other audio sources.
In order to achieve playing different audio sources in different audio players, the traditional multi-zone audio system is generally either hard-wired or controlled by a pre-configured and pre-programmed controller. While the pre-programmed configuration may be satisfactory in one situation, it may not be suitable for another situation. For example, a person would like to listen to broadcast news from his/her favorite radio station in a bedroom, a bathroom and a den while preparing to go to work in the morning. The same person may wish to listen in the den and the living room to music from a compact disc in the evening. In order to satisfy such requirements, two groups of audio players must be established. In the morning, the audio players in the bedroom, the bathroom and the den need to be grouped for the broadcast news. In the evening, the audio players in the den and the living room are grouped for the music. Over the weekend, the audio players in the den, the living room, and a kitchen are grouped for party music. Because the morning group, the evening group and the weekend group contain the den, it can be difficult for the traditional system to accommodate the requirement of dynamically managing the ad hoc creation and deletion of groups.
There is a need for dynamic control of the audio players as a group. With a minimum manipulation, the audio players may be readily grouped. There is further a need for user interfaces that may be readily utilized to group and control the audio players.
This section is for the purpose of summarizing some aspects of the present invention and to briefly introduce some preferred embodiments. Simplifications or omissions in this section as well as in the abstract or the title of this description may be made to avoid obscuring the purpose of this section, the abstract and the title. Such simplifications or omissions are not intended to limit the scope of the present invention.
In general, the present invention pertains to controlling a plurality of multimedia players, or simply players, in groups. According to one aspect of the present invention, a mechanism is provided to allow a user to group some of the players according to a theme or scene, where each of the players is located in a zone. When the scene is activated, the players in the scene react in a synchronized manner. For example, the players in the scene are all caused to play an audio source or music in a playlist, wherein the audio source may be located anywhere on a network.
According to another aspect of the present invention, various user interfaces are provided to facilitate a user to create and manage a group and also create, edit or update a playlist for the group. Depending on implementation, the user interfaces may be displayed on a touch screen from which a user may act directly with the screen to group the players, the user interfaces may also be displayed on a display with other means (e.g., a stylus, a scroll wheel, or arrow buttons) to interact. In addition, the user displays are configured to show graphically how many players in a group versus other individual players.
According to still another aspect of the present invention, the scene may be activated at any time or a specific time. A user may activate the scene at any time so that only some selected zones in an entertainment system facilitate a playback of an audio source. When the scene is activated at a specific time, the scene may be used as an alarm or buzzer.
According to still another aspect of the present invention, a controlling device (also referred to herein as controller) is provided to facilitate a user to select any of the players in the system to form respective groups each of which is set up per a scene. Although various scenes may be saved in any of the members in a group, commands are preferably sent from the controller to the rest of the members when one of the scenes is executed. Depending on implementation, the commands include parameters pertaining to identifiers of the players, volumes settings, audio source and etc.
According to yet another aspect of the present invention, a configurable module is implemented in the controlling device that provides interactive graphic user interface for forming, managing and controlling groups in the system, de-grouping a group or adjusting audio volume of individual players or a group of players.
The present invention may be implemented in many forms including software, hardware or a combination of both. According to one embodiment, the present invention is directed to a method for groupings in a multi-zone media system, the method comprises providing a mechanism to allow a user to determine which players in the system to be associated with a theme representing a group; and configuring the theme with parameters pertaining to the players, wherein the theme is activated at anytime or a specific time so that the players react in a synchronized manner. The players in a scene are synchronized to play a multimedia file hen the scene is activated.
According to another embodiment, the present invention is directed to a method for groupings in a multi-zone media system, the method comprises providing a user interface to allow a user to determine which players in the system to be associated with a theme representing a group, the user interface showing all available players at the time the user interface is created; allowing the user to visually select one of the players to be a first member of the theme; allowing the user to add more of the available players to the theme, if desired; and configuring the theme with parameters pertaining to the players. The theme may be activated at anytime or a specific time so that the players react in a synchronized manner.
According to still another embodiment, the present invention is directed to an entertainment system for grouping players, the system comprises: a plurality of players, each located in one zone; and a controller providing a mechanism to allow a user to select which of the players to be associated with a theme representing a group; and configure the theme with parameters pertaining to the selected players, wherein the theme is activated at anytime or a specific time so that the selected players react in a synchronized manner. As a result, the selected players are synchronized to play a multimedia that is in a digital format and retrieved from a source over a network.
One of the objects, features, and advantages of the present invention is to remotely control a plurality of multimedia players in a multi-zone system, playing and controlling the audio source synchronously if the players are grouped together, or playing and controlling the audio source individually if the players are disassociated with each other.
Other objects, features, and advantages of the present invention will become apparent upon examining the following detailed description of an embodiment thereof, taken in conjunction with the attached drawings.
These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:
The detailed description of the invention is presented largely in terms of procedures, steps, logic blocks, processing, and other symbolic representations that directly or indirectly resemble the operations of data processing devices coupled to networks. These process descriptions and representations are typically used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art. Numerous specific details are set forth in order to provide a thorough understanding of the present invention, However, it will become obvious to those skilled in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuitry have not been described in detail to avoid unnecessarily obscuring aspects of the present invention.
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Further, the order of blocks in process flowcharts or diagrams representing one or more embodiments of the invention do not inherently indicate any particular order nor imply any limitations in the invention.
Referring now to the drawings, in which like numerals refer to like parts throughout the several views.
As used herein, unless explicitly stated otherwise, an audio source or audio sources are in digital format and can be transported or streamed over a data network. To facilitate the understanding of the present invention, it is assumed that the configuration 100 represents a home. Thus, the zone player 102 and 104 may be located in two of the bedrooms respectively while the zone player 106 may be installed in a living room. All of the zone players 102, 104 and 106 are coupled directly or indirectly to a data network 108. In addition, a computing device 110 is shown to be coupled on the network 108. In reality, any other devices such as a home gateway device, a storage device, or an MP3 player may be coupled to the network 108 as well.
The network 108 may be a wired network, a wireless network or a combination of both. In one example, all devices including the zone players 102, 104 and 106 are coupled to the network 108 by wireless means based on an industry standard such as IEEE 802.11. In yet another example, all devices including the zone players 102, 104 and 106 are part of a local area network that communicates with a wide area network (e.g., the Internet).
Many devices on the network 108 are configured to download and store audio sources. For example, the computing device 110 can download audio sources from the Internet and store the downloaded sources locally for sharing with other devices on the Internet or the network 108. The computing device 110 or any of the zone players can also be configured to receive streaming audio. Shown as a stereo system, the device 112 is configured to receive an analog audio source (e.g., from broadcasting) or retrieve a digital audio source (e.g., from a compact disk). The analog audio sources can be converted to digital audio sources. In accordance with the present invention, the audio source may be shared among the devices on the network 108.
Two or more zone players may be grouped together to form a new zone group. Any combinations of zone players and an existing zone group may be grouped together. In one instance, a new zone group is formed by adding one zone player to another zone player or an existing zone group.
Referring now to
The network interface 202 may include one or both of a wireless interface 216 and a wired interface 217. The wireless interface 216, also referred to as a RF interface, provides network interface functions by a wireless means for the zone player 200 to communicate with other devices in accordance with a communication protocol (such as the wireless standard IEEE 802.11a, 802.11b or 802.11g). The wired interface 217 provides network interface functions by a wired means (e.g., an Ethernet cable). In one embodiment, a zone player includes both of the interfaces 216 and 217, and other zone players include only a RF or wired interface. Thus these other zone players communicate with other devices on a network or retrieve audio sources via the zone player. The processor 204 is configured to control the operation of other parts in the zone player 200. The memory 206 may be loaded with one or more software modules that can be executed by the processor 204 to achieve desired tasks. According to one aspect of the present invention, a software module implementing one embodiment of the present invention is executed, the processor 204 operates in accordance with the software module in reference to a saved zone group configuration characterizing a zone group created by a user, the zone player 200 is caused to retrieve an audio source from another zone player or a device on the network.
According to one embodiment of the present invention, the memory 206 is used to save one or more saved zone configuration files that may be retrieved for modification at any time. Typically, a saved zone group configuration file is transmitted to a controller (e.g., the controlling device 140 or 142 of
The audio processing circuit 210 resembles most of the circuitry in an audio playback device and includes one or more digital-to-analog converters (DAC), an audio preprocessing part, an audio enhancement part or a digital signal processor and others. In operation, when an audio source is retrieved via the network interface 202, the audio source is processed in the audio processing circuit 210 to produce analog audio signals. The processed analog audio signals are then provided to the audio amplifier 214 for playback on speakers. In addition, the audio processing circuit 210 may include necessary circuitry to process analog signals as inputs to produce digital signals for sharing with other devices on a network.
Depending on an exact implementation, the module 212 may be implemented as a combination of hardware and software. In one embodiment, the module 212 is used to save a scene. The audio amplifier 214 is typically an analog circuit that powers the provided analog audio signals to drive one or more speakers.
Referring now to
The user interface for the controller 240 includes a screen 242 (e.g., a LCD screen) and a set of functional buttons as follows: a “zones” button 244, a “back” button 246, a “music” button 248, a scroll wheel 250, “ok” button 252, a set of transport control buttons 254, a mute button 262, a volume up/down button 264, a set of soft buttons 266 corresponding to the labels 268 displayed on the screen 242.
The screen 242 displays various screen menus in response to a user's selection. In one embodiment, the “zones” button 244 activates a zone management screen or “Zone Menu”, which is described in more details below. The “back” button 246 may lead to different actions depending on the current screen. In one embodiment, the “back” button triggers the current screen display to go back to a previous one. In another embodiment, the ‘back” button negates the user's erroneous selection. The “music” button 248 activates a music menu, which allows the selection of an audio source (e.g., a song) to be added to a zone player's music queue for playback.
The scroll wheel 250 is used for selecting an item within a list, whenever a list is presented on the screen 242. When the items in the list are too many to be accommodated in one screen display, a scroll indicator such as a scroll bar or a scrod arrow is displayed beside the list. When the scrod indicator is displayed, a user may rotate the scroll wheel 250 to either choose a displayed item or display a hidden item in the list. The “ok” button 252 is used to confirm the user selection on the screen 242.
There are three transport buttons 254, which are used to control the effect of the currently playing song. For example, the functions of the transport buttons may include play/pause and forward/rewind a song, move forward to a next song track, or move backward to a previous track. According to one embodiment, pressing one of the volume control buttons such as the mute button 262 or the volume up/down button 264 activates a volume panel. In addition, there are three soft buttons 266 that can be activated in accordance with the labels 268 on the screen 242. It can be understood that, in a multi-zone system, there may be multiple audio sources being played respectively in more than one zone players. The music transport functions described herein shall apply selectively to one of the sources when a corresponding one of the zone players or zone groups is selected.
The controller 270 includes a network interface 280 referred to as a RF interface 280 that facilitates wireless communication with a zone player via a corresponding RF interface thereof. In one embodiment, the commands such as volume control and audio playback synchronization are sent via the RF interfaces. In another embodiment, a saved zone group configuration is transmitted between a zone player and a controller via the RF interfaces. The controller 270 may control one or more zone players, such as 102, 104 and 106 of
In one embodiment, a user creates a zone group including at least two zone players from the controller 240 that sends signals or data to one of the zone players. As all the zone players are coupled on a network, the received signals in one zone player can cause other zone players in the group to be synchronized so that all the zone players in the group playback an identical audio source or a list of identical audio sources in a timely synchronized manner. Similarly, when a user increases the audio volume of the group from the controller, the signals or data of increasing the audio volume for the group are sent to one of the zone players and causes other zone players in the group to be increased together in volume and in scale.
According to one implementation, an application module is loaded in memory 282 for zone group management. When a predetermined key (e.g. the “zones” button 244) is activated on the controller 240, the application module is executed in the microcontroller 276. The input interface 278 coupled to and controlled by the microcontroller 276 receives inputs from a user. A “Zone Menu” is then displayed on the screen 272. The user may start grouping zone players into a zone group by activating a “Link Zones” or “Add Zone” soft button, or de-grouping a zone group by activating an “Unlink Zones” or “Drop Zone” button. The detail of the zone group manipulation will be further discussed below.
As described above, the input interface 278 includes a number of function buttons as well as a screen graphical user interface. It should be pointed out that the controller 240 in
One mechanism for ‘joining’ zone players together for music playback is to link a number of zone players together to form a group. To link a number of zone players together, a user may manually link each zone player or room one after the other. For example, there is a multi-zone system that includes the following zones.
If the user wishes to link 5 of the 6 zone players using the current mechanism, he/she must start with a single zone and then manually link each zone to that zone. This mechanism may be sometimes quite time consuming. According to one embodiment, a set of zones can be dynamically linked together using one command. Using what is referred to herein as a theme or a zone scene, zones can be configured in a particular scene (e.g., morning, afternoon, or garden), where a predefined zone grouping and setting of attributes for the grouping are automatically effectuated.
For instance, a “Morning” zone scene/configuration command would link the Bedroom, Den and Dining Room together in one action. Without this single command, the user would need to manually and individually link each zone.
Expanding this idea further, a Zone Scene can be set to create multiple sets of linked zones. For example, a scene creates 3 separate groups of zones, the downstairs zones would be linked together, the upstairs zones would be linked together in their own group, and the outside zones (in this case the patio) would move into a group of its own.
In one embodiment as shown in
Group 1
Group 2
One of the important features, benefits and objects in the present invention is that that zones do not need to be separated before a zone scene is invoked. In one embodiment, a command is provided and links all zones in one step, if invoked. The command is in a form of a zone scene. After linking the appropriate zones, a zone scene command could apply the following attributes:
Set volumes levels in each zones (each zone can have a different volume)
Mute/Unmute zones.
Select and play specific music in the zones.
Set the play mode of the music (Shuffle, Repeat, Shuffle-repeat)
Set the music playback equalization of each zone (e.g., bass treble).
A further extension of this embodiment is to trigger a zone scene command as an alarm clock function. For instance the zone scene is set to apply at 8:00 am. It could link appropriate zones automatically, set specific music to play and then stop the music after a defined duration. Although a single zone may be assigned to an alarm, a scene set as an alarm dock provides a synchronized alarm, allowing any zones linked in the scene to play a predefined audio (e.g., a favorable song, a predefined playlist) at a specific time or for a specific duration. If, for any reason, the scheduled music failed to be played (e.g., an empty playlist, no connection to a share, failed UPnP, no Internet connection for an Internet Radio station), a backup buzzer will sound. This buzzer will be a sound file that is stored in a zone player.
The UI 340 shows that the zone players available for grouping are selectable. In one embodiment, the UI 340 is displayed (e.g., a touch screen) to allow the user to choose what zone players to be included in a group named after “Bedroom” so that they are all playing the same song “The Beatles”. It should be noted that the user may have an option to name the scene, for example, “afternoon”, or “light music”. In the example shown in
In general, all players in a group are caused to play the media being played in the first member used to form the group. In the case of
According to one embodiment, each zone player in a scene may be set up for different alarms. For example, a “Morning” scene includes three zone players, each in a bedroom, a den, and a dining room. After selecting the scene, the user may set up an alarm for the scene as whole. As a result, each of the zone players will be activated at a specific time.
The process 600 is initiated only when a user decides to proceed with a zone scene at 602. The process 600 then moves to 604 where it allows a user to decide which zone players to be associated with the scene. For example, there are ten players in a household, and the scene is named after “Morning”. The user may be given an interface to select four of the ten players to be associated with the scene. At 606, the scene is saved. The scene may be saved in any one of the members in the scene. In the example of
Given a saved scene, a user may activate the scene at any time or set up a timer to activate the scene at 610. The process 600 can continue when a saved scene is activated at 610. At 612, upon the activation of a saved scene, the process 600 checks the status of the players associated with the scene. The status of the players means that each of the players shad be in condition to react in a synchronized manner. In one embodiment, the interconnections of the players are checked to make sure that the players communicate among themselves and/or with a controller if there is such a controller in the scene.
It is assumed that all players associated with the scene are in good condition. At 614, commands are executed with the parameters (e.g., pertaining to a playlist and volumes). In one embodiment, data including the parameters is transported from a member (e.g., a controller) to other members in the scene so that the players are caused to synchronize an operation configured in the scene. The operation may cause all players to play back a song in identical or different volumes or to play back a pre-stored file.
One of the features, benefits and advantages in the present invention is to allow sets of related devices (controllers and operating components) to exist as a group without interfering with other components that are potentially visible on the same wired or wireless network. Each of the sets is configured to a theme or a scene.
When the soft button corresponding to “Link Zones” or “Add Zone” 706 is activated, a second “Zone Menu” 708 is displayed. A second list shows eligible zone groups or zone players 709 for the zone group head 704. Since “Zone 2” has been selected as the zone group head to form a zone group, the eligible zone groups and zone players are now “Zone 1”, “Zone 3” and “Zone 4”. As shown as highlighted texts, the zone player (Zone 4) 710 is selected to be grouped with the zone group head (Zone 2) 704 to form a new zone group.
After the user confirms the selection, the newly formed zone group configuration is updated and the audio source can be played synchronously for all of the zone players in the newly formed zone group as shown in
In another embodiment, a display shows a list of available zone players for grouping. An interactive graphic interface allows a user to interactively select some of the available zone players that are automatically grouped. Anyone of the selected zone players in the group may be elected to be a group head such that other players in the group are synchronized to follow the group head.
According to one embodiment, the synchronization of all zone players in the new zone group is achieved with the following steps: 1) choosing an audio source from one of the zone players in the group, 2) checking if the chosen audio source is available locally on each of the zone players, 3) retrieving the audio source from another device (e.g., other zone players) which has the audio source via the data network, if the audio source is not available locally, and 4) playing the audio source on each of the zone players synchronously. In another embodiment, the audio source in the group or player to be added is chosen as default for other zone players. As shown in
Referring now to
Referring now to
When a user adjusts the audio volume, only the highlighted zones or zone players are affected. If the highlighted selection is one zone player, the audio adjustment will only apply to that particular chosen player. If multiple zone players are selected, the adjustment applies to all of the chosen players similar to the volume adjustment to the group volume meter described below. The audio volume of all zone players in the zone group will be affected, if the highlighted selection is at the volume meter of the entire group 832. Any audio volume adjustment to the zone group applies to all of the zone players equally within the entire zone group. Depending on implementation, the relative difference of the audio volume among zone players in the group remains unchanged either in percentage or graphic strength.
The process 900 starts with a display at 902 showing a list of zone players or existing zone groups, if there are any. When the available zone players and zone groups in the list is too long to be presented on the display, a scroll indicator will be displayed beside the list. A user may access the hidden items within the list by scrolling either upward or downward. At 903, the process 900 splits into two branches based on the following tasks: 1) grouping a plurality of zone players to form a zone group, or 2) de-grouping a zone group.
If the process 900 performs the grouping task, the process moves onto 904. The user selects one of the zone players as a zone group head or the zone groups from the list. Once the selection is made and a key is activated (e.g., a soft button 706 as shown in
At 912, the user has the option to confirm to accept or to discard the selection made at 910. When a confirmation is made, the process 900 creates the zone group by synchronizing all of the zone players in the zone group at 914. In one embodiment, the synchronization is performed first to determine the audio source in the selected player to be grouped (e.g., Zone 4 in
Going back to 912, if the selection made at 910 can not be confirmed or is to be discarded, the process 900 goes back to 902 without updating any zone group configuration. In this case, the original list is intact (e.g., “Zone Menu” 702 of
Going back to the grouping task test at 903, when the process 900 performs the de-grouping task, the process 900 moves to 924. A user selects one zone group from the first list. Once the selection is made, a list (e.g., screen 728 as shown in
When the selection is confirmed, the process 900 updates the selected zone group by disassociating the zone player from the zone group at 934. As a result of the disassociation, the audio source being played in the zone group is no longer available to the disassociated zone player. In the meantime, the updated zone group configuration is saved. For example, the zone configuration is saved to the memory 206 on the zone player 200 (
Going back to 932, if the selection made at 930 is to be discarded, the process 900 moves back to 902 directly without updating the zone group configuration. In this case, the original list is presented (e.g., “Zone Menu” 722 of
Referring now to
At 1005, the process 1000 starts when one of the volume control buttons, for example, “mute” button 262 or “volume up/down” button 264, on the controller 240 of
If it is for a single zone player, a volume meter (e.g., “Volume” panel 810 in
At 1016, the process 1000 is waiting for a user's command. If a predetermined amount of time (e.g., 1 second) has lapsed, the process 1000 ends, which means the user is not going to change the volume. Otherwise, the process 1000 goes back to 1012 waiting for another action from the end user.
Referring back to 1010, if process 1000 is for a group of zone players, then the process 1000 moves to the zone group branch at 1022, in which a plurality of volume meters is presented. The plurality of volume meters includes one for each of the zone players in the zone group, plus one more for the entire zone group. In one embodiment as shown in
In one embodiment, an end user increases the audio volume for the zone group by 5%. The volume for each of the zone players in the zone group will be increased by 5%, and the relative volume loudness difference among each of the zone players remains unchanged. In another embodiment, if a user had muted one of the zone players of the zone group, the volume of all other zone players would have been unchanged.
The group audio volume is calculated based on a predetermined formula. In one embodiment, the group audio volume is the averaged value of the audio volume of all the zone players within the zone group. In another embodiment, the median value may be chosen as the group audio volume. The user uses a scrolling device (e.g., scroll wheel 250 of
At 1028, the process 1000 is waiting for a user's command. If a predetermined amount of time has lapsed, the process 1000 ends, which means the user is not going to change the volume of the zone group. Otherwise, the process 1000 goes back to 1022 waiting for another action from the end user.
The present invention can be implemented in many ways, each of which may yield one or more of the following benefits, advantages or features. One of them is a mechanism provided to enable a user to remotely control audio characteristics of the zone players either as a group or as an individual player. Second, an interactive graphic user interface is provided to enable a user to manage, create, delete or modify zone groups. Another one of the benefits, advantages or features is to provide a user interface to facilitate a user to control audio characteristics of an individual zone player or a group of zone players. Other benefits, advantages or features can be appreciated by those skilled in the art given the detailed description herein.
The present invention has been described in sufficient detail with a certain degree of particularity. It is understood to those skilled in the art that the present disclosure of embodiments has been made by way of examples only and that numerous changes in the arrangement and combination of parts may be resorted without departing from the spirit and scope of the invention as claimed. While the embodiments discussed herein may appear to include some limitations as to the presentation of the information units, in terms of the format and arrangement, the invention has applicability well beyond such embodiment, which can be appreciated by those skilled in the art. Accordingly, the scope of the present invention is defined by the appended claims rather than the forgoing description of embodiments.
The present application is a continuation of U.S. application Ser. No. 16/009,182, filed Jun. 14, 2018, and currently pending; U.S. application Ser. No. 16/009,182 is a continuation of U.S. application Ser. No. 14/808,875 filed on Jul. 24, 2015, and issued on Jul. 30, 2019 as U.S. Pat. No. 10,365,884; U.S. application Ser. No. 14/808,875 is a continuation of U.S. application Ser. No. 13/907,666 filed on May 31, 2013, and issued on Sep. 22, 2015, as U.S. Pat. No. 9,141,645; U.S. application Ser. No. 13/907,666 is a continuation of U.S. application Ser. No. 13/619,237 filed on Sep. 14, 2012, and issued on Nov. 19, 2013, as U.S. Pat. No. 8,588,949; U.S. application Ser. No. 13/619,237 is a continuation of U.S. application Ser. No. 12/035,112 filed on Feb. 21, 2008, and issued on Oct. 16, 2012, as U.S. Pat. No. 8,290,603; U.S. application Ser. No. 12/035,112 is a continuation-in-part of U.S. application Ser. No. 10/861,653 filed on Jun. 5, 2004, and issued on Aug. 4, 2009, as U.S. Pat. No. 7,571,014; U.S. application Ser. No. 10/861,653 is a continuation-in-part of U.S. application Ser. No. 10/816,217 filed on Apr. 1, 2004, and issued on Jul. 31, 2012, as U.S. Pat. No. 8,234,395; U.S. application Ser. No. 10/816,217 claims priority to U.S. Prov. App. 60/490,768 filed on Jul. 28, 2003, The entire contents of the Ser. No. 16/009,182; Ser. No. 14/808,875; Ser. No. 13/907,666; Ser. No. 13/619,237; Ser. No. 12/035,112; Ser. No. 10/861,653; Ser. No. 10/816,217; and 60/490,768 applications are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60490768 | Jul 2003 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16009182 | Jun 2018 | US |
Child | 17102873 | US | |
Parent | 14808875 | Jul 2015 | US |
Child | 16009182 | US | |
Parent | 13907666 | May 2013 | US |
Child | 14808875 | US | |
Parent | 13619237 | Sep 2012 | US |
Child | 13907666 | US | |
Parent | 12035112 | Feb 2008 | US |
Child | 13619237 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10861653 | Jun 2004 | US |
Child | 12035112 | US | |
Parent | 10816217 | Apr 2004 | US |
Child | 10861653 | US |