Method and apparatus for playback by a synchrony group

Information

  • Patent Grant
  • 10175930
  • Patent Number
    10,175,930
  • Date Filed
    Friday, March 22, 2013
    11 years ago
  • Date Issued
    Tuesday, January 8, 2019
    5 years ago
Abstract
In a network comprising at least a first zone player and a second zone player, a method comprising: receiving, at a user interface module, a command to establish a synchrony group, wherein the synchrony group comprises at least the first zone player and the second zone player; and displaying, at the user interface module, a list of information identifying a plurality of items queued for playback by the synchrony group, wherein (i) at least one of the items on the list has associated location data indicating the at least one item is located on a device attached to the local area network, and (ii) at least one other of the items on the list has associated location data indicating the at least one other item is located on a wide area network.
Description
FIELD OF THE INVENTION

The present invention relates generally to the field of digital data processing devices, and more particularly to systems and methods for synchronizing operations among a plurality of independently-clocked digital data processing devices. The invention is embodied in a system for synchronizing operations among a plurality of devices, in relation to information that is provided by a common source. One embodiment of the invention enables synchronizing of audio playback as among two or more audio playback devices that receive audio information from a common information source, or channel.


More generally, the invention relates to the field of arrangements that synchronize output generated by a number of output generators, including audio output, video output, combinations of audio and video, as well as other types of output as will be appreciated by those skilled in the art, provided by a common channel. Generally, the invention will find utility in connection with any type of information for which synchrony among independently-clocked devices is desired.


BACKGROUND OF THE INVENTION

There are a number of circumstances under which it is desirable to maintain synchrony of operations among a plurality of independently-clocked digital data processing devices in relation to, for example, information that is provided thereto by a common source. For example, systems are being developed in which one audio information source can distribute audio information in digital form to a number of audio playback devices for playback. The audio playback devices receive the digital information and convert it to analog form for playback. The audio playback devices may be located in the same room or they may be distributed in different rooms in a residence such as a house or an apartment, in different offices in an office building, or the like. For example, in a system installed in a residence, one audio playback device may be located in a living room, while another audio playback device is be located in a kitchen, and yet other audio playback devices may be located in various bedrooms of a house. In such an arrangement, the audio information that is distributed to various audio playback devices may relate to the same audio program, or the information may relate to different audio programs. If the audio information source provides audio information relating to the same audio program to two or more audio playback devices at the same time, the audio playback devices will generally contemporaneously play the same program. For example, if the audio information source provides audio information to audio playback devices located in the living room and kitchen in a house at the same time, they will generally contemporaneously play the same program.


One problem that can arise is to ensure that, if two or more audio playback devices are contemporaneously attempting to play back the same audio program, they do so simultaneously. Small differences in the audio playback devices' start times and/or playback speeds can be perceived by a listener as an echo effect, and larger differences can be very annoying. Differences can arise because for a number of reasons, including delays in the transfer of audio information over the network. Such delays can differ as among the various audio playback devices for a variety of reasons, including where they are connected into the network, message traffic and other reasons as will be apparent to those skilled in the art.


Another problem arises from the following. When an audio playback device converts the digital audio information from digital to analog form, it does so using a clock that provides timing information. Generally, the audio playback devices that are being developed have independent clocks, and, if they are not clocking at precisely the same rate, the audio playback provided by the various devices can get out of synchronization.


SUMMARY OF THE INVENTION

The invention provides a new and improved system and method for synchronizing operations among a number of digital data processing devices that are regulated by independent clocking devices. Generally, the invention will find utility in connection with any type of information for which synchrony among devices connected to a network is desired. The invention is described in connection with a plurality of audio playback devices that receive digital audio information that is to be played back in synchrony, but it will be appreciated that the invention can find usefulness in connection with any kind of information for which coordination among devices that have independent clocking devices would find utility.


In brief summary, the invention provides, in one aspect, a system for maintaining synchrony of operations among a plurality of devices that have independent clocking arrangements. The system includes a task distribution device that distributes tasks to a synchrony group comprising a plurality of devices that are to perform the tasks distributed by the task distribution device in synchrony. The task distribution device distributes each task to the members of the synchrony group over a network. Each task is associated with a time stamp that indicates a time, relative to a clock maintained by the task distribution device, at which the members of the synchrony group are to execute the task. Each member of the synchrony group periodically obtains from the task distribution device an indication of the current time indicated by its clock, determines a time differential between the task distribution device's clock and its respective clock and determines therefrom a time at which, according to its respective clock, the time stamp indicates that it is to execute the task.


In one embodiment, the tasks that are distributed include audio information for an audio track that is to be played by all of the devices comprising the synchrony group synchronously. The audio track is divided into a series of frames, each of which is associated with a time stamp indicating the time, relative to the clock maintained by an audio information channel device, which, in that embodiment, serves as the task distribution device, at which the members of the synchrony group are to play the respective frame. Each member of the synchrony group, using a very accurate protocol, periodically obtains the time indicated by the audio information channel device, and determines a differential between the time as indicated by its local clock and the audio information channel device's clock. The member uses the differential and the time as indicated by the time stamp to determine the time, relative to its local clock, at which it is to play the respective frame. The members of the synchrony group do this for all of the frames, and accordingly are able to play the frames in synchrony.





BRIEF DESCRIPTION OF THE DRAWINGS

This invention is pointed out with particularity in the appended claims. The above and further advantages of this invention may be better understood by referring to the following description taken in conjunction with the accompanying drawings, in which:



FIG. 1 schematically depicts an illustrative networked audio system, constructed in accordance with the invention;



FIG. 2 schematically depicts a functional block diagram of a synchrony group utilizing a plurality of zone players formed within the networked audio system depicted in FIG. 1;



FIG. 2A schematically depicts two synchrony groups, illustrating how a member of one synchrony group can provide audio information to the members of another synchrony group;



FIG. 3 depicts an functional block diagram of a zone player for use in the networked audio system depicted in FIG. 1; and



FIG. 4 is useful in understanding an digital audio information framing methodology useful in the network audio system depicted in FIG. 1.





DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT


FIG. 1 depicts an illustrative network audio system 10 constructed in accordance with the invention. With reference to FIG. 1, the network audio system 10 includes a plurality of zone players 11(1) through 11(N) (generally identified by reference numeral 11(n)) interconnected by a local network 12, all of which operate under control of one or more user interface modules generally identified by reference numeral 13. One or more of the zone players 11(n) may also be connected to one or more audio information sources, which will generally be identified herein by reference numeral 14(n)(s), and/or one or more audio reproduction devices, which will generally be identified by reference numeral 15(n)(r). In the reference numeral 14(n)(s), index “n” refers to the index “n” of the zone player 11(n) to which the audio information source is connected, and the index “s” (s=1, . . . , Sn) refers to the “s-th” audio information source connected to that “n-th” zone player 11(n). Thus, if, for example, a zone player 11(n) is connected to four audio information sources 14(n)(1) through 14(n)(4), the audio information sources may be generally identified by reference numeral 14(n)(s), with Sn=4. It will be appreciated that the number of audio information sources Sn may vary as among the various zone players 11(n), and some zone players may not have any audio information sources connected thereto. Similarly, in the reference numeral 15(n)(r), index “n” refers to the index “n” of the zone player 11(n) to which the audio reproduction device is connected, and the index “r” (r=1, . . . , Rn) refers to the “r-th” audio information source connected to that “n-th” zone player 11(n). In addition to the audio information sources 14(n)(s), the network audio system 10 may include one or more audio information sources 16(1) through 16(M) connected through appropriate network interface devices (not separately shown) to the local network 12. Furthermore, the local network may include one or more network interface devices (also not separately shown) that are configured to connect the local network 12 to other networks, including a wide area network such as the Internet, the public switched telephony network (PSTN) or other networks as will be apparent to those skilled in the art, over which connections to audio information sources may be established.


The zone players 11(n) associated with system 10 may be distributed throughout an establishment such as residence, an office complex, a hotel, a conference hall, an amphitheater or auditorium, or other types of establishments as will be apparent to those skilled in the art or the like. For example, if the zone players 11(n) and their associated audio information source(s) and/or audio reproduction device(s) are distributed throughout a residence, one, such as zone player 11(1) and its associated audio information source(s) and audio reproduction device(s) may be located in a living room, another may be located in a kitchen, another may be located in a dining room, and yet others may be located in respective bedrooms, to selectively provide entertainment in those rooms. On the other hand, if the zone players 11(n) and their associated audio information source(s) and/or audio reproduction device(s) are distributed throughout an office complex, one may, for example, be provided in each office to selectively provide entertainment to the employees in the respective offices. Similarly, if the zone players 11(n) and associated audio information source(s) and/or audio reproduction device(s) are used in a hotel, they may be distributed throughout the rooms to provide entertainment to the guests. Similar arrangements may be used with zone players 11(n) and associated audio information source(s) and/or audio reproduction device(s) used in an amphitheater or auditorium. Other arrangements in other types of environments will be apparent to those skilled in the art. In each case, the zone players 11(n) can be used to selectively provide entertainment in the respective locations, as will be described below.


The audio information sources 14(n)(s) and 16(m) may be any of a number of types of conventional sources of audio information, including, for example, compact disc (“CD”) players, AM and/or FM radio receivers, analog or digital tape cassette players, analog record turntables and the like. In addition, the audio information sources 14(n)(s) and 16(m) may comprise digital audio files stored locally on, for example, personal computers (PCs), personal digital assistants (PDAs), or similar devices capable of storing digital information in volatile or non-volatile form. As noted above, the local network 12 may also have an interface (not shown) to a wide area network, over which the network audio system 10 can obtain audio information. Moreover, one or more of the audio information sources 14(n)(s) may also comprise an interface to a wide area network such as the Internet, the public switched telephony network (PSTN) or any other source of audio information. In addition, one or more of the audio information sources 14(n)(s) and 16(m) may comprise interfaces to radio services delivered over, for example, satellite. Audio information obtained over the wide area network may comprise, for example, streaming digital audio information such as Internet radio, digital audio files stored on servers, and other types of audio information and sources as will be appreciated by those skilled in the art. Other arrangements and other types of audio information sources will be apparent to those skilled in the art.


Generally, the audio information sources 14(n)(s) and 16(m) provide audio information associated with audio programs to the zone players for playback. A zone player that receives audio information from an audio information source 14(n)(s) that is connected thereto can provide playback and/or forward the audio information, along with playback timing information, over the local network 12 to other zone players for playback. Similarly, each audio information source 16(m) that is not directly connected to a zone player can transmit audio information over the network 12 to any zone player 11(n) for playback. In addition, as will be explained in detail below, the respective zone player 11(n) can transmit the audio information that it receives either from an audio information source 14(n)(s) connected thereto, or from an audio information source 16(m), to selected ones of the other zone players 11(n′), 11(n″), . . . (n not equal to n′, n″, . . . ) for playback by those other zone players. The other zone players 11(n′), 11(n″), . . . to which the zone player 11(n) transmits the audio information for playback may be selected by a user using the user interface module 13. In that operation, the zone player 11(n) will transmit the audio information to the selected zone players 11(n′), 11(n″), . . . over the network 12. As will be described below in greater detail, the zone players 11(n), 11(n′), 11(n″), . . . operate such that the zone players 11(n′), 11(n″), . . . synchronize their playback of the audio program with the playback by the zone player 11(n), so that the zone players 11(n), 11(n′), 11(n″) provide the same audio program at the same time.


Users, using user interface module 13, may also enable different groupings or sets of zone players to provide audio playback of different audio programs synchronously. For example, a user, using a user interface module 13, may enable zone players 11(1) and 11(2) to play one audio program, audio information for which may be provided by, for example, one audio information source 14(1)(1). The same or a different user may, using the same or a different user interface module 13, enable zone players 11(4) and 11(5) to contemporaneously play another audio program, audio information for which may be provided by a second audio information source, such as audio information source 14(5)(2). Further, a user may enable zone player 11(3) to contemporaneously play yet another audio program, audio information for which may be provided by yet another audio information source, such as audio information source 16(1). As yet another possibility, a user may contemporaneously enable zone player 11(1) to provide audio information from an audio information source connected thereto, such as audio information source 14(1)(2), to another zone player, such as zone player 11(6) for playback.


In the following, the term “synchrony group” will be used to refer to a set of one or more zone players that are to play the same audio program synchronously. Thus, in the above example, zone players 11(1) and 11(2) comprise one synchrony group, zone player 11(3) comprises a second synchrony group, zone players 11(4) and 11(5) comprise a third synchrony group, and zone player 11(6) comprises yet a fourth synchrony group. Thus, while zone players 11(1) and 11(2) are playing the same audio program, they will play the audio program synchronously. Similarly, while zone players 11(4) and 11(5) are playing the same audio program, they will play the audio program synchronously. On the other hand, zone players that are playing different audio programs may do so with unrelated timings. That is, for example, the timing with which zone players 11(1) and 11(2) play their audio program may have no relationship to the timing with which zone player 11(3), zone players 11(4) and 11(5), and zone player 11(6) play their audio programs. It will be appreciated that, since “synchrony group” is used to refer to sets of zone players that are playing the same audio program synchronously, zone player 11(1) will not be part of zone player 11(6)'s synchrony group, even though zone player 11(1) is providing the audio information for the audio program to zone player 11(6).


In the network audio system 10, the synchrony groups are not fixed. Users can enable them to be established and modified dynamically. Continuing with the above example, a user may enable the zone player 11(1) to begin providing playback of the audio program provided thereto by audio information source 14(1)(1), and subsequently enable zone player 11(2) to join the synchrony group. Similarly, a user may enable the zone player 11(5) to begin providing playback of the audio program provided thereto by audio information source 14(5)(2), and subsequently enable zone player 11(4) to join that synchrony group. In addition, a user may enable a zone player to leave a synchrony group and possibly join another synchrony group. For example, a user may enable the zone player 11(2) to leave the synchrony group with zone player 11(1), and join the synchrony group with zone player 11(6). As another possibility, the user may enable the zone player 11(1) to leave the synchrony group with zone player 11(2) and join the synchrony group with zone player 11(6). In connection with the last possibility, the zone player 11(1) can continue providing audio information from the audio information source 14(1)(1) to the zone player 11(2) for playback thereby.


A user, using the user interface module 13, can enable a zone player 11(n) that is currently not a member of a synchrony group to join a synchrony group, after which it will be enabled to play the audio program that is currently being played by that synchrony group. Similarly, a user, also using the user interface module 13, can enable a zone player 11(n) that is currently a member of one synchrony group, to disengage from that synchrony group and join another synchrony group, after which that zone player will be playing the audio program associated with the other synchrony group. For example, if a zone player 11(6) is currently not a member of any synchrony group, it, under control of the user interface module 13, can become a member of a synchrony group, after which it will play the audio program being played by the other members of the synchrony group, in synchrony with the other members of the synchrony group. In becoming a member of the synchrony group, zone player 11(6) can notify the zone player that is the master device for the synchrony group that it wishes to become a member of its synchrony group, after which that zone player will also transmit audio information associated with the audio program, as well as timing information, to the zone player 11(6). As the zone player 11(6) receives the audio information and the timing information from the master device, it will play the audio information with the timing indicated by the timing information, which will enable the zone player 11(6) to play the audio program in synchrony with the other zone player(s) in the synchrony group.


Similarly, if a user, using the user interface module 13, enables a zone player 11(n) associated with a synchrony group to disengage from that synchrony group, and if the zone player 11(n) is not the master device of the synchrony group, the zone player 11(n) can notify the master device, after which the master device can terminate transmission of the audio information and timing information to the zone player 11(n). If the user also enables the zone player 11(n) to begin playing another audio program using audio information from an audio information source 14(n)(s) connected thereto, it will acquire the audio information from the audio information source 14(n)(s) and initiate playback thereof. If the user enables another zone player 11(n′) to join the synchrony group associated with zone player 11(n), operations in connection therewith can proceed as described immediately above.


As yet another possibility, if a user, using the user interface module 13, enables a zone player 11(n) associated with a synchrony group to disengage from that synchrony group and join another synchrony group, and if the zone player is not the master device of the synchrony group from which it is disengaging, the zone player 11(n) can notify the master device of the synchrony group from which it is disengaging, after which that zone player will terminate transmission of audio information and timing information to the zone player 11(n) that is disengaging. Contemporaneously, the zone player 11(n) can notify the master device of the synchrony group that it (that is, zone player 11(n)) is joining, after which the master device can begin transmission of audio information and timing information to that zone player 11(n). The zone player 11(n) can thereafter begin playback of the audio program defined by the audio information, in accordance with the timing information so that the zone player 11(n) will play the audio program in synchrony with the master device.


As yet another possibility, a user, using the user interface module 13, may enable a zone player 11(n) that is not associated with a synchrony group, to begin playing an audio program using audio information provided to it by an audio information source 14(n)(s) connected thereto. In that case, the user, also using the user interface module 13 or a user interface device that is specific to the audio information source 14(n)(s), can enable the audio information source 14(n)(s) to provide audio information to the zone player 11(n). After the zone player 11(n) has begun playback, or contemporaneously therewith, the user, using the user interface module 13, can enable other zone players 11(n′), 11(n″), . . . to join zone player 11(n)'s synchrony group and enable that zone player 11(n) to transmit audio information and timing information thereto as described above, to facilitate synchronous playback of the audio program by the other zone players 11(n′), 11(n″) . . . .


A user can use the user interface module 13 to control other aspects of the network audio system 10, including but not limited to the selection of the audio information source 14(n)(s) that a particular zone player 11(n) is to utilize, the volume of the audio playback, and so forth. In addition, a user may use the user interface module 13 to turn audio information source(s) 14(n)(s) on and off and to enable them to provide audio information to the respective zone players 11(n).


Operations performed by the various devices associated with a synchrony group will be described in connection with FIG. 2, which schematically depicts a functional block diagram of a synchrony group in the network audio system 10 described above in connection with FIG. 1. With reference to FIG. 2, a synchrony group 20 includes a master device 21 and zero or more slave devices 22(1) through 22 (G) (generally identified by reference numeral 22(g)), all of which synchronously play an audio program provided by an audio information channel device 23. Each of the master device 21, slave devices 22(g) and audio information channel device 23 utilizes a zone player 11(n) depicted in FIG. 1, although it will be clear from the description below that a zone player may be utilized both for the audio information channel device for the synchrony group 20, and the master device 21 or a slave device 22(g) of the synchrony group 20. As will be described below in more detail, the audio information channel device 23 obtains the audio information for the audio program from an audio information source, adds playback timing information, and transmits the combined audio and playback timing information to the master device 21 and slave devices 22(g) over the network 12 for playback. The playback timing information that is provided with the audio information, together with clock timing information provided by the audio information channel device 23 to the various devices 21 and 22(g) as will be described below, enables the master device 21 and slave devices 22(g) of the synchrony group 20 to play the audio information simultaneously.


The master device 21 and the slave devices 22(g) receive the audio and playback timing information, as well as the clock timing information, that are provided by the audio information channel device 23, and play back the audio program defined by the audio information. The master device 21 is also the member of the synchrony group 20 that communicates with the user interface module 13 and that controls the operations of the slave devices 22(g) in the synchrony group 20. In addition, the master device 21 controls the operations of the audio information channel device 23 that provides the audio and playback timing information for the synchrony group 20. Generally, the initial master device 21 for the synchrony group will be the first zone player 11(n) that a user wishes to play an audio program. However, as will be described below, the zone player 11(n) that operates as the master device 21 can be migrated from one zone player 11(n) to another zone player 11(n′), which preferably will be a zone player that is currently operating as a slave device 22(g) in the synchrony group.


In addition, under certain circumstances, as will be described below, the zone player 11(n) that operates as the audio information channel device 23 can be migrated from one zone player to another zone player, which also will preferably will be a zone player that is currently operating as a member of the synchrony group 20. It will be appreciated that the zone player that operates as the master device 21 can be migrated to another zone player independently of the migration of the audio information channel device 23. For example, if one zone player 11(n) is operating as both the master device 21 and the audio information channel device 23 for a synchrony group 20, the master device 21 can be migrated to another zone player 11(n′) while the zone player 11(n) is still operating as the audio information channel device 23. Similarly, if one zone player 11(n) is operating as both the master device 21 and the audio information channel device 23 for a synchrony group 20, the audio information channel device 23 can be migrated to another zone player 11(n′) while the zone player 11(n) is still operating as the master device 21. In addition, if one zone player 11(n) is operating as both the master device 21 and the audio information channel device 23 for a synchrony group 20, the master device 21 can be migrated to another zone player 11(n′) and the audio information channel device can be migrated to a third zone player 11(n″).


The master device 21 receives control information from the user interface module 13 for controlling the synchrony group 20 and provides status information indicating the operational status of the synchrony group to the user interface module 13. Generally, the control information from the user interface module 13 enables the master device 21 to, in turn, enable the audio information channel device 23 to provide audio and playback timing information to the synchrony group to enable the devices 21 and 22(g) that are members of the synchrony group 20 to play the audio program synchronously. In addition, the control information from the user interface module 13 enables the master device 21 to, in turn, enable other zone players to join the synchrony group as slave devices 22(g) and to enable slave devices 22(g) to disengage from the synchrony group. Control information from the user interface module 13 can also enable the zone player 11(n) that is currently operating as the master device 21 to disengage from the synchrony group, but prior to doing so that zone player will enable the master device 21 to transfer from that zone player 11(n) to another zone player 11(n′), preferably to a zone player 11(n′) that is currently a slave device 22(g) in the synchrony group 20. The control information from the user interface module 13 can also enable the master device 21 to adjust its playback volume and to enable individual ones of the various slave devices 22(g) to adjust their playback volumes. In addition, the control information from the user interface module 13 can enable the synchrony group 20 to terminate playing of a current track of the audio program and skip to the next track, and to re-order tracks in a play list of tracks defining the audio program that is to be played by the synchrony group 20.


The status information that the master device 21 may provide to the user interface module 13 can include such information as a name or other identifier for the track of the audio work that is currently being played, the names or other identifiers for upcoming tracks, the identifier of the zone player 11(n) that is currently operating as the master device 21, and identifiers of the zone players that are currently operating as slave devices 22(g). In one embodiment, the user interface module 13 includes a display (not separately shown) that can display the status information to the user.


It will be appreciated that the zone player 11(n) that is operating as the audio information channel device 23 for one synchrony group may also comprise the master device 21 or any of the slave devices 22(g) in another synchrony group. This may occur if, for example, the audio information source that is to provide the audio information that is to be played by the one synchrony group is connected to a zone player also being utilized as the master device or a slave device for the other synchrony group. This will be schematically illustrated below in connection with FIG. 2A. Since, as noted above, the zone player 11(n) that is operating as the audio information channel device 23 for the synchrony group 20 may also be operating as a master device 21 or slave device 22(g) for another synchrony group, it can also be connected to one or more audio reproduction devices 15(n)(r), although that is not depicted in FIG. 2. Since the master device 21 and slave devices 22(g) are all to provide playback of the audio program, they will be connected to respective audio reproduction devices 15(n)(r). Furthermore, it will be appreciated that one or more of the zone players 11(n) that operate as the master device 21 and slave devices 22(g) in synchrony group 20 may also operate as an audio information channel device for that synchrony group or for another synchrony group and so they may be connected to one or more audio information sources 14(n)(s), although that is also not depicted in FIG. 2. In addition, it will be appreciated that a zone player 11(n) can also operate as a audio information channel device 23 for multiple synchrony groups.


If the audio information channel device 23 does not utilize the same zone player as the master device 21, the master device 21 controls the audio information channel device by exchanging control information over the network 12 with the audio information channel device 23. The control information is represented in FIG. 2 by the arrow labeled CHAN_DEV_CTRL_INFO. The control information that the master device 21 provides to the audio information channel device 23 will generally depend on the nature of the audio information source that is to provide the audio information for the audio program that is to be played and the operation to be enabled by the control information. If, for example, the audio information source is a conventional compact disc, tape, or record player, broadcast radio receiver, or the like, which is connected to a zone player 11(n), the master device 21 may merely enable the zone player serving as the audio information channel device 23 to receive the audio information for the program from the audio information source. It will be appreciated that, if the audio information is not in digital form, the audio information channel device 23 will convert it to digital form and provide the digitized audio information, along with the playback timing information, to the master device 21 and slave devices 22(g).


On the other hand, if the audio information source is, for example, a digital data storage device, such as may be on a personal computer or similar device, the master device 21 can provide a play list to the audio information channel device 23 that identifies one or more files containing the audio information for the audio program. In that case, the audio information channel device 23 can retrieve the files from the digital data storage device and provide them, along with the playback timing information, to the master device 21 and the slave devices 22(g). It will be appreciated that, in this case, the audio information source may be directly connected to the audio information channel device 23, as, for example, an audio information source 14(n)(s), or it may comprise an audio information source 16(m) connected to the network 12. As a further alternative, if the audio information source is a source available over the wide area network, the master device 21 can provide a play list comprising a list of web addresses identifying the files containing the audio information for the audio program that is to be played, and in that connection the audio information channel device 23 can initiate a retrieval of the files over the wide area network. As yet another alternative, if the audio information source is a source of streaming audio received over the wide area network, the master device 21 can provide a network address from which the streaming audio can be received. Other arrangements by which the master device 21 can control the audio information channel device 23 will be apparent to those skilled in the art.


The master device 21 can also provide control information to the synchrony group's audio information channel device 23 to enable a migration from one zone player 11(n) to another zone player 11(n′). This may occur if, for example, the audio information source is one of audio information sources 16 or a source accessible over the wide area network via the network 12. The master device 21 can enable migration of the audio information channel device 23 for several reasons, including, for example, to reduce the loading of the zone player 11(n), to improve latency of message transmission in the network 12, and other reasons as will be appreciated by those skilled in the art.


As noted above, the audio information channel device 23 provides audio and playback timing information for the synchrony group to enable the master device 21 and slave devices 22(g) to play the audio program synchronously. Details of the audio and playback timing information will be described in detail below in connection with FIGS. 3 and 4, but, in brief, the audio information channel device 23 transmits the audio and playback timing information in messages over the network 12 using a multi-cast message transmission methodology. In that methodology, the audio information channel device 23 will transmit the audio and playback timing information in a series of messages, with each message being received by all of the zone players 11(n) comprising the synchrony group 20, that is, by the master device 21 and the slave devices 22(g). Each of the messages includes a multi-cast address, which the master device 21 and slave devices 22(g) will monitor and, when they detect a message with that address, they will receive and use the contents of the message. The audio and playback timing information is represented in FIG. 2 by the arrow labeled “AUD+PBTIME_INF0,” which has a single tail, representing a source for the information at the audio information channel device 23, and multiple arrowheads representing the destinations of the information, with one arrowhead extending to the master device 21 and other arrowheads extending to each of the slave devices 22(g) in the synchrony group 20. The audio information channel device 23 may make use of any convenient multi-cast message transmission methodology in transmitting the audio and playback timing information to the synchrony group 20. As will be described in detail in connection with FIG. 4, the audio and playback timing information is in the form of a series of frames, with each frame having a time stamp. The time stamp indicates a time, relative to the time indicated by a clock maintained by the audio information channel device 23, at which the frame is to be played. Depending on the size or sizes of the messages used in the selected multi-cast message transmission methodology and the size or sizes of the frames, a message may contain one frame, or multiple frames, or, alternatively, a frame may extend across several messages.


The audio information channel device 23 also provides clock time information to the master device 21 and each of the slave devices 22(g) individually over network 12 using a highly accurate clock time information transmission methodology. The distribution of the clock time information is represented in FIG. 2 by the arrows labeled “AICD_CLK_INF (M)” (in the case of the clock time information provided to the master device 21) and “AICD_CLK_INF (S1)” through “AICD_CLK_INF (SG)” (in the case of audio information channel device clock information provided to the slave devices 22(g)). In one embodiment, the master device 21 and slave devices 22(g) make use of the well-known SNTP (Simple Network Time Protocol) to obtain current clock time information from the audio information channel device 23. The SNTP makes use of a unicast message transfer methodology, in which one device, such as the audio information channel device 23, provides clock time information to a specific other device, such as the master device 21 or a slave device 22(g), using the other device's network, or unicast, address. Each of the master device 21 and slave devices 22(g) will periodically initiate SNTP transactions with the audio information channel device 23 to obtain the clock time information from the audio information channel device 23. As will be described below in more detail, the master device 21 and each slave device 22(g) make use of the clock time information to determine the time differential between the time indicated by the audio information channel device's clock and the time indicated by its respective clock, and use that time differential value, along with the playback time information associated with the audio information and the respective device's local time as indicated by its clock to determine when the various frames are to be played. This enables the master device 21 and the slave devices 22(g) in the synchrony group 20 to play the respective frames simultaneously.


As noted above, the control information provided by the user to the master device 21 through the user interface module 13 can also enable the master device 21 to, in turn, enable another zone player 11(n′) to join the synchrony group as a new slave device 22(g). In that operation, the user interface module 13 will provide control information, including the identification of the zone player 11(n′) that is to join the synchrony group to the master device 21. After it receives the identification of the zone player 11(n′) that is to join the synchrony group, the master device 21 will exchange control information, which is represented in FIG. 2 by the arrows labeled SLV_DEV_CTRL_INF (S1) through SLV_DEV_CTRL_INF (SG) group slave control information, over the network 12 with the zone player 11(d) that is identified in the control information from the user interface module 13. The control information that the master device 21 provides to the new zone player 11(n′) includes the network address of the zone player 11(n) that is operating as the audio information channel device 23 for the synchrony group, as well as the multi-cast address that the audio information channel device 23 is using to broadcast the audio and playback timing information over the network. The zone player that is to operate as the new slave device 22(g′) uses the multi-cast address to begin receiving the multi-cast messages that contain the audio information for the audio program being played by the synchrony group.


It will be appreciated that, if the zone player 11(n) that is operating as the master device 21 for the synchrony group 20 is also operating the audio information channel device 23, and if there are no slave devices 22(g) in the synchrony group 20, the audio information channel device 23 may not be transmitting audio and playback timing information over the network. In that case, if the new slave device 22(g′) is the first slave device in the synchrony group, the zone player 11(n) that is operating as both the master device 21 and audio information channel device 23, can begin transmitting the audio and playback timing information over the network 12 when the slave device 22(g′) is added to the synchrony group 20. The zone player 11(n) can maintain a count of the number of slave devices 22(g) in the synchrony group 20 as they join and disengage, and, if the number drops to zero, it can stop transmitting the audio and playback timing information over the network 12 to reduce the message traffic over the network 12.


The new slave device 22(g′) added to the synchrony group 20 uses the network address of the audio information channel device 23 for several purposes. In particular, the new slave device 22(g′) will, like the master device 21 (assuming the zone player 11(n) operating as the master device 21 is not also the audio information channel device 23), engage in SNTP transactions with the audio information channel device 23 to obtain the clock timing information from the audio information channel device 23. In addition, the new slave device 22(g′) can notify the audio information channel device 23 that it is a new slave device 22(g′) for the synchrony group 20 and provide the audio information channel device 23 with its network address. As will be described below, in one embodiment, particularly in connection with audio information obtained from a source, such as a digital data storage device, which can provide audio information at a rate that is faster than the rate at which it will be played, the audio information channel device 23 will buffer audio and timing information and broadcast it over the network 12 to the synchrony group 20 generally at a rate at which it is provided by the source. Accordingly, when a new slave device 22(g′) joins the synchrony group 20, the playback timing information may indicate that the audio information that is currently being broadcast by the audio information channel device 23 using the multi-cast methodology is to be played back some time in the future. To reduce the delay with which the new slave device 22(g′) will begin playback, the audio information channel device 23 can also retransmit previously transmitted audio and timing information that it had buffered to the new slave device 22(g′) using the unicast network address of the slave device 22(g′).


The master device 21 can also use the slave device control information exchanged with the slave devices 22(g) for other purposes. For example, the master device 21 can use the slave device control information to initiate a migration of the master from its zone player 11(n) to another zone player 11(n′). This may occur for any of a number of reasons, including, for example, that the master device 21 is terminating playback by it of the audio program and is leaving the synchrony group 20, but one or more of the other devices in the synchrony group is to continue playing the audio program. The master device 21 may also want to initiate a migration if it is overloaded, which can occur if, for example, the zone player 11(n) that is the master device 21 for its synchrony group is also operating as an audio information channel device 23 for another synchrony group.


The user can also use the user interface module 13 to adjust playback volume by the individual zone players 11(n) comprising the synchrony group. In that operation, the user interface module 13 provides information identifying the particular device whose volume is to be adjusted, and the level at which the volume is to be set to the master device 21. If the device whose volume is to be adjusted is the master device 21, the master device 21 can adjust its volume according to the information that it receives from the user interface module 13. On the other hand, if the device whose volume is to be adjusted is a slave device 22(g), the master device 21 can provide group slave control information to the respective slave device 22(g), to enable it to adjust its volume.


The user can also use the user interface module 13 to enable a synchrony group 20 to cancel playing of the track in an audio program that is currently being played, and to proceed immediately to the next track. This may occur, for example, if the tracks for the program is in the form of a series of digital audio information files, and the user wishes to cancel playback of the track that is defined by one of the files. In that case, when the master device 21 receives the command to cancel playback of the current track, it will provide channel device control information to the audio information channel device 23 so indicating. In response, the audio information channel device 23 inserts control information into the audio and playback timing information, which will be referred to as a “resynchronize” command. In addition, the audio information channel device 23 will begin transmitting audio information for the next track, with timing information to enable it to be played immediately. The resynchronize command can also enable playback of a track to be cancelled before it has been played. Details of these operations will be described below.


As noted above, there may be multiple synchrony groups in the network audio system 10, and further that, for example, a zone player 11(n) may operate both as a master device 21 or a slave device 22(g) in one synchrony group, and as the audio information channel device 23 providing audio and playback timing information and clock timing information for another synchrony group. An illustrative arrangement of this will be described in connection with FIG. 2A. With reference to FIG. 2A, that FIG. depicts elements of two synchrony groups, identified by reference numerals 20(1) and 20(2), respectively. For clarity, FIG. 2A does not show a number of elements, the presence of which would be evident from FIGS. 1 and 2 as described above. For example, FIG. 2A does not depict the audio information sources from which audio information is obtained for the synchrony groups or the audio reproduction devices that are used to produce sound for the master and slave devices, which are depicted in both FIGS. 1 and 2. In addition, FIG. 2A does not depict arrows that represent control information provided by the respective master devices to the slave devices in the respective synchrony groups, or to the audio information channel devices that provide audio and timing information for the respective synchrony groups, which are depicted in FIG. 2. In addition, FIG. 2A does not depict the arrows that represent the clock timing information provided by the audio information channel devices to the respective members of the respective synchrony groups, which are also depicted in FIG. 2. As will be noted below, however, FIG. 2A does depict arrows representing the audio and playback timing information provided by the respective audio information channel devices for the respective synchrony groups 20(1), 20(2), to the master and slave devices comprising the respective synchrony groups 20(1), 20(2).


Each synchrony group 20(1), 20(2) comprises elements of a number of zone players. A functional block diagram of a zone player will be described below in connection with FIG. 3. Synchrony group 20(1) includes a master device 21(1) and “K” slave devices 22(1)(1) through 22(K)(1) (the index “1” in reference numeral 21(1) and the last index in reference numeral 22(1)(1) through 21(K)(1) corresponds to the index of the synchrony group 20(1) to which they belong) utilize zone players 11(1) and 11(K+1) respectively. Similarly, synchrony group 20(2) includes a master device 21(2) and “L” slave devices 22(1)(2) through 22(L)(2) that utilize zone players 11(K+2) through 11(K+L+2). In the illustrative arrangement depicted in FIG. 2A, both synchrony groups 20(1) and 20(2) are controlled by the user interface module 13, which can provide control information to, and receive status information from, the master devices 21(1) and 21(2) independently. It will be appreciated that separate user interface modules may be provided to provide control information to, and receive status information from, the respective master devices 21(1), 21(2).


As noted above, the slave device 22(1)(2) in synchrony group 20(2) utilizes zone player 11(K+3). In the illustrative arrangement depicted in FIG. 2A, the audio information channel device 23(1) that provides audio and playback timing information to the master and slave devices 21(1), 22(1)(1), . . . , 22(K)(1) of synchrony group 20(1) also utilizes zone player 11(K+3). As noted above, this may occur if, for example, the audio information source that is to provide audio information to be played by the synchrony group 20(1) is connected to the zone player 11(K+3). Thus, when the master device 21(1) of synchrony group 20(1) exchanges channel device control information with the audio information channel device 23(1), it is effectively exchanging channel device control information with the zone player 11(K+3). Similarly, when the master and slave devices 21(1), 22(1)(1), . . . , 22(K)(1) of synchrony group 20(1) receive audio and playback timing information, as well as clock timing information, from the audio information channel device 23(1), they are effectively receiving the information from the zone player 11(K+3). FIG. 2A depicts a multi-headed arrow representing audio and playback timing information transmitted by the zone player 11(K+3), as audio information channel device 23(1), to the master and slave devices 21(1), 22(1)(1), . . . , 11(K)(1) comprising synchrony group 20(1).


On the other hand, in the illustrative arrangement depicted in FIG. 2A, the synchrony group 20(2) utilizes a zone player 11(K+L+3) as its audio information channel device 23(2). As with synchrony group 20(1), when the master device 21(2) of synchrony group 20(2) exchanges channel device control information with the audio information channel device 23(2), it is effectively exchanging channel device control information with the zone player 11(K+L+3). Similarly, when the master and slave devices 21(2), 22(1)(2), . . . , 22(L)(2) of synchrony group 20(2) receive audio and playback timing information, as well as clock timing information, from the audio information channel device 23(2), they are effectively receiving the information from the zone player 11(K+L+3). FIG. 2A depicts a multi-headed arrow representing audio and playback timing information transmitted by the zone player 11(K+3) as audio information channel device 23(2) to the master and slave devices 21(2), 22(1)(2), . . . , 22(L)(2) comprising synchrony group 20(2).


In the illustrative arrangement depicted in FIG. 2A, zone player 11(K+L+3), which is the audio information channel device 23(2) for synchrony group 20(2), is not shown as being either a master or a slave device in another synchrony group. However, it will be appreciated that zone player 11(K+L+3) could also be utilized as the master device or a slave device for another synchrony group. Indeed, it will be appreciated that the zone player that is utilized as the audio information channel device for synchrony group 20(2) may also be a zone player that is utilized as the master device 21(1) or a slave device 22(1)(1), . . . , 22(K)(1) in the synchrony group 20(1).


A zone player 11(n) that is utilized as a member of one synchrony group may also be utilized as the audio information channel device for another synchrony group if the audio information source that is to supply the audio information that is to be played by the other synchrony group is connected to that zone player 11(n). A zone player 11(n) may also be utilized as the audio information channel device for the other synchrony group if, for example, the audio information source is an audio information source 16(m) (FIG. 1) that is connected to the network 12 or an audio information source that is available over a wide area network such as the Internet. The latter may occur if, for example, the zone player 11(n) has sufficient processing power to operate as the audio information channel device and it is in an optimal location in the network 12, relative to the zone players comprising the other synchrony group (that is the synchrony group for which it is operating as audio information channel device) for providing the audio and playback timing information to the members of the other synchrony group. Other circumstances under which the zone player 11(n) that is utilized as a member of one synchrony group may also be utilized as the audio information channel device for another synchrony group will be apparent to those skilled in the art.


As was noted above, the master device 21 for a synchrony group 20 may be migrated from one zone player 11(n) to another zone player 11(n′). As was further noted above, the audio information channel device 23 for a synchrony group 20 may be migrated from one zone player 11(n) to another zone player 11(n′). It will be appreciated that the latter may occur if, for example, the audio information source that provides the audio program for the synchrony group is not connected to the zone player 11(n) that is operating as the audio information channel device 23, but instead is one of the audio information sources 16(m) connected to the network 12 or a source available over a wide area network such as the Internet. Operations performed during a migration of an audio information channel device 23 from one zone player 11(n) to another zone player 11(n′) will generally depend on the nature of the audio information that is being channeled by the audio information channel device 23. For example, if the audio information source provides streaming audio, the zone player 11(n) that is currently operating as the audio information channel device 23 for the synchrony group 20, can provide the following information to the other zone player 11(n′) that is to become the audio information channel device 23 for the synchrony group 20:


(a) the identification of the source of the streaming audio information,


(b) the time stamp associated with the frame that the zone player 11(n) is currently forming, and


(c) the identifications of the zone players that are operating as the master device 21 and slave devices 22(g) comprising the synchrony group 20.


After the zone player 11(n′) receives the information from the zone player 11(n), it will begin receiving the streaming audio from the streaming audio information source identified by the zone player 11(n), assemble the streaming audio information into frames, associate each frame with a time stamp, and transmit the resulting audio and playback timing information over the network 12. The zone player 11(n′) will perform these operations in the same manner as described above, except that, instead of using the time indicated by its digital to analog converter clock 34 directly in generating the time stamps for the frames, the initial time stamp will be related to the value of the time stamp that is provided by the zone player 11(n) (reference item (b) above), with the rate at which the time stamps are incremented corresponding to the rate at which its (that is, the zone player 11(n′)'s) clock increments. In addition, the zone player 11(n′) will notify the zone players that are operating as the master device 21 and slave devices 22(g) of the synchrony group 20 that it is the new audio information channel device 23 for the synchrony group 20, and provide the multi-cast address that it will be using to multi-cast the audio and playback timing information, as well as its unicast network address. After the members of the synchrony group 20 receive the notification from the zone player 11(n′) indicating that it is the new audio information channel device 23 for the synchrony group 20, they will receive the audio and playback timing information from the zone player 11(n′) instead of the zone player 11(n), using the multi-cast address provided by the zone player 11(n′). In addition, they can utilize the zone player 11(n′)'s unicast network address to obtain current time information therefrom. It will be appreciated that the zone player 11(n′) will determine its current time in relation to the time stamp that is provided by the zone player 11(n) (reference item (b) above) or the current time information that it received from the zone player 11(n) using the SNTP protocol as described above.


Generally similar operations can be performed in connection with migrating the audio information channel device from one zone player 11(n) to another zone player 11(n′) if the audio information is from one or more audio information files, such as may be the case if the audio information comprises MP3 or WAV files that are available from sources such as sources 16(m) connected to the network 12 or over from sources available over a wide area network such as the Internet, except for differences to accommodate the fact that the audio information is in files. In that case, the zone player 11(n) that is currently operating as the audio information channel device 23 for the synchrony group 20 can provide the following information to the zone player 11(n′) that is to become the audio information channel device 23 for the synchrony group 20:


(d) a list of the audio information files containing the audio information that is to be played;


(e) the identification of the file for which the zone player 11(n) is currently providing audio and playback timing information, along with the offset into the file for which the current item of audio and playback timing information is being generated and the time stamp that the zone player 11(n) is associating with that frame, and


(f) the identifications of the zone players that comprise the master device 21 and slave devices 22(g) comprising the synchrony group 20.


After the zone player 11(n′) receives the information from the zone player 11(n), it will begin retrieving audio information from the file identified in item (e), starting at the identified offset. In addition, the zone player 11(n′) can assemble the retrieved audio information into frames, associate each frame with a time stamp and transmit the resulting audio and playback timing information over the network 12. The zone player 11(n′) will perform these operations in the same manner as described above, except that, instead of using the time indicated by its digital to analog converter clock 34 directly in generating the time stamps for the frames, the value of the initial time stamp will be related to the time stamp that is provided by the zone player 11(n) (reference item (e) above), with the rate at which the time stamps are incremented corresponding to the rate at which its (that is, the zone player 11(n′)'s) clock increments. In addition, the zone player 11(n′) will notify the zone players that are operating as the master device 21 and slave devices 22(g) of the synchrony group 20 that it is the new audio information channel device 23 for the synchrony group 20, and provide the multi-cast address that it will be using to multi-cast the audio and playback timing information, as well as its unicast network address. After the members of the synchrony group 20 receive the notification from the zone player 11(n′) indicating that it is the new audio information channel device 23 for the synchrony group 20, they will receive the audio and playback timing information from the zone player 11(n′) instead of the zone player 11(n), using the multi-cast address provided by the zone player 11(n′). In addition, they can utilize the zone player 11(n′)'s unicast network address to obtain current time information therefrom. It will be appreciated that the zone player 11(n′) will determine its current time in relation to the time stamp that is provided by the zone player 11(n) (reference item (b) above) or the current time information that it received from the zone player 11(n) using the SNTP protocol as described above. The zone player 11(n′) will process successive audio information files in the list that it receives from the zone player 11(n) (reference item (d)).


Operations performed by the zone players 11(n) and 11(n′) in connection with migration of the audio information channel device 23 for other types of audio information will be apparent to those skilled in the art. In any case, preferably, the zone player 11(n) will continue operating as an audio information channel device 23 for the synchrony group 20 for at least a brief time after it notifies the zone player 11(n′) that it is to become audio information channel device for the synchrony group, so that the zone player 11(n′) will have time to notify the zone players in the synchrony group 20 that it is the new audio information channel device 23 for the synchrony group.


Before proceeding further in describing operations performed by the network audio system 10, it would be helpful to provide a detailed description of a zone player 11(n) constructed in accordance with the invention. FIG. 3 depicts a functional block diagram of a zone player 11(n) constructed in accordance with the invention. All of the zone players in the network audio system 10 may have similar construction. With reference to FIG. 3, the zone player 11(n) includes an audio information source interface 30, an audio information buffer 31, a playback scheduler 32, a digital to analog converter 33, an audio amplifier 35, an audio reproduction device interface 36, a network communications manager 40, and a network interface 41, all of which operate under the control of a control module 42. The zone player 11(n) also has a device clock 43 that provides timing signals that control the general operations of the zone player 11(n). In addition, the zone player 11(n) includes a user interface module interface 44 that can receive control signals from the user interface module 13 (FIGS. 1 and 2) for controlling operations of the zone player 11(n), and provide status information to the user interface module 13.


Generally, the audio information buffer 31 buffers audio information, in digital form, along with playback timing information. If the zone player 11(n) is operating as the audio information channel device 23 (FIG. 2) for a synchrony group 20, the information that is buffered in the audio information buffer 31 will include the audio and playback timing information that will be provided to the devices 21 and 22(g) in the synchrony group 20. If the zone player 11(n) is operating as the master device 21 or a slave device 22(g) for a synchrony group, the information that is buffered in the audio information buffer 31 will include the audio and playback timing information that the zone player 11(n) is to play.


The audio information buffer 31 can receive audio and playback timing information from two sources, namely, the audio information source interface 30 and the network communications manager 40. In particular, if the zone player 11(n) is operating as the audio information channel device 23 for a synchrony group 20, and if the audio information source is a source 14(n)(s) connected to the zone player 11(n), the audio information buffer 31 will receive and buffer audio and playback timing information from the audio information source interface 30. On the other hand, if the zone player 11(n) is operating as the audio information channel device 23 for a synchrony group 20, and if the audio information source is a source 16(m) connected to the network 12, or a source available over the wide area network, the audio information buffer 31 will receive and buffer audio and playback timing information from the network communications manager 40. It will be appreciated that, if the zone player 11(n) is not a member of the synchrony group, the zone player 11(n) will not play this buffered audio and playback timing information.


On yet another hand, if the zone player 11(n) is operating as the master device 21 or a slave device 22(g) in a synchrony group, and if the zone player 11(n) is not also the audio information channel device 23 providing audio and playback timing information for the synchrony group 20, the audio information buffer 31 will receive and buffer audio and playback timing information from the network communications manager 40.


The audio information source interface 30 connects to the audio information source(s) 14(n)(s) associated with the zone player 11(n). While the zone player 11(n) is operating as audio information channel device 23 for a synchrony group 20, and if the audio information is to be provided by a source 14(n)(s) connected to the zone player 11(n), the audio information source interface 30 will selectively receive audio information from one of the audio information source(s) 14(n)(s) to which the zone player is connected and store the audio information in the audio information buffer 21. If the audio information from the selected audio information source 14(n)(s) is in analog form, the audio information source interface 30 will convert it to digital form. The selection of the audio information source 14(n)(s) from which the audio information source interface 30 receives audio information is under control of the control module 42, which, in turn, receives control information from the user interface module through the user interface module interface 44. The audio information source interface 30 adds playback timing information to the digital audio information and buffers the combined audio and playback timing information in the audio information buffer 21.


More specifically, as noted above, the audio information source interface 30 receives audio information from an audio information source 14(n)(s), converts it to digital form if necessary, and buffers it along with playback timing information in the audio information buffer 21. In addition, the audio information source interface 30 will also provide formatting and scheduling information for the digital audio information, whether as received from the selected audio information source 14(n)(s) or as converted from an analog audio information source. As will be made clear below, the formatting and scheduling information will control not only playback by the zone player 11(n) itself, but will also enable other zone players 11(n′), 11(n″), . . . that may be in a synchrony group for which the zone player 11(n) is the master device, to play the audio program associated with the audio information in synchrony with the zone player 11(n).


In one particular embodiment, the audio information source interface 30 divides the audio information associated with an audio work into a series of frames, with each frame comprising digital audio information for a predetermined period of time. As used herein, an audio track may comprise any unit of audio information that is to be played without interruption. On the other hand, an audio program may comprise a series of one or more audio tracks that are to be played in succession. It will be appreciated that the tracks comprising the audio program may also be played without interruption, or alternatively playback between tracks may be interrupted by a selected time interval. FIG. 4 schematically depicts an illustrative framing strategy used in connection with one embodiment of the invention for a digital audio stream comprising an audio work. More specifically, FIG. 4 depicts a framed digital audio stream 50 comprising a sequence of frames 51(1) through 51(F) (generally identified by reference numeral 51(f)). Each frame 51(f), in turn, comprises a series of audio samples 52(f)(1) through 52(f)(S) (generally identified by reference numeral 52(f)(s)) of the audio track. Preferably all of the frames will have the same number “S” of audio samples, although it will be appreciated from the following that that is primarily for convenience. On the other hand, it will be appreciated that, the number of audio samples may differ from “S”; this may particularly be the case if the frame 51(f) contains the last audio samples for the digital audio stream for a particular audio work. In that case, the last frame 51(F) will preferably contain samples 52(F)(1) through 52(F)(x), where “x” is less than “S.” Generally, it is desirable that the number of samples be consistent among all frames 51(f), and in that case padding, which will not be played, can be added to the last frame 51(F).


Associated with each frame 51(f) is a header 55(f) that includes a number of fields for storing other information that is useful in controlling playback of the audio samples in the respective frame 51(f). In particular, the header 55(f) associated with a frame 51(f) includes a frame sequence number field 56, an encoding type field 57, a sampling rate information field 58, a time stamp field 60, an end of track flag 61, and a length flag field 62. The header 55(f) may also include fields (not shown) for storing other information that is useful in controlling playback. Generally, the frame sequence number field 56 receives a sequence number “f” that identifies the relative position of the frame 51(f) in the sequence of frames 51(1) . . . 51(f) . . . 51(F) containing the digital audio stream 50. The encoding type field 57 receives a value that identifies the type of encoding and/or compression that has been used in generating the digital audio stream. Conventional encoding or compression schemes include, for example, the well-known MP3 and WAV encoding and/or compression schemes, although it will be appreciated that other schemes may be provided for as well. The sampling rate information field 58 receives sampling rate information that indicates the sampling rate for the audio samples 52(f)(s). As will be apparent to those skilled in the art, the sampling rate determines the rate at which the zone player 11(n) is to play the audio samples 52(f)(s) in the frame, and, as will be described below, determines the period of the digital to analog converter clock 34.


The condition of the end of work flag 61 indicates whether the frame 51(f) contains the last digital audio samples for the audio track associated with the framed digital audio work 50. If the frame 51(f) does not contain the audio samples that are associated with the end of the digital audio stream 50 for a respective audio work, the end of work flag will be clear. On the other hand, if the frame 51(f) does contain the audio samples that are associated with the end of the digital audio stream 50 for a respective audio work, the end of work flag 61 will be set. In addition, since the number of valid audio samples 52(F)(s) in the frame 51(F), that is, the samples that are not padding, may be less than “S,” the default number of audio samples in a frame 51(f), the length flag field 62 will contain a value that identifies the number of audio samples in 52(F)(s) in the last frame 51(F) of the audio work 50. If, as noted above, the frames have a consistent number “S” of samples, the samples 52(F)(x+1) through 52(F)(S) will contain padding, which will not be played.


The time stamp field 60 stores a time stamp that identifies the time at which the zone player 11(n) is to play the respective frame. More specifically, for each frame of a framed digital audio stream 50 that is buffered in the audio information buffer 21, the audio information source interface 30, using timing information from the digital to analog converter clock 34, will determine a time at which the zone player 11(n) is to play the respective frame, and stores a time stamp identifying the playback time in the time stamp field 60. The time stamp associated with each frame will later be used by the playback scheduler 32 to determine when the portion of the digital audio stream stored in the frame is to be coupled to the digital to analog converter 33 to initiate play back. It will be appreciated that the time stamps that are associated with frames in sequential frames 51(1), 51(2), . . . , 51(F), will be such that they will be played back in order, and without an interruption between the sequential frames comprising the digital audio stream 50. It will further be appreciated that, after a time stamp has been determined for the first frame, stored in frame 51(1), of a digital audio stream 50, the audio information source interface 30 can determine time stamps for the subsequent frame 51(2), 51(3), . . . , 51(F) in relation to the number of samples “S” in the respective frames and the sample rate. The time stamps will also preferably be such that frames will be played back after some slight time delay after they have been buffered in the audio information buffer 21; the purpose for the time delay will be made clear below.


Returning to FIG. 3, in addition to dividing the digital audio information into frames, the audio information source interface 30 also aggregates and/or divides the frames 51(f) as necessary into packets, each of which will be of a length that would fit into a message for transmission over the network, and associates each packet with a packet sequence number. For example, if a packet will accommodate multiple frames 51(f), 51(f+1), . . . 51(f+y−1), it will aggregate them into a packet and associate them with a packet number, for example p(x). If the entire frames 51(f) and 51(f+y−1) was accommodated in packet p(x), where “x” is the sequence number, which will occur if the size of a packet is an exact multiple of the frame size, the next packet, p(x+1) will begin with frame 51(f+y) and will include frames 51(f+y), . . . , 51(f+2y−1). Subsequent packets p(x+2), . . . will be formed in a similar manner. On the other hand, if the packet length will not accommodate an exact multiple of the frame size, the last frame in the packet will be continued at the beginning of the next packet.


If the audio information source interface 30 is aware of track boundaries, which may be the case if the tracks are divided into files, the packets will reflect the track boundaries, that is, the packets will not contain frames from two tracks. Thus, if the last frames associated with a track are insufficient to fill a packet, the packet will contain padding from the last frame associated with the track to the end of the packet, and the next packet will begin with the first frames associated with the next track.


In one embodiment, the audio information source interface 30 stores the packets in the audio information buffer 31 in a ring buffer. As is conventional, a ring buffer includes a series of storage locations in the buffer. Each entry will be sufficient to store one packet. Four pointers are used in connection with the ring buffer, a first pointer pointing to the beginning of the ring buffer, a second pointer pointing to the end of the ring buffer, an third “write” pointer pointing to the entry into which a packet will be written and a fourth “read” pointer pointing to the entry from which packet will be read for use in playback. When a packet is read from the ring buffer for playback, it will be read from the entry pointed to by the read pointer. After the packet has been read, the read pointer will be advanced. If the read pointer points beyond the end of the ring buffer, as indicated by the end pointer, it will be reset to point to the entry pointed to by the beginning pointer, and the operations can be repeated.


On the other hand, when the audio information source interface 30 stores a packet in the ring buffer, first determine whether the entry pointed to by the write pointer points to the same entry as the entry pointed to by the read pointer. If the write pointer points to the same entry as the entry pointed to by the read pointer, the entry contains at least a portion of a packet that has not yet been read for playback, and the audio information source interface 30 will delay storage of the packet until the entire packet has been read and the read pointer advanced. After the read pointer has been advanced, the audio information source interface 30 can store the packet in the entry pointed to by the write pointer. After the packet has been stored, the audio information source interface 30 will advance the write pointer. If the write pointer points beyond the end of the ring buffer, as indicated by the end pointer, it will be reset to point to the entry pointed to by the beginning pointer, and the operations can be repeated.


As noted above, the zone player 11(n) can operate both as an audio information channel device 23 and a member of the synchrony group 20 of which it is a member. In that case, the audio information buffer 31 can contain one ring buffer. On the other hand, the zone player 11(n) can operate as an audio information channel device 23 for one synchrony group 20(1) (FIG. 2A) and a member of another synchrony group 20(2). In that case, the audio information buffer 31 would maintain two ring buffers, one for the audio and timing information associated with synchrony group 20(1), and the other for the audio and timing information associated with synchrony group 20(2). It will be appreciated that, in the latter case, the zone player 11(n) will only use the audio and timing information that is associated with synchrony group 20(2) for playback.


The playback scheduler 32 schedules playback of the audio information that is buffered in the audio information buffer 31 that is to be played by the zone player 11(n). Accordingly, under control of the playback scheduler 32, the digital audio information that is buffered in the audio information buffer 21 that is to be played by the zone player 11(n) is transferred to the digital to analog converter 33 for playback. As noted above, if the zone player 11(n) is operating as an audio information channel device 23 for a synchrony group 20 for which it is not a member, the playback scheduler 32 will not schedule the digital audio information that is to be played by that synchrony group 20 for playback. The playback scheduler 32 only schedules the digital audio information, if any, that is buffered in the audio information buffer 31 that is associated with a synchrony group for which the zone player 11(n) is a member, whether as master device 21 or a slave device 22(g).


Essentially, the playback scheduler 32 makes use of the read pointer associated with the circular buffer that contains the audio and playback timing information that is to be played by the zone player 11(n). The playback scheduler 32 retrieves the packet information from the entry of the ring buffer pointed to by the read pointer, and then advances the ring pointer as described above. The playback scheduler 32 determines the boundaries of the frames in the packet and uses the time stamps in the time stamp fields 60 associated with the respective frame 51(f), along with timing information provided by the zone player 11(n)'s digital to analog converter clock 34, to determine when the respective frame is to be transferred to the digital to analog converter 33. Generally, when the time stamp associated with a buffered digital audio information frame corresponds to the current time as indicated by the digital to analog converter clock 34, the playback scheduler 32 will enable the respective frame to be transferred to the digital to analog converter 33.


The digital to analog converter 33, also under control of the digital to analog converter clock 34, converts the buffered digital audio information to analog form, and provides the analog audio information to the audio amplifier 35 for amplification. The amplified analog information, in turn, is provided to the audio reproduction devices 15(n)(r) through the audio reproduction device interface 36. The audio reproduction devices 15(n)(r) transform the analog audio information signal to sound thereby to provide the audio program to a listener. The amount by which the audio amplifier 35 amplifies the analog signal is controlled by the control module 42, in response to volume control information provided by the user through the user interface module 13.


The network communications manager 40 controls network communications over the network 12, and the network interface 41 transmits and receives message packets over the network 12. The network communications manager 40 generates and receives messages to facilitate the transfer of the various types of information described above in connection with FIG. 2, including the channel device control information, slave device control information, audio and playback timing information and the audio information channel device's clock timing information. In connection with the channel device control information and the slave device control information, the network communications manager 40 will generate messages for transfer over the network 12 in response to control information from the control module 42. Similarly, when the network communications manager 40 receives messages containing channel device control information and slave device control information, the network communications manager will provide the information to the control module 42 for processing.


With regards to the audio information channel device's clock timing information, as noted above, the master device 21 and slave devices 22(g) of the synchrony group 20 obtain the clock timing information from the audio information channel device 23 using the well-known SNTP. If the zone player 11(n) is operating as the audio information channel device 23 for a synchrony group, during the SNTP operation, it will provide its current time, particularly a current time as indicated by its digital to analog converter clock 34. On the other hand, if the zone player 11(n) is operating as the master device 21 or slave device 22(g) of a synchrony group 20, it will receive the clock timing information from the audio information channel device 23. After the respective device 21, 22(g) has obtained the audio information channel device's clock timing information, it will generate a differential time value ΔT representing the difference between the time T indicated by its digital to analog converter clock 34 and the current time information from the audio information channel device 23. The differential time value will be used to update the time stamps for the frames of the digital audio stream 50 (FIG. 4) that are received from the audio information channel device.


With regards to the audio and playback timing information, operations performed by the network communications manager 40 will depend on whether


(i) the audio and playback timing information has been buffered in the audio information buffer 31 for transmission, as audio information channel device 23, over the network 12 to the master device 21 and/or slave devices 22(g) of a synchrony group, or


(ii) the audio and playback timing information has been received from the network 12 to be played by the zone player 11(n) as either the master device 21 for a synchrony group or a slave device in a synchrony group.


It will be appreciated that the network communications manager 40 may be engaged in both (i) and (ii) contemporaneously, since the zone player 11(n) may operate both as the audio information channel device 23(1) for a synchrony group 20(1) (reference FIG. 2A) of which it is not a member, and a member of another synchrony group 20(2) for which another zone player 11(n′) is the audio information channel device 23(2). With reference to item (i) above, after a packet that is to be transmitted has been buffered in the respective ring buffer, the network communications manager 40 retrieves the packet, packages it into a message and enables the network interface 41 to transmit the message over the network 12. If the control module 42 receives control information from the user interface module 13 (if the master device 21 is also the audio information channel device 23 for the synchrony group 20) or from the master device (if the master device 21 is not the audio information channel device 23 for the synchrony group 20) that would require the transmission of a “resynchronize” command as described above, the control module 42 of the audio information channel device 23 enables the network communications manager 40 to insert the command into a message containing the audio and playback timing information. Details of the operations performed in connection with the “resynchronize” command will be described below. As noted above, the “resynchronize” command is used if the user enables a synchrony group to terminate the playback of a track that is currently being played, or cancel playback of a track whose playback has not begun.


On the other hand, with reference to item (ii) above, if network interface 41 receives a message containing a packet containing frames of audio and playback timing information that the zone player 11(n) is to play either as a master device 21 or a slave device for a synchrony group 20, the network interface 41 provides the audio and playback timing information to the network communications manager 40. The network communications manager 40 will determine whether the packet contains a resynchronize command and, if so, notify the control module 42, which will enable operations to be performed as described below. In any case, the network communications manager 40 will normally buffer the various frames comprising the audio and playback timing information in the audio information buffer 31, and in that operation will generally operate as described above in connection with the audio information source interface 30. Before buffering them, however, the network communications manager 40 will update their time stamps using the time differential value described above. It will be appreciated that the network communications manager 40 will perform similar operations whether the messages that contain the packets were multi-cast messages or unicast messages as described above


The updating of the time stamps by the master device 21 and the slave devices 22(g) in the synchrony group 20 will ensure that they all play the audio information synchronously. In particular, after the network communications manager 40 has received a frame 51(f) from the network interface 41, it will also obtain, from the digital to analog converter clock 34, the zone player 11(n)'s current time as indicated by its digital to analog converter clock 34. The network communications manager 40 will determine a time differential value that is the difference between the slave device's current clock time, as indicated by its digital to analog converter 34, and the audio information channel device's time as indicated by the audio information channel device's clock timing information. Accordingly, if the master or slave device's current time has a value TS and the audio information channel device's current time, as indicated by the clock timing information, has a value TC, the time differential value ΔT=TS−TC. If the current time of the master or slave device in the synchrony group 20, as indicated by its digital to analog converter clock 34, is ahead of the audio information channel device's clock time as indicated by the clock timing information received during the SNTP operation, the time differential value will have a positive value. On the other hand, if the master or slave device's current time is behind the audio information channel device's clock time, the time differential value ΔT will have a negative value. If the zone player 11(n) obtains clock timing information from the audio information channel device 23 periodically while it is a member of the synchrony group 20, the network communications manager 40 can generate an updated value for the time differential value ΔT when it receives the clock timing information from the audio information channel device 23, and will subsequently use the updated time differential value.


The network communications manager 40 uses the time differential value ΔT that it generates from the audio information channel device timing information and zone player 11(n)'s current time to update the time stamps that will be associated with the digital audio information frames that the zone player 11(n) receives from the audio information channel device. For each digital audio information frame that is received from the audio information channel device, instead of storing the time stamp that is associated with the frame as received in the message in the audio information buffer 21, the network communications manager 40 will store the updated time stamp with the digital audio information frame. The updated time stamp is generated in a manner so that, when the zone player 11(n), as a member of the synchrony group plays back the digital audio information frame, it will do so in synchrony with other devices in the synchrony group.


More specifically, after the zone player 11(n)'s network interface 41 receives a message containing a packet that, in turn, contains one or more frames 51(0, it will provide the packet to the network communications manager 40. For each frame 51(f) in the packet that the network communications manager 40 receives from the network interface 41, the network communications manager 40 will add the time differential value ΔT to the frame's time stamp, to generate the updated time stamp for the frame 51(f), and store the frame 51(f), along with the header 55(f) with the updated time stamp in the audio information buffer 31. Thus, for example, if a frame's time stamp has a time value TF, the network communications manager 40 will generate an updated time stamp TUF having a time value TUF=TF+ΔT. Since time value TUF according to the slave device's digital to analog converter clock 34 is simultaneous to the time value TF according to the audio information channel device's digital to analog converter clock 34, the zone player 11(n) device will play the digital audio information frame at the time determined by the audio information channel device 23. Since all of the members of the synchrony group 20 will perform the same operations, generating the updated time stamps TUF for the various frames 51(f) in relation to their respective differential time values, all of the zone players 11(n) in the synchrony group 20 will play them synchronously. The network communications manager 40 will generate updated time stamps TUF for all of the time stamps 60 in the packet, and then store the packet in the audio information buffer 31.


It will be appreciated that, before storing a packet in the audio information buffer 21, the network communications manager 40 can compare the updated time stamps TUF associated with the frames in the packet to the slave device's current time as indicated by its digital to analog converter clock 34. If the network communications manager 40 determines the time indicated by the updated time stamps of frames 51(f) in the packet are earlier than the zone player's current time, it can discard the packet instead of storing it in the audio information buffer 21, since the zone player 11(n) will not play them. That is, if the updated time stamp has a time value TUF that identifies a time that is earlier than the zone player's current time TS as indicated by the zone player's digital to analog converter clock 34, the network communications manager 40 can discard the packet.


If the zone player 11(n) is operating as the master device 21 of a synchrony group 20, when the user, through the user interface module 13, notifies the zone player 11(n) that another zone player 11(n′) is to join the synchrony group 20 as a slave device 22(g), the control module 42 of the zone player 11(n) enables the network communications manager 40 to engage in an exchange of messages, described above in connection with FIG. 2, to enable the other zone player 11(n′) to join the synchrony group 20 as a slave device. As noted above, during the message exchange, the messages generated by the network communications manager 40 of the zone player 11(n) will provide the network communications manager of the zone player 11(n′) that is to join the synchrony group 20 with information such as the multi-cast address being used by the audio information channel device 23 that is providing the audio program to the synchrony group 20, as well as a unicast network address for the audio information channel device 23. After receiving that information, the network communications manager and network interface of the zone player 11(n′) that is to join the synchrony group 20 can begin receiving the multi-cast messages containing the audio program for the synchrony group, engage in SNTP transactions with the audio information channel device 23 to obtain the latter's current time, and also enable the audio information channel device 23 to send the zone player 11(n′) frames 51(f) that it had previously broadcast using the unicast message transmission methodology as described above.


On the other hand, if the network communications manager 40 and network interface 41 of the zone player 11(n) receive a message over the network 12 indicating that it is to become a slave device 22(g) of a synchrony group for which another zone player 11(n′) is the master device, the network communications manager 40 for zone player 11(n) will provide a notification to the control module 42 of zone player 11(n). Thereafter, the control module 42 of zone player 11(n) can enable the network communications manager 40 of zone player 11(n) to perform the operations described above to enable it to join the synchrony group 20.


As noted above, the user, using user interface module 13, can enable the synchrony group to terminate playback of a track of an audio program that is currently being played. After playback of a track that is currently being played has been terminated, playback will continue in a conventional manner with the next track that has been buffered in the audio information buffer 31. It will be appreciated that that could be the next track that is on the original play list, or a previous track. In addition, the user can enable the synchrony group 20 to cancel playback of a track that it has not yet begun to play, but for which buffering of packets has begun in the synchrony group 20. Both of these operations make use of the “resynchronize” command that the master device 21 of the synchrony group 20 can enable the audio information channel device 23 to include in the multi-cast message stream that it transmits to the synchrony group 20. Generally, in response to receipt of the resynchronize command, the members of the synchrony group 20 flush the ring buffer containing the packets that they are to play in the future. In addition, if the members of the synchrony group provide separate buffers for their respective digital to analog converters 33, the members will also flush those buffers as well. After the audio information channel device transmits a packet containing the resynchronize command:


(i) in the case of the use of the resynchronize command to terminate playing of a track that is currently being played, the audio information channel device 23 will begin multi-casting packets for the next track, to begin play immediately, and will continue through the play list in the manner described above; and


(ii) in the case of the use of the resynchronize command to cancel play of a track for which buffering has begun, but which is to be played in the future, the audio information channel device 23 will begin multi-casting packets for the track after the track that has been cancelled, to be played beginning at the time the cancelled track was to begin play, and will also continue through the play list in the manner described above.


It will be appreciated that,


(a) in the first case (item (i) directly above), the resynchronize command can enable the read pointer to be set to point to the entry in the circular buffer into which the first packet for the next track will be written, which will correspond to the entry to which the write pointer points, but


(b) in the second case (item (ii) directly above), the resynchronize command can enable the write pointer for the circular buffer to be set to point to the entry that contains the first packet for the track whose play is being cancelled.


It will further be appreciated that, if a track is cancelled for which buffering has not begun, the resynchronize command will generally not be necessary, since the audio information channel device 23 for the synchrony group 20 need only delete that track from the play list.


Operations performed in connection with use of the resynchronize command to cancel playback of a track that is currently being played will be described in connection with Packet Sequence A below, and operations performed in connection with the use of the resynchronize command to cancel playback of a track that is has not yet begun to play, but for which buffering of packets has begun, will be described in connection with Packet Sequence B below.


Packet Sequence A

  • (A1.0) [packet 57]
  • (A1.1 [continuation of frame 99]
  • (A1.2) [frame 100, time=0:00:01, type=mp3 audio]
  • (A1.3) [frame 101, time=0:00:02, type=mp3 audio]
  • (A1.4) [frame 102, time=0:00:03, type=mp3 audio]
  • (A2.0) [packet 58]
  • (A2.1) [continuation of frame 102]
  • (A2.2) [frame 103, time=0:00:04, type=mp3 audio]
  • (A2.3) [frame 104, time=0:00:05, type=mp3 audio]
  • (A2.4) [frame 105, time=0:00:06, type=mp3 audio]
  • (A3.0) [packet 59]
  • (A3.1) [continuation of frame 105]
  • (A3.2) [frame 106, time=0:00:07, type=mp3 audio]
  • (A3.3) [frame 107, time=0:00:08, type=mp3 audio]
  • (A3.4) [frame 108, time=0:00:09, type=mp3 audio]
  • (A4.0) [packet 60]
  • (A4.1) [continuation of frame 108]
  • (A4.2) [frame 109, time=0:00:10, type=mp3 audio]
  • (A4.3) [Resynchronize command]
  • (A4.4) [Padding, if necessary]
  • (A5.0) [packet 61]
  • (A5.1) [frame 1, time=0:00:07, type=mp3 audio]
  • (A5.2) [frame 2, time=0:00:08, type=mp3 audio]
  • (A5.3) [frame 3, time=0:00:09, type=mp3 audio]
  • (A5.4) [frame 4, time=0.00.10, type=mp3 audio]
  • (A6.0) [packet 62]
  • (A6.1) [continuation of frame 4]
  • (A6.2) [frame 5, time=0:00:11, type=mp3 audio]
  • (A6.3) [frame 6, time=0:00:12, type=mp3 audio]
  • (A6.4) [frame 7, time=0:00:13, type=mp3 audio]


Packet Sequence A comprises a sequence of six packets, identified by packet 57 through packet 62, that the audio information channel device 23 multi-casts in respective messages to the members of a synchrony group 20. It will be appreciated that the series of messages that the audio information channel device 23 may multi-cast to the synchrony group 20 may include a messages prior to the packet 57, and may also include messages after packet 62. Each packet comprises a packet header, which is symbolized by lines (A1.0), (A2.0), . . . (A6.0) in Packet Sequence A, and will generally also include information associated with at least a portion of a frame. In the packets represented in Packet Sequence A, each packet includes information associated with a plurality of frames. Depending on the lengths of the packets, each packet may contain information associated with a portion of a frame, an entire frame, or multiple frames. In the illustration represented by Packet Sequence A, it is assumed that each packet may contain information associated with multiple frames. In addition, it is assumed that a packet does not necessarily contain information associated with an integral number of frames; in that case, a packet may contain information associated with a portion of a frame, and the next packet will contain the information associated with the rest of a frame.


The frames and associated header playback timing information contained in the various packets are symbolized by lines (A1.1), (A1.2), . . . , (A1.4), (A2.1), . . . (A6.4) of Packet Sequence A. Thus, for example, line (A1.2) of packet 57 represents the one-hundredth frame, that is, frame 51(100) (reference FIG. 4), of the track whose audio information is being transmitted in the sequence of packets that includes packet 57. The frame 51(100) is to be played at an illustrative time, according to the audio information channel device's digital to analog converter clock, of “time=0:00:01,” and the frame is encoded and/or compressed using the well-known MP3 encoding and compression methodology. In that case, the legend“time=0:00:01” represents the time stamp that would be included in field 60 (FIG. 4) of the header associated with the frame 50(100) as multi-cast by the audio information channel device for the synchrony group. It will be appreciated that the playback time and encoding/compression methodology will be referred in the header 55(100) that is associated with the frame 51(100). It will also be appreciated that the header may also contain additional information as described above.


Similarly, line (A1.3) of packet 57 represents the one-hundred and first frame, that is, frame 51(101), of the track whose audio information is being transmitted in the sequence of packets that includes packet 57. The frame 51(101) is to be played at an illustrative time, according to the audio information channel device's digital to analog converter clock, of “0:00:02,” and the frame is also encoded and/or compressed using the MP3 encoding and compression methodology. Line (A1.4) of packet 57 represents similar information, although it will be appreciated that, depending on the length of packet 57, the line may not represent the information for an entire frame 51(102) and/or its associated header. If the length of packet 57 is not sufficient to accommodate the information for the entire frame 51(102) and/or associated header, the information will continue in packet 58, as represented by line (A2.1) in Packet Sequence A. Similarly, if the length of packet 56 was not sufficient to contain the information for an entire frame 51(99) preceding frame 51(100), packet 57 (lines (A1.0) through 1.4) may contain any information from frame 51(99) that packet 56 was unable to accommodate.


As noted above, when the master device 21 or a slave device 22(g) in the synchrony group 20 receives the packet 57, its respective network communications manager 40 will update the time stamps associated with the various frames 51(f) as described above before buffering the respective frames in the respective audio information buffer 31.


Packets 58 and 59 contain information that is organized along the lines described above in connection with packet 57.


Packet 60 also contains, as represented by lines (A4.1) and (A4.2), information that is organized along the lines of the information represented by lines (Ax.1) and (Ax.2) (“x” equals an integer) described above in connection with packets 57 through 59. On the other hand, packet 60 contains a resynchronize command, as represented by line (A4.3). Packet 60 also may contain padding, as represented by line 4.4, following the resynchronize command. As noted above, the master device 21 of a synchrony group 20 will enable the audio information channel device 23 that is providing audio information to the synchrony group 20 to multi-cast a message containing the resynchronize command when it receives notification from the user interface module 13 that the user wishes to cancel playback of a track that is currently being played. In the example depicted in Packet Sequence A, as will be described below, the audio information channel device 23 receives notification from the master device 21 that the user wishes to cancel playback of a track at a time corresponding to “time=0:00:07” according to its digital to analog converter clock 34, and, in line (A4.3) of packet 60 it will provide the resynchronize command, followed by padding, if necessary.


As will be apparent from examining lines (A3.1) through (A3.4) of packet 59 and lines (A4.1) and (A4.2) of packet 60, although the audio information channel device 23 has received the notification from the synchrony group's master device 21 to multi-cast the resynchronize command at a time corresponding to “time=0:00:07” according to the clock time indicated by its digital to analog converter clock 34, it (that is, the audio information channel device 23) has already multi-cast messages containing frames that are to be played at that time and subsequently. That is, the audio information channel device 23 has, multi-cast in packet 59, frames 51(106) through 51(108) that contain time stamps “time=0:00:07,” “time=0:00:08” and “time=0:00:09,” respectively, and, in packet 60, in addition to the continuation of frame 51(108), frame 51(109) that contains time stamp “time=0:00:10.” (It will be appreciated that the times indicated by the illustrative time stamps are for illustration purposes only, and that in an actual embodiment the time stamps may have different values and differentials.)


As noted above, the audio information channel device 23 multi-casts a message containing a packet that, in turn, contains the resynchronize command when it receives the notification from the master device 21 to do so. In the example depicted in Packet Sequence A, the packet will be multi-cast when the audio information channel device's digital to analog converter clock time corresponds to “0:00:07.” Subsequently, two things happen. In one, aspect, when the master device 21 and slave devices 22(g) receive the packet that contains the resynchronize command, they will stop playing the audio program that they are playing.


In addition, the audio information channel device 23 will begin transmitting frames containing audio information for the next track, including therewith time stamps immediately following the digital to analog converter clock time at which the packet including the resynchronize command was transmitted. Accordingly, and with further reference to Packet Sequence A, the audio information channel device 23 will multi-cast a message containing packet 61. As indicated above, packet 61 contains, as represented in lines (A5.1) through (A5.3), frames 51(1) through 51(3), which are the first three frames of the next track of the audio program that is to be played. It is also compressed and encoded using the MP3 encoding and compression scheme, and it is accompanied by time stamps “time=0:00:07,” “time=0:00:08” and “time=0:00:10.” As noted above, the time stamp “time=0:00:07” corresponds to the clock time at which the audio information channel device 23 multi-casts the resynchronize command, and, when the master device 21 and slave devices 22(g) receive these frames, they would be expected to begin playing them very shortly, if not immediately after the audio information channel device 23 multi-casts the message containing the packet that, in turn, contains the resynchronize command. Packet 61 also includes at least a portion of the next frame, that is, frame 51(4), for that track. In addition, Packet Sequence A depicted above further includes a subsequent packet, namely, packet 62, that contains any necessary continuation of frame 51(4), as well as three subsequent frames. If any additional packets are required for the track, as well as for subsequent tracks, they can be multi-cast in a similar manner.


As further noted above, the resynchronize command can also be used to cancel playing of one or more tracks for which playback has begun. This will be illustrated in connection with Packet Sequence B:


Packet Sequence B

  • (B1.0) [packet 157]
  • (B1.1) [continuation of frame 99]
  • (B1.2) [frame 100, time=0:00:01, type=mp3 audio]
  • (B1.3) [frame 101, time=0:00:02, type=mp3 audio]
  • (B1.4) [frame 102, time=0:00:03, type=mp3 audio]
  • (B2.0) [packet 158]
  • (B2.1) [continuation of frame 102]
  • (B2.2) [frame 103, time=0:00:04, type=mp3 audio]
  • (B2.3) [frame 104, time=0:00:05, type=mp3 audio]
  • (B2.4) [frame 105, time=0:00:06, type=mp3 audio]
  • (B3.0) [packet 159]
  • (B3.1) [continuation of frame 105]
  • (B3.2) [frame 106, time=0:00:07, type=mp3 audio]
  • (B3.3) [track boundary notification]
  • (B3.4) [Padding, if necessary]
  • (B4.0) [packet 160]
  • (B4.1) [frame 1, time=0:00:08, type=mp3 audio]
  • (B4.2) [frame 2, time=0:00:09, type=mp3 audio]
  • (B4.3) [frame 3, time=0:00:10, type=mp3 audio]
  • (B5.0) [packet 161]
  • (B5.1) [continuation of frame 3]
  • (B5.2) [frame 4, time=0:00:11, type=mp3 audio]
  • (B5.3) [Resynchronize, after packet 159]
  • (B5.4) [Padding, if necessary]
  • (B6.0) [packet 162]
  • (B6.1) [frame 1, time=0:00:08, type=mp3 audio]
  • (B6.2) [frame 2, time=0:00:09, type=mp3 audio]
  • (B6.3) [frame 3, time=0:00:10, type=mp3 audio].
  • (B6.4) [frame 4, time=0:00:11, type=mp3 audio]
  • (B7.0) [packet 163]
  • (B7.1) [continuation of frame 4]
  • (B7.2) [frame 5, time=0:00:12, type=mp3 audio]
  • (B7.3) [frame 6, time=0:00:13, type=mp3 audio]
  • (B7.4) [frame 7, time=0:00:14, type=mp3 audio]


Packet Sequence B comprises a series of seven packets, identified by packet 157 through 163, that the audio information channel device 23 multi-casts to the members of a synchrony group 20. As with Packet Sequence A, it will be appreciated that the series of packets that the audio information channel device 23 may multi-cast to the synchrony group 20 may include packets prior to the packet 157, and may also include packets after packet 162. Each packet comprises a packet header, which is symbolized by lines (B1.0), (B2.0), . . . (B7.0) in Packet Sequence B. As in Packet Sequence A, each packet will also generally include information associated with at least a portion of a frame 51(f) along with its associated frame 55(f). As in the packets represented in Packet Sequence A, each packet includes information associated with a plurality of frames. Depending on the lengths of the packets, each packet may contain information associated with a portion of a frame, an entire frame, or multiple frames. Further, as with Packet Sequence A, it is assumed that each packet may contain information associated with multiple frames. In addition, it is assumed that a packet does not necessarily contain information associated with an integral number of frames; in that case, a packet may contain information associated with a portion of a frame, and the next packet will contain the information associated with the rest of a frame.


The structures of the packets represented by Packet Sequence B are similar to those described above in connection with Packet Sequence A, and will not be repeated here. Generally, Packet Sequence B illustratively contains a sequence of packets that represent at least portions of three tracks that may have been selected from, for example, a play list. In particular, packets 157 through 159 represent frames from a portion of one track, packets 160 and 161 represent frames from a second track and packets 162 and 163 represent frames from a third track. The play list indicated that the first, second and third tracks were to be played in that order. With particular reference to Packet Sequence B, it should be noted that line (B3.3) indicates that packet 159 includes an indication that that packet contains the last frame for the track, and line (B3.4) provides for padding to the end of the packet. The first frame of the next track begins in packet 160.


In connection with the use of the resynchronize command to cancel playback of a track, at least a portion of which the audio information channel device 23 has multi-cast to the members of the synchrony group, packet 161, in line (B5.3) represents a resynchronize command that indicates that resynchronization is to occur after packet 159, that is, immediately after the packet that contains the last frame of the first of the three tracks represented by the packets in Packet Sequence B. It should be noted that the resynchronize command is in the packet 161, while the resynchronization is to occur at packet 160, that is, the synchrony group is to not play the track starting with packet 160, but instead is to begin playing the track frames for which begin with the next packet, that is, packet 162. As with Packet Sequence A, in Packet Sequence B the audio information channel device 23, in packet 162 and 163, multi-casts frames whose time stamps indicate that they are to be played when the frames that were multi-cast in packets 160 and 161 were to be played. By use of the resynchronize command and specifying a packet in this manner, the audio information channel device can cancel playback of a track for which playback has not yet begun.


It will be appreciated that the resynchronize command is generally not necessary for cancelling play back of a track that the audio information channel device 23 has not started multi-casting to the synchrony group 20, since the audio information channel device 23 itself can re-order the play list to accommodate the cancellation.


The invention provides a number of advantages. In particular, the invention provides a network audio system in which a number of devices share information can reproduce audio information synchronously, notwithstanding the fact that packets, which may contain digital audio information, transmitted over the network to the various zone players connected thereto may have differing delays and the zone players operate with independent clocks. Moreover, although the invention has been described in connection with audio information, it will be appreciated that the invention will find utility in connection with any type of isochronous information for which synchrony among devices is desired. The system is such that synchrony groups are created and destroyed dynamically, and in such a manner as to avoid requiring a dedicated device as the master device.


It will be appreciated that a number of changes and modifications may be made to the network audio system 10 as described above. For example, although the invention has been described as providing that the audio information channel device 23 provides digital audio information to the members synchrony group 20 that has been encoded using particular types of encoding and compression methodologies, it will be appreciated that the audio information channel device 23 can provide digital audio information to various members of the synchrony group 20 that have been encoded and compressed using different types of encoding and compression methodologies, and, moreover, for which different sampling rates have been used. For example, the audio information channel device 23 may provide digital audio information to the master device 21 and slave devices 22(1) through 22(g1) using the MP3 methodology at a specified sampling rate, the digital audio information for the same program to slave devices 22(g1+1) through 22(g2) using the WAV methodology at one specified sampling rate, and to slave devices 22(g2+1) through 22(G) using the WAV methodology at another specified sampling rate. In that case, the audio information channel device 23 can specify the particular encoding and compression methodology that has been used in the encoding type field 57 associated with each frame and the sampling rate in the sampling rate field 58. Moreover, since the encoding and compression type and sampling rate are specified for each frame, the encoding and compression type and sampling rate can be changed from frame to frame. The audio information channel device 23 may use different multi-cast addresses for the different encoding and compression types and sampling rates, but it will be appreciated that that would not be required.


It will be appreciated that two advantages of providing that the encoding and compression methodology and the sampling rate is provided on a frame-by-frame basis, instead of on, for example, a track-by-track basis, is that that would facilitate a slave device joining the synchrony group 20 at a frame mid-track, without requiring, for example, the master device 21 or the audio information channel device 23 to notify it of the encoding and compression methodology or the sampling rate.


Another modification is that, instead of the network communications manager 40 of a member of a synchrony group 20 generating the updated time stamp TuF for a digital audio information frame by adding the time differential value ΔT to the time stamp TF associated with a frame, the network communications manager 40 may instead generate the updated time stamp TUF by subtracting the differential time value ΔT from the member's current time TS as indicated by the member's digital to analog converter clock 34 at the time at which the digital audio information is received. It will be appreciated, however, that there may be variable time delays in processing of messages by the slave device's network communications manager 40, and so it may be preferable to generate the time differential value ΔT using the time stamp TF provided by the audio information channel device 23.


In addition, instead of the network communications manager 40 of a member of a synchrony group generating an updated time stamp to reflect the difference between the times indicated by the member's digital to analog converter clock and the audio information channel device's digital to analog converter clock, the network communications manager 40 can generate the time differential value ΔT and provide it to the member's playback scheduler 32. In that case, the member's network communications manager 40 can store each digital audio information frame along with the time stamp TF as received from the master device in the audio information buffer 21. The playback scheduler 32 can utilize the time differential value ΔT, and the time stamps TF associated with the digital audio information frames, to determine when the respective digital audio information frames are to be played. In determining when a digital audio information frame is to be played, the playback scheduler can add the time differential value to the time stamp TF associated with the digital audio frame, and enable the digital audio frame to be coupled to the digital to analog converter 33 when the time indicated by the sum corresponds to the current time as indicated by the slave device's digital to analog converter clock 34. Alternatively, when the member's digital to analog converter clock 34 updates its current time TS. the playback scheduler can generate an updated current time T′S by subtracting the differential time value ΔT from the current time TS, and using the updated current time T′S to determine when to play a digital audio information frame.


As described above, the members of a synchrony group 20 periodically obtain the audio information channel device's current time value and uses the current time value that it receives from the audio information channel device to periodically update the time differential value ΔT that it uses in updating the time stamps associated with the various frames. It will be appreciated that, if the digital to analog converter clock(s) associated with the member(s) of a synchrony group 20 are ensured to have the same rate as the digital to analog converter clock, a member need only obtain the current time value from the audio information channel device once, at the beginning of playback.


As another alternative, if the zone players are provided with digital to analog converter clock 34 whose time and rate can be set by an element such as the network communications manager 40, when a zone player 11(n) is operating as a member of a synchrony group 20, its network communications manager 40 can use the various types of timing information that it receives from the audio information channel device 23, including the current time information and the playback timing information indicated by the time stamps that are associated with the various frames 51(f) comprising the audio and playback timing information that it receives, to adjust the synchrony group member's digital to analog converter clock's time value and/or the clock rate that it uses for playback. If the clock's time value is to be adjusted, when the synchrony group member's network communications manager 40 initially receives the current time information from the audio information channel device 23 for the synchrony group 20, the network communications manager 40 can set the synchrony group member's digital to analog converter clock 34 to the current time value as indicated by the audio information channel device's current time information. The network communications manager 40 can set the clock 34 to the current time value indicated by the audio information channel device's current time information once, or periodically as it receives the current time information.


Alternatively or in addition, the synchrony group member's network communications manager 40 can use one or both of the current time information and/or the playback timing information in the time stamps associated with the respective frames 51(f) to adjust the clock rate of the clock 34 that it uses for playback. For example, when the synchrony group member's network communications manager 40 receives a frame 51(fx) having a time stamp having a time value Tfx, it can generate the updated time value TUfx=Tfx+ΔT as described above, and store the frame with the time stamp with the updated time value in the audio information buffer 30. In addition, since both the number of samples in a frame and the sampling rate, which determines the rate at which the frame is to be played, are known to the network communications manager 40, it can use that information, along with the updated time value TUFX that is to be used for frame 51(fX) to generate an expected updated time value TEfX+1 that is expected for the updated time stamp of the next frame 51(fX+1). After the synchrony group member's network communications manager 40 receives the next frame 51(fX+1), it can generate the updated time value TUfx+1 and compare that value to the expected updated time value TEfX+1. If the two time values do not correspond, or if the difference between them is above a selected threshold level, the clock that is used by the audio information channel device 23 to generate the time stamps is advancing at a different rate than the synchrony group member's digital to analog converter clock 34, and so the network communications manager 40 can adjust the rate of the digital to analog converter clock 34 to approach that of the clock used by the audio information channel device 23 so that the differential time value ΔT is constant. On the other hand, if the two time values do correspond, then the time differential value AT is constant, or the difference is below a threshold level, and the network communications manager 40 need not change the clock rate of the digital to analog converter clock 34. It will be appreciated that, if the clock rate is to be adjusted, the rate adjustment can be fixed, or it can vary based on, for example, the difference between the updated time value TUfX+1 and the expected updated time value TEfX+1.


It will also be appreciated that, if no rate adjustment is performed for one frame 51(fX+1), the synchrony group member's network communications manager 40 can generate an expected updated time value TEfX+2 that is expected for the updated time stamp of the next frame 51(fx+2) using the updated time value TUFX determined for frame 51(fX), along with the number of samples in a frame and the sampling rate, and compare the expected updated time value TEfX+2 to the updated time value TUfX+2 that it generates when it receives frame 51(fX+2). At that point, if the network communications manager 41 determines that two time values do not correspond, or if the difference between them is above a selected threshold level, it can adjust the rate of the digital to analog converter clock 34. Similar operations can be performed if no rate adjustment is performed for several successive frames 51(fX+1), 51(fX+2), . . . . This will accommodate the possibility that the rate differential between the clock 34 and the clock used by the audio information channel device 23 in generating the time stamps have rates that differ by an amount sufficiently small that it cannot be detected using time stamps of two or more successive frames.


Instead or in addition to adjusting the clock rate as described above, the synchrony group member's network communications manager 40 can perform similar operations in connection with adjusting the clock rate in connection with the current time information that it receives from the audio information channel device 23.


Furthermore, although the network audio system 10 has been described such that the master device 21 of a synchrony group 20 can, in response to control information provided thereto by a user through the user interface module 13, provide a notification to a zone player 11(n) that it is to become a member of its synchrony group 20 as a slave device 22(g), it will be appreciated that the user interface module 13 can provide the notification directly to the zone player 11(n) that is to become a member of the synchrony group 20. In that case, the zone player 11(n) can notify the master device 21 that it is to become a slave device 22(g) in the synchrony group 20, after which the master device 21 can provide information regarding the synchrony group 20, including the multi-cast and unicast addresses of the audio information channel device and other information as described above.


Similarly, although the network audio system 10 has been described such that the master device 21 of a synchrony group 20 can, in response to control information provided thereto by a user through the user interface module 13, provide a command to a slave device 22(g) to enable the slave device 22(g) to adjust its volume, it will be appreciated that the user interface module 13 can provide control information directly to the slave device 22(g) to enable the slave device 22(g) to adjust its volume.


In addition, although the network audio system 10 has been described such that each frames 51(f) is associated with a frame sequence number (reference field 56, FIG. 4), it will be appreciated that, if the packets described above in connection with Packet Sequence A and Packet Sequence B are provided with packet sequence numbers, the frame sequence numbers need not be provided, since the packet sequence numbers can suffice for defining the frame sequencing.


Furthermore, although the network audio system 10 has been described such that the zone players 11(n) are provided with an audio amplifier 35 for amplifying the analog signal provided by the respective digital to analog converters 33, it will be appreciated that a zone player may be provided that does not itself include an audio amplifier. In that case, the analog signal may be coupled to an external amplifier for amplification as necessary before being provided to the audio reproduction device(s) 15(n)(r). It will be appreciated that a single zone player 11(n) may be provided with multiple audio amplifiers and audio reproduction device interfaces, and, if necessary, multiple digital to analog converters 33, to provide audio programs for corresponding numbers of synchrony groups.


Similarly, although the zone players 11(n) have been described such that they may be connected to one or more audio information sources, it will be appreciated that an audio information source may form part of and be integrated into a zone player 11(n). For example, a zone player may include a compact disk player, cassette tape player, broadcast radio receiver, or the like, that has been integrated into it. In addition, as noted above, an individual zone player 11(n) may be connected to multiple audio information sources and may contemporaneously operate as the audio information channel device 23 for multiple synchrony groups.


In addition, although FIG. 1 shows the network audio system 10 as including one user interface module 13, it will be appreciated that the system 10 may include a plurality of user interface modules. Each user interface module be useful for controlling all of the zone players as described above, or alternatively one or more of the user interface modules may be useful for controlling selected subsets of the zone players.


Moreover, it will be appreciated that, although the invention has been described in connection with audio information, it will be appreciated that the invention will find utility in connection with any type of information for which synchrony among devices connected to a network is desired.


As noted above, while a zone player 11(n) is operating as audio information channel device 23 for a synchrony group 20, when the zone player 11(n)'s audio information source interface 30 or network communications manager 40 stores digital audio information frames based on audio information from an audio information source 14(n)(s) in the audio information buffer 31, it will provide time stamps for the respective frames to schedule them for playback after some time delay after they have been buffered in the audio information buffer 31. The delay is provided so that, for other zone players 11(n′), 11(n″), . . . that are operating as members of a synchrony group, there will be sufficient time for the audio and playback timing information to be transferred over the network 12 to those other zone players 11(n′), 11(n″), . . . so that it can be processed and played by them at the appropriate time as described above. The time period that is selected for the time delay may be fixed or variable, and in either case may be based on a number of factors. If the time period selected for the time delay is fixed, it may be based on, for example, factors such as an estimate of the maximum latency in the network 12, the estimated maximum loading of the various components comprising the zone players 11(n), and other estimates as will be appreciated by those skilled in the art.


The time delay may be the same for audio information from all types of audio information sources, and may be constant over the entire period that the synchrony group 20 is playing an audio work. Alternatively, different time delays may be utilized based on various criteria. For example, if the audio information is to be played independently of information associated with other types of media, the time delay may be selected to be relatively long, on the order of a significant fraction of a second, or longer. On the other hand, if the audio information is to be played contemporaneously with, for example, video information, which may be supplied by, for example, a video disk, video tape cassette, over cable, satellite, or broadcast television, which may not be buffered or which may be displayed independently of the network audio system 10, it may be undesirable to provide for such a lengthy delay, since the time delay of the audio playback, in relation to the video display, may be noticeable. In that case, the zone player 11(n) may provide for a much shorter time delay. In one embodiment, the time delay provided for audio information to be played concurrently with video information is selected to be generally on the order of fifty milliseconds, which would barely, if at all, be perceptible to someone viewing the video. Other desirable time delays for information from other types of sources will be apparent to those skilled in the art.


As yet a further possibility, the zone player 11(n), when operating as an audio information channel device 23 for a synchrony group 20, can dynamically determine the time delay based on a number of conditions in the network audio system 10, including, for example, the message transfer latency in network 12, the loading of microprocessors or other components that are used in the various zone players 11(n′), 11(n″), . . . that may comprise a synchrony group 20, as well as other factors. For example, if the audio information channel device 23 determines that the latency in the network 12 has increased beyond a selected threshold, the audio information channel device 23 can adjust the delay to increase the likelihood that the members of the synchrony group 20 will be able to receive the packets and process the frames so that they will be able to play them at the appropriate times. Similarly, if the audio information channel device 23 is notified that a member of the synchrony group 20 to which it provides audio information requires additional time to receive and process the frames that it transmits, the audio information channel device 23 can adjust the delay accordingly. It will be appreciated that, to reduce or minimize possible discontinuities in the audio playback by the members of the synchrony group, the audio information channel device 23 can, instead of adjusting the time delay during a particular audio track, adjust the time delay between tracks, during silent periods of a track or otherwise as will be appreciated by those skilled in the art. In addition, the audio information channel device 23 can use conventional audio compression methodologies to facilitate a speeding up and/or slowing down of playback of an audio track while it is in the process of providing additional time delay. Generally, the members of the synchrony group 20 can provide notifications to the audio information channel device 23 if they determine that they will need an additional time delay, and the audio information channel device 23 can adjust the time delay in accordance with the notifications from the members of the synchrony group 20.


It will be appreciated that a system in accordance with the invention can be constructed in whole or in part from special purpose hardware or a general purpose computer system, or any combination thereof, any portion of which may be controlled by a suitable program. Any program may in whole or in part comprise part of or be stored on the system in a conventional manner, or it may in whole or in part be provided in to the system over a network or other mechanism for transferring information in a conventional manner. In addition, it will be appreciated that the system may be operated and/or otherwise controlled by means of information provided by an operator using operator input elements (not shown) which may be connected directly to the system or which may transfer the information to the system over a network or other mechanism for transferring information in a conventional manner.


The foregoing description has been limited to a specific embodiment of this invention. It will be apparent, however, that various variations and modifications may be made to the invention, with the attainment of some or all of the advantages of the invention. It is the object of the appended claims to cover these and such other variations and modifications as come within the true spirit and scope of the invention.

Claims
  • 1. A method performed by a first playback device, the method comprising: receiving audio content via an asynchronous network;generating a plurality of frames, wherein an individual frame is generated at a given time, and the individual frame comprises a portion of the audio content and a time stamp indicating a time after the given time to play the portion of the audio content;generating a sequence of packets, wherein an individual packet comprises one or more of the generated frames and a packet sequence number indicating the individual packet's order in the sequence of packets;transmitting the sequence of packets comprising the plurality of frames to at least a second playback device via the asynchronous network;transmitting device clock timing information representing a time value indicated by a clock of the first playback device to at least the second playback device via the asynchronous network; andplaying the audio content in synchrony with at least the second playback device by using the time stamps and the device clock timing of the first playback device.
  • 2. The method of claim 1, wherein transmitting the sequence of packets comprising the plurality of frames to at least the second playback device comprises transmitting the sequence of packets via a multicast network address.
  • 3. The method of claim 1, wherein transmitting device clock timing of the first playback device to at least the second playback device comprises transmitting the device clock timing via a unicast network address.
  • 4. The method of claim 1, wherein the method further comprises: for each frame of the plurality of frames, generating the time stamp for the frame, wherein the time stamp for the frame indicates a time that is later than a current time of the device clock of the first playback device by a first duration of time.
  • 5. The method of claim 4, wherein the first duration of time is based on a time required to transmit a single packet from the first playback device to the second playback device.
  • 6. The method of claim 5 further comprising: receiving a message from the second playback device indicating that the second playback device needs additional time to process frames received from the first playback device; andin response to receiving the message, increasing the first duration of time used to generate time stamps for frames that the first playback device generates after receiving the message.
  • 7. The method of claim 6, wherein the first playback device and the second playback device remain independently clocked while the first playback device plays the audio content in synchrony with at least the second playback device.
  • 8. The method of claim 1, wherein an individual frame further comprises a frame sequence number indicating the individual frame's order in the plurality of frames.
  • 9. The method of claim 1, wherein the portion of the audio content in an individual frame comprises a set of one or more audio samples.
  • 10. Tangible, non-transitory computer-readable media comprising instructions encoded thereon, wherein the instructions, when executed by one or more processors, cause a first playback device to perform a method comprising: receiving audio content via an asynchronous network;generating a plurality of frames, wherein an individual frame is generated at a given time, and the individual frame comprises a portion of the audio content and a time stamp indicating a time after the given time to play the portion of the audio content;generating a sequence of packets, wherein an individual packet comprises one or more of the generated frames and a packet sequence number indicating the individual packet's order in the sequence of packets;transmitting the sequence of packets comprising the plurality of frames to at least a second playback device via the asynchronous network;transmitting device clock timing information representing a time value indicated by a clock of the first playback device to at least the second playback device via the asynchronous network; andplaying the audio content in synchrony with at least the second playback device by using the time stamps and the device clock timing of the first playback device.
  • 11. The tangible, non-transitory computer-readable media of claim 10, wherein transmitting the sequence of packets comprising the plurality of frames to at least the second playback device comprises transmitting the sequence of packets via a multicast network address.
  • 12. The tangible, non-transitory computer-readable media of claim 10, wherein transmitting device clock timing of the first playback device to at least the second playback device comprises transmitting the device clock timing via a unicast network address.
  • 13. The tangible, non-transitory computer-readable media of claim 10, wherein the method further comprises: for each frame of the plurality of frames, generating the time stamp for the frame, wherein the time stamp for the frame indicates a time that is later than a current time of the device clock of the first playback device by a first duration of time.
  • 14. The tangible, non-transitory computer-readable media of claim 13, wherein the first duration of time is based on a time required to transmit a single packet from the first playback device to the second playback device.
  • 15. The tangible, non-transitory computer-readable media of claim 14, wherein the method further comprises: receiving a message from the second playback device indicating that the second playback device needs additional time to process frames received from the first playback device; andin response to receiving the message, increasing the first duration of time used to generate time stamps for frames that the first playback device generates after receiving the message.
  • 16. The tangible, non-transitory computer-readable media of claim 15, wherein the first playback device and the second playback device remain independently clocked while the first playback device plays the audio content in synchrony with at least the second playback device.
  • 17. The tangible, non-transitory computer-readable media of claim 10, wherein an individual frame further comprises a frame sequence number indicating the individual frame's order in the plurality of frames.
  • 18. The tangible, non-transitory computer-readable media of claim 10, wherein the portion of the audio content in an individual frame comprises a set of one or more audio samples.
  • 19. A first playback device comprising: one or more processors; andtangible, non-transitory computer-readable media comprising instructions encoded thereon, wherein the instructions, when executed by one or more processors, cause the first playback device to perform a method comprising:receiving audio content via an asynchronous network;generating a plurality of frames, wherein an individual frame is generated at a given time, and the individual frame comprises a portion of the audio content and a time stamp indicating a time after the given time to play the portion of the audio content;generating a sequence of packets, wherein an individual packet comprises one or more of the generated frames and a packet sequence number indicating the individual packet's order in the sequence of packets;transmitting the sequence of packets comprising the plurality of frames to at least a second playback device via the asynchronous network;transmitting device clock timing information representing a time value indicated by a clock of the first playback device to at least the second playback device via the asynchronous network; andplaying the audio content in synchrony with at least the second playback device by using the time stamps and the device clock timing of the first playback device.
  • 20. The first playback device of claim 19, wherein transmitting the sequence of packets comprising the plurality of frames to at least the second playback device comprises transmitting the sequence of packets via a multicast network address.
  • 21. The first playback device of claim 19, wherein transmitting device clock timing of the first playback device to at least the second playback device comprises transmitting the device clock timing via a unicast network address.
  • 22. The first playback device of claim 19, wherein the method further comprises: for each frame of the plurality of frames, generating the time stamp for the frame, wherein the time stamp for the frame indicates a time that is later than a current time of the device clock of the first playback device by a first duration of time, wherein the first duration of time is based on a time required to transmit a single packet from the first playback device to the second playback device.
  • 23. The first playback device of claim 22, wherein the first playback device and the second playback device remain independently clocked while the first playback device plays the audio content in synchrony with at least the second playback device.
  • 24. The first playback device of claim 23, wherein the method further comprises: receiving a message from the second playback device indicating that the second playback device needs additional time to process frames received from the first playback device; andin response to receiving the message, increasing the first duration of time used to generate time stamps for frames that the first playback device generates after receiving the message.
  • 25. The first playback device of claim 19, wherein an individual frame further comprises a frame sequence number indicating the individual frame's order in the plurality of frames.
  • 26. The first playback device of claim 19, wherein the portion of the audio content in an individual frame comprises a set of one or more audio samples.
INCORPORATION BY REFERENCE

This application claims priority under 35 USC § 120 of U.S. application Ser. No. 13/297,000, filed Nov. 15, 2011, entitled “System And Method For Synchronizing Operations Among A Plurality Of Independently Clocked Digital Data Processing Devices”, which is a continuation of patent application Ser. No. 10/816,217, now U.S. Pat, No. 8,234,395, filed on Apr. 1, 2004, entitled “System and Method for Synchronizing Operations Among a Plurality of Independently Clocked Digital Data Processing Devices”, which is a non-provisional application claiming priority under 35 USC § 119 to Provisional Patent Application Ser. No. 60/490,768, filed on Jul. 28, 2003, entitled “Method for Synchronizing Audio Playback Between Multiple Networked Devices,” now expired, all of which are assigned to the assignee of the present application and are incorporated herein by reference.

US Referenced Citations (945)
Number Name Date Kind
3956591 Gates, Jr. May 1976 A
4105974 Rogers Aug 1978 A
D260764 Castagna et al. Sep 1981 S
4296278 Cullison et al. Oct 1981 A
4306114 Callahan Dec 1981 A
4509211 Robbins Apr 1985 A
D279779 Taylor Jul 1985 S
4530091 Crockett Jul 1985 A
4696037 Fierens Sep 1987 A
4701629 Citroen Oct 1987 A
4712105 Kohler Dec 1987 A
D293671 Beaumont Jan 1988 S
4731814 Becker et al. Mar 1988 A
4816989 Finn et al. Mar 1989 A
4824059 Butler Apr 1989 A
D301037 Matsuda May 1989 S
4845751 Schwab Jul 1989 A
D304443 Grinyer et al. Nov 1989 S
D313023 Kolenda et al. Dec 1990 S
D313398 Gilchrist Jan 1991 S
D313600 Weber Jan 1991 S
4994908 Kuban et al. Feb 1991 A
D320598 Auerbach et al. Oct 1991 S
D322609 Patton Dec 1991 S
5086385 Launey et al. Feb 1992 A
D326450 Watanabe May 1992 S
D327060 Wachob et al. Jun 1992 S
5151922 Weiss Sep 1992 A
5153579 Fisch et al. Oct 1992 A
D331388 Dahnert et al. Dec 1992 S
5182552 Paynting Jan 1993 A
D333135 Wachob et al. Feb 1993 S
5185680 Kakubo Feb 1993 A
5198603 Nishikawa et al. Mar 1993 A
5237327 Saitoh et al. Aug 1993 A
5239458 Suzuki Aug 1993 A
5272757 Scofield et al. Dec 1993 A
5299266 Lumsden Mar 1994 A
D350531 Tsuji Sep 1994 S
D350962 Reardon et al. Sep 1994 S
5361381 Short Nov 1994 A
5372441 Louis Dec 1994 A
D354059 Hendricks Jan 1995 S
D354751 Hersh et al. Jan 1995 S
D356093 McCauley et al. Mar 1995 S
D356312 Althans Mar 1995 S
D357024 Tokiyama et al. Apr 1995 S
5406634 Anderson et al. Apr 1995 A
5430485 Lankford et al. Jul 1995 A
5440644 Farinelli et al. Aug 1995 A
D362446 Gasiorek et al. Sep 1995 S
5457448 Totsuka et al. Oct 1995 A
D363933 Starck Nov 1995 S
5467342 Logston et al. Nov 1995 A
D364877 Tokiyama et al. Dec 1995 S
D364878 Green et al. Dec 1995 S
D365102 Gioscia Dec 1995 S
D366044 Hara et al. Jan 1996 S
5481251 Buys et al. Jan 1996 A
5491839 Schotz Feb 1996 A
5515345 Barreira et al. May 1996 A
5533021 Branstad et al. Jul 1996 A
D372716 Thorne Aug 1996 S
5553147 Pineau Sep 1996 A
5553222 Milne et al. Sep 1996 A
5553314 Grube et al. Sep 1996 A
D377651 Biasotti et al. Jan 1997 S
5596696 Tindell et al. Jan 1997 A
5602992 Danneels Feb 1997 A
5623483 Agrawal et al. Apr 1997 A
5625350 Fukatsu et al. Apr 1997 A
5633871 Bloks May 1997 A
D379816 Laituri et al. Jun 1997 S
5636345 Valdevit Jun 1997 A
5640388 Woodhead et al. Jun 1997 A
D380752 Hanson Jul 1997 S
5652749 Davenport et al. Jul 1997 A
D382271 Akwiwu Aug 1997 S
5661665 Glass et al. Aug 1997 A
5661728 Finotello et al. Aug 1997 A
5668884 Clair, Jr. et al. Sep 1997 A
5673323 Schotz et al. Sep 1997 A
D384940 Kono et al. Oct 1997 S
D387352 Kaneko et al. Dec 1997 S
5696896 Badovinatz et al. Dec 1997 A
D388792 Nykerk Jan 1998 S
D389143 Wicks Jan 1998 S
D392641 Fenner Mar 1998 S
5726989 Dokic Mar 1998 A
5732059 Katsuyama et al. Mar 1998 A
D393628 Ledbetter et al. Apr 1998 S
5740235 Lester et al. Apr 1998 A
5742623 Nuber et al. Apr 1998 A
D394659 Biasotti et al. May 1998 S
5751819 Dorrough May 1998 A
5761320 Farinelli et al. Jun 1998 A
5774016 Ketterer Jun 1998 A
D395889 Gerba et al. Jul 1998 S
5787249 Badovinatz et al. Jul 1998 A
5790543 Cloutier Aug 1998 A
D397996 Smith Sep 1998 S
5808662 Kinney et al. Sep 1998 A
5812201 Yoo Sep 1998 A
5815689 Shaw et al. Sep 1998 A
5818948 Gulick Oct 1998 A
D401587 Rudolph Nov 1998 S
5832024 Schotz et al. Nov 1998 A
5838909 Roy et al. Nov 1998 A
5848152 Slipy et al. Dec 1998 A
5852722 Hamilton Dec 1998 A
D404741 Schumaker et al. Jan 1999 S
D405071 Gambaro Feb 1999 S
5867691 Shiraishi Feb 1999 A
5875233 Cox Feb 1999 A
5875354 Charlton et al. Feb 1999 A
D406847 Gerba et al. Mar 1999 S
D407071 Keating Mar 1999 S
5887143 Saito et al. Mar 1999 A
5905768 Maturi et al. May 1999 A
D410927 Yamagishi Jun 1999 S
5917830 Chen et al. Jun 1999 A
D412337 Hamano Jul 1999 S
5923869 Kashiwagi et al. Jul 1999 A
5923902 Inagaki Jul 1999 A
5946343 Schotz et al. Aug 1999 A
5956025 Goulden et al. Sep 1999 A
5956088 Shen et al. Sep 1999 A
5960006 Maturi et al. Sep 1999 A
D415496 Gerba et al. Oct 1999 S
D416021 Godette et al. Nov 1999 S
5984512 Jones et al. Nov 1999 A
5987525 Roberts et al. Nov 1999 A
5987611 Freund Nov 1999 A
5990884 Douma et al. Nov 1999 A
5991307 Komuro et al. Nov 1999 A
5999906 Mercs et al. Dec 1999 A
6009457 Moller Dec 1999 A
6018376 Nakatani Jan 2000 A
D420006 Tonino Feb 2000 S
6026150 Frank et al. Feb 2000 A
6029196 Lenz Feb 2000 A
6031818 Lo et al. Feb 2000 A
6032202 Lea et al. Feb 2000 A
6038614 Chan et al. Mar 2000 A
6046550 Ference et al. Apr 2000 A
6061457 Stockhamer May 2000 A
6078725 Tanaka Jun 2000 A
6081266 Sciammarella Jun 2000 A
6088063 Shiba Jul 2000 A
D429246 Holma Aug 2000 S
D430143 Renk Aug 2000 S
6101195 Lyons et al. Aug 2000 A
6108485 Kim Aug 2000 A
6108686 Williams, Jr. Aug 2000 A
6122668 Teng et al. Sep 2000 A
D431552 Backs et al. Oct 2000 S
D432525 Beecroft Oct 2000 S
6127941 Van Ryzin Oct 2000 A
6128318 Sato Oct 2000 A
6148205 Cotton Nov 2000 A
6154772 Dunn et al. Nov 2000 A
6157957 Berthaud Dec 2000 A
6163647 Terashima et al. Dec 2000 A
6169725 Gibbs et al. Jan 2001 B1
6175872 Neumann et al. Jan 2001 B1
6181383 Fox et al. Jan 2001 B1
6185737 Northcutt et al. Feb 2001 B1
6195435 Kitamura Feb 2001 B1
6195436 Scibora et al. Feb 2001 B1
6199169 Voth Mar 2001 B1
6212282 Mershon Apr 2001 B1
6246701 Slattery Jun 2001 B1
6253293 Rao et al. Jun 2001 B1
D444475 Levey et al. Jul 2001 S
6255961 Van Ryzin et al. Jul 2001 B1
6256554 Dilorenzo Jul 2001 B1
6269406 Dutcher et al. Jul 2001 B1
6301012 White et al. Oct 2001 B1
6308207 Tseng et al. Oct 2001 B1
6310652 Li et al. Oct 2001 B1
6313879 Kubo et al. Nov 2001 B1
6321252 Bhola et al. Nov 2001 B1
6324586 Johnson Nov 2001 B1
D452520 Gotham et al. Dec 2001 S
6332147 Moran et al. Dec 2001 B1
6343028 Kuwaoka Jan 2002 B1
6349285 Liu et al. Feb 2002 B1
6349339 Williams Feb 2002 B1
6349352 Lea Feb 2002 B1
6351821 Voth Feb 2002 B1
6353172 Fay et al. Mar 2002 B1
6356871 Hemkumar et al. Mar 2002 B1
6404811 Cvetko et al. Jun 2002 B1
6418150 Staats Jul 2002 B1
6430353 Honda et al. Aug 2002 B1
6442443 Fujii et al. Aug 2002 B1
D462339 Allen et al. Sep 2002 S
D462340 Allen et al. Sep 2002 S
D462945 Skulley Sep 2002 S
6446080 Van Ryzin et al. Sep 2002 B1
6449642 Bourke-Dunphy et al. Sep 2002 B2
6449653 Klemets et al. Sep 2002 B2
6456783 Ando et al. Sep 2002 B1
6463474 Fuh et al. Oct 2002 B1
6466832 Zuqert et al. Oct 2002 B1
6469633 Wachter Oct 2002 B1
D466108 Glodava et al. Nov 2002 S
6487296 Allen et al. Nov 2002 B1
6493832 Itakura et al. Dec 2002 B1
D468297 Ikeda Jan 2003 S
6522886 Youngs et al. Feb 2003 B1
6526325 Sussman et al. Feb 2003 B1
6526411 Ward Feb 2003 B1
6535121 Matheny et al. Mar 2003 B2
D474763 Tozaki et al. May 2003 S
D475993 Meyer Jun 2003 S
D476643 Yamagishi Jul 2003 S
D477310 Moransais Jul 2003 S
6587127 Leeke et al. Jul 2003 B1
6598172 Vandeusen et al. Jul 2003 B1
D478051 Sagawa Aug 2003 S
D478069 Beck et al. Aug 2003 S
D478896 Summers Aug 2003 S
6611537 Edens et al. Aug 2003 B1
6611813 Bratton Aug 2003 B1
D479520 De Saulees Sep 2003 S
D481056 Kawasaki et al. Oct 2003 S
6631410 Kowalski et al. Oct 2003 B1
6636269 Baldwin Oct 2003 B1
6639584 Li Oct 2003 B1
6653899 Organvidez et al. Nov 2003 B2
6654720 Graham et al. Nov 2003 B1
6654956 Trinh et al. Nov 2003 B1
6658091 Naidoo et al. Dec 2003 B1
6674803 Kesselring Jan 2004 B1
6684060 Curtin Jan 2004 B1
D486145 Kaminski et al. Feb 2004 S
6687664 Sussman et al. Feb 2004 B1
6704421 Kitamura Mar 2004 B1
6741961 Lim May 2004 B2
D491925 Griesau et al. Jun 2004 S
6757517 Chang Jun 2004 B2
D493148 Shibata et al. Jul 2004 S
6763274 Gilbert Jul 2004 B1
D495333 Borsboom Aug 2004 S
6778073 Lutter et al. Aug 2004 B2
6778493 Ishii Aug 2004 B1
6778869 Champion Aug 2004 B2
D496003 Spira Sep 2004 S
D496005 Wang Sep 2004 S
D496335 Spira Sep 2004 S
6795852 Kleinrock et al. Sep 2004 B1
D497363 Olson et al. Oct 2004 S
6803964 Post et al. Oct 2004 B1
6809635 Kaaresoja Oct 2004 B1
D499086 Polito Nov 2004 S
6816104 Lin Nov 2004 B1
6816510 Banerjee Nov 2004 B1
6816818 Wolf et al. Nov 2004 B2
6823225 Sass Nov 2004 B1
6826283 Wheeler et al. Nov 2004 B1
D499395 Hsu Dec 2004 S
D499718 Chen Dec 2004 S
D500015 Gubbe Dec 2004 S
6836788 Kim et al. Dec 2004 B2
6839752 Miller et al. Jan 2005 B1
D501477 Hall Feb 2005 S
6859460 Chen Feb 2005 B1
6859538 Voltz Feb 2005 B1
6873862 Reshefsky Mar 2005 B2
6882335 Saarinen Apr 2005 B2
D504872 Uehara et al. May 2005 S
D504885 Zhang et al. May 2005 S
6898642 Chafle et al. May 2005 B2
6901439 Bonasia et al. May 2005 B1
D506463 Daniels Jun 2005 S
6907458 Tomassetti et al. Jun 2005 B2
6910078 Raman et al. Jun 2005 B1
6912610 Spencer Jun 2005 B2
6915347 Hanko et al. Jul 2005 B2
6917592 Ramankutty et al. Jul 2005 B1
6919771 Nakajima Jul 2005 B2
6920373 Xi et al. Jul 2005 B2
6931557 Togawa Aug 2005 B2
6934766 Russell Aug 2005 B1
6937988 Hemkumar et al. Aug 2005 B1
6970482 Kim Nov 2005 B2
6985694 De Bonet et al. Jan 2006 B1
6987767 Saito Jan 2006 B2
D515072 Lee Feb 2006 S
D515557 Okuley Feb 2006 S
7006758 Yamamoto et al. Feb 2006 B1
7007106 Flood et al. Feb 2006 B1
7020791 Aweya et al. Mar 2006 B1
D518475 Yang et al. Apr 2006 S
7043477 Mercer et al. May 2006 B2
7043651 Aweya et al. May 2006 B2
7046677 Monta et al. May 2006 B2
7047308 Deshpande May 2006 B2
7054888 Lachapelle et al. May 2006 B2
7058889 Trovato et al. Jun 2006 B2
7068596 Mou Jun 2006 B1
D524296 Kita Jul 2006 S
D527375 Flora et al. Aug 2006 S
7092528 Patrick et al. Aug 2006 B2
7092694 Griep et al. Aug 2006 B2
7096169 Crutchfield et al. Aug 2006 B2
7102513 Taskin et al. Sep 2006 B1
7106224 Knapp et al. Sep 2006 B2
7113999 Pestoni et al. Sep 2006 B2
7115017 Laursen et al. Oct 2006 B1
7120168 Zimmermann Oct 2006 B2
7130316 Kovacevic Oct 2006 B2
7130368 Aweya et al. Oct 2006 B1
7130608 Hollstrom et al. Oct 2006 B2
7130616 Janik Oct 2006 B2
7136934 Carter et al. Nov 2006 B2
7139981 Mayer et al. Nov 2006 B2
7143141 Morgan et al. Nov 2006 B1
7143939 Henzerling Dec 2006 B2
7146260 Preston et al. Dec 2006 B2
7158488 Fujimori Jan 2007 B2
7161939 Israel et al. Jan 2007 B2
7162315 Gilbert Jan 2007 B2
7164694 Nodoushani et al. Jan 2007 B1
7167765 Janik Jan 2007 B2
7185090 Kowalski et al. Feb 2007 B2
7187947 White et al. Mar 2007 B1
7188353 Crinon Mar 2007 B1
7197148 Nourse et al. Mar 2007 B2
7206367 Moore Apr 2007 B1
7206618 Latto et al. Apr 2007 B2
7206967 Marti et al. Apr 2007 B1
7209795 Sullivan et al. Apr 2007 B2
7218708 Berezowski et al. May 2007 B2
7218930 Ko et al. May 2007 B2
7236739 Chang Jun 2007 B2
7236773 Thomas Jun 2007 B2
7251533 Yoon et al. Jul 2007 B2
7257398 Ukita et al. Aug 2007 B1
7260616 Cook Aug 2007 B1
7263070 Delker et al. Aug 2007 B1
7263110 Fujishiro Aug 2007 B2
7277547 Delker et al. Oct 2007 B1
7286652 Azriel et al. Oct 2007 B1
7289631 Ishidoshiro Oct 2007 B2
7293060 Komsi Nov 2007 B2
7295548 Blank et al. Nov 2007 B2
7305694 Commons et al. Dec 2007 B2
7308188 Namatame Dec 2007 B2
7310334 Fitzgerald et al. Dec 2007 B1
7312785 Tsuk et al. Dec 2007 B2
7313593 Pulito et al. Dec 2007 B1
7319764 Reid et al. Jan 2008 B1
7324857 Goddard Jan 2008 B2
7330875 Parasnis et al. Feb 2008 B1
7333519 Sullivan et al. Feb 2008 B2
7356011 Waters et al. Apr 2008 B1
7359006 Xiang et al. Apr 2008 B1
7366206 Lockridge et al. Apr 2008 B2
7372846 Zwack May 2008 B2
7383036 Kang et al. Jun 2008 B2
7391791 Balassanian et al. Jun 2008 B2
7392102 Sullivan et al. Jun 2008 B2
7392481 Gewickey et al. Jun 2008 B2
7394480 Song Jul 2008 B2
7400644 Sakamoto et al. Jul 2008 B2
7412499 Chang et al. Aug 2008 B2
7428310 Park Sep 2008 B2
7430181 Hong Sep 2008 B1
7433324 Switzer et al. Oct 2008 B2
7434166 Acharya et al. Oct 2008 B2
7457948 Bilicksa et al. Nov 2008 B1
7469139 Van De Groenendaal Dec 2008 B2
7472058 Tseng et al. Dec 2008 B2
7474677 Trott Jan 2009 B2
7483538 McCarty et al. Jan 2009 B2
7483540 Rabinowitz et al. Jan 2009 B2
7483958 Elabbady et al. Jan 2009 B1
7492912 Chung et al. Feb 2009 B2
7505889 Salmonsen et al. Mar 2009 B2
7509181 Champion Mar 2009 B2
7519667 Capps Apr 2009 B1
7548744 Oesterling et al. Jun 2009 B2
7548851 Lau et al. Jun 2009 B1
7558224 Surazski et al. Jul 2009 B1
7558635 Thiel et al. Jul 2009 B1
7571014 Lambourne et al. Aug 2009 B1
7574274 Holmes Aug 2009 B2
7599685 Goldberg et al. Oct 2009 B2
7606174 Ochi et al. Oct 2009 B2
7607091 Song et al. Oct 2009 B2
7627825 Kakuda Dec 2009 B2
7630501 Blank et al. Dec 2009 B2
7631119 Moore et al. Dec 2009 B2
7643894 Braithwaite et al. Jan 2010 B2
7653344 Feldman et al. Jan 2010 B1
7657224 Goldberg et al. Feb 2010 B2
7657644 Zheng Feb 2010 B1
7657910 McAulay et al. Feb 2010 B1
7665115 Gallo et al. Feb 2010 B2
7668990 Krzyzanowski et al. Feb 2010 B2
7669113 Moore et al. Feb 2010 B1
7669219 Scott, III Feb 2010 B2
7672470 Lee Mar 2010 B2
7675943 Mosig et al. Mar 2010 B2
7676044 Sasaki et al. Mar 2010 B2
7676142 Hung Mar 2010 B1
7688306 Wehrenberg et al. Mar 2010 B2
7689304 Sasaki Mar 2010 B2
7689305 Kreifeldt et al. Mar 2010 B2
7702279 Ko et al. Apr 2010 B2
7702403 Gladwin et al. Apr 2010 B1
7710941 Rietschel May 2010 B2
7711774 Rothschild May 2010 B1
7720096 Klemets May 2010 B2
7721032 Bushell et al. May 2010 B2
7742740 Goldberg et al. Jun 2010 B2
7743009 Hangartner et al. Jun 2010 B2
7746906 Jinzaki et al. Jun 2010 B2
7756743 Lapcevic Jul 2010 B1
7761176 Ben-Yaacov et al. Jul 2010 B2
7765315 Batson et al. Jul 2010 B2
RE41608 Blair et al. Aug 2010 E
7793206 Lim et al. Sep 2010 B2
7827259 Heller et al. Nov 2010 B2
7831054 Ball et al. Nov 2010 B2
7835689 Goldberg et al. Nov 2010 B2
7853341 McCarty et al. Dec 2010 B2
7865137 Goldberg et al. Jan 2011 B2
7882234 Watanabe et al. Feb 2011 B2
7885622 Krampf et al. Feb 2011 B2
7907819 Ando et al. Mar 2011 B2
7916877 Goldberg et al. Mar 2011 B2
7917082 Goldberg et al. Mar 2011 B2
7933418 Morishima Apr 2011 B2
7934239 Dagman Apr 2011 B1
7945143 Yahata et al. May 2011 B2
7945636 Nelson et al. May 2011 B2
7945708 Ohkita May 2011 B2
7958441 Heller et al. Jun 2011 B2
7966388 Pugaczewski et al. Jun 2011 B1
7987294 Bryce et al. Jul 2011 B2
7995732 Koch et al. Aug 2011 B2
7996566 Sylvain et al. Aug 2011 B1
7996588 Subbiah et al. Aug 2011 B2
8014423 Thaler et al. Sep 2011 B2
8015306 Bowman Sep 2011 B2
8020023 Millington et al. Sep 2011 B2
8023663 Goldberg Sep 2011 B2
8028038 Weel Sep 2011 B2
8028323 Weel Sep 2011 B2
8041062 Cohen et al. Oct 2011 B2
8045721 Burgan et al. Oct 2011 B2
8045952 Qureshey et al. Oct 2011 B2
8050203 Jacobsen et al. Nov 2011 B2
8050652 Qureshey et al. Nov 2011 B2
8055364 Champion Nov 2011 B2
8074253 Nathan Dec 2011 B1
8086752 Millington et al. Dec 2011 B2
8090317 Burge et al. Jan 2012 B2
8103009 McCarty et al. Jan 2012 B2
8111132 Allen et al. Feb 2012 B2
8112032 Ko et al. Feb 2012 B2
8116476 Inohara Feb 2012 B2
8126172 Horbach et al. Feb 2012 B2
8131389 Hardwick et al. Mar 2012 B1
8131390 Braithwaite et al. Mar 2012 B2
8144883 Pedersen et al. Mar 2012 B2
8148622 Rothkopf et al. Apr 2012 B2
8150079 Maeda et al. Apr 2012 B2
8169938 Duchscher et al. May 2012 B2
8170222 Dunko May 2012 B2
8170260 Reining et al. May 2012 B2
8175297 Ho et al. May 2012 B1
8185674 Moore et al. May 2012 B2
8194874 Starobin et al. Jun 2012 B2
8204890 Gogan Jun 2012 B1
8208653 Eo et al. Jun 2012 B2
8214447 Deslippe et al. Jul 2012 B2
8214740 Johnson Jul 2012 B2
8214873 Weel Jul 2012 B2
8218790 Bull et al. Jul 2012 B2
8230099 Weel Jul 2012 B2
8233029 Yoshida et al. Jul 2012 B2
8233648 Sorek et al. Jul 2012 B2
8234305 Seligmann et al. Jul 2012 B2
8234395 Millington Jul 2012 B2
8239748 Moore et al. Aug 2012 B1
8275910 Hauck Sep 2012 B1
8279709 Choisel et al. Oct 2012 B2
8281001 Busam et al. Oct 2012 B2
8285404 Kekki Oct 2012 B1
8290603 Lambourne Oct 2012 B1
8300845 Zurek et al. Oct 2012 B2
8311226 Lorgeoux et al. Nov 2012 B2
8315555 Ko et al. Nov 2012 B2
8316147 Batson et al. Nov 2012 B2
8325931 Howard et al. Dec 2012 B2
8326951 Millington et al. Dec 2012 B1
8340330 Yoon et al. Dec 2012 B2
8345709 Nitzpon et al. Jan 2013 B2
8364295 Beckmann et al. Jan 2013 B2
8370678 Millington et al. Feb 2013 B2
8374595 Chien et al. Feb 2013 B2
8407623 Kerr et al. Mar 2013 B2
8411883 Matsumoto Apr 2013 B2
8423659 Millington Apr 2013 B2
8423893 Ramsay et al. Apr 2013 B2
8432851 Xu et al. Apr 2013 B2
8433076 Zurek et al. Apr 2013 B2
8442239 Bruelle-Drews et al. May 2013 B2
8457334 Yoon et al. Jun 2013 B2
8463184 Dua Jun 2013 B2
8463875 Katz et al. Jun 2013 B2
8473844 Kreifeldt et al. Jun 2013 B2
8477958 Moeller et al. Jul 2013 B2
8483853 Lambourne Jul 2013 B1
8509211 Trotter et al. Aug 2013 B2
8520870 Sato et al. Aug 2013 B2
8565455 Worrell et al. Oct 2013 B2
8577048 Chaikin et al. Nov 2013 B2
8588949 Lambourne et al. Nov 2013 B2
8600084 Garrett Dec 2013 B1
8611559 Sanders Dec 2013 B2
8615091 Terwal Dec 2013 B2
8639830 Bowman Jan 2014 B2
8654995 Silber et al. Feb 2014 B2
8672744 Gronkowski et al. Mar 2014 B1
8683009 Ng et al. Mar 2014 B2
8689036 Millington et al. Apr 2014 B2
8731206 Park May 2014 B1
8750282 Gelter et al. Jun 2014 B2
8751026 Sato et al. Jun 2014 B2
8762565 Togashi et al. Jun 2014 B2
8818538 Sakata Aug 2014 B2
8819554 Basso et al. Aug 2014 B2
8831761 Kemp et al. Sep 2014 B2
8843586 Pantos et al. Sep 2014 B2
8861739 Ojanpera Oct 2014 B2
8868698 Millington et al. Oct 2014 B2
8885851 Westenbroek Nov 2014 B2
8904066 Moore et al. Dec 2014 B2
8917877 Haaff et al. Dec 2014 B2
8930006 Haatainen Jan 2015 B2
8934647 Joyce et al. Jan 2015 B2
8934655 Breen et al. Jan 2015 B2
8938637 Millington et al. Jan 2015 B2
8942252 Balassanian et al. Jan 2015 B2
8942395 Lissaman et al. Jan 2015 B2
8954177 Sanders Feb 2015 B2
8965544 Ramsay Feb 2015 B2
8966394 Gates et al. Feb 2015 B2
9130770 Millington et al. Sep 2015 B2
9137602 Mayman et al. Sep 2015 B2
9160965 Redmann et al. Oct 2015 B2
9195258 Millington Nov 2015 B2
9456243 Hughes et al. Sep 2016 B1
9507780 Rothkopf et al. Nov 2016 B2
20010001160 Shoff et al. May 2001 A1
20010009604 Ando et al. Jul 2001 A1
20010022823 Renaud Sep 2001 A1
20010027498 Van De Meulenhof et al. Oct 2001 A1
20010032188 Miyabe et al. Oct 2001 A1
20010042107 Palm Nov 2001 A1
20010043456 Atkinson Nov 2001 A1
20010046235 Trevitt et al. Nov 2001 A1
20010047377 Sincaglia et al. Nov 2001 A1
20010050991 Eves Dec 2001 A1
20020002039 Qureshey et al. Jan 2002 A1
20020002562 Moran et al. Jan 2002 A1
20020002565 Ohyama Jan 2002 A1
20020003548 Krusche et al. Jan 2002 A1
20020022453 Balog et al. Feb 2002 A1
20020026442 Lipscomb et al. Feb 2002 A1
20020034374 Barton Mar 2002 A1
20020035621 Zintel et al. Mar 2002 A1
20020042844 Chiazzese Apr 2002 A1
20020049843 Barone et al. Apr 2002 A1
20020062406 Chang et al. May 2002 A1
20020065926 Hackney et al. May 2002 A1
20020067909 Iivonen Jun 2002 A1
20020072816 Shdema et al. Jun 2002 A1
20020072817 Champion Jun 2002 A1
20020073228 Cognet et al. Jun 2002 A1
20020078293 Kou et al. Jun 2002 A1
20020080783 Fujimori Jun 2002 A1
20020090914 Kang et al. Jul 2002 A1
20020093478 Yeh Jul 2002 A1
20020095460 Benson Jul 2002 A1
20020098878 Mooney et al. Jul 2002 A1
20020101357 Gharapetian Aug 2002 A1
20020103635 Mesarovic et al. Aug 2002 A1
20020109710 Holtz et al. Aug 2002 A1
20020112244 Liou et al. Aug 2002 A1
20020114354 Sinha et al. Aug 2002 A1
20020114359 Ibaraki et al. Aug 2002 A1
20020124097 Isely et al. Sep 2002 A1
20020124182 Bacso et al. Sep 2002 A1
20020129156 Yoshikawa Sep 2002 A1
20020131398 Taylor Sep 2002 A1
20020131761 Kawasaki et al. Sep 2002 A1
20020136335 Liou et al. Sep 2002 A1
20020137505 Eiche et al. Sep 2002 A1
20020143998 Rajagopal et al. Oct 2002 A1
20020150053 Gray et al. Oct 2002 A1
20020159596 Durand et al. Oct 2002 A1
20020163361 Parkin Nov 2002 A1
20020165721 Chang et al. Nov 2002 A1
20020165921 Sapieyevski Nov 2002 A1
20020168938 Chang Nov 2002 A1
20020173273 Spurgat Nov 2002 A1
20020177411 Yajima et al. Nov 2002 A1
20020181355 Shikunami et al. Dec 2002 A1
20020184310 Traversat et al. Dec 2002 A1
20020188762 Tomassetti et al. Dec 2002 A1
20020194260 Headley Dec 2002 A1
20020194309 Carter et al. Dec 2002 A1
20030002609 Faller et al. Jan 2003 A1
20030008616 Anderson Jan 2003 A1
20030014486 May Jan 2003 A1
20030018797 Dunning et al. Jan 2003 A1
20030020763 Mayer et al. Jan 2003 A1
20030023741 Tomassetti et al. Jan 2003 A1
20030035072 Hagg Feb 2003 A1
20030035444 Zwack Feb 2003 A1
20030041173 Hoyle Feb 2003 A1
20030041174 Wen et al. Feb 2003 A1
20030043856 Lakaniemi et al. Mar 2003 A1
20030043924 Haddad et al. Mar 2003 A1
20030050058 Walsh et al. Mar 2003 A1
20030055892 Huitema et al. Mar 2003 A1
20030061428 Garney et al. Mar 2003 A1
20030063528 Ogikubo Apr 2003 A1
20030063755 Nourse et al. Apr 2003 A1
20030066094 Van Der Schaar et al. Apr 2003 A1
20030067437 McClintock et al. Apr 2003 A1
20030073432 Meade, II Apr 2003 A1
20030097478 King May 2003 A1
20030099212 Anjum et al. May 2003 A1
20030099221 Rhee May 2003 A1
20030101253 Saito et al. May 2003 A1
20030103088 Dresti et al. Jun 2003 A1
20030109270 Shorty Jun 2003 A1
20030110329 Higaki et al. Jun 2003 A1
20030118158 Hattori Jun 2003 A1
20030123853 Iwahara et al. Jul 2003 A1
20030126211 Anttila et al. Jul 2003 A1
20030135822 Evans Jul 2003 A1
20030157951 Hasty Aug 2003 A1
20030167335 Alexander Sep 2003 A1
20030172123 Polan et al. Sep 2003 A1
20030179780 Walker et al. Sep 2003 A1
20030182254 Plastina Sep 2003 A1
20030185400 Yoshizawa et al. Oct 2003 A1
20030187657 Erhart et al. Oct 2003 A1
20030195964 Mane Oct 2003 A1
20030198254 Sullivan et al. Oct 2003 A1
20030198255 Sullivan et al. Oct 2003 A1
20030198257 Sullivan et al. Oct 2003 A1
20030200001 Goddard Oct 2003 A1
20030204273 Dinker et al. Oct 2003 A1
20030204509 Dinker et al. Oct 2003 A1
20030210347 Kondo Nov 2003 A1
20030210796 McCarty et al. Nov 2003 A1
20030212802 Rector et al. Nov 2003 A1
20030219007 Barrack et al. Nov 2003 A1
20030227478 Chatfield Dec 2003 A1
20030229900 Reisman Dec 2003 A1
20030231208 Hanon et al. Dec 2003 A1
20030231871 Ushimaru Dec 2003 A1
20030235304 Evans et al. Dec 2003 A1
20040001106 Deutscher et al. Jan 2004 A1
20040001484 Ozguner Jan 2004 A1
20040001591 Mani et al. Jan 2004 A1
20040002938 Deguchi Jan 2004 A1
20040008852 Also et al. Jan 2004 A1
20040010727 Fujinami Jan 2004 A1
20040012620 Buhler et al. Jan 2004 A1
20040014426 Moore Jan 2004 A1
20040015252 Aiso et al. Jan 2004 A1
20040019497 Volk et al. Jan 2004 A1
20040019807 Freund et al. Jan 2004 A1
20040019911 Gates et al. Jan 2004 A1
20040023697 Komura Feb 2004 A1
20040024478 Hans et al. Feb 2004 A1
20040024925 Cypher et al. Feb 2004 A1
20040027166 Mangum et al. Feb 2004 A1
20040032348 Lai et al. Feb 2004 A1
20040032421 Williamson et al. Feb 2004 A1
20040032922 Knapp et al. Feb 2004 A1
20040037433 Chen Feb 2004 A1
20040041836 Zaner et al. Mar 2004 A1
20040042629 Mellone et al. Mar 2004 A1
20040044742 Evron et al. Mar 2004 A1
20040048569 Kawamura Mar 2004 A1
20040059842 Hanson et al. Mar 2004 A1
20040059965 Marshall et al. Mar 2004 A1
20040066736 Kroeger Apr 2004 A1
20040075767 Neuman et al. Apr 2004 A1
20040078383 Mercer Apr 2004 A1
20040080671 Siemens et al. Apr 2004 A1
20040093096 Huang et al. May 2004 A1
20040098754 Vella et al. May 2004 A1
20040111473 Lysenko et al. Jun 2004 A1
20040117462 Bodin et al. Jun 2004 A1
20040117491 Karaoguz et al. Jun 2004 A1
20040117840 Boudreau et al. Jun 2004 A1
20040117858 Boudreau et al. Jun 2004 A1
20040128701 Kaneko et al. Jul 2004 A1
20040131192 Metcalf Jul 2004 A1
20040133689 Vasisht Jul 2004 A1
20040143368 May et al. Jul 2004 A1
20040143675 Aust Jul 2004 A1
20040143852 Meyers Jul 2004 A1
20040148237 Bittmann et al. Jul 2004 A1
20040168081 Ladas et al. Aug 2004 A1
20040170383 Mazur Sep 2004 A1
20040171346 Lin Sep 2004 A1
20040177167 Iwamura et al. Sep 2004 A1
20040179554 Tsao Sep 2004 A1
20040183827 Putterman et al. Sep 2004 A1
20040185773 Gerber et al. Sep 2004 A1
20040189363 Takano Sep 2004 A1
20040203378 Powers Oct 2004 A1
20040203590 Shteyn Oct 2004 A1
20040208158 Fellman et al. Oct 2004 A1
20040213230 Douskalis et al. Oct 2004 A1
20040223622 Lindemann et al. Nov 2004 A1
20040224638 Fadell et al. Nov 2004 A1
20040228367 Mosig et al. Nov 2004 A1
20040248601 Chang Dec 2004 A1
20040249490 Sakai Dec 2004 A1
20040249965 Huggins et al. Dec 2004 A1
20040249982 Arnold et al. Dec 2004 A1
20040252400 Blank et al. Dec 2004 A1
20040253969 Nguyen et al. Dec 2004 A1
20050010691 Oyadomari et al. Jan 2005 A1
20050011388 Kouznetsov Jan 2005 A1
20050013394 Rausch et al. Jan 2005 A1
20050015551 Eames et al. Jan 2005 A1
20050021590 Debique et al. Jan 2005 A1
20050027821 Alexander et al. Feb 2005 A1
20050047605 Lee et al. Mar 2005 A1
20050058149 Howe Mar 2005 A1
20050060435 Xue et al. Mar 2005 A1
20050062637 El Zabadani et al. Mar 2005 A1
20050081213 Suzuoki et al. Apr 2005 A1
20050102699 Kim et al. May 2005 A1
20050105052 McCormick et al. May 2005 A1
20050114538 Rose May 2005 A1
20050120128 Willes et al. Jun 2005 A1
20050125222 Brown et al. Jun 2005 A1
20050125357 Saadat et al. Jun 2005 A1
20050131558 Braithwaite et al. Jun 2005 A1
20050154766 Huang et al. Jul 2005 A1
20050159833 Giaimo et al. Jul 2005 A1
20050160270 Goldberg et al. Jul 2005 A1
20050166135 Burke et al. Jul 2005 A1
20050168630 Yamada et al. Aug 2005 A1
20050170781 Jacobsen et al. Aug 2005 A1
20050177643 Xu Aug 2005 A1
20050181348 Carey et al. Aug 2005 A1
20050195205 Abrams Sep 2005 A1
20050195823 Chen et al. Sep 2005 A1
20050197725 Alexander et al. Sep 2005 A1
20050198574 Lamkin et al. Sep 2005 A1
20050201549 Dedieu et al. Sep 2005 A1
20050215265 Sharma Sep 2005 A1
20050216556 Manion et al. Sep 2005 A1
20050239445 Karaoguz et al. Oct 2005 A1
20050246421 Moore et al. Nov 2005 A1
20050262217 Nonaka et al. Nov 2005 A1
20050281255 Davies et al. Dec 2005 A1
20050283820 Richards et al. Dec 2005 A1
20050288805 Moore et al. Dec 2005 A1
20050289224 Deslippe et al. Dec 2005 A1
20060041639 Lamkin et al. Feb 2006 A1
20060049966 Ozawa et al. Mar 2006 A1
20060072489 Toyoshima Apr 2006 A1
20060095516 Wijeratne May 2006 A1
20060098936 Ikeda et al. May 2006 A1
20060119497 Miller et al. Jun 2006 A1
20060142034 Wentink et al. Jun 2006 A1
20060143236 Wu Jun 2006 A1
20060155721 Grunwald et al. Jul 2006 A1
20060161742 Sugimoto et al. Jul 2006 A1
20060173844 Zhang et al. Aug 2006 A1
20060173976 Vincent et al. Aug 2006 A1
20060193454 Abou-Chakra et al. Aug 2006 A1
20060215741 Chin Sep 2006 A1
20060222186 Paige et al. Oct 2006 A1
20060227985 Kawanami Oct 2006 A1
20060259649 Hsieh et al. Nov 2006 A1
20060270395 Dhawan et al. Nov 2006 A1
20070003067 Gierl et al. Jan 2007 A1
20070022207 Millington et al. Jan 2007 A1
20070038999 Millington et al. Feb 2007 A1
20070043847 Carter et al. Feb 2007 A1
20070047712 Gross et al. Mar 2007 A1
20070048713 Plastina et al. Mar 2007 A1
20070054680 Mo et al. Mar 2007 A1
20070087686 Holm et al. Apr 2007 A1
20070142022 Madonna et al. Jun 2007 A1
20070142944 Goldberg et al. Jun 2007 A1
20070143493 Mullig et al. Jun 2007 A1
20070169115 Ko et al. Jul 2007 A1
20070180137 Rajapakse Aug 2007 A1
20070192156 Gauger Aug 2007 A1
20070249295 Ukita et al. Oct 2007 A1
20070265031 Koizumi et al. Nov 2007 A1
20070271388 Bowra et al. Nov 2007 A1
20070299778 Haveson et al. Dec 2007 A1
20080002836 Moeller et al. Jan 2008 A1
20080007649 Bennett Jan 2008 A1
20080007650 Bennett Jan 2008 A1
20080007651 Bennett Jan 2008 A1
20080018785 Bennett Jan 2008 A1
20080022320 Ver Steeg Jan 2008 A1
20080025535 Rajapakse Jan 2008 A1
20080060084 Gappa et al. Mar 2008 A1
20080072816 Riess et al. Mar 2008 A1
20080075295 Mayman et al. Mar 2008 A1
20080077619 Gilley et al. Mar 2008 A1
20080077620 Gilley et al. Mar 2008 A1
20080086318 Gilley et al. Apr 2008 A1
20080091771 Allen et al. Apr 2008 A1
20080120429 Millington et al. May 2008 A1
20080126943 Parasnis et al. May 2008 A1
20080144861 Melanson et al. Jun 2008 A1
20080144864 Huon Jun 2008 A1
20080146289 Korneluk et al. Jun 2008 A1
20080189272 Powers et al. Aug 2008 A1
20080205070 Osada Aug 2008 A1
20080212729 Shaanan Sep 2008 A1
20080212786 Park Sep 2008 A1
20080215169 Debettencourt et al. Sep 2008 A1
20080263010 Roychoudhuri et al. Oct 2008 A1
20080303947 Ohnishi et al. Dec 2008 A1
20090011798 Yamada Jan 2009 A1
20090017868 Ueda et al. Jan 2009 A1
20090031336 Chavez et al. Jan 2009 A1
20090062947 Lydon et al. Mar 2009 A1
20090070434 Himmelstein Mar 2009 A1
20090077610 White et al. Mar 2009 A1
20090089327 Kalaboukis et al. Apr 2009 A1
20090100189 Bahren et al. Apr 2009 A1
20090124289 Nishida May 2009 A1
20090157905 Davis Jun 2009 A1
20090164655 Pettersson et al. Jun 2009 A1
20090193345 Wensley et al. Jul 2009 A1
20090222115 Malcolm et al. Sep 2009 A1
20090222392 Martin et al. Sep 2009 A1
20090228919 Zott et al. Sep 2009 A1
20090251604 Iyer Oct 2009 A1
20100004983 Dickerson et al. Jan 2010 A1
20100031366 Knight et al. Feb 2010 A1
20100049835 Ko et al. Feb 2010 A1
20100087089 Struthers et al. Apr 2010 A1
20100228740 Cannistraro et al. Sep 2010 A1
20100284389 Ramsay et al. Nov 2010 A1
20100299639 Ramsay et al. Nov 2010 A1
20110001632 Hohorst Jan 2011 A1
20110002487 Panther et al. Jan 2011 A1
20110066943 Brillon et al. Mar 2011 A1
20110228944 Croghan et al. Sep 2011 A1
20110316768 McRae Dec 2011 A1
20120029671 Millington et al. Feb 2012 A1
20120030366 Collart et al. Feb 2012 A1
20120051567 Castor-Perry Mar 2012 A1
20120060046 Millington Mar 2012 A1
20120129446 Ko et al. May 2012 A1
20120148075 Goh et al. Jun 2012 A1
20120185771 Rothkopf et al. Jul 2012 A1
20120192071 Millington Jul 2012 A1
20120207290 Moyers et al. Aug 2012 A1
20120237054 Eo et al. Sep 2012 A1
20120281058 Laney et al. Nov 2012 A1
20120290621 Heitz, III et al. Nov 2012 A1
20130013757 Millington et al. Jan 2013 A1
20130018960 Knysz et al. Jan 2013 A1
20130022221 Kallai et al. Jan 2013 A1
20130031475 Maor et al. Jan 2013 A1
20130038726 Kim Feb 2013 A1
20130041954 Kim et al. Feb 2013 A1
20130047084 Sanders et al. Feb 2013 A1
20130052940 Brillhart et al. Feb 2013 A1
20130070093 Rivera et al. Mar 2013 A1
20130080599 Ko et al. Mar 2013 A1
20130094670 Millington Apr 2013 A1
20130124664 Fonseca, Jr. et al. May 2013 A1
20130129122 Johnson et al. May 2013 A1
20130132837 Mead et al. May 2013 A1
20130159126 Elkady Jun 2013 A1
20130167029 Friesen et al. Jun 2013 A1
20130174100 Seymour et al. Jul 2013 A1
20130174223 Dykeman et al. Jul 2013 A1
20130179163 Herbig et al. Jul 2013 A1
20130191454 Oliver et al. Jul 2013 A1
20130197682 Millington Aug 2013 A1
20130208911 Millington Aug 2013 A1
20130208921 Millington Aug 2013 A1
20130226323 Millington Aug 2013 A1
20130230175 Bech et al. Sep 2013 A1
20130232416 Millington Sep 2013 A1
20130253934 Parekh et al. Sep 2013 A1
20130279706 Marti Oct 2013 A1
20130287186 Quady Oct 2013 A1
20130290504 Quady Oct 2013 A1
20140006483 Garmark et al. Jan 2014 A1
20140037097 Labosco Feb 2014 A1
20140064501 Olsen et al. Mar 2014 A1
20140075308 Sanders et al. Mar 2014 A1
20140075311 Boettcher et al. Mar 2014 A1
20140079242 Nguyen et al. Mar 2014 A1
20140108929 Garmark et al. Apr 2014 A1
20140123005 Forstall et al. May 2014 A1
20140140530 Gomes-Casseres et al. May 2014 A1
20140161265 Chaikin et al. Jun 2014 A1
20140181569 Millington et al. Jun 2014 A1
20140233755 Kim et al. Aug 2014 A1
20140242913 Pang Aug 2014 A1
20140256260 Ueda et al. Sep 2014 A1
20140267148 Luna et al. Sep 2014 A1
20140270202 Ivanov et al. Sep 2014 A1
20140273859 Luna et al. Sep 2014 A1
20140279889 Luna Sep 2014 A1
20140285313 Luna et al. Sep 2014 A1
20140286496 Luna et al. Sep 2014 A1
20140298174 Ikonomov Oct 2014 A1
20140323036 Daley et al. Oct 2014 A1
20140344689 Scott et al. Nov 2014 A1
20140378056 Liu Dec 2014 A1
20150019670 Redmann Jan 2015 A1
20150026613 Kwon et al. Jan 2015 A1
20150032844 Tarr et al. Jan 2015 A1
20150043736 Olsen et al. Feb 2015 A1
20150049248 Wang et al. Feb 2015 A1
20150074527 Sevigny et al. Mar 2015 A1
20150074528 Sakalowsky et al. Mar 2015 A1
20150098576 Sundaresan et al. Apr 2015 A1
20150139210 Marin et al. May 2015 A1
20150256954 Carlsson et al. Sep 2015 A1
20150304288 Balasaygun et al. Oct 2015 A1
20150365987 Weel Dec 2015 A1
Foreign Referenced Citations (79)
Number Date Country
2320451 Sep 2000 CA
2320451 Mar 2001 CA
1598767 Sep 2004 CN
1598767 Mar 2005 CN
101292500 Oct 2008 CN
0251584 Jan 1988 EP
0672985 Sep 1995 EP
0742674 May 1996 EP
0772374 May 1997 EP
1111527 Jun 2001 EP
1122931 Aug 2001 EP
1312188 Aug 2001 EP
1410686 Feb 2002 EP
1312188 May 2003 EP
1416687 Oct 2003 EP
1389853 Feb 2004 EP
2713281 Apr 2004 EP
1517464 Aug 2004 EP
1517464 Mar 2005 EP
0895427 Jan 2006 EP
1416687 Aug 2006 EP
1410686 Mar 2008 EP
2043381 Apr 2009 EP
2161950 Mar 2010 EP
0742674 Apr 2014 EP
2591617 Jun 2014 EP
2284327 May 1995 GB
2338374 Dec 1999 GB
2379533 Jun 2002 GB
2379533 Mar 2003 GB
2486183 Jun 2012 GB
63269633 Apr 1987 JP
63269633 Nov 1988 JP
07-210129 Aug 1995 JP
2000149391 Nov 1998 JP
2000149391 May 2000 JP
2001034951 Feb 2001 JP
2002111817 Apr 2002 JP
2002123267 Apr 2002 JP
2002141915 May 2002 JP
2002358241 Dec 2002 JP
2003037585 Feb 2003 JP
2003506765 Feb 2003 JP
2003101958 Apr 2003 JP
2003169089 Jun 2003 JP
2005108427 Apr 2005 JP
2005136457 May 2005 JP
2007241652 Sep 2007 JP
2009506603 Feb 2009 JP
2009075540 Apr 2009 JP
2009135750 Jun 2009 JP
2009535708 Oct 2009 JP
2009538006 Oct 2009 JP
2011130496 Jun 2011 JP
439027 Jul 1998 TW
439027 Jun 2001 TW
9525313 Sep 1995 WO
WO1999023560 Nov 1998 WO
1999023560 May 1999 WO
WO0019693 Sep 1999 WO
9961985 Dec 1999 WO
0019693 Apr 2000 WO
0110125 Feb 2001 WO
0153994 Jul 2001 WO
02073851 Sep 2002 WO
03093950 Nov 2003 WO
2003093950 Nov 2003 WO
2005013047 Feb 2005 WO
2007023120 Mar 2007 WO
WO2007135581 May 2007 WO
2007127485 Nov 2007 WO
2007131555 Nov 2007 WO
2007135581 Nov 2007 WO
WO2008082350 Dec 2007 WO
2008082350 Jul 2008 WO
2008114389 Sep 2008 WO
2012050927 Apr 2012 WO
2014004182 Jan 2014 WO
2014149533 Sep 2014 WO
Non-Patent Literature Citations (615)
Entry
Advisory Action dated Mar. 8, 2017, issued in connection with U.S. Appl. No. 13/871,795, filed Apr. 26, 2013, 22 pages.
Implicit, LLC v. Sonos, Inc. (No. 14/1330-RGA), Defendant's Original Complaint (Mar. 3, 2017) (15 pages).
Notice of Allowance dated Apr. 3, 2016, issued in connection with U.S. Appl. No. 15/088,678, filed Apr. 1, 2016, 8 pages.
Sonos, Inc. v. D&M Holdings, Inc. (No. 14-1330-RGA), Defendants' Final Invalidity Contentions (Jan. 18, 2017) (106 pages).
Notice of Allowance dated Mar. 9, 2017, issued in connection with U.S. Appl. No. 15/080,591, filed Mar. 25, 2016, 7 pages.
Notice of Allowance dated Feb. 10, 2017, issued in connection with U.S. Appl. No. 14/290,493, filed May 29, 2014, 13 pages.
Notice of Allowance dated Mar. 15, 2017, issued in connection with U.S. Appl. No. 15/080,716, filed Mar. 25, 2016, 7 pages.
Notice of Allowance dated Mar. 30, 2017, issued in connection with U.S. Appl. No. 15/088,532, filed Apr. 1, 2017, 7 pages.
Rothermel et al., “Clock Hierarchies—An Abstraction for Grouping and Controlling Media Streams,” University of Stuttgart Institute of Parallel and Distributed High-Performance Systems, Jan. 1996, 23 pages.
Rothermel, Kurt, “State-of-the-Art and Future Research in Stream Synchronization,” University of Stuttgart, 3 pages.
Sonos, Inc. v D&M Holdings, D&M Supp Opposition Brief including Exhibits, Mar. 17, 2017, 23 pages.
Sonos, Inc. v. D&M Holdings, Expert Report of Jay P. Kesan including Appendices A-P, Feb. 20, 2017, 776 pages.
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), DI 226, Opinion Denying Inequitable Conduct Defenses, Feb. 6, 2017, updated, 5 pages.
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), DI 242, US District Judge Andrews 101 Opinion, Mar. 13, 2017, 16 pages.
Sonos, Inc. v D&M Holdings, Sonos Supp Opening Markman Brief including Exhibits, Mar. 3, 2017, 17 pages.
Sonos, Inc. v. D&M Holdings, Sonos Supp Reply Markman Brief including Exhibits, Mar. 29, 2017, 36 pages.
Advisory Action dated Feb. 2, 2016, issued in connection with U.S. Appl. No. 13/848,921, filed Mar. 22, 2013, 8 pages.
Advisory Action dated Feb. 1, 2016, issued in connection with U.S. Appl. No. 13/864,247, filed Apr. 17, 2013, 6 pages.
Final Office Action dated Nov. 30, 2015, issued in connection with U.S. Appl. No. 13/871,795, filed Apr. 26, 2013, 26 pages.
Non-Final Office Action dated Jan. 13, 2016, issued in connection with U.S. Appl. No. 14/184,528, filed Feb. 19, 2014, 14 pages.
Non-Final Office Action dated Dec. 28, 2015, issued in connection with U.S. Appl. No. 14/290,493, filed May 29, 2014, 29 pages.
Notice of Allowance dated Jan. 11, 2016, issued in connection with U.S. Appl. No. 14/565,544, filed Dec. 9, 2014, 5 pages.
“International Bureau,“Search Report” issued in connection with International Patent application No. PCT/US2013/046372, dated Aug. 26, 2013, 3 pages.”
“International Bureau,“Written opinion” issued in connection with International Patent application No. PCT/US2013/046372, dated Aug. 26, 2013, 4 pages.”
“International Search Report, issued by the International Searching Authority in connection with PCT Application No. PCT/US2013/046386, dated Sep. 30, 2013, 3 pages.”
M. Nilsson., “ID3 Tag Version 2”, Mar. 26, 1998, 28 Pages.
“Non-final Office Action in connection with U.S. Appl. No. 13/619,237, dated Apr. 10, 2013”, United States Patent and Trademark Office, 10 pages.
“Non-Final Office Action dated Nov. 25, 2013 for U.S. Appl. No. 13/533,105, filed Jun. 26, 2012.”
“Notice of Allowability in U.S. Appl. No. 13/619,237”, dated Sep. 6, 2013, 4 pages.
“Polycom Conference Composer manual: copyright 2001”.
“Written Opinion of the International Searching Authority. issued by the International Searching Authority in connection with PCT Application No. PCT/US2013/046386, dated Sep. 30, 2013, 6 pages.”
“Yamaha DME 32 manual: copyright 2001”.
“Corrected Notice of Allowance dated Aug. 19, 2015, issued in connection with U.S. Appl. No. 13/907,666, filed May 31, 2013, 2 pages.”
“Notice of Allowance dated Sep. 21, 2015, issued in connection with U.S. Appl. No. 13/297,000, filed Nov. 15, 2011, 11 pages.”
“Notice of Allowance dated Sep. 22, 2015, issued in connection with U.S. Appl. No. 13/888,203, filed May 6, 2013, 7 pages.”
“Notice of Allowance dated Sep. 24, 2015, issued in connection with U.S. Appl. No. 13/705,174, filed Dec. 5, 2012, 7 pages.”
“Notice of Allowance dated Sep. 24, 2015, issued in connection with U.S. Appl. No. 14/184,935, filed Feb. 20, 2014, 7 pages”.
“Notice of Allowance dated Aug. 27, 2015, issued in connection with U.S. Appl. No. 13/705,177, filed Dec. 5, 2012, 34 pages.”
“Notice of Allowance dated Aug. 27, 2015, issued in connection with U.S. Appl. No. 14/505,027, filed Oct. 2, 2014, 18 pages.”
“Notice of Allowance dated Sep. 3, 2015, issued in connection with U.S. Appl. No. 13/705,174, filed Dec. 5, 2012, 4 pages.”
“Notice of Rejection dated Sep. 15, 2015 in connection with Japanese Patent Application No. 2014-220704, 7 pages”.
“Final Office Action dated Jun. 5, 2014 for U.S. Appl. No. 13/907,666, filed May 31, 2013”.
“Non-Final Office Action dated Jan. 5, 2012 for U.S. Appl. No. 13/298,090, filed Nov. 16, 2011, 40 pages”.
“Non-Final Office Action dated Jun. 17, 2014 for U.S. Appl. No. 14/176,808, filed Feb. 10, 2014”.
“Non-Final Office Action dated Dec. 18, 2013 for U.S. Appl. No. 13/907,666, filed May 31, 2013”.
“Non-Final Office Action dated May 27, 2014 for U.S. Appl. No. 14/186,850, filed Feb. 21, 2014”.
“Yamaha DME Designer software manual: Copyright 2004”, p. 1-250.
“Yamaha DME Designer software manual: Copyright 2004”, p. 251-482.
“Advisory Action dated Nov. 12, 2014, issued in connection with U.S. Appl. No. 13/907,666, filed May 31, 2013, 6 pages”.
“Advisory Action dated Nov. 26, 2014, issued in connection with U.S. Appl. No. 14/186,850, filed Feb. 21, 2014, 9 pages”.
“Advisory Action dated Jan. 8, 2015, issued in connection with U.S. Appl. No. 13/705,176, filed Dec. 5, 2012, 4 pages”.
“Crown PIP Manual available for sale at least 2004, 68 pages”.
“Final Office Action dated Dec. 17, 2014, issued in connection with U.S. Appl. No. 13/533,105, filed Jun. 26, 2012, 36 pages”.
“Final Office Action dated Dec. 3, 2014, issued in connection with U.S. Appl. No. 14/184,528, filed Feb. 19, 2014, 12 pages”.
“Non-Final Office Action dated Dec. 1, 2014, issued in connection with U.S. Appl. No. 14/516,867, filed Oct. 17, 2014, 11 pages”.
“Non-Final Office Action dated Nov. 17, 2014, issued in connection with U.S. Appl. No. 13/864,247, filed Apr. 17, 2013, 11 pages”.
“Non-Final Office Action dated Nov. 18, 2014, issued in connection with U.S. Appl. No. 13/435,739, filed Mar. 30, 2012, 10 pages”.
“Non-Final Office Action dated Nov. 19, 2014, issued in connection with U.S. Appl. No. 13/848,921, filed Mar. 22, 2013, 9 pages”.
“Renkus Heinz Manual; available for sale at least 2004, 6 pages”.
“Advisory Action dated Feb. 26, 2015, issued in connection with U.S. Appl. No. 14/184,528, filed Feb. 19, 2014, 3 pages.”.
“Final Office Action dated Feb. 11, 2015, issued in connection with U.S. Appl. No. 14/184,526, filed Feb. 19, 2014, 13 pages”.
“Final Office Action dated Feb. 11, 2015, issued in connection with U.S. Appl. No. 14/184,935, filed Feb. 20, 2014, 17 pages”.
“Final Office Action dated Feb. 12, 2015, issued in connection with U.S. Appl. No. 14/184,522, filed Feb. 19, 2014, 20 pages”.
“International Bureau,“International Preliminary Report on Patentability” issued in connection with International Patent application No. PCT/US2013/046372, dated Dec. 31, 2014, 5 pages.”.
“International Preliminary Report on Patentability and Written Opinion, issued by the International Searching Authority in connection with International Patent Application No. PCT/US2013/046386, dated Jan. 8, 2015, 8 pages”.
“Non-Final Office Action dated Feb. 26, 2015, issued in connection with U.S. Appl. No. 14/186,850, filed Feb. 21, 2014, 25 pages.”.
“Non-Final Office Action dated Jan. 30, 2015, issued in connection with U.S. Appl. No. 14/504,812, filed Oct. 2, 2014, 13 pages”.
“Non-Final Office Action dated Jan. 30, 2015, issued in connection with U.S. Appl. No. 14/290,493, filed May 29, 2014, 29 pages.”.
Final Office Action dated Mar. 3, 2015, issued in connection with U.S. Appl. No. 13/864,251, filed Apr. 17, 2013, 13 pages.
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), DI 206-1, Transcript of 101 Hearing (Nov. 28, 2016) (28 pages).
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), DI 207, Public Joint Claim Construction Brief (Nov. 30, 2016) (88 pages).
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), Markman Hearing Transcript (Dec. 14, 2016) (69 pages).
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), DI 214, D&M Post-Markman Letter (Dec. 22, 2016) (13 pages).
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), DI 215, Sonos Post-Markman Letter (Dec. 22, 2016) (15 pages).
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), DI 219, Claim Construction Opinion (Jan. 12, 2017) (24 pages).
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), DI 221, Claim Construction Order (Jan. 18, 2017) (2 pages).
Universal Plug and Play (“UPnP”) AV Architecture:1 for UPnP, Version 1.0, (Jun. 25, 2002) (D+M_0298151-72) (22 pages).
UPnP AV Architecture:0.83 (Jun. 12, 2002) (SONDM000115483-504) (22 pages).
RenderingControl:1 Service Template Version 1.01 for UPnP, Version 1.0, (Jun. 25, 2002) (SONDM000115187-249) (63 pages).
MediaServer:1 Device Template Version 1.01 for UPnP, Version 1.0 (Jun. 25, 2002) (12 pages).
Universal Plug and Play Device Architecture V. 1.0, (Jun. 8, 2000) (54 pages).
MediaRenderer:1 Device Template Version 1.01 for UPnP, Version 1.0 (Jun. 25, 2002) (12 pages).
AVTransport:1 Service Template Version 1.01 for UPnP, Version 1.0 (Jun. 25, 2002) (66 pages).
Connection Manager: 1 Service Template Version 1.01 for UPnP, Version 1.0 (Jun. 25, 2002) (25 pages).
ContentDirectory:1 Service Template Version 1.01 for UPnP, Version 1.0 (Jun. 25, 2002) (89 pages).
WANCommonInterfaceConfig:1 Service Template Version 1.01 for UPnP, Ver. 1.0 (Nov. 12, 2001) (D+M_0401820-43) (24 pages).
WANIPConnection:1 Service Template Version 1.01 for UPnP Ver. 1.0 (Nov. 12, 2001) (D+M_0401844-917) (74 pages).
WANPPPConnection:1 Service Template Version 1.01 for UPnP, Version 1.0 (Nov. 12, 2001) (D+M_0401918-2006) (89 pages).
Intel Media Renderer Device Interface (“Intel Media Renderer”) (Sep. 6, 2002) (62 pages).
Intel Designing a UPnP AV Media Renderer, v. 1.0 (“Intel AV Media Renderer”) (May 20, 2003) (SONDM000115117-62) (46 pages).
Windows Media Connect Device Compatibility Specification (Apr. 12, 2004) (16 pages).
Universal Plug and Play Vendor's Implementation Guide (Jan. 5, 2000) (7 pages).
Intel SDK for UPnP Devices Programming Guide, Version 1.2.1, (Nov. 2002) (30 pages).
Linux SDK for UPnP Devices v. 1.2 (Sep. 6, 2002) (101 pages).
Designing a UPnP AV MediaServer, Nelson Kidd (2003) (SONDM000115062-116) (55 pages).
Simple Service Discovery Protocol/1.0 Operating without an Arbiter (Oct. 28, 1999) (24 pages).
General Event Notification Architecture Base: Client to Arbiter (Apr. 2000) (23 pages).
Microsoft, Universal Plug and Play (UPnP) Client Support (“Microsoft UPnP”) (Aug. 2001) (D+M_0402007-24) (18 pages).
Home Networking with Universal Plug and Play, IEEE Communications Magazine, vol. 39 No. 12 (Dec. 2001) (D+M_0402025-40) (16 pages).
Universal Plug and Play in Windows XP, Tom Fout. Microsoft Corporation (Jul. 2001) (D+M_0402041-73) (33 pages).
Understanding Universal Plug and Play, Microsoft White Paper (Jun. 2000) (D+M_0402074-118) (45 pages).
Microsoft Window's XP Reviewer's Guide (Aug. 2001) (D+M_0402225-85) (61 pages).
Simple Network Time Protocol (SNTPI), RFC 1361 (Aug. 1992) (D+M_0397537-46) (10 pages).
Simple Network Time Protocol (SNTPII), RFC 1769 (Mar. 1995) (D+M_0397663-76) (14 pages).
Realtime Transport Protocol (RTP), RFC 3550 (Jul. 2003) (D+M_0398235-323) (89 pages).
Real Time Control Protocol (RTCP) and Realtime Transfer Protocol (RTP), RFC 1889 (Jan. 1996) (D+M_0397810-84) (75 pages).
Realtime Streaming Protocol (RTSP), RFC 2326 (Apr. 1998) (D+M_0397945-8036) (92 pages).
Network Time Protocol (NTP), RFC 1305 (Mar. 1992) (D+M_0397417-536) (120 pages).
UPnP Design by Example, A Software Developers Guide to Universal Plug and Play Michael Jeronimo and Jack Weast, Intel Press (D+M_0401307-818) (Apr. 2003) (511 pages).
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), DI 226, Opinion Denying Inequitable Conduct Defenses (Feb. 6, 2017) (5 pages).
Sonos, Inc. v. D&M Holdings (No. 14-1330-RGA), DI 227, Order Denying Inequitable Conduct Defenses (Feb. 6, 2017) (1 page).
Sonos, Inc. v. D&M Holdings Inc. et al., Defendants' Opposition to Sonos's Motion to Strike Defendants' New Amended Answer Submitted with their Reply, provided Oct. 3, 2016, 15 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Exhibit A: Defendants' First Amended Answer to Plaintiffs' Third Amended Complaint, provided Aug. 1, 2016, 26 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Exhibit A: Defendants' Second Amended Answer to Plaintiffs' Third Amended Complaint, provided Oct. 12, 2016, 43 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Exhibit A: Defendants' Second Amended Answer to Plaintiffs' Third Amended Complaint, provided Sep. 9, 2016, 88 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Exhibit B: Defendants' Second Amended Answer to Plaintiffs' Third Amended Complaint, provided Oct. 12, 2016, 43 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Opening Brief in Support of Defendants' Motion for Leave to Amend Their Answer to Add the Defense of Inequitable Conduct, provided Aug. 1, 2016, 11 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Order, provided Oct. 7, 2016, 2 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Plaintiff's Opposition to Defendants' Motion for Leave to Amend Their Answer to Add the Defense of Inequitable Conduct, provided Aug. 26, 2016, 25 pages.
Advisory Action dated Dec. 28, 2016, issued in connection with U.S. Appl. No. 13/705,176, filed Dec. 5, 2012, 4 pages.
Chinese Office Action, Office Action dated Dec. 20, 2016, issued in connection with Chinese Application No. 201380044446.8, 16 pages.
Dhir, Amit, “Wireless Home Networks—DECT, Bluetooth, Home RF, and Wirelss LANs,” XILINX, wp135 (v1.0), Mar. 21, 2001, 18 pages.
European Patent Office, Office Action dated Nov. 25, 2016, issued in connection with EP Application No. 13810340.3, 5 pages.
Final Office Action dated Jan. 12, 2017, issued in connection with U.S. Appl. No. 14/504,812, filed Oct. 2, 2014, 25 pages.
Final Office Action dated Dec. 13, 2016, issued in connection with U.S. Appl. No. 13/871,795, filed Apr. 26, 2013, 41 pages.
Fout, Tom, “Universal Plug and Play (UPnP) Client Support,” Microsoft, Aug. 2001, 18 pages.
Japanese Patent Office, Final Office Action dated Nov. 8, 2016, issued in connection with Japanese Patent Application No. 2015-520286, 5 pages.
Japanese Patent Office, Office Action dated Nov. 22, 2016, issued in connection with Japanese Application No. 2015-520288, 6 pages.
Japanese Patent Office, Office Action dated Nov. 29, 2016, issued in connection with Japanese Application No. 2015-516169, 4 pages.
Kou et al., “RenderingControl:1 Service Template Verion 1.01,” Contributing Members of the UPnP Forum, Jun. 25, 2002, 63 pages.
“Linux SDK for UPnP Devices vl.2,” Intel Corporation, Jan. 17, 2003, 102 pages.
Non-Final Office Action dated Jan. 3, 2017, issued in connection with U.S. Appl. No. 14/808,875, filed Jul. 24, 2015, 10 pages.
Non-Final Office Action dated Nov. 10, 2016, issued in connection with U.S. Appl. No. 15/243,355, filed Aug. 22, 2016, 11 pages.
Non-Final Office Action dated Jan. 12, 2017, issued in connection with U.S. Appl. No. 13/895,076, filed May 15, 2013, 10 pages.
Non-Final Office Action dated Nov. 16, 2016, issued in connection with U.S. Appl. No. 15/228,639, filed Aug. 4, 2016, 15 pages.
Non-Final Office Action dated Nov. 29, 2016, issued in connection with U.S. Appl. No. 13/894,179, filed May 14, 2013, 14 pages.
Non-Final Office Action dated Nov. 30, 2016, issued in connection with U.S. Appl. No. 15/243,186, filed Aug. 22, 2016, 12 pages.
Notice of Allowance dated Dec. 1, 2016, issued in connection with U.S. Appl. No. 15/088,283, filed Aug. 1, 2016, 9 pages.
Notice of Allowance dated Dec. 2, 2016, issued in connection with U.S. Appl. No. 15/088,532, filed Apr. 1, 2016, 9 pages.
Notice of Allowance dated Dec. 2, 2016, issued in connection with U.S. Appl. No. 15/088,678, filed Apr. 1, 2016, 9 pages.
Notice of Allowance dated Dec. 2, 2016, issued in connection with U.S. Appl. No. 15/089,758, filed Apr. 4, 2016, 9 pages.
Notice of Allowance dated Dec. 2, 2016, issued in connection with U.S. Appl. No. 15/155,149, filed May 16, 2016, 9 pages.
Notice of Allowance dated Dec. 7, 2016, issued in connection with U.S. Appl. No. 15/156,392, filed May 17, 2016, 9 pages.
Notice of Allowance dated Dec. 13, 2016, issued in connection with U.S. Appl. No. 15/080,591, filed Mar. 25, 2016, 9 pages.
Notice of Allowance dated Dec. 14, 2016, issued in connection with U.S. Appl. No. 15/088,906, filed Apr. 1, 2016, 9 pages.
Notice of Allowance dated Dec. 22, 2016, issued in connection with U.S. Appl. No. 15/080,716, filed Mar. 25, 2016, 9 pages.
Pascoe, Bob, “Salutation Architectures and the newly defined service discovery protocols from Microsoft® and Sun®,” Salutation Consortium, White Paper, Jun. 6, 1999, 5 pages.
Ritchie et al., “MediaServer:1 Device Template Version 1.01,” Contributing Members of the UPnP Forum, Jun. 25, 2002, 12 pages.
Ritchie et al., “UPnP AV Architecture:1, Version 1.0,” Contributing Members of the UPnP Forum, Jun. 25, 2002, 22 pages.
Ritchie, John, “MediaRenderer:1 Device Template Version 1.01,” Contributing Members of the UPnP Forum, Jun. 25, 2002, 12 pages.
Schulzrinne et al., “RTP: A Transport Protocol for Real-Time Applications,” Network Working Group, Jan. 1996, pp. 1-75.
United States Patent and Trademark Office, U.S. Appl. No. 60/490,768, filed Jul. 28, 2003, entitled “Method for synchronizing audio playback between multiple networked devices,” 13 pages.
United States Patent and Trademark Office, U.S. Appl. No. 60/825,407, filed Sep. 12, 2003, entitled “Controlling and manipulating groupings in a multi-zone music or media system,” 82 pages.
“UPnP and Sonos Questions,” Sonos Community, Dec. 2006, 5 pages.
Yamaha DME 64 Owner's Manual; copyright 2004, 80 pages.
Yamaha DME Designer 3.5 setup manual guide; copyright 2004, 16 pages.
Yamaha DME Designer 3.5 User Manual; Copyright 2004, 507 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 1: Defendants' Invalidity Contentions for U.S. Pat. No. 7,571,014 filed Sep. 16, 2016, 270 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 10: Defendants' Invalidity Contentions for U.S. Pat. No. 9,219,959 filed Sep. 27, 2016, 236 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 11: Defendants' Invalidity Contentions for Design U.S. Pat. No. D. 559,197, filed Sep. 27, 2016, 52 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 2: Defendants' Invalidity Contentions for U.S. Pat. No. 8,588,949 filed Sep. 27, 2016, 224 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 3: Defendants' Invalidity Contentions for U.S. Pat. No. 8,843,224 filed Sep. 27, 2016, 147 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 4: Defendants' Invalidity Contentions for U.S. Pat. No. 8,938,312 filed Sep. 27, 2016, 229 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 5: Defendants' Invalidity Contentions for U.S. Pat. No. 8,938,637 filed Sep. 27, 2016, 213 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 6: Defendants' Invalidity Contentions for U.S. Pat. No. 9,042,556 filed Sep. 27, 2016, 162 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 7: Defendants' Invalidity Contentions for U.S. Pat. No. 9,195,258 filed Sep. 27, 2016, 418 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 8: Defendants' Invalidity Contentions for U.S. Pat. No. 9,202,509 filed Sep. 27, 2016, 331 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions Exhibit 9: Defendants' Invalidity Contentions for U.S. Pat. No. 9,213,357 filed Sep. 27, 2016, 251 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendants' Brief in Support of their Motion for Leave to Amend their Answer to Add the Defense of Inequitable Conduct, provided Oct. 12, 2016, 24 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Redlined Exhibit B: Defendants' First Amended Answer to Plaintiffs' Third Amended Complaint, provided Aug. 1, 2016, 27 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Reply Brief in Support of Defendants' Motion for Leave to Amend their Answer to Add the Defense of Inequitable Conduct, provided Nov. 10, 2016, 16 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Reply Brief in Support of Defendants' Motion for Leave to Amend their Answer to Add the Defense of Inequitable Conduct, provided Sep. 9, 2016, 16 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Sonos's Motion to Strike Defendants' New Amended Answer Submitted with their Reply Brief, provided Sep. 15, 2016, 10 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Sonos's Opposition to Defendants' Motion for Leave to Amend their Answer to Add the Defense of Inequitable Conduct, provided Oct. 31, 2016, 26 pages.
Creative, “Connecting Bluetooth Devices with Creative D200,” http://support.creative.com/kb/ShowArticle.aspx?url=http://ask.creative.com:80/SRVS/CGI-BIN/WEBCGI.EXE/,/?St=106,E=0000000000396859016,K=9377,Sxi=8, VARSET=ws:http://us.creative.com,case=63350>, available on Nov. 28, 2011, 2 pages.
Final Office Action dated Nov. 18, 2015, issued in connection with U.S. Appl. No. 13/533,105, filed Jun. 26, 2012, 56 pages.
Blakowski G. et al., “A Media Synchronization Survey: Reference Model, Specification, and Case Studies”, Jan. 1996, vol. 14, No. 1, 5-35.
“European Extended Search Report for Application No. 13184747.7 dated Feb. 28, 2014, 8 pages”.
“Final Office Action dated Jul. 3, 2012 for U.S. Appl. No. 13/298,090, filed Nov. 16, 2011”.
“Final Rejection dated Jan. 21, 2010 for U.S. Appl. No. 11/906,702, filed Oct. 2, 2007”.
“Maniactools, “Identify Duplicate Files by Sound,” Sep. 28, 2010, http://www.maniactools.com/soft/music-duplicate-remover/identify-duplicate-files-by-sound.shtml”.
“Non-Final Office Action dated Dec. 5, 2013 for U.S. Appl. No. 13/827,653, filed Mar. 14, 2013”.
“Non-Final Office Action dated Mar. 19, 2013 for U.S. Appl. No. 13/724,048, filed Dec. 21, 2012”.
“Non-Final Office Action dated Apr. 30, 2012 for U.S. Appl. No. 13/204,511, filed Aug. 5, 2011”.
“Non-Final Office Action dated Jul. 30, 2013 for U.S. Appl. No. 13/724,048, filed Dec. 21, 2012”.
“Non-Final Rejection dated Aug. 20, 2009 for U.S. Appl. No. 11/906,702, filed Oct. 2, 2007”.
“Notice of Allowance dated Mar. 6, 2014 for U.S. Appl. No. 13/827,653, filed Mar. 14, 2013”.
“Notice of Allowance dated Nov. 10, 2011 for U.S. Appl. No. 11/906,702, filed Oct. 2, 2007”.
“Notice of Allowance dated Nov. 13, 2013 for U.S. Appl. No. 13/724,048, filed Dec. 21, 2012”.
“Notice of Allowance dated Jan. 21, 2013 for U.S. Appl. No. 13/298,090, filed Nov. 16, 2011”.
“Notice of Allowance dated Oct. 5, 2012 for U.S. Appl. No. 13/204,511, filed Aug. 5, 2011”.
“Advisory Action dated Mar. 25, 2015, issued in connection with U.S. Appl. No. 13/533,105, filed Jun. 26, 2012, 5 pages.”
“Final Office Action dated Mar. 26, 2015, issued in connection with U.S. Appl. No. 14/184,528, filed Feb. 19, 2014, 18 pages”.
“Final Office Action dated Mar. 4, 2015, issued in connection with U.S. Appl. No. 13/848,904, filed Mar. 22, 2013, 16 pages.”
“Final Office Action dated Mar. 5, 2015, issued in connection with U.S. Appl. No. 13/888,203, filed May 6, 2013, 13 pages.”
“Final Office Action dated Mar. 9, 2015, issued in connection with U.S. Appl. No. 14/516,867, filed Oct. 17, 2014, 14 pages.”
“Non-Final Office Action dated Mar. 12, 2015, issued in connection with U.S. Appl. No. 13/705,174, filed Dec. 5, 2012, 13 pages.”
“Non-Final Office Action dated Mar. 13, 2015, issued in connection with U.S. Appl. No. 13/705,177, filed Dec. 5, 2012, 15 pages.”
“Non-Final Office Action dated Mar. 27, 2015, issued in connection with U.S. Appl. No. 13/705,178, filed Dec. 5, 2012, 14 pages.”
“Non-Final Office Action dated Mar. 4, 2015, issued in connection with U.S. Appl. No. 13/435,776, filed Mar. 30, 2012, 16 pages.”
“Pre-Interview First Office Action dated Mar. 10, 2015, issued in connection with U.S. Appl. No. 14/505,027, filed Oct. 2, 2014, 4 pages.”
“Advisory Action dated Apr. 15, 2015, issued in connection with U.S. Appl. No. 14/184,526, filed Feb. 19, 2014, 9 pages.”
“Advisory Action dated Apr. 15, 2015, issued in connection with U.S. Appl. No. 14/184,935, filed Feb. 20, 2014, 9 pages.”
Akyildiz I.F., et al., “Multimedia Group Synchronization Protocols for Integrated Services Networks,” IEEE Journal on Selected Areas in Communications, 1996, vol. 14 (1), pp. 162-173.
Benslimane A., “A Multimedia Synchronization Protocol for Multicast Groups,” Proceedings of the 26th Euromicro Conference, 2000, vol. 1, pp. 456-463.
Biersack E., et al., “Intra- and Inter-Stream Synchronisation for Stored Multimedia Streams,” IEEE International Conference on Multimedia Computing and Systems, 1996, pp. 372-381.
Bretl W.E., et al., MPEG2 Tutorial [online], 2000 [retrieved on Jan. 13, 2009] Retrieved from the Internet:<http://www.bretl.com/mpeghtml/MPEGindex.htm>, pp. 1-23.
Final Office Action dated Jul. 13, 2009 for U.S. Appl. No. 10/816,217, filed Apr. 1, 2004.
Final Office Action dated Oct. 21, 2011 for U.S. Appl. No. 10/816,217, filed Apr. 1, 2004.
Final Office Action dated Jan. 28, 2011 for U.S. Appl. No. 10/816,217, filed Apr. 1, 2004.
Final Office Action dated Jun. 30, 2008 for U.S. Appl. No. 10/816,217, filed Apr. 1, 2004.
Huang C.M., et al., “A Synchronization Infrastructure for Multicast Multimedia at the Presentation Layer,” IEEE Transactions on Consumer Electronics, 1997, vol. 43 (3), pp. 370-380.
International Search Report for Application No. PCT/US04/23102, dated Aug. 1, 2008, 5 pages.
Ishibashi Y., “A Group Synchronization Mechanism for Live Media in Multicast Communications,” IEEE Global Telecommunications Conference, 1997, vol. 2, pp. 746-752.
Ishibashi Y., “A Group Synchronization Mechanism for Stored Media in Multicast Communications,” IEEE Information Revolution and Communications, 1997, vol. 2, pp. 692-700.
Jo J., et al., “Synchronized One-to-many Media Streaming with Adaptive Playout Control,” Proceedings of SPIE, 2002, vol. 4861, pp. 71-82.
Mills D.L., “Network Time Protocol (Version 3) Specification, Implementation and Analysis,” Network Working Group, Mar. 1992, <http://www.ietf.org/rfc/rfc1305.txt>.
Mills D.L., “Precision Synchronization of Computer Network Clocks,” ACM SIGCOMM Computer Communication Review, 1994, vol. 24 (2), pp. 28-43.
Motorola., “Simplefi, Wireless Digital Audio Receiver, Installation and User Guide”, Dec. 31, 2001.
Non-Final Office Action dated Jan. 18, 2008 for U.S. Appl. No. 10/816,217, filed Apr. 1, 2004.
Non-Final Office Action dated Jun. 21, 2011 for U.S. Appl. No. 10/816,217, filed Apr. 1, 2004.
Non-Final Office Action dated Jan. 22, 2009 for U.S. Appl. No. 10/816,217, filed Apr. 1, 2004.
Non-Final Office Action dated Jun. 25, 2010 for U.S. Appl. No. 10/816,217, filed Apr. 1, 2004.
Non-Final Office Action dated Feb. 29, 2012 for U.S. Appl. No. 13/297,000, filed Nov. 15, 2011.
Notice of Allowance dated Dec. 27, 2011 for U.S. Appl. No. 10/816,217, filed Apr. 1, 2004.
Park S., et al., “Group Synchronization in MultiCast Media Communications,” Proceedings of the 5th Research on Multicast Technology Workshop, 2003.
PRISMIQ; Inc., “PRISMIQ Media Player User Guide”, 2003, 44 pages.
Rothermel K., et al., “An Adaptive Stream Synchronization Protocol,” 5th International Workshop on Network and Operating System Support for Digital Audio and Video, 1995.
Schulzrinne H., et al., “RTP: A Transport Protocol for Real-Time Applications, RFC 3550,” Network Working Group, 2003, pp. 1-89.
The MPEG-2 Transport Stream. Retrieved from the Internet< URL: http://www.coolstf.com/mpeg/#ts>.
Final Office Action dated Sep. 13, 2012 for U.S. Appl. No. 13/297,000, filed Sep. 13, 2012, 17 pages.
“UPnP; “Universal Plug and Play Device Architecture”; Jun. 8, 2000; version 1.0; Microsoft Corporation; pp. 1-54”.
Voyetra; Turtle Beach Inc., “AudioTron Quick Start Guide, Version 1.0”, Mar. 2001, 24 pages.
Voyetra; Turtle Beach Inc., “AudioTron Reference Manual, Version 3.0”, May 2002, 70 pages.
Voyetra; Turtle Beach Inc., “AudioTron Setup Guide, Version 3.0”, May 2002, 38 pages.
“Final Office Action dated Mar. 27, 2014 for U.S. Appl. No. 13/533,105, filed Jun. 26, 2012”.
“Non-Final Office Action dated May 1, 2014 for U.S. Appl. No. 14/184,522, filed Feb. 19, 2014”.
“Non-Final Office Action dated May 6, 2014 for U.S. Appl. No. 13/705,176, filed Dec. 5, 2012”.
“Non-Final Office Action dated May 12, 2014 for U.S. Appl. No. 14/184,528, filed Feb. 19, 2014”.
“European Extended Search Report for Application No. 14181454.1 dated Mar. 31, 2015, 9 pages.”
“Final Office Action dated Apr. 28, 2015, issued in connection with U.S. Appl. No. 14/186,850, filed Feb. 21, 2014, 20 pages”.
“Notice of Allowance dated May 19, 2015, issued in connection with U.S. Appl. No. 13/907,666, filed May 31, 2013, 7 pages”.
“Re-Exam Non-Final Office Action dated Apr. 22, 2015, issued in connection with U.S. Appl. No. 90/013,423, filed Jan. 5, 2015, 16 pages.”
“Advisory Action dated Jun. 1, 2015, issued in connection with U.S. Appl. No. 14/516,867, filed Oct. 17, 2014, 11 pages”.
“Baldwin, Roberto. “How-To: Setup iTunes DJ on Your Max and iPhone”, available at http://www.maclife.com/article/howtos/howto_setup_itunes_dj_your_mac_and_iphone, archived on Mar. 17, 2009, 4 pages.”
“Final Office Action dated Jun. 15, 2015, issued in connection with U.S. Appl. No. 14/184,522, filed Feb. 19, 2014, 25 pages”.
“Non-Final Office Action dated Jun. 19, 2015, issued in connection with U.S. Appl. No. 13/533,105, filed Jun. 26, 2012, 38 pages.”.
“Non-Final Office Action dated Jun. 23, 2015, issued in connection with U.S. Appl. No. 13/705,176, filed Dec. 5, 2012, 30 pages”.
“Non-Final Office Action dated Jun. 3, 2015, issued in connection with U.S. Appl. No. 14/564,544, filed Dec. 9, 2014, 7 pages.”
“Non-Final Office Action dated Jun. 4, 2015, issued in connection with U.S. Appl. No. 13/871,795, filed Apr. 26, 2013, 16 pages.”
“Notice of Allowance dated Jul. 2, 2015, issued in connection with U.S. Appl. No. 13/848,904, filed Mar. 22, 2013, 17 pages”.
“Notice of Allowance dated Jul. 2, 2015, issued in connection with U.S. Appl. No. 13/888,203, filed May 6, 2013, 19 pages”.
“Notice of Allowance dated Jul. 2, 2015, issued in connection with U.S. Appl. No. 14/184,935, filed Feb. 20, 2014, 23 pages”.
“Notice of Allowance dated Jul. 6, 2015, issued in connection with U.S. Appl. No. 13/297,000, filed Nov. 15, 2011, 24 pages.”
“Advisory Action dated Sep. 18, 2008 for U.S. Appl. No. 10/816,217, filed Apr. 1, 2004, 8 pages”.
“Japanese Intellectual Property Office, “Decision of Rejection,” issued in connection with Japanese patent application No. 2012-178711, dated Jul. 4, 2014, 3 pages”.
“Japanese Intellectual Property Office, “Office Action Summary,” issued in connection with Japanese patent application No. 2012-178711, dated Nov. 19, 2013, 5 pages”.
“Non-Final Office Action dated Apr. 19, 2010 for U.S. Appl. No. 11/801,468, filed May 9, 2007, 16 pages”.
“Non-Final Office Action dated Jul. 25, 2014 for U.S. Appl. No. 14/184,526, filed Feb. 19, 2014”.
“Non-Final Office Action dated Nov. 29, 2010 for U.S. Appl. No. 11/801,468, filed May 9, 2007, 17 pages”.
“Non-Final Office Action dated Jul. 31, 2014 for U.S. Appl. No. 13/533,105, filed Jun. 26, 2012”.
“Notice of Allowance dated May 6, 2011 for U.S. Appl. No. 11/801,468, filed May 9, 2007, 10 pages”.
“Advisory Action dated Jul. 28, 2015, issued in connection with U.S. Appl. No. 14/184,522, filed Feb. 19, 2014, 7 pages”.
“Baudisch et al., “Flat Volume Control: Improving Usability by Hiding the Volume Control Hierarchy in the User Interface”, 2004, 8 pages.”
“Chakrabarti et al., “A Remotely Controlled Bluetooth Enabled Environment”, IEEE, 2004, pp. 77-81.”
“Schmandt et al., “Impromptu: Managing Networked Audio Applications for Mobile Users”, 2004, 11 pages.”
“Final Office Action dated Aug. 10, 2015, issued in connection with U.S. Appl. No. 14/290,493, filed May 29, 2014, 26 pages.”
“Final Office Action dated Aug. 11, 2015, issued in connection with U.S. Appl. No. 13/864,247, filed Apr. 17, 2013, 15 pages”.
“Final Office Action dated Jul. 15, 2015, issued in connection with U.S. Appl. No. 14/504,812, filed Oct. 2, 2014, 18 pages”.
“Final Office Action dated Aug. 3, 2015, issued in connection with U.S. Appl. No. 13/848,921, filed Mar. 22, 2013, 13 pages”.
“Fulton et al., “The Network Audio System: Make Your Application Sing (as Well as Dance)!”, The X Resource, 1994, 14 pages.”
“Hans et al., “Interacting with Audio Streams for Entertainment and Communication”, 2003, 7 pages.”.
“Levergood et al., “AudioFile: A Network-Transparent System for Distributed Audio Applications”, Digital Equipment Corporation, 1993, 109 pages.”
“Notice of Allowance dated Aug. 10, 2015, issued in connection with U.S. Appl. No. 13/848,904, filed Mar. 22, 2013, 9 pages”.
“Notice of Allowance dated Aug. 12, 2015, issued in connection with U.S. Appl. No. 13/435,739, filed Mar. 30, 2012, 27 pages”.
“Notice of Allowance dated Jul. 13, 2015, issued in connection with U.S. Appl. No. 14/184,526, filed Feb. 19, 2014, 22 pages”.
“Notice of Allowance dated Jul. 15, 2015, issued in connection with U.S. Appl. No. 13/705,174, filed Dec. 5, 2012, 18 pages”.
“Notice of Allowance dated Jul. 17, 2015, issued in connection with U.S. Appl. No. 13/864,251, filed Apr. 17, 2013, 20 pages”.
“Notice of Allowance dated Jul. 29, 2015, issued in connection with U.S. Appl. No. 13/359,976, filed Jan. 27, 2012, 28 pages”.
“Notice of Allowance dated Jul. 29, 2015, issued in connection with U.S. Appl. No. 14/186,850, filed Feb. 21, 2014, 9 pages”.
“Notice of Allowance dated Jul. 30, 2015, issued in connection with U.S. Appl. No. 13/705,178, filed Dec. 5, 2012, 18 pages”.
“Notice of Allowance dated Aug. 4, 2015, issued in connection with U.S. Appl. No. 14/516,867, filed Oct. 17, 2014, 13 pages”.
“Notice of Allowance dated Aug. 5, 2015, issued in connection with U.S. Appl. No. 13/435,776, filed Mar. 30, 2012, 26 pages”.
“Nutzel et al., “Sharing Systems for Future HiFi Systems”, IEEE, 2004, 9 pages.”
“Re-Exam Final Office Action dated Aug. 5, 2015, issued in connection with U.S. Appl. No. 90/013,423, filed Jan. 5, 2015, 25 pages.”
Canadian Intellectual Property Office, Canadian Office Action dated Sep. 14, 2015, issued in connection with Canadian Patent Application No. 2,842,342, 2 pages.
Notice of Allowance dated Oct. 7, 2015, issued in connection with U.S. Appl. No. 14/184,526, filed Feb. 19, 2014, 7 pages.
Notice of Allowance dated Oct. 9, 2015, issued in connection with U.S. Appl. No. 13/435,739, filed Mar. 30, 2012, 4 pages.
“Notice of Allowance dated Oct. 13, 2015, issued in connection with U.S. Appl. No. 13/864,251, filed Apr. 17, 2013, 7 pages.”.
Advisory Action dated Sep. 28, 2009, issued in connection with U.S. Appl. No. 10/816,217, filed Apr. 1, 2004, 4 pages.
First Action Interview Office Action Summary dated Apr. 15, 2015, issued in connection with U.S. Appl. No. 14/505,027, filed Oct. 2, 2014, 6 pages.
Advisory Action dated Jan. 5, 2012, issued in connection with U.S. Appl. No. 12/035,112, filed Feb. 21, 2008, 3 pages.
Final Office Action dated Oct. 13, 2011, issued in connection with U.S. Appl. No. 12/035,112, filed Feb. 21, 2008, 10 pages.
Final Office Action dated Feb. 18, 2009, issued in connection with U.S. Appl. No. 10/861,653, filed Jun. 5, 2004, 18 pages.
Non-Final Office Action dated Mar. 10, 2011, issued in connection with U.S. Appl. No. 12/035,112, filed Feb. 21, 2008, 12 pages.
Non-Final Office Action dated Jun. 27, 2008, issued in connection with U.S. Appl. No. 10/861,653, filed Jun. 5, 2004, 19 pages.
Notice of Allowance dated Jun. 14, 2012, issued in connection with U.S. Appl. No. 12/035,112, filed Feb. 21, 2008, 9 pages.
Notice of Allowance dated Jun. 16, 2009, issued in connection with U.S. Appl. No. 10/861,653, filed Jun. 5, 2004, 11 pages.
“Advisory Action dated Sep. 5, 2014 for U.S. Appl. No. 13/907,666, filed May 31, 2013, 3 pages”.
“Bluetooth. “Specification of the Bluetooth System: The ad hoc SCATTERNET for affordable and highly functional wireless connectivity” Core, Version 1.0 A, Jul. 26, 1999, 1068 pages”.
“Bluetooth. “Specification of the Bluetooth System: Wireless connections made easy” Core, Version 1.0 B, Dec. 1, 1999, 1076 pages”.
“Dell, Inc. “Dell Digital Audio Receiver: Reference Guide” Jun. 2000, 70 pages”.
“Dell, Inc. “Start Here” Jun. 2000, 2 pages”.
“Final Office Action dated Oct. 22, 2014, issued in connection with U.S. Appl. No. 14/186,850, filed Feb. 21, 2014, 12 pages”.
“Final Office Action dated Oct. 23, 2014, issued in conection with U.S. Appl. No. 13/705,176, filed Dec. 5, 2012, 23 pages”.
“Jones, Stephen. “Dell Digital Audio Receiver: Digital upgrade for your analog stereo” Analog Stereo. Jun. 24, 2000 <http://www.reviewsonline.com/articles/961906864.htm> retrieved Jun. 18, 2014, 2 pages”.
“Louderback, Jim. “Affordable Audio Receiver Furnishes Homes With MP3” TechTV Vault. Jun. 28, 2000 <http://www.g4tv.com/articles/17923/affordable-audio-receiver-furnishes-homes-with-mp3/> retrieved Jul. 10, 2014, 2 pages”.
“Non-Final Office Action dated Jul. 25, 2014 for U.S. Appl. No. 14/184,935, filed Feb. 20, 2014”.
“Non-Final Office Action dated Oct. 23, 2014, issued in connection with U.S. Appl. No. 13/848,904, filed Mar. 22, 2013, 11 pages”.
“Non-Final Office Action dated Oct. 23, 2014, issued in connection with U.S. Appl. No. 13/864,251, filed Apr. 17, 2013, 11 pages”.
“Non-Final Office Action dated Oct. 23, 2014, issued in connection with U.S. Appl. No. 13/888,203, filed May 6, 2013, 9 pages”.
“Non-final Office Action dated Oct. 24, 2014, issued in connection with U.S. Appl. No. 13/435,776, filed Mar. 30, 2012, 14 pages”.
“Notice of Allowance dated Sep. 25, 2014, issued in connection with U.S. Appl. No. 14/176,808, filed Feb. 10, 2014, 5 pages”.
“Palm, Inc. “Handbook for the Palm VII Handheld” May 2000, 311 pages”.
“Welcome. You're watching Apple TV.” Apple TV 1st Generation Setup Guide, Apr. 8, 2008 <http://manuals.info.apple.com/Manuals/0/MA403/en_US/AppleTV_SetupGuide.pdf> Retrieved Oct. 14, 2014, 40 pages.
“Welcome. You're watching Apple TV.” Apple TV 2nd Generation Setup Guide, Mar. 10, 2011 <http://manuals.info.apple.com/MANUALS/1000/MA1555/en_US/Apple_TV_2nd_gen_Setup_Guide.pdf> Retrieved Oct. 16, 2014, 35 pages.
“Welcome. You're watching Apple TV.” Apple TV 3rd Generation Setup Guide, Mar. 16, 2012 <http://http://manuals.info.apple.com/MANUALS/1000/MA1607/en_US/apple_tv_3rd_gen_setup.pdf> Retrieved Oct. 16, 2014, 35 pages.
Presentations at WinHEC 2000, May 2000, 139 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Opening Brief in Support of Defendants' Partial Motion for Judgment on the Pleadings for Lack of Patent-Eligible Subject Matter, filed May 6, 2016, 27 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Plaintiff Sonos, Inc.'s Opening Claim Construction Brief, filed Sep. 9, 2016, 26 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Plaintiff Sonos, Inc.'s Response in Opposition to Defendants' Partial Motion for Judgment on the Pleadings, filed May 27, 2016, 24 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Second Amended Complaint for Patent Infringement, filed Feb. 27, 2015, 49 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Third Amended Complaint for Patent Infringement, filed Jan. 29, 2016, 47 pages.
Sony: AIR-SA 50R Wireless Speaker, Copyright 2009, 2 pages.
Sony: Altus Quick Setup Guide ALT-SA32PC, Copyright 2009, 2 pages.
Sony: BD/DVD Home Theatre System Operating Instructions for BDV-E300, E301 and E801, Copyright 2009, 115 pages.
Sony: BD/DVD Home Theatre System Operating Instructions for BDV-IT1000/BDV-IS1000, Copyright 2008, 159 pages.
Sony: Blu-ray Disc/DVD Home Theatre System Operating Instructions for BDV-IZ1000W, Copyright 2010, 88 pages.
Sony: DVD Home Theatre System Operating Instructions for DAV-DZ380W/DZ680W/DZ880W, Copyright 2009, 136 pages.
Sony: DVD Home Theatre System Operating Instructions for DAV-DZ870W, Copyright 2008, 128 pages.
Sony Ericsson MS500 User Guide, Copyright 2009, 2 pages.
Sony: Home Theatre System Operating Instructions for HT-IS100, Copyright 2008, 168 pages.
Sony: HT-IS100, 5.1 Channel Audio System, last updated Nov. 2009, 2 pages.
Sony: Multi Channel AV Receiver Operating Instructions, 2007, 80 pages.
Sony: Multi Channel AV Receiver Operating Instructions for STR-DN1000, Copyright 2009, 136 pages.
Sony: STR-DN1000, Audio Video Receiver, last updated Aug. 2009, 2 pages.
Sony: Wireless Surround Kit Operating Instructions for WHAT-SA2, Copyright 2010, 56 pages.
Taylor, Marilou, “Long Island Sound,” Audio Video Interiors, Apr. 2000, 8 pages.
TOA Corporation, Digital Processor DP-0206 DACsys2000 Version 2.00 Software Instruction Manual, Copyright 2001,67 pages.
WaveLan High-Speed Multimode Chip Set, AVAGO0003, Agere Systems, Feb. 2003, 4 pages.
WaveLan High-Speed Multimode Chip Set, AVAGO0005, Agere Systems, Feb. 2003, 4 pages.
WaveLAN Wireless Integration Developer Kit (WI-DK) for Access Point Developers, AVAGO0054, Agere Systems, Jul. 2003, 2 pages.
WaveLAN Wireless Integration-Developer Kit (WI-DK) Hardware Control Function (HCF), AVAGO0052, Agere Systems, Jul. 2003, 2 pages.
WI-DK Release 2 WaveLan Embedded Drivers for VxWorks and Linux, AVAGO0056, Agere Systems, Jul. 2003, 2 pages.
WI-DK Release 2 WaveLan END Reference Driver for VxWorks, AVAGO0044, Agere Systems, Jul. 2003, 2 pages.
WI-DK Release 2 WaveLan LKM Reference Drivers for Linux, AVAGO0048, Agere Systems, Jul. 2003, 4 pages.
WPA Reauthentication Rates, AVAGO0063, Agere Systems, Feb. 2004, 3 pages.
“884+ Automatic Matrix Mixer Control System,” Ivie Technologies, Inc., 2000, pp. 1-4.
Barham et al., “Wide Area Audio Synchronisation,” University of Cambridge Computer Laboratory, 1995, 5 pages.
Brassil et al., “Enhancing Internet Streaming Media with Cueing Protocols,” 2000, 9 pages.
Cen et al., “A Distributed Real-Time MPEG Video Audio Player,” Department of Computer Science and Engineering. Oregon Graduate Institute of Science and Technology, 1995, 12 pages.
Chinese Office Action dated Jul. 5, 2016, issued in connection with Chinese Patent Application No. 201380044380.2, 25 pages.
Dannenberg et al., “A. System Supporting Flexible Distributed Real-Time Music Processing,” Proceedings of the 2001 International Computer Music Conference, 2001, 4 pages.
Dannenberg; Roger B., “Remote Access to Interactive Media,” Proceedings of the SPIE 1785, 1993, pp. 230-237.
Day, Rebecca, “Going Elan!” Primedia Inc., 2003, 4 pages.
Fober et al., “Clock Skew Compensation over a High Latency Network,” Proceedings of the ICMC, 2002, pp. 548-552.
Ishibashi et al., “A Comparison of Media Synchronization Quality Among Reactive Control Schemes,” IEEE Infocom, 2001, pp. 77-84.
“A/V Surround Receiver AVR-5800,” Denon Electronics, 2000, 2 pages.
“A/V System Controleer, Owner's Manual,” B&K Compontents, Ltd., 1998, 52 pages.
“DP-0206 Digital Signal Processor,” TOA Electronics, Inc., 2001, pp. 1-12.
“Home Theater Control Systems,” Cinema Source, 2002, 19 pages.
“Model MRC44 Four Zone—Four Source Audio/Video Controller/Amplifier System,” Xantech Corporation, 2002, 52 pages.
“NexSys Software v. 3 Manual,” Crest Audio, Inc., 1997, 76 pages.
“Residential Distributed Audio Wiring Practices,” Leviton Network Solutions, 2001, 13 pages.
“RVL-6 Modular Multi-Room Controller, Installation & Operation Guide,” Nile Audio Corporations, 1999, 46 pages.
“Systemline Modular Installation Guide, Multiroom System,” Systemline, 2003, pp. 1-22.
“ZR-8630AV MultiZone Audio/Video Receiver, Installation and Operation Guide,” Niles Audio Corporation, 2003, 86 pages.
ZX135: Installation Manual, LA Audio, Apr. 2003, 44 pages.
Lienhart et al., “On the Importance of Exact Synchronization for Distributed Audio Signal Processing,” Session L: Poster Session II—ICASSP'03 Papers, 2002, 1 page.
Liu et al., “A synchronization control scheme for real-time streaming multimedia applications,” Packet Video, 2003, 10 pages, vol. 2003.
Liu et al., “Adaptive Delay Concealment for Internet Voice Applications with Packet-Based Time-Scale Modification,” Information Technologies 2000, pp. 91-102.
Non-Final Office Action dated Sep. 7, 2016, issued in connection with U.S. Appl. No. 13/864,248, filed Apr. 17, 2013, 12 pages.
Non-Final Office Action dated Aug. 9, 2016, issued in connection with U.S. Appl. No. 13/871,795, filed Apr. 26, 2013, 31 pages.
Notice of Allowance dated Aug. 30, 2016, issued in connection with U.S. Appl. No. 14/290,493, filed May 29, 2014, 7 pages.
Pillai et al., “A Method to Improve the Robustness of MPEG Video Applications over Wireless Networks,” Kent Ridge Digital Labs, 2000, 15 pages.
Rangan et al., “Feedback Techniques for Continuity and Synchronization in Multimedia Information Retrieval,” ACM Transactions on Information Systems, 1995, pp. 145-176, vol. 13, No. 2.
Reid; Mark, “Multimedia conferencing over ISDN and IP networks using ITU-T H-series recommendations: architecture, control and coordination,” Computer Networks, 1999, pp. 225-235, vol. 31.
Rothermel et al., “An Adaptive Protocol for Synchronizing Media Streams,” 5th International Workshop on Network and Operating System Support for Digital Audio and Video, 1995, 12 pages.
Rothermel et al., “An Adaptive Stream Synchronization Protocol,” 5th International Workshop on Network and Operating System Support for Digital Audio and Video, Apr. 18-21, 1995, 12 pages.
Rothermel et al., “Synchronization in Joint-Viewing Environments,” University of Stuttgart Institute of Parallel and Distributed High-Performance Systems, 1992, 13 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 1: Defendants' Invalidity Contentions for U.S. Pat. No. 7,571,014 filed Apr. 15, 2016, 161 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 10: Defendants' Invalidity Contentions for U.S. Pat. No. 9,213,357 filed Apr. 15, 2016, 244 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 2: Defendants' Invalidity Contentions for U.S. Pat. No. 8,588,949 filed Apr. 15, 2016, 112 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 5: Defendants' Invalidity Contentions for U.S. Pat. No. 8,938,637 filed Apr. 15, 2016, 177 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 8: Defendants' Invalidity Contentions for U.S. Pat. No. 9,195,258 filed Apr. 15, 2016, 400 pages.
Advanced Driver Tab User Interface WaveLan GUI Guide, AVAGO0009, Agere Systems, Feb. 2004, 4 pages.
Agere Systems' Voice-over-Wireless LAN (VoWLAN) Station Quality of Service, AVAGO0015, Agere Systems, Jan. 2005, 5 pages.
Akyildiz et al., “Multimedia Group Synchronization Protocols for Integrated Services Networks,” IEEE Journal on Selected Areas in Communications, 1996 pp. 162-173, vol. 14, No. 1.
Audio Authority: How to Install and Use the Model 1154 Signal Sensing Auto Selector, 2002, 4 pages.
Audio Authority: Model 1154B High Definition AV Auto Selector, 2008, 8 pages.
AudioSource: AMP 100 User Manual, 2003, 4 pages.
Automatic Profile Hunting Functional Description, AVAGO0013, Agere Systems, Feb. 2004, 2 pages.
AXIS Communication: AXIS P8221 Network I/O Audio Module, 2009, 41 pages.
Balfanz et al., “Network-in-a-Box: How to Set Up a Secure Wireless Network in Under a Minute,” 13th USENIX Security Symposium—Technical Paper, 2002, 23 pages.
Balfanz et al., “Talking to Strangers: Authentication in Ad-Hoc Wireless Networks,” Xerox Palo Alto Research Center, 2002, 13 pages.
Bogen Communications, Inc., ProMatrix Digitally Matrixed Amplifier Model PM3180, Copyright 1996, 2 pages.
Breebaart et al., “Multi-Channel Goes Mobile: MPEG Surround Binaural Rendering,” AES 29th International Conference, Sep. 2-4, 2006, 1-13.
Change Notification: Agere Systems WaveLan Multimode Reference Design (D2 to D3), AVAGO0042, Agere Systems, Nov. 2004, 2 pages.
Dannenberg; Roger B., “Remote Access to Interactive Media,” Proceedings of the SPIE 1785, 1993, 230-237.
Deep-Sleep Implementation in WL60011 for IEEE 802.11b Applications, AVAGO0020, Agere Systems, Jul. 2004, 22 pages.
Denon AV Surround Receiver AVR-1604/684 User's Manual, 2004, 128 pages.
Denon AV Surround Receiver AVR-5800 Operating Instructions, Copyright 2000, 67 pages.
Faller, Christof, “Coding of Spatial Audio Compatible with Different Playback Formats,” Audio Engineering Society Convention Paper (Presented at the 117th Convention), Oct. 28-31, 2004, 12 pages.
Fireball DVD and Music Manager DVDM-100 Installation and User's Guide, Copyright 2003, 185 pages.
Fireball MP-200 User's Manual, Copyright 2006, 93 pages.
Fireball Remote Control Guide WD006-1-1, Copyright 2003, 19 pages.
Fireball SE-D1 User's Manual, Copyright 2005, 90 pages.
Gaston et al., “Methods for Sharing Stereo and Multichannel Recordings Among Planetariums,” Audio Engineering Society Convention Paper 7474, 2008, 15 pages.
Herre et al., “The Reference Model Architecture for MPEG Spatial Audio Coding,” Audio Engineering Society Convention Paper (Presented at the 118th Convention), May 28-31, 2005, 13 pages.
IBM Home Director Installation and Service Manual, Copyright 1998, 124 pages.
IBM Home Director Owner's Manual, Copyright 1999, 67 pages.
Integra Audio Network Receiver NAC 2.3 Instruction Manual, 68 pages.
Integra Audio Network Server NAS 2.3 Instruction Manual, pp. 1-32.
Integra Service Manual, Audio Network Receiver Model NAC-2.3, Dec. 2002, 44 pages.
Issues with Mixed IEEE 802.b/802.11g Networks, AVAGO0058, Agere Systems, Feb. 2004, 5 pages.
Lake Processors: Lake® LM Series Digital Audio Processors Operation Manual, 2011, 71 pages.
“A/V System Controller, Owner's Manual,” B&K Compontents, Ltd., 1998, 52 pages.
“Denon 2003-2004 Product Catalog,” Denon, 2003-2004, 44 pages.
LG: RJP-201M Remote Jack Pack Installation and Setup Guide, 2010, 24 pages.
LinkSys by Cisco, Wireless Home Audio Controller, Wireless-N Touchscreen Remote DMRW1000 Datasheet, Copyright 2008, 2 pages.
LinkSys by Cisco, Wireless Home Audio Controller, Wireless-N Touchscreen Remote DMRW1000 User Guide, Copyright 2008, 64 pages.
LinkSys by Cisco, Wireless Home Audio Player, Wireless-N Music Extender DMP100 Quick Installation Guide, Copyright 2009, 32 pages.
LinkSys by Cisco, Wireless Home Audio Player, Wireless-N Music Extender DMP100 User Guide, Copyright 2008, 65 pages.
Parasound Zpre2 Zone Preamplifier with PTZI Remote Control, 2005, 16 pages.
Proficient Audio Systems M6 Quick Start Guide, 2011, 5 pages.
Proficient Audio Systems: Proficient Editor Advanced Programming Guide, 2007, 40 pages.
Programming Interface for WL54040 Dual-Band Wireless Transceiver, AVAGO0066, Agere Systems, May 2004, 16 pages.
Radio Shack, “Auto-Sensing 4-Way Audio/Video Selector Switch,” 2004, 1 page.
RadioShack, Pro-2053 Scanner, 2002 Catalog, part 1, 100 pages.
RadioShack, Pro-2053 Scanner, 2002 Catalog, part 2, 100 pages.
RadioShack, Pro-2053 Scanner, 2002 Catalog, part 3, 100 pages.
RadioShack, Pro-2053 Scanner, 2002 Catalog, part 4, 100 pages.
RadioShack, Pro-2053 Scanner, 2002 Catalog, part 5, 46 pages.
Rothermel et al., “An Adaptive Protocol for Synchronizing Media Streams,” Institute of Parallel and Distributed High-Performance Systems (IPVR), 1997, 26 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Complaint for Patent Infringement, filed Oct. 21, 2014, 20 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Declaration of Steven C. Visser, executed Sep. 9, 2016, 40 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Amended Invalidity Contentions, filed Sep. 14, 2016, 100 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 11: Defendants' Invalidity Contentions for U.S. Pat. No. 9,219,959 filed Apr. 15, 2016, 172 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 12: Defendants' Invalidity Contentions for Design U.S. Pat. No. D. 559,197 filed Apr. 15, 2016, 36 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 3: Defendants' Invalidity Contentions for U.S. Pat. No. 8,843,224 filed Apr. 15, 2016, 118 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 4: Defendants' Invalidity Contentions for U.S. Pat. No. 8,938,312 filed Apr. 15, 2016, 217 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 6: Defendants' Invalidity Contentions for U.S. Pat. No. 9,042,556 filed Apr. 15, 2016, 86 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 7: Defendants' Invalidity Contentions for U.S. Pat. No. 9,130,771 filed Apr. 15, 2016, 203 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions Exhibit 9: Defendants' Invalidity Contentions for U.S. Pat. No. 9,202,509 filed Apr. 15, 2016, 163 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Initial Invalidity Contentions, filed Apr. 15, 2016, 97 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Preliminary Identification of Indefinite Terms, provided Jul. 29, 2016, 8 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendant's Preliminary Identification of Prior Art References, provided Jul. 29, 2016, 5 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendants' Amended Answer, Defenses, and Counterclaims for Patent Infringement, filed Nov. 30, 2015, 47 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendants' Answer to Plaintiff's Second Amended Complaint, filed Apr. 30, 2015, 19 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendants' First Amended Answer to Plaintiffs' Third Amended Complaint, filed Sep. 7, 2016, 23 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendants' Reply in Support of Partial Motion for Judgment on the Pleadings, filed Jun. 10, 2016, 15 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Exhibit A: Defendants' Second Amended Answer to Plaintiffs' Third Amended Complaint, filed Sep. 9, 2016, 43 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., First Amended Complaint for Patent Infringement, filed Dec. 17, 2014, 26 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Joint Claim Construction Chart, vol. 1 of 3 with Exhibits A-O, filed Aug. 17, 2016, 30 pages.
European Patent Office, Examination Report dated Oct. 24, 2016, issued in connection with European Patent Application No. 13808623.6, 4 pages.
“Final Office Action dated Oct. 19, 2016, issued in connection with U.S. Appl. No. 13/848,921, filed Mar. 22, 2013, 14 pages”.
Non-Final Office Action dated Nov. 3, 2016, issued in connection with U.S. Appl. No. 14/184,528, filed Feb. 19, 2014, 17 pages.
Non-Final Office Action dated Oct. 4, 2016, issued in connection with U.S. Appl. No. 15/089,758, filed Apr. 4, 2016, 9 pages.
Non-Final Office Action dated Oct. 5, 2016, issued in connection with U.S. Appl. No. 13/864,250, filed Apr. 2013, 10 pages.
Non-Final Office Action dated Oct. 5, 2016, issued in connection with U.S. Appl. No. 13/864,252, filed Apr. 17, 2013, 11 pages.
Non-Final Office Action dated Oct. 6, 2016, issued in connection with U.S. Appl. No. 15/088,678, filed Apr. 1, 2016, 9 pages.
Non-Final Office Action dated Oct. 7, 2016, issued in connection with U.S. Appl. No. 15/156,392, filed May 17, 2016, 8 pages.
Non-Final Office Action dated Sep. 21, 2016, issued in connection with U.S. Appl. No. 15/080,591, filed Mar. 25, 2016, 9 pages.
Non-Final Office Action dated Sep. 21, 2016, issued in connection with U.S. Appl. No. 15/080,716, filed Mar. 25, 2016, 8 pages.
Non-Final Office Action dated Sep. 21, 2016, issued in connection with U.S. Appl. No. 15/088,283, filed Apr. 1, 2016, 8 pages.
Non-Final Office Action dated Sep. 21, 2016, issued in connection with U.S. Appl. No. 15/088,532, filed Apr. 1, 2016, 9 pages.
Non-Final Office Action dated Sep. 22, 2016, issued in connection with U.S. Appl. No. 15/088,906, filed Apr. 1, 2016, 9 pages.
Non-Final Office Action dated Sep. 22, 2016, issued in connection with U.S. Appl. No. 15/155,149, filed May 16, 2016, 7 pages.
Non-Final Office Action dated Sep. 30, 2016, issued in connection with U.S. Appl. No. 13/864,249, filed Apr. 17, 2013, 12 pages.
Notice of Allowance dated Oct. 19, 2016, issued in connection with U.S. Appl. No. 14/290,493, filed May 29, 2014, 14 pages.
Advisory Action dated Feb. 10, 2016, issued in connection with U.S. Appl. No. 13/871,795, filed Apr. 26, 2013, 3 pages.
European Extended Search Report dated Mar. 7, 2016, issued in connection with EP Application No. 13810340.3, 9 pages.
Final Office Action dated Feb. 24, 2016, issued in connection with U.S. Appl. No. 13/871,795, filed Apr. 26, 2013, 28 pages.
Horwitz, Jeremy, “Logic3 i-Station25” retrieved from the internet: http://www.ilounge.com/index.php/reviews/entry/logic3-i-station25/, last visited Dec. 17, 2013, 5 pages.
International Bureau, International Preliminary Search Report dated Jan. 30, 2014, issued in connection with International Application No. PCT/US2012/045894, 6 pages.
International Searching Authority, International Search Report for Application No. PCT/US2012/045894, dated Dec. 26, 2012, 3 pages.
International Searching Authority, Written Opinion dated Dec. 26, 2012, issued in connection with International Application No. PCT/US2012/045894, filed Jul. 9, 2012, 4 pages.
Japanese Intellectual Property Office, Office Action Summary dated Feb. 2, 2016, issued in connection with Japanese Patent Application No. 2015-520286, 6 pages.
Japanese Patent Office, Notice of Rejection, dated Feb. 3, 2015, issued in connection with Japanese Patent Application No. 2014-521648, 7 pages.
Roland Corporation, “Roland announces BA-55 Portable PA System,” press release, Apr. 6, 2011, 2 pages.
Advisory Action dated Jun. 9, 2016, issued in connection with U.S. Appl. No. 13/871,795, filed Apr. 25, 2013, 14 pages.
Final Office Action dated Jun. 3, 2016, issued in connection with U.S. Appl. No. 13/705,176, filed Dec. 5, 2012, 24 pages.
Final Office Action dated May 25, 2016, issued in connection with U.S. Appl. No. 14/290,493, filed May 29, 2014, 33 pages.
Japanese Patent Office, Office Action dated May 24, 2016, issued in connection with Japanese Patent Application No. 2014-220704, 7 pages.
Non-Final Office Action dated Jun. 1, 2016, issued in connection with U.S. Appl. No. 14/184,522, filed Feb. 19, 2014, 21 pages.
Non-Final Office Action dated May 10, 2016, issued in connection with U.S. Appl. No. 14/504,812, filed Oct. 2, 2014, 22 pages.
Canadian Intellectual Property Office, Canadian Office Action dated Apr. 4, 2016, issued in connection with Canadian Patent Application No. 2,842,342, 5 pages.
European Patent Office, Examination Report dated Mar. 22, 2016, issued in connection with European Patent Application No. EP14181454.1, 6 pages.
Falcone, John, “Sonos BU150 Digital Music System review,” CNET, CNET [online] Jul. 27, 2009 [retrieved on Mar. 16, 2016], 11 pages Retrieved from the Internet: URL:http://www.cnet.com/products/sonos-bu150-digital-music-system/.
Japanese Patent Office, Office Action dated Mar. 29, 2016, issued in connection with Japanese Patent Application No. JP2015-520288, 12 pages.
Non-Final Office Action dated Mar. 8, 2016, issued in connection with U.S. Appl. No. 13/848,921, filed Mar. 22, 2013, 13 pages.
Notice of Allowance dated Apr. 7, 2016, issued in connection with U.S. Appl. No. 13/533,105, filed Jun. 26, 2012, 40 pages.
Notice of Allowance dated Apr. 11, 2016, issued in connection with U.S. Appl. No. 13/864,247, filed Apr. 17, 2013, 21 pages.
Non-Final Office Action dated Aug. 29, 2017, issued in connection with U.S. Appl. No. 14/058,166, filed Oct. 18, 2013, 12 pages.
Non-Final Office Action dated Dec. 31, 2013, issued in connection with U.S. Appl. No. 13/618,829, filed Sep. 14, 2012, 26 pages.
Notice of Allowance dated Jun. 1, 2017, issued in connection with U.S. Appl. No. 14/290,493, filed May 29, 2014, 12 pages.
Notice of Allowance dated Jun. 2, 2017, issued in connection with U.S. Appl. No. 14/486,667, filed Sep. 15, 2014, 10 pages.
Notice of Allowance dated Jul. 12, 2017, issued in connection with U.S. Appl. No. 13/894,179, filed May 14, 2013, 10 pages.
Notice of Allowance dated Jul. 13, 2017, issued in connection with U.S. Appl. No. 13/895,076, filed May 15, 2013, 10 pages.
Notice of Allowance dated Aug. 14, 2012, issued in connection withU.S. Appl. No. 11/147,116, filed Jun. 6, 2005, 33 pages.
Notice of Allowance dated Jul. 18, 2014, issued in connection with U.S. Appl. No. 13/618,829, filed Sep. 14, 2012, 8 pages.
Notice of Allowance dated Nov. 23, 2016, issued in connection with U.S. Appl. No. 14/803,953, filed Jul. 20, 2015, 21 pages.
Notice of Allowance dated Apr. 25, 2017, issued in connection with U.S. Appl. No. 15/156,392, filed May 17, 2016, 8 pages.
Notice of Allowance dated Apr. 27, 2015, issued in connection with U.S. Appl. No. 13/932,864, filed Jul. 1, 2013, 20 pages.
Notice of Allowance dated Mar. 27, 2017, issued in connection with U.S. Appl. No. 15/089,758, filed Apr. 4, 2016, 7 pages.
Notice of Allowance dated Mar. 28, 2017, issued in connection with U.S. Appl. No. 15/088,906, filed Apr. 1, 2016, 7 pages.
Notice of Allowance dated Mar. 28, 2017, issued in connection with U.S. Appl. No. 15/155,149, filed May 16, 2016, 7 pages.
Notice of Allowance dated Apr. 29, 2015, issued in connection with U.S. Appl. No. 13/863,083, filed Apr. 15, 2013, 19 pages.
Notice of Allowance dated Mar. 29, 2017, issued in connection with U.S. Appl. No. 14/803,953, filed Jul. 20, 2015, 8 pages.
Notice of Allowance dated Apr. 3, 2017, issued in connection with U.S. Appl. No. 15/088,678, filed Apr. 1, 2016, 8 pages.
Notice of Allowance dated Mar. 30, 2017, issued in connection with U.S. Appl. No. 15/088,532, filed Apr. 1, 2016, 7 pages.
Notice of Allowance dated Apr. 6, 2017, issued in connection with U.S. Appl. No. 15/088,283, filed Apr. 1, 2016, 7 pages.
Notice of Incomplete Re-Exam Request dated May 25, 2017, issued in connection with U.S. Appl. No. 90/013,959 , filed Apr. 1, 2016, 10 pages.
Notice of Intent to Issue Re-Examination Certificate dated Aug. 3, 2017, issued in connection with U.S. Appl. No. 90/013,882, filed Dec. 27, 2016, 20 pages.
“Sonos Multi-Room Music System User Guide,” Version 090401, Sonos, Inc. Apr. 1, 2009, 256 pages.
Pre-Brief Conference Decision dated May 11, 2017, issued in connection with U.S. Appl. No. 14/504,812, filed Oct. 2, 2014, 2 pages.
Reexam Non-Final Office Action dated Nov. 9, 2016, issued in connection with U.S. Appl. No. 90/013,774, filed Jun. 29, 2016, 35 pages.
Renewed Request for Ex Parte Re-Examination, U.S. Appl. No. 90/013,959, filed Jun. 16, 2017, 126 pages.
Request for Ex Parte Reexamination submitted in U.S. Pat. No. 9,213,357 dated May 22, 2017, 85 pages.
Sonos System Overview, Version 1.0, Jul. 2011, 12 pages.
“Symantec pcAnywhere User's Guide,” v 10.5.1, 1995-2002, 154 pages.
Advisory Action dated Nov. 1, 2013, issued in connection with U.S. Appl. No. 13/618,829, filed Sep. 14, 2012, 3 pages.
Advisory Action dated Aug. 10, 2017, issued in connection with U.S. Appl. No. 13/864,250, filed Apr. 17, 2013, 3 pages.
Advisory Action dated Aug. 16, 2017, issued in connection with U.S. Appl. No. 13/864,248, filed Apr. 17, 2013, 5 pages.
Advisory Action dated Jun. 20, 2017, issued in connection with U.S. Appl. No. 15/243,355, filed Aug. 22, 2016, 5 pages.
Advisory Action dated Aug. 22, 2017, issued in connection with U.S. Appl. No. 13/864,249, filed Apr. 17, 2013, 3 pages.
Advisory Action dated Sep. 22, 2017, issued in connection with U.S. Appl. No. 15/243,186, filed Aug. 22, 2016, 3 pages.
Advisory Action dated Apr. 27, 2016, issued in connection with U.S. Appl. No. 14/486,667, filed Sep. 15, 2014, 7 pages.
Corrected Notice of Allowability dated Dec. 23, 2016, issued in connection with U.S. Appl. No. 14/803,953, filed Jul. 20, 2015, 18 pages.
European Patent Office, European Office Action dated Sep. 1, 2017, issued in connection with European Application No. 13184747.7, 7 pages.
File History of Re-Examination U.S. Appl. No. 90/013,423.
Non-Final Office Action dated Aug. 28, 2017, issued in connection with U.S. Appl. No. 14/504,812, filed Oct. 2, 2014, 17 pages.
Final Office Action dated Jul. 5, 2013, issued in connection with U.S. Appl. No. 13/618,829, filed Sep. 14, 2012, 22 pages.
Final Office Action dated Mar. 8, 2017, issued in connection with U.S. Appl. No. 14/486,667, filed Sep. 15, 2014, 39 pages.
Final Office Action dated Nov. 8, 2017, issued in connection with U.S. Appl. No. 13/848,921, filed Mar. 22, 2013, 13 pages.
Final Office Action dated Nov. 8, 2017, issued in connection with U.S. Appl. No. 13/871,785, filed Apr. 26, 2013, 12 pages.
Final Office Action dated Apr. 10, 2017, issued in connection with U.S. Appl. No. 15/243,355, filed Aug. 22, 2016, 15 pages.
Final Office Action dated Jul. 11, 2017, issued in connection with U.S. Appl. No. 15/243,186, filed Aug. 22, 2016, 13 pages.
Final Office Action dated Aug. 14, 2009, issued in connection with U.S. Appl. No. 11/147,116, filed Jun. 6, 2005, 28 pages.
Final Office Action dated Jun. 15, 2017, issued in connection with U.S. Appl. No. 15/228,639, filed Aug. 4, 2016, 16 pages.
Final Office Action dated May 15, 2017, issued in connection with U.S. Appl. No. 13/864,252, filed Apr. 17, 2013, 13 pages.
Final Office Action dated Mar. 16, 2011, issued in connection with U.S. Appl. No. 11/147,116, filed Jun. 6, 2005, 40 pages.
Final Office Action dated May 16, 2017, issued in connection with U.S. Appl. No. 13/864,249, filed Apr. 17, 2013, 14 pages.
Final Office Action dated May 16, 2017, issued in connection with U.S. Appl. No. 13/864250, filed Apr. 17, 2013, 12 pages.
Final Office Action dated Apr. 20, 2017, issued in connection with U.S. Appl. No. 13/864,248, filed Apr. 17, 2013, 14 pages.
Final Office Action dated Dec. 24, 2009, issued in connection with U.S. Appl. No. 11/147,116, filed Jun. 6, 2005, 29 pages.
Final Office Action dated Jun. 28, 2017, issued in connection with U.S. Appl. No. 14/808,875, filed Jul. 24, 2015, 14 pages.
Final Office Action dated Dec. 31, 2015, issued in connection with U.S. Appl. No. 14/486,667, filed Sep. 15, 2014, 34 pages.
First Action Pre-Interview Office Action dated Jun. 22, 2017, issued in connection with U.S. Appl. No. 14/516,883, filed Oct. 17, 2014, 5 pages.
First Office Action Interview dated Aug. 30, 2017, issued in connection with U.S. Appl. No. 14/516,883, filed Oct. 17, 2014, 5 pages.
Fries et al. “The MP3 and Internet Audio Handbook: Your Guide to the Digital Music Revolution.” 2000, 320 pages.
Japanese Patent Office, Japanese Office Action dated Oct. 3, 2017, issued in connection with Japanese Application No. 2016-163042, 5 pages.
“Microsoft Windows XP File and Printer Share with Microsoft Windows” Microsoft Windows XP Technical Article, 2003, 65 pages.
“SMPTE Made Simple: A Time Code Tutor by Timeline,” 1996, 46 pages.
Niederst, Jennifer “O'Reilly Web Design in a Nutshell,” Second Edition, Sep. 2001, 678 pages.
Non-Final Office Action dated Sep. 1, 2010, issued in connection with U.S. Appl. No. 11/147,116, filed Jun. 6, 2005, 36 pages.
Non-Final Office Action dated Nov. 2, 2016, issued in connection with U.S. Appl. No. 14/486,667, filed Sep. 15, 2014, 37 pages.
Non-Final Office Action dated Feb. 3, 2009, issued in connection with U.S. Appl. No. 11/147,116, filed Jun. 6, 2005, 32 pages.
Non-Final Office Action dated Oct. 3, 2014, issued in connection with U.S. Appl. No. 13/863,083, filed Apr. 15, 2013, 22 pages.
Non-Final Office Action dated Nov. 7, 2011, issued in connection with U.S. Appl. No. 11/147,116, filed Jun. 6, 2005, 48 pages.
Non-Final Office Action dated Apr. 10, 2017, issued in connection with U.S. Appl. No. 13/871,785, filed Apr. 26, 2013, 10 pages.
Non-Final Office Action dated Jul. 11, 2017, issued in connection with U.S. Appl. No. 13/848,921, filed Mar. 22, 2013, 10 pages.
Non-Final Office Action dated Aug. 15, 2017, issued in connection with U.S. Appl. No. 14/184,522, filed Feb. 19, 2014, 11 pages.
Non-Final Office Action dated Jul. 15, 2016, issued in connection with U.S. Appl. No. 14/803,953, filed Jul. 20, 2015, 20 pages.
Non-Final Office Action dated Aug. 17, 2017, issued in connection with U.S. Appl. No. 14/184,528, filed Feb. 19, 2014, 12 pages.
Non-Final Office Action dated Jan. 18, 2013, issued in connection with U.S. Appl. No. 13/618,829, filed Sep. 14, 2012, 58 pages.
Non-Final Office Action dated Apr. 20, 2017, issued in connection with U.S. Appl. No. 90/013,882, filed Dec. 27, 2016, 197 pages.
Non-Final Office Action dated Oct. 20, 2017, issued in connection with U.S. Appl. No. 90/013,959, filed Jun. 16, 2017, 50 pages.
Non-Final Office Action dated Oct. 23, 2014, issued in connection with U.S. Appl. No. 13/932,864, filed Jul. 1, 2013, 20 pages.
Non-Final Office Action dated Jul. 26, 2017, issued in connection with U.S. Appl. No. 13/705,176, filed Dec. 5, 2012, 14 pages.
Advisory Action dated Jan. 10, 2018, issued in connection with U.S. Appl. No. 13/871,785, filed Apr. 26, 2013, 3 pages.
Advisory Action dated Jun. 11, 2018, issued in connection with U.S. Appl. No. 90/013,959, filed Jun. 16, 2017, 3 pages.
Final Office Action dated Jun. 6, 2018, issued in connection with U.S. Appl. No. 14/184,522, filed Feb. 19, 2014, 14 pages.
Final Office Action dated Mar. 1, 2018, issued in connection with U.S. Appl. No. 13/705,176, filed Dec. 5, 2012, 16 pages.
Final Office Action dated Jul. 11, 2018, issued in connection with U.S. Appl. No. 13/864,249, filed Apr. 17, 2013, 13 pages.
Final Office Action dated Feb. 15, 2018, issued in connection with U.S. Appl. No. 14/516,883, filed Oct. 17, 2014, 17 pages.
Final Office Action dated Mar. 16, 2018, issued in connection with U.S. Appl. No. 90/013,959, filed Jun. 16, 2017, 39 pages.
Final Office Action dated May 16, 2018, issued in connection with U.S. Appl. No. 14/184,528, filed Feb. 19, 2014, 11 pages.
Final Office Action dated Mar. 29, 2018, issued in connection with U.S. Appl. No. 14/504,812, filed Oct. 2, 2014, 24 pages.
Japanese Patent Office, Office Action dated May 15, 2018, issued in connection with Japanese Application No. 2016-163042, 6 pages.
Japanese Patent Office, Translation of Office Action dated May 15, 2018, issued in connection with Japanese Application No. 2016-163042, 4 pages.
Non-Final Office Action dated Nov. 13, 2017, issued in connection with U.S. Appl. No. 13/864,249, filed Apr. 17, 2013, 11 pages.
Non-Final Office Action dated Dec. 14, 2017, issued in connection with U.S. Appl. No. 15/081,911, filed Mar. 27, 2016, 17 pages.
Non-Final Office Action dated Nov. 14, 2017, issued in connection with U.S. Appl. No. 13/864,252, filed Apr. 17, 2013, 11 pages.
Non-Final Office Action dated Nov. 15, 2017, issued in connection with U.S. Appl. No. 15/228,639, filed Aug. 4, 2016, 14 pages.
Non-Final Office Action dated Nov. 15, 2017, issued in connection with U.S. Appl. No. 15/243,186, filed Aug. 22, 2016, 13 pages.
Non-Final Office Action dated Apr. 2, 2018, issued in connection with U.S. Appl. No. 15/243,355, filed Aug. 22, 2016, 20 pages.
Non-Final Office Action dated Apr. 24, 2018, issued in connection with U.S. Appl. No. 15/095,145, filed Apr. 10, 2016, 13 pages.
Non-Final Office Action dated Nov. 28, 2017, issued in connection with U.S. Appl. No. 13/864,248, filed Apr. 17, 2013, 12 pages.
Non-Final Office Action dated Jan. 9, 2018, issued in connection with U.S. Appl. No. 13/864,250, filed Apr. 17, 2013, 13 pages.
Notice of Allowance dated Jul. 6, 2018, issued in connection with U.S. Appl. No. 14/058,166, filed Oct. 18, 2013, 19 pages.
Notice of Allowance dated Jul. 10, 2018, issued in connection with U.S. Appl. No. 14/504,812, filed Oct. 2, 2014, 9 pages.
Notice of Allowance dated May 10, 2018, issued in connection with U.S. Appl. No. 13/864,248, filed Apr. 17, 2013, 8 pages.
Notice of Allowance dated Jun. 27, 2018, issued in connection with U.S. Appl. No. 13/848,921, filed Mar. 22, 2013, 19 pages.
Notice of Allowance dated Jan. 31, 2018, issued in connection with U.S. Appl. No. 13/871,785, filed Apr. 26, 2013, 6 pages.
Sonos, Inc. v. D&M Holdings Inc. et al., Defendants' 35 U.S.C. § 282 Notice filed Nov. 2, 2017, 31 pages.
Appeal Brief and Exhibits A-K filed on Sep. 17, 2018, in connection with Rexam U.S. Appl. No. 90/013,959, filed Jun. 16, 2017, 240 pages.
Canadian Patent Office, Office Action dated Jul. 10, 2018, issued in connection with Canadian Application No. 2982726, 3 pages.
European Patent Office, Summons to Attend Oral Proceedings dated Jul. 10, 2018, issued in connection with European Application No. 13184747.7, 10 pages.
Final Office Action dated Jul. 11, 2018, issued in connection with U.S. Appl. No. 13/864,252, filed Apr. 17, 2013, 10 pages.
Non-Final Office Action dated Jul. 30, 2018, issued in connection with U.S. Appl. No. 16/009,182, filed Jun. 14, 2018, 22 pages.
Notice of Allowance dated Aug. 10, 2018, issued in connection with U.S. Appl. No. 15/081,911, filed Mar. 27, 2016, 5 pages.
Notice of Allowance dated Sep. 12, 2018, issued in connection with U.S. Appl. No. 15/228,639, filed Aug. 4, 2016, 8 pages.
Notice of Allowance dated Sep. 12, 2018, issued in connection with U.S. Appl. No. 15/243,186, filed Aug. 22, 2016, 8 pages.
Notice of Allowance dated Aug. 29, 2018, issued in connection with U.S. Appl. No. 14/504,812, filed Oct. 2, 2014, 8 pages.
Notice of Appeal and Certificate of Service filed on Jul. 16, 2018, in connection with Reexam U.S. Appl. No. 90/013,959, filed Jun. 16, 2017, 2 pages.
Pro Tools Reference Guide Version 5.3 Manual, 2002, 582 pages.
Solid State Logic G Series Systems Operator's Shortform Guide: SSL G Series Console, 1994, 49 pages.
Solid State Logic SL 9000 J Series Total Studio System: Console Operator's Manual, 1994, 415 pages.
Breebaart et al., “Multi-Channel Goes Mobile: MPEG Surround Binaural Rendering”, AES 29th International Conference, 2006, Sep. 2-4, 1-13.
Herre et al., “The Reference Model Architecture for MPEG Spatial Audio Coding”, Audio Engineering Society Convention Paper (Presented at the 118th Convention), 2005, May 28-31, 13 pages.
Sony: Multi Channel AV Receiver Operating Instructions for STR-DG710, 2007, 80 pages.
Rangan et al., “Feedback Techniques for Continuity and Synchronization in Multimedia Information Retrieval”, ACM Transactions on Information Systems, 1995, 13(2), 145-176.
Reid, Mark, “Multimedia conferencing over ISDN and IP networks using ITU-T H-series recommendations: architecture, control and coordination,” Computer Networks, 1999, vol. 31, pp. 225-235.
WI-DK Release 2 WaveLan END Reference Driver for VxWorks, AVAG00044, Agere Systems, Jul. 2003, 4 pages.
Related Publications (1)
Number Date Country
20130208911 A1 Aug 2013 US
Provisional Applications (1)
Number Date Country
60490768 Jul 2003 US
Continuations (2)
Number Date Country
Parent 13297000 Nov 2011 US
Child 13848932 US
Parent 10816217 Apr 2004 US
Child 13297000 US