The instant application is related to: U.S. Pat. No. 6,784,805, titled “State-Based Remote Control System” of Glen McLean Harris et al.; U.S. Pat. No. 7,436,319, titled “Method and Apparatus for Uploading and Downloading Remote Control Codes,” of Glen McLean Harris et al.; U.S. patent application Ser. No. 11/408,440 filed Apr. 20, 2006, titled “System and Method for Adaptive Programming of a Remote Control,” of Godwin Liu et al., each of which is incorporated by reference herein in its entirety for all purposes.
Embodiments of the present invention generally relate to remote controls configured to control a set of appliances. More particularly, embodiments of the present invention relate to adjusting the temporal spacings between command codes that are delivered from a remote control to a set of appliances.
Remote controls are typically hand-held electronic devices that are configurable to control a number of appliances. The appliances that a remote control may be configured to control include televisions (TVs), DVD players, stereo equipment (e.g., CD players, tuners, amplifiers, etc.), personal video recorders (PVRs), set-top-boxes (cable television tuners, satellite dish tuners, etc.), surround sound devices, other remote controls (e.g., blasters), media applications on a computer, set-top-boxes, blasters, or any other type of processor, etc. Some remote controls are also configured to control a heating system, a cooling system, lighting, window coverings, and the like.
The control of numerous appliances by a remote control requires that the temporal spacing of between the command codes issued by a remote control needs to be sufficient so that the appliances receiving the command codes may adequately process the command codes so that the functions associated with the command codes may be executed by the appliances. For example, a set of command codes might be transmitted from a remote control to a TV to both turn on the TV and to change the input of the TV to the cable television input. If the temporal spacing of the command codes is too small, the TV may be able to accept the command code for turning on the TV, but may be still processing the command code for turning on the TV and when the second command code is received by the TV, the TV will not be able to accept and/or process the command code for changing the input of the television. Therefore, the set of command codes issued to the TV will not have been executed in its entirety.
While sets of command codes for controlling corresponding sets of appliances are specified by the manufacturers of the appliances, the temporal spacing between command codes for the effective use of the command codes are often empirically determined by remote control manufactures. As the temporal spacings are often empirically determined, especially for controlling disparate appliances, the temporal spacings are often not optimized. Therefore, the temporal spacings often need to be adjusted so that the functions associated with a set of command codes may be correctly executed by a set of appliances. For many remote control users it is exceeding difficult to identify that their remote controls are not operating correctly due to temporal spacing problems. Further, once a temporal spacing problem has been identified, adjusting the temporal spacings between command codes is a daunting task for many users.
Therefore, new remote controls and new remote control operation methods are needed to help users identify whether a temporal spacing problem for command codes exists. Additionally, new remote controls and new remote control operation methods are also needed to help users correct temporal spacing problems for command codes. In order to enhance a user's experience in using a remote control to control the user's set of appliances, the sequence and the timing of commands should be optimized such that the time required for the appliances to execute a set of command codes and be set to various desired states (i.e., to be operational as desired) is minimized. New remote controls are needed that further operate in cooperation with a remote server to upload optimized temporal lengths for command codes and/or optimized ordering for command codes to the remote server and the remote server's database so that the remote server may provide to other remote controls (e.g., operated by other users) the optimized temporal lengths for command codes and/or the optimized ordering for command codes.
Embodiments of the present invention generally relate to remote controls configured to control a set of appliances. More particularly, embodiments of the present invention relate to adjusting the temporal spacings between command codes that are delivered from a remote control to a set of appliances. It is to be noted that while at various times appliances are specifically referred to herein home entertainment devices, other types of devices and applications/services can also be controlled by a remote control in accordance with the embodiments of the present invention, including but not limited to applications executed on computers, set-top boxes, personal digital assistants, cell phones, blasters, other types of processors, etc., other home devices such as blinds, lights, and so on. Embodiments of the present invention enhance a user's experience in using a remote control to control the user's set of appliances by ordering the sequence command codes and by adjusting the temporal spacing between command codes (e.g., command code optimization) such that the time required for the appliances to execute a set of command codes and be set to various desired states (i.e., to be operational as desired) is minimized. Embodiment of the present invention further provides new remote control that operate in cooperation with a remote server to upload optimized temporal lengths for command codes and/or optimized ordering for command codes to the remote server and the remote server's database so that the remote server may provide to other remote controls (e.g., operated by other users) the optimized temporal lengths for command codes and/or the optimized ordering for command codes.
According to one embodiment of the present invention, a remote control method for determining whether command code errors have occurred for an activity includes receiving an input on a remote control for directing the remote control to transmit a first command code and a second command code to a first appliance and a second appliance, respectively. The method further includes transmitting the first command code from the remote control, and thereafter transmitting the second command code from the remote control after a first temporal length from the transmission of the first command code. The method further includes determining whether the second command code was executed by the second appliance. The determining step includes: i) displaying a question on a display of the remote control regarding whether the second appliance executed the second command code; ii) if the remote control receives an input that the second appliance executed the second command code, the method is ended; iii) if the remote control receives an input that the second appliance did not execute the second command code, an indicator storing in memory that the second appliance did not execute the second command code, and the second command code is retransmitted to the appliance. Until the remote control at the determining steps stores the indicator in memory a predetermined number of times, the remote control repeats the receiving step, the first mentioned transmitting step, the second mentioned transmitting step, and the determining step. If the indicator is stored in memory the predetermined number of times, the remote control determines that the temporal length should be lengthened for the second appliance to execute the second command code.
According to another specific embodiment, the predetermined number of times is five. According to another specific embodiment, the method further includes receiving a user input on the remote control from a user to start a help process, and wherein the help process executes the determining step. The second command code is a power on command code.
According to another embodiment of the present invention, a remote control method is provided for adjusting the temporal length between a first command code and a second command code for an activity. The second command code is a power on command code for an appliance, and the first command code is not executable by the appliance. The method includes transmitting the first command code from a remote control to an appliance, and transmitting the second command code from the remote control to the appliance after a first temporal length from the transmission of the first command code. The method includes determining whether the appliance executed the second command code. The determining step includes: i) displaying on the remote control a question whether the appliance executed a function for the second command code, ii) if the remote control receives an input that the appliance executed the second command code, storing the first temporal length in memory, wherein the remote control is configured to use the first temporal length for subsequently received inputs for executing the activity, and iii) if the remote control receives an input that the appliance did not execute the second command code, lengthening on the remote control the first temporal length to a second temporal length. Until the first temporal length is not lengthened to the second temporal length or until the second temporal length is a maximum temporal length, the method includes repeating by the remote control the first mentioned transmitting step, the second mentioned transmitting step, and the determining step, wherein the first temporal length for the second mentioned transmitting step is set to the second temporal length. According to one embodiment, at step ii) above, if the remote control receives an input that the appliance executed the function for the second command code, the first time the question is asked, then the method includes: i) shortening by the remote control the first temporal length to a second temporal length; and storing by the remote control the second temporal length in memory for subsequent use by the device.
According to another specific embodiment, the method further includes determining by the remote control that the activity ended, and thereafter the executing by the remote control the first transmitting step, the second transmitting step, the determining step, and the repeating step. According to another specific embodiment, the method further includes executing by the remote control the first transmitting step, the second transmitting step, the determining step, and the repeating step after the method of summarized at paragraph [0008] is executed.
According to another specific embodiment, the method further includes transmitting from the device to a remote server the first temporal length stored in memory. According to another specific embodiment, the method further includes transmitting from the remote server the first temporal length to another device configured to control a set of appliances.
According to one embodiment of the present invention, a remote control method for determining whether command code errors have occurred for an activity includes receiving an input on a remote control for directing the remote control to transmit a first command code and a second command code to an appliance. The first command code is a power on command code. The method further includes transmitting the first command code from the remote control, and transmitting the second command code from the remote control after a first temporal length from the transmission of the first command code. The method further includes determining whether the second command code was executed by the appliance. The determining step includes: if the remote control receives an input that the appliance did not execute the second command code, then storing by the remote control in memory an indicator that the appliance did not execute the second command code, and retransmitting the second command code. The method further includes repeating by the remote control the receiving step, the first mentioned transmitting step, the second mentioned transmitting step, and the determining step, until the determining steps stores the indicator in memory a predetermined number of times. The method includes determining by the remote control that the temporal length should be lengthened for the appliance to execute the second command code if the indicator is stored in memory the predetermined number of times. According to one specific embodiment, the determining step includes: displaying a question on a display of the remote control regarding whether the appliance executed the second command code; and if the remote control receives an input that the appliance executed the second command code, the method ends. According to an alternative embodiment, if the remote control receives an input that the appliance executed the second command code after the first time that the question is displayed then the method further includes shortening by the remote control the first temporal length to a second temporal length; and storing by the remote control the second temporal length in memory for subsequent use by the device.
According to another specific embodiment, the predetermined number of times if five. According to another specific embodiment, the method includes receiving a user input on the remote control from a user to start a help process, and wherein the help process executes the determining step.
According to one embodiment of the present invention, a method is provided for adjusting the temporal length between a first command code and a second command code for an activity for an appliance. The first command code is a power on command code for an appliance. The method includes transmitting the first command code from a remote control to an appliance, and transmitting the second command code from the remote control to the appliance after a first temporal length from the transmission of the first command code. The method includes determining whether the appliance executed the second command code. The determining step includes: if the remote control receives an input that the appliance did not execute the second command code, lengthening on the remote control the first temporal length to a second temporal length. Until the first temporal length is not lengthened to the second temporal length or until the second temporal length is a maximum temporal length, the method includes repeating by the remote control the first mentioned transmitting step, the second mentioned transmitting step, and the determining step, wherein the first temporal length for the second mentioned transmitting step is set to the second temporal length. According to a specific embodiment, the determining step includes displaying on the remote control a question whether the appliance executed a function for the second command code, and if the remote control receives an input that the appliance executed the second command code, storing the first temporal length in memory, wherein the remote control is configured to use the first temporal length for subsequently received inputs for executing the activity.
According to another specific embodiment, the method further includes determining by the remote control that the activity ended, and thereafter the executing by the remote control the first transmitting step, the second transmitting step, the determining step, and the repeating step. According to another specific embodiment, the method further includes executing by the remote control the first transmitting step, the second transmitting step, the determining step, and the repeating step after the method of paragraph [0008] or paragraph [0012] is executed.
According to another specific embodiment, the method further includes transmitting from the device to a remote server the first temporal length stored in memory. According to another specific embodiment, the method further includes transmitting from the remote server the first temporal length to another device configured to control a set of appliances.
According to one embodiment of the present invention, a control device system is provided for controlling an appliance and determining a temporal length between the transmission of a first command code and a second command code so that the appliance may execute the second command code properly. The control device system includes a processor configured to execute a set of computer code instructions. The control device system further includes a memory configured to store the set of computer code instructions, a set of command codes for controlling the appliances, and a temporal length value for the temporal length between the transmission of a first command code and a second command code to the appliance. The control device system further includes an input configured to receive an instruction to transmit the first command code and the second command code to the appliance, and a transmitter configured to transmit the first command code and the second command code to the appliance. The processor is configured execute the computer code instruction to: i) direct the transmitter to transmit the first command code from a device to an appliance; ii) direct the transmitter to transmit the second command code from the device to the appliance after a first temporal length from the transmission of the first command code; iii) determine whether the appliance executed the second command code including: iiia) if the device receives an input that the appliance executed the second command code, storing the first temporal length in memory, wherein the device is configured to use the first temporal length for subsequently received inputs for executing the action; and iiib) if the device receives an input that the appliance did not execute the second command code, lengthening on the device the first temporal length to a second temporal length. Until the first temporal length is not lengthened to the second temporal length or until the second temporal length is a maximum temporal length, the processor is configured to repeat the first mentioned direction step, the second mentioned directing step, and the determining step. For the repeated executions of the first mentioned direction step, the second mentioned directing step, and the determining step, the first temporal length for the second mentioned transmitting step is set to the second temporal length.
According to one specific embodiment, the control device system is a blaster that is configured to be controlled by a remote control device and relay command codes received from the remote control device to the appliance. According to another specific embodiment, the control device system is a hand-held remote control device.
According to another specific embodiment, the appliance is a computer and the first or the second command codes are for controlling an application or service operating on the computer. According to another specific embodiment, the control device system includes a display where the processor is configured to direct the display to display on the device a question whether the appliance executed a function for the second command code. According to one embodiment, the display is a touch screen via which the control device system is configured to receive input from a user. The display is configured to receive the input in response to the questions.
According to another specific embodiment, the second command code is a power on command code for the appliance. The first command code is not executable by the appliance.
According to another specific embodiment, the processor is configured to control the transmitter to transmit the first temporal length stored in memory to a remote server. The remote server is configure to transmit the first temporal length to another control device system.
According to one embodiment of the present invention method for adjusting a set of temporal length between command codes in a set of command codes includes rearranging by a device a transmission order of commands codes in a set of command codes, and transmitting from the device the command codes with a second temporal length between the command codes that is shorter than a predetermined-first temporal length. The method further includes displaying a question on a display asking whether a set of appliances controlled by the set of command codes is in a correct state for the set of command codes. If an input is received by the device indicating that the set of appliances is in the correct state, the method includes storing by the device in memory the second temporal length.
According to one specific embodiment, the device is a hand-held remote control. Alternatively, the device is a blaster configured to communicate with a remote control. According to another specific embodiment, the method further includes transmitting from the device to a remote server the second temporal length if the input indicates that the set of appliances is in the correct state. The method may further include transmitting from the remote server the second temporal length to another device configured to control a set of appliances.
According to one embodiment of the present invention, a control device system for controlling a set of appliances includes a processor configured to rearrange a transmission order of commands codes in a set of command codes, and a transmitter coupled to the processor and configured to transmit to a set of appliances the command codes with a second temporal length between the command codes that is shorter than a predetermined-first temporal length. The control device system further includes a display coupled to the processor and configured to display a question asking whether the set of appliances is in a correct state for the set of command codes. The control device system further includes a memory coupled to the processor and configured to store the set of command codes and a set of temporal lengths. The control device further includes an input coupled to the processor and configured to receive an input indicating whether the set of appliances is in the correct state. The processor is configured to control the memory to store the second temporal length, if the input indicates that the set of appliances is in the correct state.
According to a specific embodiment, the control device system is a blaster, and is configured to be controlled by a remote control device and relay command codes to the set of appliances. Alternatively, the control device system is a hand-held remote control device. The appliance is a computer for controlling an application or service operating on the computer. The display is a touch screen and includes the input, and is configured to receive the input in response to the questions. The processor is configured to control transmissions by the transmitter.
According to another specific embodiment, the control device system further includes a second transmitter configured to transmit the rearranged order of the commands codes and the second temporal length to a remote server for storage in a database. The remote server is configured to transmit the rearranged order of the commands codes and the second temporal length to other control device systems.
These and other embodiments of the present invention are described in more detail in conjunction with the text below and the attached figures.
Embodiments of the present invention generally provide a remote control configured to control a set of appliances. More particularly, embodiments of the present invention relate to adjusting the temporal spacings between command codes that are delivered from a remote control to a set of appliances.
The set of appliances 110 may include a television 110a, a DVD player 110b, a personal video recorder (PVR) 110c, a stereo system 110d, a set-top-box 110e, a portable electronic device (e.g., a smart phone), another remote control 110f, etc. The other remote control might be a “blaster” or the like configured to receive command codes from the remote control and then transmit the received command codes to other appliances, such as a television or the like. The blaster might be included in a set-top-box or the like. According to one embodiment, remote control 105 is a blaster. A blaster may be configured to receive command codes in one format (e.g., IR), and re-transmit the command codes in another format (e.g., RF). Alternatively, a blaster may be configured to receive and transmit in the same format, such as receiving IR and transmitting IR. According to another embodiment, remote control 105 is a set-top-box configured to control other appliances. According to another embodiment, remote control 105 is a portable electronic device, such as a traditional sized universal remote control, a smart phone, a personal digital assistant, or the like. A set of appliances may include a heating system, a cooling system, lighting, window coverings, or other building or home systems, etc.
According to one embodiment, remote control 105 is configured to control the computer 115 via a set of command codes issued to the computer by the remote control. More specifically, the remote control is configured to control an application operating on the computer, such as a media application (e.g., iTunes™ Apple Inc., Cupertino Calif.), an Internet application (e.g., a Netflix™ application, Netflix, Inc. San Jose Calif., a Hulu™ application, Hulu, Inc., Los Angeles Calif., etc.) or the like operating on the computer. Computer 115 may be nearly any type of computer including a tablet computer, a lap top computer, a notebook computer, a personal digital assistant, a smartphone (e.g., an iPhone™ Apple Inc., Cupertino Calif.), a set-top box, a blaster, or any other type of processor, etc.
According to one embodiment, memory 215 may include one or more of a variety of memories including a miniature hard disk drive, a solid state memory, etc. Memory 215 is configured to store computer code configured to embody one or more remote control operation methods of embodiments of the present invention. Memory 215 may also be configured to store one or more sets of command codes for controlling various appliances. Memory 215 may also be configured to store timing information, where the timing information includes the temporal spacings between command codes.
In one embodiment, the various functions and operating method of the remote control, and/or the components composing the remote control are distributed on different devices. For instance, in one embodiment, a user interface module (typically included in a handheld device) of the remote control includes the user interface, and a transmitter transmitting command codes. In such an embodiment, the user interface module may be a software application on another device such as a smartphone. In one embodiment, the transmitted command codes are transmitted directly to the applications being controlled. In another embodiment, the transmitted command codes are transmitted to a blaster, which in turn communicates with (e.g., transmits command codes) to the appliances and/or applications being controlled. In one embodiment, the temporal lengths between command codes, optimized delays for command codes, sequences of command codes, etc. are stored on a processing module of the remote control. In one embodiment, this processing module of the remote control is in the same physical device as the blaster. In one embodiment, there is also an uploading module for communicating with a database wherein the uploading module uploads optimized temporal lengths between command codes, sequences of command codes, etc. to the database. In one embodiment, this uploading module is in the same physical device as the processing module. In one embodiment, the uploading module communicates directly with a remote database. In one embodiment, the uploading module communicates with a local computer, which in turn communicates with the remote database. In different embodiments, the user interface module, processing module, and uploading module may be in the same physical device or in different physical devices in any combination.
Inter-Device Delay
According to the embodiment described immediately below, the second command code is a power on command code for powering on the second appliance. The first command code may be one of a number of different command codes that the first appliance is configured to understand. It is noted that the first command code is not a command code the second appliance will understand and the second appliance will not execute a function for the second command code. While the method steps specifically discuss that the second command code is a power on command code, the method described below is not so limited. The second command code might be any command code that the second appliance is configured to understand and execute a function for.
At an initial step 305, remote control 105 receives an input (e.g., a button press, a received IR transmission if the remote control is a blaster, etc.) configured to direct the remote control to transmit a set of command codes to a set of appliances. The set of command codes may include the first command and the power on command code (or more generally a second command code that the second appliance is configured to understand and execute a function for). The set of command codes may be for an “activity.” An activity includes the issuance of a number of command codes for a specific purpose and the execution of a number of functions on a set of appliances to achieve the specific purpose. For example, a “Watch DVD” activity might be associated with the functions of the DVD player turning on (first function), TV turning on (second function), the TV tuning to the DVD player input, e.g., HDMI input (third function), and the DVD player playing a DVD that is in the DVD player (fourth function). According to another example, an activity might be directed at a TV turning on and the TV tuning to a set-top-box input for a cable television provider. The TV turning on is a first function, and the TV tuning to the set-top-box input is a second function. The first function may be associated with a first command code for turning on the TV and the second function may be associated with a command code for changing the input of the TV to the set-top-box. The foregoing described activity might be associated with a given button on the remote control and might be the “Watch TV” activity where watching TV is the specific purpose of the activity. The button may be a hard button or may be a soft button on the display. It is understood that the foregoing described functions are exemplary and not limiting on the claims.
It is noted that a set of command codes is sometimes referred to as a macro. A set of command codes according to an embodiment of the present invention is not a fixed set. Various command codes may be added to, or removed from, a set of command codes so that an activity may be executed by a set of appliances. In one embodiment, such modifications to the set of command codes may be based on a knowledge of the current states of the various appliances. In one embodiment, such knowledge is communicated by the appliances to the remote control system. In another embodiment, such knowledge of the current states of various appliances is simulated by the remote control system, as described in U.S. Pat. No. 6,784,805, titled “State-Based Remote Control System” of Glen McLean Harris et al., assigned to the assignee of the instant application, and which is incorporated by reference herein in its entirety for all purposes.
Referring again to
At a step 320, the help process asks the user, via the display, a question regarding whether the second appliance is powered on (or more generally asks whether the second function or the second command code has been properly executed). If the remote control receives an input that the second appliance is powered on, the method ends, step 325. If the remote control receives an input that the second appliance is not powered on, the remote control re-transmits the power on command code, and logs in memory that the second appliance was not powered on by the set of command codes, step 330. The input may be received via the display (which may be a touch screen), and more specifically via soft buttons or the like displayed on the display. The steps in the remote control operation method may be repeated a number of times, until the memory has logged a given number of times (e.g., 5 times, 7 times, 10 times, etc.) that the second appliance has not been powered on by the set of command codes, step 335.
If the number of times that the second appliance has not been powered on is the given number of times, the remote control is configured to determine that the first temporal length should be lengthened, step 340. That is, if the second appliance is not powered on the given number of times by the set of command codes, the remote control is configured to determine that the failure is likely not associated with an arbitrary event, such as the transmission from the remote control to the second appliance being blocked my something, for example, a child, a pet, etc. moving between the remote control and the second appliance at the time the set of command codes is transmitted by the remote control.
If the number of times that the second appliance has not been powered on is the given number of times, the remote control is configured to lengthen the temporal length between the first command code and the power on command code (or more generally a second command code other than the power on command code).
In accordance with one embodiment of the present invention, the temporal length adjustment method is an interactive method in which the remote control asks the user for input to aid the remote control to determine an appropriate temporal length for the set of command codes. Because the described temporal length adjustment method is an interactive method, the remote control is configured, in one embodiment, to execute the method at a time that is likely not to interrupt the user's use of the set of appliances, step 405. For example, the remote control is configured to determine a likely time that the user has stopped watching a television program, has stopped listening to a CD, has stopped watching a DVD program, etc. For example, the remote control might determine that a television movie that the user is watching ends at 10 p.m. The remote control might determine that the television movie ends at 10 pm based on the channel that the TV is turned to and an electronic program guide stored in memory. The remote control might know the length of time the CD plays or the DVD program plays based on the program guide. Alternatively, the remote control might determine that the user has stopped using a set of appliances via the remote control receiving one or more command codes to turn off a set of appliances, to change the input to a TV, to change the channel of a TV or set-top-box, to change a CD or a DVD, etc.
At a step 410, the remote control asks the user, via the display, whether the second appliance appears to be not turning on correctly. If the user indicates “no” (e.g., via a button press on the remote control) that there does not appear to be a problem with the powering on of the second appliance, the method ends, step 415. If the user indicates “yes” (e.g., via a button press on the remote) that there does appear to be a problem with the powering on of the second appliance, the remote control directs the user (e.g., via a direction on the display) to turn off the second appliance using the remote control, for example, step 420. The remote control may ask the user whether the second appliance is off, step 425, and may repeat steps 420 and 425 until the user indicates affirmatively that the second appliance is off. The input received from the user may be via the display (which may be a touch screen), and more specifically via soft buttons or the like displayed on the display.
At a step 430, the remote control increases the first temporal length by a given amount to a second temporal length. The first temporal length may be increased by the processor by adding a number of delay counts or the like to a timer configured to set the temporal length between command codes. Those of skill in the art will know of a number of other methods for increasing the temporal length between command codes to the second temporal length.
At a step 435, the remote control transmits a first command code and the power on command code to the set of appliances. The first command code may be the same command code for the same action, which was identified in the remote control operation method 300 as failing. For example, the first command code might be the power on command code for the DVD player, and the second command code may be the power on command code for the TV where these command codes are for the Watch DVD activity. The TV after receiving the first command code will not be able to execute a function for the first command code. According to one alternative embodiment, the first command code is selected by the remote control such that the first command code is not a command code that the second appliance (e.g., the TV) is configured to understand or execute a function for. That is, according to this alternative embodiment, the first command code is a “dummy” command from the perspective of the second appliance (e.g., the TV).
At the step 435, the power on command code is transmitted after the first command code at the time at which the second temporal length ends. The second appliance is configured to receive the first command code and begin processing this first command code to determine whether the second appliance can execute a function for the first command code. If the second temporal length passes, and the second appliance can receive the power on command code and execute the function of powering on, the second temporal length is sufficient. If the second appliance cannot receive the power on command code and/or cannot execute the function of powering on, the second temporal length is insufficient. In one embodiment, the remote control is configured to determine whether the second temporal length is sufficient by asking the user, via a question displayed on the display, whether the second appliance is powered on, repeat step 410. According to an alternative embodiment, if the second appliance is so equipped, the second appliance is configured to communicate to the remote control whether the second appliance it is powered on. If the remote control receives an affirmative answer (e.g., via a button press from a user) that the second consumer device is powered on, the remote control is configured to store the second temporal length in memory (e.g., store an increased counter value that sets temporal delay between the first command code and the power on command code to the second temporal length), repeat step 415. After the remote control stores the second temporal length, the method ends. The remote control will thereafter use the second temporal length for sets of command codes that include a power on command code for the second appliance.
If the remote control receives a negative answer (e.g., via a button press from a user) that the second consumer device is not powered on, the remote control is configured to determine that the second temporal length is too short. The remote control will then execute steps 420, 425 (possibly repeatedly), and execute steps 430, 435, 410, and 415 until the second appliance powers on (as determined at step 415) or until a maximum temporal length between the first command code and the power on command code is reached (e.g., 2 seconds). At step 430, the second temporal length is used as a new first temporal length. Thereby, the first temporal length and the second temporal length increases with each pass through the repeated steps. If the maximum temporal length is reached, the remote control may direct the user to use the remote server (e.g., use the remote server via the remote control or via the computer) for help in correcting the power on problem. Also, if the maximum temporal length between the command codes is reached and the second appliance does not turn on, then the remote control may be configured not to change the first temporal length.
According to one alternative embodiment of the present invention, the remote control may be in two-way communication with the appliance that receives the power on command code. The remote control may be configured to query the appliance to determine whether the appliance powered on correctly (alternative step 410) instead of asking a user of the remote control via the display whether the appliance powered on correctly. The presently described alternative method may proceed as in steps 415-435, but with the remote control communicating with the appliance via two-way communication to issue questions to the appliance and to collect input from the appliance instead of issuing questions to a user and collecting input from a user. The two-way communication link between the remote control and the appliance may be a bi-directional RF link, a bi-directional IR link, a bidirectional visible light link, a bidirectional wired link (e.g., USB link, an HDMI link, etc.), a bi-direction internet protocol (IP) link (e.g., communicated though a local wireless router or the like), etc.
According to one embodiment, the embodiments described with respect to
According to one specific embodiment, the remote control (for example, via computer 115 or directly via a wireless link) is configured to transfer the second temporal length to the remote server 120. The remote server may be configured to store the second temporal length in a database. The remote server may be configured so that other remote controls and/or other blasters may access the remote server via a user computer (or the like) to have the second temporal length downloaded to the other remote controls and/or other blasters so that these other remote controls and/or other blasters may use the second temporal length downloaded from the remote server. U.S. Pat. No. 7,436,319, titled “Method and Apparatus for Uploading and Downloading Remote Control Codes,” of Glen McLean Harris et al., which is assigned to the assignee of the instant application, is incorporated by reference herein in its entirety, describes an apparatus and method for uploading and downloading command codes between a remote control and a remote server having a command code database.
According to another alternative embodiment, the remote control might be configured to receive an input where the user may request that the temporal length adjustment method be started. That is, the user might desire to have the temporal length adjustment method 400 started after the failure to the set of command codes has failed a single time, twice, etc. This is essentially a manual start of the temporal length adjustment method. The input to start the temporal length adjustment method might be provided via a hard button on the remote control, via a soft button on the display, via a soft button after the remote control starts a help process, or the like. In one embodiment, when the user requests the temporal length adjustment method, the pre-determined number of times that a command has to fail prior to the temporal length being adjusted is one.
Power-on Delay
At an initial step 505, remote control 105 receives an input (e.g., a button press, an received IR transmission if the remote control is a blaster, etc.) for the activity “Watch TV,” and via the received input the remote control is configured to transmit the command codes for the Watch TV activity to the TV. The command codes for the activity Watch TV include the power on command code and the set-top-box input command code (i.e., change the TV to the set-top-box input).
At a step 510, the power on command code is transmitted from the remote control and after a first temporal length the set-top-box input command code is transmitted from the remote control. At a step 515, the remote control receives an input to execute a “help” process on the remote control. The user might initiate the help process on a display coupled to the remote control if the input in not properly set to the set-top-box input.
At a step 520, the help process asks the user, via the display, a question regarding whether the TV input is set for the set-top-box input. If the remote control receives an input (e.g., via a button press on the remote control from a user) that the TV input is set for the set-top-box input, the method ends, step 525. If the remote control receives an input (e.g., via a button press on the remote control from a user) that the TV input is not set for the set-top-box input, the remote control re-transmits the set-top-box input command code to set the proper input for the TV, and the remote control also logs in memory that the TV input was not set for set-top-box input for the activity Watch TV, step 530. Steps 505, 510, 515, 520, 525, and 530 in the remote control operation method may be repeated a number of times, until the memory has logged a given number of times (e.g., 5 times, 7 times, 10 times, etc.) that the TV input has not been set for the set-top-box input for the given activity, step 535.
If the number of times that the TV has not been set to the set-top-box input is the given number of times, the remote control is configured to determine that the first temporal length between the power on command and the set-top-box input command code should be lengthened, step 540. That is, if the TV is not set to the proper input the given number of times by the set of command codes for the activity, the remote control is configured to determine that the failure is likely not associated with an arbitrary event, and is associated with the temporal length between the power on command code and the set-top-box input command code.
Additionally, if the number of times that the TV has not properly executed the pair of command codes, the remote control is configured lengthen the first temporal length to a second temporal length.
The method of
At a step 610, the remote control asks the user, via the display of a question on the displays, whether there appears to be a problem with input for the TV being set for the set-top-box input for the activity Watch TV. More generally, the question may be directed towards whether any second command code (for an activity) following a power on command code was executed correctly. It is to be understood that the method of
If the user indicates “no” (e.g., via a button press on the remote control) that there does not appear to be a problem with the TV being set to the set-top-box input, then the method ends, step 615. If the user indicates “yes” (e.g., via a button press on the remote control) that there does appear to be a problem with the TV being set to the set-top-box input, the remote control directs the user (e.g., via a direction on the display) to turn off the TV using the remote control, for example, step 620. The remote control may ask the user whether the TV is off, step 625, and then may repeat steps 620 and 625 until the user indicates affirmatively that the TV is off.
At a step 630, the remote control increases the first temporal length by a given amount to a second temporal length. Increasing the first temporal length to the second temporal length is described above in detail.
At a step 635, the remote control transmits the power on command code and the set-top-box input command code to the TV. The set-top-box input command code is transmitted after the power on command code is transmitted and is transmitted at the time that the second temporal length ends. If the second temporal length passes, and the TV can receive the set-top-box input command code and change the input to the set-top-box, then second temporal length is sufficient. If the second temporal length passes, and the TV cannot receive the set-top-box input command code and/or cannot change the input to the set-top-box, the second temporal length is insufficient. The remote control is configured to ask the user, via a question displayed on the display, whether there appears to be a problem with input on the TV being set for the set-top-box input, repeat step 610. If the remote control receives an answer (e.g., a button press on the remote control) that the input for the TV is for the set-top-box, the function for the set-top-box input command code is properly executed, the remote control is configured to store the second temporal length in memory (e.g., store an increased counter value that sets temporal delay to the second temporal length), repeat step 615. After the remote control stores the second temporal length, the method ends. The remote control will thereafter use the second temporal length for the given activity (e.g., turn on the TV and set the TV input to the set-top-box).
If the remote control receives an answer (e.g., a button press on the remote control) that the input for the TV is not for the set-top-box input, the remote control is configured to execute steps 620 and 625 (possibly repeatedly) until the TV is off, execute steps 630, 635, 610, and 615 until the input for the TV is set for the set-top-box (as determined at step 615) or until a maximum temporal length is reached (e.g., 2 seconds). If the maximum temporal length is reached, the remote control may direct the user to use the remote server (e.g., via the remote control or via the computer) for help in correcting the problem for the activity (e.g., the “Watch TV” activity). Also, if the maximum temporal length between the command codes is reached, then the remote control may be configured not to change the first temporal length.
According to an alternative embodiment, the remote control might be configured to receive an input where the user may request that the temporal length adjustment method 600 be started. That is, the user might desire to have the temporal length adjustment method 600 started after the failure to the set of command codes has failed a single time, twice, etc. This is essentially a manual start of the temporal length adjustment method. The input to start the temporal length adjustment method might be provided via a hard button on the remote control, via a soft button on the display, via a soft button after the remote control starts a help process, or the like. In one embodiment, when the user requests the temporal length adjustment method, the pre-determined number of times that a command has to fail prior to the temporal length being adjusted is one.
According to one alternative embodiment of the present invention, the remote control may be in two-way communication with the TV that receives the power on command code and then receives the set-top-box input command code. The remote control may be configured to query the TV to determine whether the TV is set to the set-top-box input (alternative step 610) instead of asking a user of the remote control whether the TV is set to the set-top-box input. The presently described alternative method may proceed as in steps 615-635, but with the remote control communicating with the TV via two-way communication to issue questions to the TV and to collect input from the TV instead of issuing questions to a user via the display and collecting input from a user. Two-way communication links are described in detail above with respect to the temporal length adjustment method 400.
According to one embodiment, methods 300, 400, 500, and 600 (described with respect to
According to one specific embodiment, the remote control (for example, via computer 115 or directly via a wireless link) is configured to transfer the second temporal length to the remote server 120. The remote server may be configured to store the second temporal length in a database. The remote server may be configured so that other remote controls and/or other blasters may access the remote server via a user computer (or the like) to have the second temporal length downloaded to the other remote controls and/or the other blasters so that these other remote controls and/or other blasters may use the second temporal length downloaded from the remote server.
According to another embodiment, the remote control is configured to display a set of questions on the display to ask the user whether the user would like to manually fix a temporal length problem that the remote control has identified as a potential problem. According to one embodiment, the temporal length adjustment method is an interactive method, and therefore, the remote control is configured to execute the method at a time that is likely not to interrupt the user's use of the set of appliances. Generally acceptable times for executing the method for adjusting the temporal length are described above in detail with respect to the description of
If the user indicates “no” (e.g., via a button press on the remote control) that there does not appear to be a problem with a particular activity or with a given appliance (e.g., a TV, a computer operating a media application, a DVD player, etc.), then the method ends, step 705. If the user indicates “yes” (e.g., via a button press on the remote control) that there does appear to be a problem with a particular activity or with a given appliance, then the remote control is configured to display on the display a guide for the user to adjust the temporal length between two command codes for which the remote control, the user, or another device (e.g., a blaster) has identified as a problem. The remote control may display on the display an instruction for the user to increase a temporal length between command codes via a given input (e.g., press a first button) on the remote control, and to decrease a temporal length between command codes via another input (e.g., press a second button), step 710. A default temporal length value for the specific command codes may be displayed on the display. The maximum and minimum temporal lengths might also be displayed. If the remote control receives an input to change the temporal length, the remote control may store the changed temporal length in memory for future use with the given set of command codes, step 715.
Inter Key Delay
According to one embodiment of the present invention, the remote control may be configured to transmit a plurality of command codes to an appliance, such as a TV to put the TV in a desired state. The plurality of command codes might include four channel-up command codes for example. The remote control might transmit the plurality of command codes based on an input received by the remote control from a user (e.g., four relatively temporally close button presses for channel up). Alternatively, the remote control might transmit the command codes as part of an activity or macro, or the plurality of command codes might be the entirety of command codes for an activity or macro. If the temporal lengths between the plurality of command codes is too short, then each command codes in the plurality of command codes might not be executed by the appliance. The temporal lengths between command codes that typically do not include power on command codes are relatively short. For example, the remote control might set an initial temporal length between two command codes for inter key delays at 1/10 of a second, whereas the initial temporal length may be approximately 1 second for two command codes where the first command code is a power on command code. If the remote control receives an input to start a help process after a plurality of command codes are transmitted from the remote control (where the plurality of command codes do not include a power on command), the remote control might log a failure for the plurality of command codes in memory and start a temporal length adjustment method (e.g., such as method 400 or 600) after a given number of failures (e.g., 5 failures) are logged in memory for the plurality of command codes.
Alternatively, the remote control might start a temporal length adjustment method after a single failure is logged for the failure of the plurality of command codes. The remote control might start the temporal length adjustment method after a single failure because the initial temporal lengths between the command codes is relatively short (e.g., 1/10 second) and the incremental increase in the temporal length might also be relatively short (e.g., 1/10 second) therefore the total transmission length of the plurality of command codes will remain relatively short (e.g., less than 1 to 2 seconds). Because the total transmission length will generally remain relatively short, the time taken by the appliance to execute the plurality of command codes will also remain relatively short such that a user using the remote control will not generally notice that that the total transmission length has been lengthened, or alternatively the total transmission length will not become so long that the user will be displeased/annoyed with the total time taken by the appliance to execute the plurality of command codes.
According to another alternative embodiment, the remote control might be configured to receive an input where the user may request that the temporal length adjustment method be started. This is essentially a manual start of the temporal length adjustment method. The input to start the temporal length adjustment method might be provided via a hard button on the remote control, via a soft button on the display, via a soft button after the remote control starts a help process, or the like.
The temporal length adjustment method for adjusting the inter key delay (the temporal lengths between inter key command codes, such as channel-up command codes) may be substantially similar to temporal length adjustment method 400 or 600 described above.
Input Delay
According to one embodiment of the present invention, the remote control may be configured to transmit a plurality of command codes to change the input of a TV or the like. TVs are often configured to change inputs serially. For example, if the TV has 5 inputs (e.g., HDMI 1, HDMI 2, component 1, component 2, and component 3), to change the input from HDMI 2 to component 2, two input down command codes may be transmitted to the TV to change the input from HDMI 2, to component 1, then to component 2. The two input down command codes may be transmitted to the TV if the remote control knows the input state of the TV is HDMI 2 (see U.S. Pat. No. 6,784,805, which is incorporated by reference herein in its entirety), and the users enters the activity for changing the input to component 2 (which might be the input the that DVD player is connected to) the remote control may then transmit two input down command codes to the TV. If the temporal lengths between the input down command codes (or alternatively input up command codes) is too short, the TV will not be able to receive and/or execute the two input down command codes, and the input of the TV will change by one input. According to the example being considered, the input would change from HDMI 2 to component 1, and would not change to component 2 after the change to component 1. If the remote control receives an input to start a help process after a plurality of command codes (e.g., input down command codes) are transmitted from the remote control, the remote control might log a failure for the plurality of command codes in memory and start a temporal length adjustment method (e.g., such as method 400 or 600) after a given number of failures (e.g., 5 failures) are logged in memory for the plurality of command codes. Alternatively, the remote control might start a temporal length adjustment method after a single failure is logged for the failure of the plurality of command codes. According to another alternative embodiment, the remote control might be configured to receive an input where the user may request that the temporal length adjustment method be started. This manual start of the temporal length adjustment method is described above in detail. The temporal length adjustment method for adjusting the input delay (e.g., the temporal lengths between input down command codes) may be substantially similar to temporal length adjustment method 400 or 600 described above.
Shortening of Temporal Lengths Between Command Codes and Optimizing the Sequence of Command Codes
While the above discussion describes methods for lengthening of the temporal lengths between command codes so that a set of command codes may be executed properly by a set of appliances, it is generally desirable that the temporal lengths between command codes be as short as possible so that a set of command codes (e.g., for an activity or a macro) may be transmitted from a remote control or a blaster in generally the shortest amount of time possible where the command codes continue to be properly executed by the set of appliances. It is generally desirable to have a set of command codes transmitted from a remote control in generally the shortest amount of time possible so that the chance of the transmission is not interrupted by something moving in between the remote control and the set of appliances, or so that the user does not aim the remote control away from the set of appliances while the remote control is transmitting command codes. The shortest possible time for transmitting an entire set/sequence of codes is also desirable in that a quicker start of the desired activity enhances overall user experience.
According to one embodiment of the present invention, to shorten the length of the temporal length between command codes, at step 415 of the temporal length adjustment method 400, if the user indicates “no” that there does not appear to be a problem with the powering on of the second appliance (e.g., the TV), the method does not end and the temporal length between the first command code and the second command code is shortened by the remote control. The remote control may then power off the TV or direct the user to power off the second appliance and may ask the user whether the second appliance is powered off until the remote control receives an affirmative answer that the second appliance is powered off (e.g., substantially similar to the latter half of step 420 and to step 425). Method step 430 and 435 may then be executed with temporal lengths between the command codes being shortened (instead of lengthened) until the set command codes fails to execute properly. Thereafter, the last temporal length at which the set of command codes was properly executed may be stored in memory by the remote control for future use by the remote control. Alternatively, after the set of command codes fails as the temporal length is shortened, the temporal length may be incrementally lengthened as in the original steps 430 and 435 until the remote control receives an affirmative input that the command codes executed properly. The temporal length identified as being a “passing” temporal length may then be stored in memory by the remote control for future use by the remote control as the “optimized” temporal length. According to one embodiment, step 615 of the temporal length adjustment method 600 may be similarly changed for decreasing the temporal length between the first and the second command code. The remainder of the steps of temporal length adjustment method 600 may be similarly modified as described immediately above to determine and store a temporal length that has been shortened to decrease the amount of time that the remote control transmits the first and second command code.
According to one alternative method, the remote control provides an option wherein a user may start a temporal length adjustment method for lowering the temporal lengths between command codes to optimize the operation of the user's remote control. Methods for starting a temporal length adjustment method from a user input are described in detail above.
According to another embodiment of the present invention, the transmission order of two or more command codes in a set of command codes (e.g., for an activity) may be switched or otherwise rearranged so that the temporal lengths between the command codes may be shortened to reduce the transmission time of the set of command codes from the remote control. For example, a set of command codes may be issued for a multi command code activity, such as Watch DVD. One or more of the temporal spacings between the command codes for the Watch DVD activity might be able to be decreased by rearranging the transmission order of the command codes. The remote control might be configured to rearrange the transmission order of the command codes and thereafter start a temporal length adjustment method to shorten the temporal lengths between the command codes (described immediately above) for the activity or the like. If the temporal lengths cannot be shortened without the command codes failing, the remote control may be configured to restore the order of the command codes to an original order or otherwise leave the command codes in the same order but not reduce the temporal lengths. According to one embodiment of the present invention, the process for rearranging the transmission order of command codes may be initiated by the remote control or may be initiated by a user selecting an input on the remote control for starting this method. According to one embodiment, an optimized sequence of command codes (e.g., for a particular activity) is uploaded to a database for downloading to other remotes.
While various embodiments have been described above in the context of various delays (e.g., inter-device delays, power on delays, etc.), it is to be noted that the various embodiments may be employed (after suitable adaption, if needed) with any of the different types of delays described above. Furthermore, it is to be understood that the various embodiments described above may be used and adapted for other types of delays not specifically described herein. It is to be understood that the examples and embodiments described above are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art, and are to be included within the spirit and purview of this application and scope of the appended claims. Therefore, the above description should not be understood as limiting the scope of the invention as defined by the claims.
| Number | Name | Date | Kind |
|---|---|---|---|
| 3597531 | Marinis et al. | Aug 1971 | A |
| 3990012 | Karnes | Nov 1976 | A |
| 4174517 | Mandel | Nov 1979 | A |
| 4231031 | Crowther et al. | Oct 1980 | A |
| 4287676 | Weinhaus | Sep 1981 | A |
| 4377870 | Anderson et al. | Mar 1983 | A |
| 4392022 | Carlson | Jul 1983 | A |
| 4394691 | Amano et al. | Jul 1983 | A |
| 4475123 | Dumbauld et al. | Oct 1984 | A |
| 4488179 | Krueger et al. | Dec 1984 | A |
| 4566034 | Harger et al. | Jan 1986 | A |
| 4567512 | Abraham | Jan 1986 | A |
| 4592546 | Fascenda et al. | Jun 1986 | A |
| 4623887 | Welles, II | Nov 1986 | A |
| 4626848 | Ehlers | Dec 1986 | A |
| 4703359 | Rumbolt et al. | Oct 1987 | A |
| 4706121 | Young | Nov 1987 | A |
| 4712105 | Kohler | Dec 1987 | A |
| 4728949 | Platte et al. | Mar 1988 | A |
| 4746919 | Reitmeier | May 1988 | A |
| 4774511 | Rumbolt et al. | Sep 1988 | A |
| 4792972 | Cook, Jr. | Dec 1988 | A |
| 4799141 | Drusinsky et al. | Jan 1989 | A |
| 4807031 | Broughton et al. | Feb 1989 | A |
| 4825200 | Evans et al. | Apr 1989 | A |
| 4825209 | Sasaki et al. | Apr 1989 | A |
| 4837627 | Mengel | Jun 1989 | A |
| 4845491 | Fascenda et al. | Jul 1989 | A |
| 4857898 | Smith | Aug 1989 | A |
| 4866434 | Keenan | Sep 1989 | A |
| 4876592 | Von Kohorn | Oct 1989 | A |
| 4888709 | Revesz et al. | Dec 1989 | A |
| 4899370 | Kameo et al. | Feb 1990 | A |
| 4918439 | Wozniak et al. | Apr 1990 | A |
| 4941090 | McCarthy | Jul 1990 | A |
| 4959719 | Strubbe et al. | Sep 1990 | A |
| 4959810 | Darbee et al. | Sep 1990 | A |
| RE33369 | Hashimoto | Oct 1990 | E |
| 4962466 | Revesz et al. | Oct 1990 | A |
| 4989081 | Miyagawa et al. | Jan 1991 | A |
| 4999622 | Amano et al. | Mar 1991 | A |
| 5001554 | Johnson et al. | Mar 1991 | A |
| 5016272 | Stubbs et al. | May 1991 | A |
| 5033079 | Catron et al. | Jul 1991 | A |
| 5038401 | Inotsume | Aug 1991 | A |
| 5046093 | Wachob | Sep 1991 | A |
| 5065235 | Iijima | Nov 1991 | A |
| 5065251 | Shuhart et al. | Nov 1991 | A |
| 5089885 | Clark | Feb 1992 | A |
| 5097249 | Yamamoto | Mar 1992 | A |
| 5109222 | Welty | Apr 1992 | A |
| 5115236 | Koehler | May 1992 | A |
| 5117355 | McCarthy | May 1992 | A |
| 5128752 | Von Kohorn | Jul 1992 | A |
| 5132679 | Kubo et al. | Jul 1992 | A |
| 5140326 | Bacrania et al. | Aug 1992 | A |
| 5151789 | Young | Sep 1992 | A |
| 5161023 | Keenan | Nov 1992 | A |
| 5177461 | Budzyna et al. | Jan 1993 | A |
| 5202826 | McCarthy | Apr 1993 | A |
| 5204768 | Tsakiris et al. | Apr 1993 | A |
| 5206722 | Kwan | Apr 1993 | A |
| 5220420 | Hoarty et al. | Jun 1993 | A |
| 5228077 | Darbee | Jul 1993 | A |
| 5237327 | Saitoh et al. | Aug 1993 | A |
| 5249044 | Von Kohorn | Sep 1993 | A |
| 5251048 | Doane et al. | Oct 1993 | A |
| 5255313 | Darbee | Oct 1993 | A |
| 5272418 | Howe et al. | Dec 1993 | A |
| 5282028 | Johnson et al. | Jan 1994 | A |
| 5285278 | Holman | Feb 1994 | A |
| 5287181 | Holman | Feb 1994 | A |
| 5287268 | McCarthy | Feb 1994 | A |
| 5297204 | Levine | Mar 1994 | A |
| 5341166 | Garr et al. | Aug 1994 | A |
| 5353121 | Young et al. | Oct 1994 | A |
| 5355480 | Smith et al. | Oct 1994 | A |
| 5367316 | Ikezaki | Nov 1994 | A |
| 5374999 | Chuang et al. | Dec 1994 | A |
| 5381991 | Stocker | Jan 1995 | A |
| 5382947 | Thaler et al. | Jan 1995 | A |
| 5384067 | Doane et al. | Jan 1995 | A |
| 5404393 | Remillard | Apr 1995 | A |
| 5406558 | Rovira et al. | Apr 1995 | A |
| 5410326 | Goldstein | Apr 1995 | A |
| 5410367 | Zahavi et al. | Apr 1995 | A |
| 5410543 | Seitz et al. | Apr 1995 | A |
| 5410580 | Seino | Apr 1995 | A |
| 5414426 | O'Donnell et al. | May 1995 | A |
| 5414761 | Darbee | May 1995 | A |
| 5416535 | Sato et al. | May 1995 | A |
| 5418424 | Aprile et al. | May 1995 | A |
| 5422783 | Darbee | Jun 1995 | A |
| 5446551 | Kawaguchi et al. | Aug 1995 | A |
| 5450079 | Dunaway | Sep 1995 | A |
| 5455570 | Cook et al. | Oct 1995 | A |
| 5461667 | Remillard | Oct 1995 | A |
| 5479266 | Young et al. | Dec 1995 | A |
| 5479268 | Young et al. | Dec 1995 | A |
| 5481251 | Buys et al. | Jan 1996 | A |
| 5481256 | Darbee et al. | Jan 1996 | A |
| 5483276 | Brooks et al. | Jan 1996 | A |
| 5497185 | Dufresne et al. | Mar 1996 | A |
| 5500681 | Jones | Mar 1996 | A |
| 5500794 | Fujita et al. | Mar 1996 | A |
| 5502504 | Marshall et al. | Mar 1996 | A |
| 5504475 | Houdou et al. | Apr 1996 | A |
| 5510828 | Lutterbach et al. | Apr 1996 | A |
| 5515052 | Darbee | May 1996 | A |
| 5515106 | Chaney et al. | May 1996 | A |
| 5515270 | Weinblatt | May 1996 | A |
| 5517254 | Monta et al. | May 1996 | A |
| 5523794 | Mankovitz et al. | Jun 1996 | A |
| 5523796 | Marshall et al. | Jun 1996 | A |
| 5524141 | Braun et al. | Jun 1996 | A |
| 5524195 | Clanton, III et al. | Jun 1996 | A |
| 5528304 | Cherrick et al. | Jun 1996 | A |
| 5532689 | Bueno | Jul 1996 | A |
| 5532732 | Yuen et al. | Jul 1996 | A |
| 5532754 | Young et al. | Jul 1996 | A |
| 5537106 | Mitsuhashi | Jul 1996 | A |
| 5537107 | Funado | Jul 1996 | A |
| 5537463 | Escobosa et al. | Jul 1996 | A |
| 5539393 | Barfod | Jul 1996 | A |
| 5550576 | Klosterman | Aug 1996 | A |
| 5552837 | Mankovitz | Sep 1996 | A |
| 5552917 | Darbee et al. | Sep 1996 | A |
| 5557338 | Maze et al. | Sep 1996 | A |
| 5557721 | Fite et al. | Sep 1996 | A |
| 5559548 | Davis et al. | Sep 1996 | A |
| 5566353 | Cho et al. | Oct 1996 | A |
| 5568367 | Park | Oct 1996 | A |
| 5576755 | Davis et al. | Nov 1996 | A |
| 5576768 | Gomikawa | Nov 1996 | A |
| 5579055 | Hamilton et al. | Nov 1996 | A |
| 5579221 | Mun | Nov 1996 | A |
| 5583491 | Kim | Dec 1996 | A |
| 5585838 | Lawler et al. | Dec 1996 | A |
| 5585866 | Miller et al. | Dec 1996 | A |
| 5589892 | Knee et al. | Dec 1996 | A |
| 5592551 | Lett et al. | Jan 1997 | A |
| 5596373 | White et al. | Jan 1997 | A |
| 5600573 | Hendricks et al. | Feb 1997 | A |
| 5603078 | Henderson et al. | Feb 1997 | A |
| 5604616 | Dunn et al. | Feb 1997 | A |
| 5604923 | Wilkus | Feb 1997 | A |
| 5608446 | Carr et al. | Mar 1997 | A |
| 5614906 | Hayes et al. | Mar 1997 | A |
| 5619196 | Escobosa | Apr 1997 | A |
| 5619251 | Kuroiwa et al. | Apr 1997 | A |
| 5625608 | Grewe et al. | Apr 1997 | A |
| 5627567 | Davidson | May 1997 | A |
| 5629733 | Youman et al. | May 1997 | A |
| 5629868 | Tessier et al. | May 1997 | A |
| 5631652 | Lee | May 1997 | A |
| 5638050 | Sacca et al. | Jun 1997 | A |
| 5638113 | Lappington et al. | Jun 1997 | A |
| 5646608 | Shintani | Jul 1997 | A |
| 5650831 | Farwell | Jul 1997 | A |
| 5663757 | Morales | Sep 1997 | A |
| 5671267 | August et al. | Sep 1997 | A |
| 5677711 | Kuo | Oct 1997 | A |
| 5684526 | Yoshinobu | Nov 1997 | A |
| 5686891 | Sacca et al. | Nov 1997 | A |
| 5689353 | Darbee et al. | Nov 1997 | A |
| 5691795 | Doane et al. | Nov 1997 | A |
| 5695400 | Fennell et al. | Dec 1997 | A |
| 5710601 | Marshall et al. | Jan 1998 | A |
| 5710605 | Nelson | Jan 1998 | A |
| 5721597 | Kakinuma et al. | Feb 1998 | A |
| 5734838 | Robinson et al. | Mar 1998 | A |
| 5761601 | Nemirofsky et al. | Jun 1998 | A |
| 5768680 | Thomas | Jun 1998 | A |
| 5774172 | Kapell et al. | Jun 1998 | A |
| 5778256 | Darbee | Jul 1998 | A |
| 5781894 | Petrecca et al. | Jul 1998 | A |
| 5786814 | Moran et al. | Jul 1998 | A |
| 5794210 | Goldhaber et al. | Aug 1998 | A |
| 5796832 | Kawan | Aug 1998 | A |
| 5800268 | Molnick | Sep 1998 | A |
| 5806065 | Lomet | Sep 1998 | A |
| 5815086 | Ivie et al. | Sep 1998 | A |
| 5819034 | Joseph et al. | Oct 1998 | A |
| 5819294 | Chambers | Oct 1998 | A |
| 5822123 | Davis et al. | Oct 1998 | A |
| 5828318 | Cesar | Oct 1998 | A |
| 5828945 | Klosterman | Oct 1998 | A |
| 5832296 | Wang et al. | Nov 1998 | A |
| 5847798 | Yang et al. | Dec 1998 | A |
| 5850249 | Massetti et al. | Dec 1998 | A |
| 5855008 | Goldhaber et al. | Dec 1998 | A |
| 5870030 | Deluca et al. | Feb 1999 | A |
| 5870683 | Wells et al. | Feb 1999 | A |
| RE36119 | Kunishima et al. | Mar 1999 | E |
| 5883680 | Nykerk | Mar 1999 | A |
| 5886691 | Furuya et al. | Mar 1999 | A |
| 5907322 | Kelly et al. | May 1999 | A |
| 5909183 | Borgstahl et al. | Jun 1999 | A |
| 5923016 | Fredregill et al. | Jul 1999 | A |
| 5940073 | Klosterman et al. | Aug 1999 | A |
| 5943228 | Kim | Aug 1999 | A |
| 5946646 | Schena et al. | Aug 1999 | A |
| 5949351 | Hahm | Sep 1999 | A |
| 5953144 | Darbee et al. | Sep 1999 | A |
| 5959751 | Darbee et al. | Sep 1999 | A |
| 5963145 | Escobosa | Oct 1999 | A |
| 5999207 | Rodriguez et al. | Dec 1999 | A |
| 6002443 | Iggulden | Dec 1999 | A |
| 6002450 | Darbee et al. | Dec 1999 | A |
| 6008802 | Iki et al. | Dec 1999 | A |
| 6009410 | LeMole et al. | Dec 1999 | A |
| 6012088 | Li et al. | Jan 2000 | A |
| 6014092 | Darbee et al. | Jan 2000 | A |
| 6040829 | Croy et al. | Mar 2000 | A |
| 6057872 | Candelore | May 2000 | A |
| 6073374 | Tingmo | Jun 2000 | A |
| 6097309 | Hayes et al. | Aug 2000 | A |
| 6097441 | Allport | Aug 2000 | A |
| 6097520 | Kadnier | Aug 2000 | A |
| 6104334 | Allport | Aug 2000 | A |
| 6127941 | Van Ryzin | Oct 2000 | A |
| 6130625 | Harvey | Oct 2000 | A |
| 6130726 | Darbee et al. | Oct 2000 | A |
| 6133847 | Yang | Oct 2000 | A |
| 6134512 | Barrett | Oct 2000 | A |
| 6144315 | Flick | Nov 2000 | A |
| 6144375 | Jain et al. | Nov 2000 | A |
| 6147677 | Escobosa et al. | Nov 2000 | A |
| 6148241 | Ludtke et al. | Nov 2000 | A |
| 6154204 | Thompson et al. | Nov 2000 | A |
| 6154209 | Naughton et al. | Nov 2000 | A |
| 6157319 | Johns et al. | Dec 2000 | A |
| 6169451 | Kim | Jan 2001 | B1 |
| 6173330 | Guo et al. | Jan 2001 | B1 |
| 6177931 | Alexander et al. | Jan 2001 | B1 |
| 6195033 | Darbee et al. | Feb 2001 | B1 |
| 6198479 | Humpleman et al. | Mar 2001 | B1 |
| 6198481 | Urano et al. | Mar 2001 | B1 |
| 6208341 | Van Ee et al. | Mar 2001 | B1 |
| 6211870 | Foster | Apr 2001 | B1 |
| 6223348 | Hayes et al. | Apr 2001 | B1 |
| 6225938 | Hayes et al. | May 2001 | B1 |
| 6243035 | Walter et al. | Jun 2001 | B1 |
| 6255961 | Van Ryzin et al. | Jul 2001 | B1 |
| 6263346 | Rodriquez | Jul 2001 | B1 |
| 6271831 | Escobosa et al. | Aug 2001 | B1 |
| 6275268 | Ellis et al. | Aug 2001 | B1 |
| 6278499 | Darbee et al. | Aug 2001 | B1 |
| 6288799 | Sekiguchi | Sep 2001 | B1 |
| 6326947 | Capps | Dec 2001 | B1 |
| 6330091 | Escobosa et al. | Dec 2001 | B1 |
| 6369803 | Brisebois et al. | Apr 2002 | B2 |
| 6374404 | Brotz et al. | Apr 2002 | B1 |
| 6397187 | Vriens et al. | May 2002 | B1 |
| 6407779 | Herz | Jun 2002 | B1 |
| 6408435 | Sato | Jun 2002 | B1 |
| 6445306 | Trovato et al. | Sep 2002 | B1 |
| 6469633 | Wachter | Oct 2002 | B1 |
| 6483548 | Allport | Nov 2002 | B1 |
| 6483906 | Iggulden et al. | Nov 2002 | B1 |
| 6496135 | Darbee | Dec 2002 | B1 |
| 6496927 | McGrane et al. | Dec 2002 | B1 |
| 6504580 | Thompson et al. | Jan 2003 | B1 |
| 6522262 | Hayes et al. | Feb 2003 | B1 |
| 6532592 | Shintani et al. | Mar 2003 | B1 |
| 6538556 | Kawajiri | Mar 2003 | B1 |
| 6563430 | Kemink et al. | May 2003 | B1 |
| 6567011 | Young et al. | May 2003 | B1 |
| 6567984 | Allport | May 2003 | B1 |
| 6587067 | Darbee et al. | Jul 2003 | B2 |
| 6597374 | Baker et al. | Jul 2003 | B1 |
| 6628340 | Graczyk et al. | Sep 2003 | B1 |
| 6629077 | Arling et al. | Sep 2003 | B1 |
| 6637028 | Voyticky et al. | Oct 2003 | B1 |
| 6640144 | Huang et al. | Oct 2003 | B1 |
| 6642852 | Dresti et al. | Nov 2003 | B2 |
| 6650247 | Hayes | Nov 2003 | B1 |
| 6657679 | Hayes et al. | Dec 2003 | B2 |
| 6690290 | Young et al. | Feb 2004 | B2 |
| 6690392 | Wugoski | Feb 2004 | B1 |
| 6701091 | Escobosa et al. | Mar 2004 | B2 |
| 6701400 | Hayes et al. | Mar 2004 | B2 |
| 6720904 | Darbee | Apr 2004 | B1 |
| 6722984 | Sweeney, Jr. et al. | Apr 2004 | B1 |
| 6724339 | Conway et al. | Apr 2004 | B2 |
| 6747591 | Lilleness et al. | Jun 2004 | B1 |
| 6748248 | Pan et al. | Jun 2004 | B1 |
| 6748462 | Dubil et al. | Jun 2004 | B2 |
| 6759967 | Staller | Jul 2004 | B1 |
| 6781518 | Hayes et al. | Aug 2004 | B1 |
| 6781638 | Hayes | Aug 2004 | B1 |
| 6784804 | Hayes et al. | Aug 2004 | B1 |
| 6784805 | Harris et al. | Aug 2004 | B2 |
| 6785579 | Huang et al. | Aug 2004 | B2 |
| 6788241 | Arling et al. | Sep 2004 | B2 |
| 6813619 | Devara | Nov 2004 | B2 |
| 6826370 | Escobosa et al. | Nov 2004 | B2 |
| 6828992 | Freeman et al. | Dec 2004 | B1 |
| 6829512 | Huang et al. | Dec 2004 | B2 |
| 6829992 | Kobayashi et al. | Dec 2004 | B2 |
| 6842653 | Weishut et al. | Jan 2005 | B2 |
| 6847101 | Fjelstad et al. | Jan 2005 | B2 |
| 6859197 | Klein et al. | Feb 2005 | B2 |
| 6862741 | Grooters | Mar 2005 | B1 |
| 6870463 | Dresti et al. | Mar 2005 | B2 |
| 6874037 | Abram et al. | Mar 2005 | B1 |
| 6882299 | Allport | Apr 2005 | B1 |
| 6882729 | Arling et al. | Apr 2005 | B2 |
| 6885952 | Hayes | Apr 2005 | B1 |
| 6917302 | Lilleness et al. | Jul 2005 | B2 |
| 6933833 | Darbee | Aug 2005 | B1 |
| 6938101 | Hayes et al. | Aug 2005 | B2 |
| 6946988 | Edwards et al. | Sep 2005 | B2 |
| 6947101 | Arling | Sep 2005 | B2 |
| 6968570 | Hayes et al. | Nov 2005 | B2 |
| 6980150 | Conway et al. | Dec 2005 | B2 |
| 7005979 | Haughawout et al. | Feb 2006 | B2 |
| 7009528 | Griep | Mar 2006 | B2 |
| 7010805 | Hayes et al. | Mar 2006 | B2 |
| 7013434 | Masters et al. | Mar 2006 | B2 |
| RE39059 | Foster | Apr 2006 | E |
| 7046161 | Hayes | May 2006 | B2 |
| 7079113 | Hayes et al. | Jul 2006 | B1 |
| 7091898 | Arling et al. | Aug 2006 | B2 |
| 7093003 | Yuh et al. | Aug 2006 | B2 |
| 7102688 | Hayes et al. | Sep 2006 | B2 |
| 7119710 | Hayes et al. | Oct 2006 | B2 |
| 7126468 | Arling et al. | Oct 2006 | B2 |
| 7129995 | Arling | Oct 2006 | B2 |
| 7135985 | Woolgar et al. | Nov 2006 | B2 |
| 7136709 | Arling et al. | Nov 2006 | B2 |
| 7142127 | Hayes et al. | Nov 2006 | B2 |
| 7142934 | Janik | Nov 2006 | B2 |
| 7142935 | Janik | Nov 2006 | B2 |
| 7143214 | Hayes et al. | Nov 2006 | B2 |
| 7151528 | Taylor et al. | Dec 2006 | B2 |
| 7154428 | de Clercq et al. | Dec 2006 | B2 |
| 7154483 | Kobayashi | Dec 2006 | B2 |
| 7155305 | Hayes et al. | Dec 2006 | B2 |
| 7161524 | Nguyen | Jan 2007 | B2 |
| 7167765 | Janik | Jan 2007 | B2 |
| 7167913 | Chambers | Jan 2007 | B2 |
| 7193661 | Dresti et al. | Mar 2007 | B2 |
| 7200357 | Janik et al. | Apr 2007 | B2 |
| 7209116 | Gates et al. | Apr 2007 | B2 |
| 7218243 | Hayes et al. | May 2007 | B2 |
| 7221306 | Young | May 2007 | B2 |
| 7224903 | Colmenarez et al. | May 2007 | B2 |
| RE39716 | Huang et al. | Jul 2007 | E |
| 7253765 | Edwards et al. | Aug 2007 | B2 |
| 7254777 | Hayes et al. | Aug 2007 | B2 |
| 7266701 | Hayes et al. | Sep 2007 | B2 |
| 7266777 | Scott et al. | Sep 2007 | B2 |
| 7268694 | Hayes et al. | Sep 2007 | B2 |
| 7274303 | Dresti et al. | Sep 2007 | B2 |
| 7281262 | Hayes et al. | Oct 2007 | B2 |
| 7283059 | Harris et al. | Oct 2007 | B2 |
| 7319409 | Hayes et al. | Jan 2008 | B2 |
| 7319426 | Garfio | Jan 2008 | B2 |
| 7363028 | de Clerq et al. | Apr 2008 | B2 |
| 7379778 | Hayes et al. | May 2008 | B2 |
| 7412653 | Gates | Aug 2008 | B2 |
| 7432916 | Janik | Oct 2008 | B2 |
| 7436319 | Harris et al. | Oct 2008 | B1 |
| 7460050 | Alvarado et al. | Dec 2008 | B2 |
| 7471281 | Masters et al. | Dec 2008 | B2 |
| 7478079 | Robertson et al. | Jan 2009 | B2 |
| 7525289 | Janik et al. | Apr 2009 | B2 |
| 7548246 | Huang et al. | Jun 2009 | B2 |
| 7549008 | Kalayjian | Jun 2009 | B2 |
| 7562128 | Caris et al. | Jul 2009 | B1 |
| 7574693 | Kemink | Aug 2009 | B1 |
| 7586398 | Huang et al. | Sep 2009 | B2 |
| 7590999 | Perlman | Sep 2009 | B2 |
| 7610555 | Klein et al. | Oct 2009 | B2 |
| 7612685 | Harris et al. | Nov 2009 | B2 |
| 7652844 | Edwards et al. | Jan 2010 | B2 |
| 7653212 | Haughawout et al. | Jan 2010 | B2 |
| 7743012 | Chambers et al. | Jun 2010 | B2 |
| 7746244 | Wouters | Jun 2010 | B2 |
| 7746324 | Gates et al. | Jun 2010 | B2 |
| 7764190 | Mortensen | Jul 2010 | B2 |
| 7765245 | Nichols et al. | Jul 2010 | B2 |
| 7768234 | Janik et al. | Aug 2010 | B2 |
| 7783676 | Lim et al. | Aug 2010 | B2 |
| 7825995 | Dresti et al. | Nov 2010 | B2 |
| 7831930 | Dresti et al. | Nov 2010 | B2 |
| 7872642 | Hayes et al. | Jan 2011 | B2 |
| 7876255 | Conway, Jr. et al. | Jan 2011 | B2 |
| 7877705 | Chambers et al. | Jan 2011 | B2 |
| 7889095 | Harris et al. | Feb 2011 | B1 |
| 7895532 | Scott et al. | Feb 2011 | B2 |
| 7904579 | Janik et al. | Mar 2011 | B2 |
| 7907222 | Haughawout et al. | Mar 2011 | B2 |
| 7920824 | Janik et al. | Apr 2011 | B2 |
| 7941786 | Scott et al. | May 2011 | B2 |
| 7944370 | Harris et al. | May 2011 | B1 |
| 8026789 | Harris et al. | Sep 2011 | B2 |
| 8063923 | Lilleness et al. | Nov 2011 | B2 |
| 8098140 | Escobosa et al. | Jan 2012 | B1 |
| 8149218 | Garfio et al. | Apr 2012 | B2 |
| 8176432 | Klein et al. | May 2012 | B2 |
| 8253532 | Klein et al. | Aug 2012 | B2 |
| 8254576 | Arling et al. | Aug 2012 | B2 |
| 8255968 | Louie et al. | Aug 2012 | B2 |
| 8266667 | O'Donnell et al. | Sep 2012 | B2 |
| 8321466 | Black et al. | Nov 2012 | B2 |
| 8330582 | Harris et al. | Dec 2012 | B2 |
| 20010033243 | Harris et al. | Oct 2001 | A1 |
| 20020008789 | Harris et al. | Jan 2002 | A1 |
| 20020046083 | Ondeck | Apr 2002 | A1 |
| 20020056084 | Harris et al. | May 2002 | A1 |
| 20020130834 | Madarasz et al. | Sep 2002 | A1 |
| 20020151327 | Levitt | Oct 2002 | A1 |
| 20020170073 | Miller et al. | Nov 2002 | A1 |
| 20020184626 | Darbee et al. | Dec 2002 | A1 |
| 20030117427 | Haughawout et al. | Jun 2003 | A1 |
| 20030151538 | Escobosa et al. | Aug 2003 | A1 |
| 20030191650 | Turner et al. | Oct 2003 | A1 |
| 20040169590 | Haughawout et al. | Sep 2004 | A1 |
| 20040210933 | Dresti et al. | Oct 2004 | A1 |
| 20050097594 | O'Donnell et al. | May 2005 | A1 |
| 20050097618 | Arling et al. | May 2005 | A1 |
| 20050134578 | Chambers et al. | Jun 2005 | A1 |
| 20050210101 | Janik | Sep 2005 | A1 |
| 20050216606 | Hayes et al. | Sep 2005 | A1 |
| 20050231649 | Arling | Oct 2005 | A1 |
| 20050283814 | Scott et al. | Dec 2005 | A1 |
| 20060012488 | Hilbrink et al. | Jan 2006 | A1 |
| 20060031550 | Janik et al. | Feb 2006 | A1 |
| 20060101498 | Arling et al. | May 2006 | A1 |
| 20060132458 | Garfio et al. | Jun 2006 | A1 |
| 20060150120 | Dresti et al. | Jul 2006 | A1 |
| 20060192855 | Harris et al. | Aug 2006 | A1 |
| 20060200538 | Yuh et al. | Sep 2006 | A1 |
| 20060259183 | Hayes et al. | Nov 2006 | A1 |
| 20060262002 | Nguyen | Nov 2006 | A1 |
| 20060294217 | Chambers | Dec 2006 | A1 |
| 20070037522 | Liu et al. | Feb 2007 | A1 |
| 20070061027 | Janik | Mar 2007 | A1 |
| 20070061028 | Janik | Mar 2007 | A1 |
| 20070061029 | Janik | Mar 2007 | A1 |
| 20070063860 | Escobosa et al. | Mar 2007 | A1 |
| 20070077784 | Kalayjian et al. | Apr 2007 | A1 |
| 20070136693 | Lilleness et al. | Jun 2007 | A1 |
| 20070258595 | Choy | Nov 2007 | A1 |
| 20070296552 | Huang et al. | Dec 2007 | A1 |
| 20080005764 | Arling et al. | Jan 2008 | A1 |
| 20080016467 | Chambers et al. | Jan 2008 | A1 |
| 20080036642 | Harris et al. | Feb 2008 | A1 |
| 20080062033 | Harris et al. | Mar 2008 | A1 |
| 20080068247 | Harris et al. | Mar 2008 | A1 |
| 20080198059 | Harris et al. | Aug 2008 | A1 |
| 20080302582 | Sekhri et al. | Dec 2008 | A1 |
| 20090224955 | Bates et al. | Sep 2009 | A1 |
| 20110133976 | Harris et al. | Jun 2011 | A1 |
| 20120326852 | Harris et al. | Dec 2012 | A1 |
| Number | Date | Country |
|---|---|---|
| 6626790 | Apr 1992 | AU |
| 200169851 | Jan 2002 | AU |
| 2092003 | Mar 1992 | CA |
| 1399444 | Feb 2003 | CN |
| 1434422 | Aug 2003 | CN |
| 19520754 | Dec 1996 | DE |
| 103438 | Mar 1984 | EP |
| 308550 | Nov 1990 | EP |
| 0626635 | Nov 1994 | EP |
| 972280 | Jan 2000 | EP |
| 1014577 | Jun 2000 | EP |
| 1198069 | Apr 2002 | EP |
| 1777830 | Apr 2007 | EP |
| 2738931 | Mar 1997 | FR |
| 208948 | Feb 1982 | GB |
| 2175724 | Dec 1986 | GB |
| 2304217 | Mar 1997 | GB |
| 7075173 | Mar 1995 | JP |
| 7112301 | Nov 1995 | JP |
| 2002058079 | Feb 2002 | JP |
| 2002271871 | Sep 2002 | JP |
| 2003087881 | Mar 2003 | JP |
| 2003000322 | Jun 2003 | MX |
| 9312612 | Jun 1993 | WO |
| 9319427 | Sep 1993 | WO |
| 9415417 | Jul 1994 | WO |
| 9501056 | Jan 1995 | WO |
| 9501057 | Jan 1995 | WO |
| 9501058 | Jan 1995 | WO |
| 9501059 | Jan 1995 | WO |
| 9628903 | Sep 1995 | WO |
| 9532563 | Nov 1995 | WO |
| 9532583 | Nov 1995 | WO |
| 9630864 | Oct 1996 | WO |
| 9641448 | Dec 1996 | WO |
| 9723960 | Jul 1997 | WO |
| 9733434 | Sep 1997 | WO |
| 9816062 | Apr 1998 | WO |
| 9843158 | Oct 1998 | WO |
| 9844477 | Oct 1998 | WO |
| 9904568 | Jan 1999 | WO |
| 9934564 | Jul 1999 | WO |
| 0017738 | Mar 2000 | WO |
| 0028436 | May 2000 | WO |
| 0034851 | Jun 2000 | WO |
| 0169567 | Sep 2001 | WO |
| 03044684 | May 2003 | WO |
| 03045107 | May 2003 | WO |
| 03060804 | Jul 2003 | WO |
| 03100553 | Dec 2003 | WO |
| Entry |
|---|
| Full House Control Corp., RHOC for Windows [online] 1997. [retrieved on Apr. 29, 1998]. Retrieved from the Internet: <URL: www.fullhouse.com/rhocwin.html>. |
| Full House Control Corp., The RF Base Station, [online] 1997. [retrieved on Apr. 29, 1998]. Retrieved from the Internet: <URL: www.fullhouse.com/base.html>. |
| Full House Control Corp., The RHOC. [online] 1997. [retrieved on Apr. 29, 1998]. Retrieved from the Internet: <URL: www.fullhouse.com/rhoc.html>. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S. A., “Declaration of James J. Lukas, Jr. in Support of Universal Electronics Inc.'s Opening Claim Construction Brief,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v, Logitech Inc., Logitech International S.A. and Logitech Europe S. A., “Declaration of James J. Lukas, Jr. in Support of Universal Electronics Inc.'s Opening Claim Construction Brief Exhibit 17a: The Prosectution History of U.S. Patent No. 6,784,805 (Part 2),” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S. A., “Declaration of James J Lukas, Jr. in Support of Universal Electonics Inc.' s Opening Claim Construction Brief Exhibit 17b: The Posecuton Hisory of U.S.Paent No. 6,784,805 (Part 1),”United States Disrict Court Cental District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A, and Logitech Europe S.A., “Declaration of James J. Lukas, Jr. In Support of Universal Electronics Inc.'s Opening Claim Construction Brief Exhibit 19: Various Dictionary Entries Contained in Webster's Third New International Dictionary, Unabridged,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S. A., “Declaration of James J. Lukas, Jr. in Support of Universal Electronics Inc.'s Opening Claim Construction Brief Exhibit 8: U.S. Patent No. 6,784,805,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S. A., “Declaration of James J. Lukas, Jr. in Support of Universal Electronics Inc.'s Responsive Claim Construction Brief,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), Jun. 15, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S. A., “Declaration of Robert J. Artuz in Support of Logitech, Inc., Logitech International S.A. and Logitech Europe S.A.'s Opening Claim Construction Brief Exhibit 26: Office action Excerpts (Sep. 25, 2003, pp. 4-6) from the Prosectution History of U.S. Patent No. 6,784,805,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v, Logitech Inc., Logitech International S.A. and Logitech Europe S. A., “Declaration of Robert J. Artuz in Support of Logitech, Inc., Logitech International S.A. and Logitech Europe S.A,'s Opening Claim Construction Brief Exhibit 25: Application Excerpts (Mar. 1, 2001, pp. 17-19) from the Prosectution History of U.S. Patent No. 6,784,805,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Declaration of Robert J. Artuz in Support of Logitech, Inc., Logitech International S.A. and Logitech Europe S.A.'s Opening Claim Construction Brief Exhibit: 27: Applicant's Response Excerpts (Dec. 4, 2003, pp. 9, 11-15, 17-18) from the Prosectution History of U.S. Patent No. 6,784,805,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Declaration of Robert J. Artuz in Support of Logitech, Inc., Logitech International S.A. and Logitech Europe S.A,'s Opening Claim Construction Brief Exhibit 7: U.S. Patent No. 6,784,805,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Declaration of Robert J. Artuz in Support of Logitech, Inc., Logitech International S,A. and Logitech Europe S.A,'s Opening Claim Construction Brief,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Exhibit A-H: Logitech Means-Plus-Function Chart for U.S. Patent Nos. 5,255,313, 5,228,077, 5,414,761,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), Apr. 27, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S. A., “Exhibit B (Logitech Patents): Disputed Terms, Proposed Constructions and Intrinsic and Extrinsic Evidence,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), Apr. 23, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Joint Claim Construction and Prehearing Statement Pursuant to N.D. Cal. Patent Local Rule 4-3,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), Apr. 23, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Logitech Europe S.A.'s Disclosure of Asserted Claims and Infringement Contentions Pursuant to Patent L.R. 3-1,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), Dec. 19, 2011. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Logitech Europe S.A.'s Disclosure of Asserted Claims and Infringement Contentions Pursuant to Patent L.R. 3-1 Exhibit 4: Infringment Contentions for U.S. Patent No. 6,784,805,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), Dec. 19, 2011. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Logitech, Inc., Logitech International S.A., and Logitech Europe S.A.'s Response to Universal Electronics Inc.'s Opening Claim Construction Brief,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), Jun. 15, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S. A., “Logitech, Inc., Logitech International S.A. and Logitech Europe S.A.'s Opening Claim Construction Brief,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Supplemental/Amended Joint Claim Construction and Prehearing Statement Pursuant to N.D. Cal. Patent Local Rule 4-3,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Supplemental/Amended Joint Claim Construction and Prehearing Statement Pursuant to N.D. Cal. Patent Local Rule 4-3 Exhibit B (Logitech Patents): Disputed Terms, Proposed Constructions, and Intrinsic and Extrinsic Evidence,” United States District Court Central District of California—Southern Division, Case No, SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Universal Electronics Inc.'s invalidity Contentions,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), Feb. 17, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Universal Electronics Inc.'s Invalidity Contentions Exhibit A: Invalidity of U.S. Patent No. 5,410,326,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), Feb. 17, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Universal Electronics Inc.'s Opening Claim Construction Brief,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Universal Electronics Inc.'s Opening Claim Construction Brief Exhibit C: Independent Asserted Claims in which the Parties Dispute One or More Claim Terms,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Universal Electronics Inc.'s Opening Claim Construction Brief Exhibit D: Claim Chart of UEI's Proposed Constructions & Logitech's Proposed Constructions,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), May 11, 2012. |
| Universal Electronics Inc. v. Logitech Inc., Logitech International S.A. and Logitech Europe S.A., “Universal Electronics Inc.'s Responsive Claim Construction Brief,” United States District Court Central District of California—Southern Division, Case No. SACV11-1056-JVS(Anx), Jun. 15, 2012. |
| Ciarcia, S., “Build a Trainable Infrared Master Controller,” Byte, 12(3): 113-123 (1987). |
| Ciarcia, S., The Best of Ciarcia's Circuit Cellar, pp. 345-354 (1987). |
| Cooper, Ian and Royston Shuffiebotham, “PDA Web Browsers: Implementation Issues,” Computing Laboratory, The University of Kent at Canterbury, Nov. 9, 1995, pp. 1-12. |
| Giannopoulos, Vassilis, “Efficient VHDL Models for Various PLD Architectures,” Thesis: Department of Engineering, College of Engineering. Rochester Institute of Technology, Sep. 1995. |
| Inoue, et al., “A Home Automation System,” IEEE Transactions on Consumer Electronics, vol. CE-31, No. 3, Aug. 1985, pp. 516-527. |
| Konstan, J. A., “State problems in programming human-controlled devices,” Digest of Tech. Papers of Int Conf. on Consumer Electronics (ICCE), pp. 122-123 (1994). |
| Kuuluvainen, et al., “The Action-State Diagram: A Compact Finite State Machine Representation for User Interfaces and Small Embedded Reactive Systems,” IEEE Transactions on Consumer Electronics, vol. 37, No. 3, Aug. 1991, pp. 651-658. |
| La Porta et al., “Challenges for Nomadic Computing: Mobility Management and Wireless Communication,” Bell Laboratories, 1996, pp. 1-24. |
| Lexicon, Inc., Product Brochure for Lexicon 500T Product, 1994. |
| Muraia et al., “A Poposal or Standardization of Home Bus System for Home Automation,” IEEE Transactions on Consumer Electronics, vol. CE-29, No. 4, Nov. 1983 pp. 524-530. |
| Niles Audio Corporation, Inc., Product Brochure for Intellicontrol Product, 1996. |
| Philips Electronics N.V., “ProntoEdit User Guide,” Version 1.02, Oct. 1999. |
| Phiiips Electronics N.V., “ProntoEdit User Guide,” Version 2.0, Sep. 2000. |
| Philips Electronics N.V., “ProntoEdit User Manual”; Version 4, Mar. 2002. |
| Radio Shack, Universal Remote Control Owners Manual, pp. 1-19, (1987). |
| Tonks, Daniel, “Phillips Award-Winning Pronto Remote Now Offers More Control for Home Entertainment Systems”; [online] Remote Central.com, 1998 [retrieved on Feb. 16, 2012]. Retrieved from the Internet: <URL: www.remotecentral.com/pronto/pedit>. |
| Tonks, Daniel, “Philips Revolutionizes Home Theatre Control”; [online] Remote Central.com, 1998 [retrieved on Feb. 16, 2012]. Retrieved from the Internet: <URL: www.remotecentral.com/pronto/press>. |
| Tritton, “Interactive Home Systems (IHS)—An Overview,” IEEE Transactions on Consumer Electronics, vol. 34, No. 3, Aug. 1988, pp. 694-699. |
| Voelker et al., “Mobisaic, An Information System for a Mobile Wireless Computing Environment,” WMCSA '94 Proceedings of the 1994 First Workshop on Mobile Computing Systems and Applications, 1994. |
| Yannakakis et al., “Testing Finite State Machines,” ACM 089791-397-3/91/0004/0475, 1991, pp. 476-485. |
| Zeisel, et al., “An Interactive Menu-Driven Remote Control Unit for TV-Receivers and VC-Recorders,” IEEE Transactions on Consumer Electronics, vol. 34, No. 3, Aug. 1988, pp. 814-818. |
| International Search Report issued in PCT/CA01/00323 mailed on Apr. 4, 2002; 7 pages. |
| U.S. Appl. No. 09/519,546, filed Mar. 6, 2000. |