The present invention generally relates to networks. More particularly, the present invention relates to an interface device for discovering, communicating with and controlling devices attached to a network, such as a wired or wireless residential network.
Networks in homes and small offices are becoming increasingly popular. This is due, in large part, to an increase in the number of households and small offices having more than one personal computer (PC). Networks provide a variety of benefits to such multi-computer households and offices. For example, such networks enable the users of multiple PCs to share a common printer, to share documents and other files, and to access the Internet via a common network connection.
In light of this increasing popularity, it would be beneficial to extend home/office networks to permit communication with and control of conventional consumer electronic devices such as televisions, stereo equipment, video cassette recorders (VCRs) and digital video disk (DVD) players. However, the vast majority of consumer electronic devices employ infra-red (“IR”) communication as a means of remote device control. Alternatively, serial communication and radio frequency (RF) protocols are used. Unfortunately, these modes of communication are not compatible with packet-based communication protocols, such as TCP/IP, that are used for communication over many home/office networks.
It would also be beneficial to enable conventional consumer electronic devices to advertise themselves to devices on a home/office network and to publish command sets by which they can be controlled. Modem device discovery and control protocols such as the Universal Plug and Play (UPnP) protocol may be used to enable such functionality in network-attached devices. However, protocols such as UPnP require compliant products that: (a) are adapted for network connectivity and (b) possess modest computational and storage resources. Conventional consumer electronic devices such as those described above typically lack these features. Thus, consumers that wish to enable these features have little choice but to wait for protocol-compliant devices to come to market and discard their current legacy devices.
In addition to being incompatible with packet-based communication protocols and modem device discovery and control protocols, consumer electronic devices that rely on IR or serial communication protocols suffer from a number of other disadvantages. For example, the vast majority of legacy consumer electronic devices lack a feedback mechanism through which device state can be reported. Modem device discovery and control protocols such as the UPnP protocol typically allow compliant units to publish methods by which an interested network entity might query them for state information. The majority of consumer electronics, however, do not have status reporting mechanisms. For example, consumer IR, which is the dominant form of IR communication, is largely uni-directional.
Also, in order to control consumer electronic devices that rely on IR communication, IR transmitters (also known as “remotes”) must be placed within a very short range of a target device, and transmission paths must be free of obstructions, including physical barriers such as walls. The requirement of close physical proximity and a clear line-of-sight places severe limitations on the manner in which consumer electronic devices that rely on IR may be controlled.
What is desired, then, is a device that allows legacy consumer electronic devices to be controlled via a network, such as a wired or wireless residential network. To this end, the desired device should translate between packet-based communication protocols, such as TCP/IP, and communication protocols used by legacy consumer electronic devices, such as IR and serial protocols.
The desired device should also link the world of modem device discovery and control protocols (such as the UPnP protocol) to the world of legacy devices. For example, the desired device should provide UPnP control and management functionality to legacy devices, while permitting additional “true” UPnP devices to be added to a network as they become available.
The desired device should also be able to determine or deduce the state of one or more legacy consumer electronic devices. The desired device should then be able to publish this state information to interested network entities.
The desired device should further allow control of legacy devices through a network, thereby obviating the use of traditional direct line-of-sight IR controllers. Consequently, a user of the desired device should not need to be in the same room as or have a clear path to the devices that he or she wishes to control. The desired device should thus provide true “remote” control.
The present invention is directed to a legacy device bridge that enables consumer electronic devices to be controlled via a network, such as a wired or wireless residential network. In an embodiment, the legacy device bridge translates between packet-based communication protocols, such as TCP/IP, and communication protocols used by legacy consumer electronic devices, such as IR and serial protocols, in order to perform this function.
The present invention is also directed to a virtualization appliance that links the world of modem device discovery and control protocols, such as the UPnP protocol, to the world of legacy devices. In an embodiment, the virtualization appliance provides UPnP control and management functionality to legacy devices, and also permits native UPnP devices to be added to a network as they become available.
The present invention is further directed to a legacy device bridge that extracts state information concerning legacy consumer electronic devices and provides that information to interested network devices. In an embodiment, the legacy device bridge uses probes to extract environmental information from which the state of one or more legacy consumer electronic devices may be determined. State information is then reported to interested network entities.
The accompanying drawings, which are incorporated herein and form part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the relevant art(s) to make and use the invention.
The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify corresponding elements throughout. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawings in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.
A legacy device bridge for use in a network, such as a wired or wireless residential network, is provided. As will be described in more detail herein, the legacy device bridge performs protocol conversion to enable a network-attached entity that uses a packet-based communication protocol to communicate with and control legacy devices, such as consumer electronics, that rely exclusively on infrared (IR) or serial communication protocols. The legacy device bridge also performs a virtualization function that allows legacy devices to be advertised to the network as devices that comply with a packet-based discovery and control protocol, such as the Universal Plug and Play (UPnP) protocol, and to be controlled as such. The legacy device bridge is also adapted to probe, deduce and publish information relating to the state of a legacy device to other entities on the network.
As depicted in
As will be described in more detail below, network 102 comprises one or more legacy device bridges 124a, 124b and 124c in accordance with the present invention. These legacy device bridges facilitate communication between devices adapted for communication in accordance with a packet-based communication protocol, such as TCP/IP, and legacy consumer electronic devices that are not so adapted. Devices adapted for communication in accordance with a packet-based communication protocol can include, for example, a personal digital assistant (PDA) 106, a tablet PC 108, and/or a PC-based computer system 110. Legacy consumer electronic devices that are not so adapted, and that may rely on, for example, IR or serial communication protocols, can include a television 112, a VCR and/or DVD player 114, a stereo receiver 116, an electronic thermostat 118, a lamp 120, and/or a video camera 122. These examples are not intended to be limiting, however, and an embodiment of the present invention may be used to facilitate communication between legacy and non-legacy devices other than those shown in
In accordance with example operating environment 100, centralized control of network 102 and the various entities connected thereto is provided by a control server 104. In particular, control server 104 manages communication between and provides shared resources to various entities attached to network 102. Controllers, which can include, for example PDA 106, tablet PC 108, and/or PC-based computer system 110, permit a user to interface with control server 104 and control the function of other devices and/or applications coupled to network 102, such as television 112, VCR and/or DVD player 114, stereo receiver 116, electronic thermostat 118, lamp 120, and/or video camera 122.
A more detailed example of control server 104, controllers, and a network that provides centralized command and control of devices and applications in residential or non-residential environment may be found in commonly owned, co-pending U.S. patent application Ser. No. 10/180,500, entitled “Method, System, and Computer Program Product for Managing Controlled Residential or Non-residential Environments,” the entirety of which is incorporated by reference herein. As will be appreciated by persons skilled in the relevant art(s) based on the teachings provided herein, a legacy device bridge in accordance with an embodiment of the present invention may advantageously be used to implement controlled residential and non-residential environments as disclosed in that application.
However, as stated above, example operating environment 100 is shown for illustrative purposes only and does not limit the present invention. Accordingly, embodiments of the present invention may also be used in a de-centralized network environment, such as an environment without a centralized control server 104. For example, an embodiment of the present invention may operate in a network environment in which network control and management functionality is distributed among one or more legacy device bridges, thereby forming a peer-to-peer network.
Addressable and discoverable devices 204 comprise one or more devices that are communicatively coupled to control system 202 via a network, such as a residential network, and that are adapted to be assigned a network address and discovered and controlled by other devices on the network. In accordance with an embodiment of the present invention, addressable and discoverable devices 204 are adapted for compliance with a packet-based discovery and control protocol, such as the UPnP protocol. Addressable and discoverable devices 204 may comprise, for example, one or more UPnP-compliant PCs, peripherals, intelligent appliances, and/or wireless devices.
Legacy devices 206 comprise devices that can be controlled within operating environment 200, but which are not specially adapted for discovery and control by other devices on the network. In accordance with an embodiment of the present invention, legacy devices 206 comprise conventional consumer electronic devices that rely on IR or serial communication and control protocols, and that are not compliant with a packet-based discovery and control protocol, such as the UPnP protocol. Legacy devices 206 may comprise, for example, one or more televisions, VCRs, DVD players, stereo receivers and/or other audio equipment, video cameras, thermostats, or lamps.
As shown in
As will also be described herein, in an embodiment, legacy device bridge 208 further provides a virtual representation of each of legacy devices 206 to addressable and discoverable devices 204 and central controller 202, thereby causing legacy devices 206 to appear on the network as addressable and discoverable devices that comply with a packet-based discovery and control protocol, such as the UPnP protocol, and to be controlled as such. In an alternate embodiment, central controller 202 performs the function of providing a virtual representation of each of legacy devices 206 to addressable and discoverable devices 204.
Finally, as will also be described herein, in an embodiment, legacy device bridge 208 is also adapted to probe, deduce and report information relating to the state of legacy devices 206 to other entities on the network. In a further embodiment, legacy device bridge 208 also stores state information pertaining to legacy devices 206.
In an embodiment, legacy device bridge 302 comprises an IP-addressable device that is adapted to use standard Internet protocols such as Dynamic Host Configuration Protocol (DHCP) to automatically configure itself for network communication. Accordingly, other network entities can communicate with legacy device bridge 302 via network interface 304 by using the IP address assigned to legacy device bridge 302. As will be discussed in more detail below, legacy device bridge 302 may also use a device discovery and control protocol, including but not limited to the UPnP protocol, to advertise its presence to other entities on the network and to publish command sets for legacy devices that it controls.
The method of flowchart 400 begins at step 402, in which a network device, which is adapted for communication in accordance with a packet-based communication protocol, sends a command to control a legacy device to legacy device bridge 302. Commands can originate from anywhere in the network, which may include locations physically distant from legacy device bridge 302. At step 404, legacy device bridge 302 receives the command via network interface 304. At step 406, legacy device bridge 302 translates the received command from a packet-based communication protocol to a protocol suitable for receipt by the legacy device, such as an IR protocol or a serial protocol. This translation function may be executed in software, hardware, or a combination thereof. At step 408, legacy device bridge 302 transmits the translated command via legacy device interface 306 to the legacy device for which it is intended.
In an embodiment, IR interface 506 comprises an IR transmitter adapted for wireless one-way communication with IR-capable legacy devices. In an alternate embodiment, IR interface 506 comprises an IR transmitter/receiver pair, or IR transceiver, adapted for wireless two-way communication with IR-capable legacy devices. In accordance with these embodiments, wireless IR communication with a legacy device is achieved by situating legacy device bridge 502 in a location that is along a clear line-of-sight path to and within a certain predefined transmission range of the legacy device.
In an alternate embodiment, IR interface 506 comprises an interface adapted for wired communication with a legacy device by means of, for example, an IR dongle. In accordance with this alternate embodiment, legacy device bridge 502 need not be situated in any particular location for effective communication with the legacy device.
In an embodiment, serial interface 512 comprises a Universal Serial Bus (USB) interface for communicating in accordance with the USB protocol. In an alternate embodiment, serial interface 512 comprises an RS-232 interface for communicating in accordance with the RS-232 protocol. However, these examples are not intended to be limiting and other serial communication protocols may be used.
1. Remote Storage and Transmission of Legacy Device Control Codes
In accordance with an embodiment of the present invention, network devices generate commands from a common set of high-level commands, such as “power on” and “power off,” to control legacy devices connected to the network via a legacy device bridge. These high-level commands are then mapped to low-level IR or serial control codes unique to each legacy device. In an embodiment, the IR or serial control codes for each legacy device are stored in the legacy device bridge that controls the device, and the legacy device bridge performs the necessary function of mapping high-level commands to low-level commands.
Alternatively, low-level IR or serial control codes are stored in a device other than the legacy device bridge. For example, in order to minimize the storage resources required to implement the legacy device bridge, low-level IR or serial control codes can be stored in a more powerful network device, such as a server located on the network. This mechanism of storing the low-level control codes in a single location has the added advantage of allowing for easy updates of those codes, as opposed to storing a copy of the low-level control codes in every network device that can operate as a controller of the legacy device.
These low-level IR or serial control codes may be provided to the control server 606 using a variety of techniques. In an embodiment, a user manually enters the control codes into legacy device bridge 608, or some other network entity, and they are then uploaded to control server 606. In an alternate embodiment, legacy device bridge 608 is configured to obtain the control codes from a legacy device through an automatic process, such as two-way IR queries between legacy device bridge 608 and the legacy device, and then to upload the control codes to control server 606.
The method of flowchart 700 begins at step 702, in which portable controller 604 generates a high-level command for controlling one of legacy devices 610a-610c. For the purposes of this example, we will assume that portable controller generates a high-level command for controlling legacy device 610a. The high-level command may be selected from a predefined list of high-level commands that are stored by portable controller 604, or which are made available to portable controller by control server 606, legacy device bridge 608, or some other entity on network 602.
At step 704, portable controller 604 transmits the high-level command to control server 606 over IP network 602. At step 706, control server 606 receives the high-level command and maps it to a corresponding one of the low-level serial or IR control codes for controlling legacy device 610a, which are stored in control server 606. At step 708, control server 606 transmits the corresponding low-level serial or IR control code to the appropriate legacy device bridge 608. At step 710, legacy device bridge 608 converts the low-level control code, which has been transmitted to it in an IP format, to an appropriate format for transmission to legacy device 610a, such as to a series of IR pulses or a serial stream of data. At step 712, legacy device bridge transmits the low-level control code to the appropriate legacy device 610a.
2. Position Finding in Indoor Environments
In accordance with an embodiment of the invention, the legacy device bridge may be configured to serve as an IR beacon for providing location awareness information. For example, the legacy device bridge may be configured to serve as an IR beacon for identifying the location of a handheld controller within a controlled residential environment. Such location awareness information may then be used by a network entity, such as a central server, to reconfigure the handheld controller for command and control of selected devices within a certain vicinity of the handheld controller.
A more complete description of the use of location awareness information for managing controlled environments may be found in commonly owned, co-pending U.S. patent application Ser. No. 10/180,500, entitled “Method, System, and Computer Program Product for Managing Controlled Residential or Non-residential Environments,” the entirety of which is incorporated by reference herein. As will be appreciated by persons skilled in the relevant art(s) based on the teachings provided herein, a legacy device bridge in accordance with an embodiment of the present invention may advantageously be used to implement controlled residential and non-residential environments as disclosed in that application.
In an embodiment, the legacy device bridge is equipped with an IrDA (Infrared Data Association) beacon for providing location awareness information. Given the short range of IR pulses, IrDA beacons are an efficient way of providing coarse-granularity position finding in an indoor environment. In accordance with such an embodiment, the legacy device bridge is programmed to emit a set of infrared pulses that uniquely identifies the bridge to handheld controllers which are communicatively coupled to a network. These codes can then be mapped to, or associated with, room locations by a central server coupled to the network, or, alternatively, a mapping table can be stored in the handheld controller for performing this function.
In an embodiment, the IR beacon pulse is run-time configurable as is the beacon frequency. For example, the legacy bridge device can emit an identifier (ID) that conforms to standard IR data transfer protocols such as IrDA. In an embodiment, the legacy device bridge transmits an ID that corresponds to its globally unique MAC (media access code) address.
The method of flowchart 900 begins at step 902, in which a legacy device bridge emits an IR signal to a mobile controller, wherein the IR signal comprises a unique ID assigned to the legacy device bridge. As discussed above, the IR signal may be emitted by an IrDA beacon which comprises part of the legacy device bridge. At step 904, the mobile controller receives the IR signal and extracts the unique ID of the legacy device bridge therefrom. At step 906, the mobile controller transmits the unique ID to a central server over an IP network. At step 908, the central server maps the unique ID to a given location within a controlled environment. In an embodiment, this mapping function is performed by accessing a table stored by the central server that maps legacy device bridges to locations within the controlled environment. At step 910, the central server sends configuration information to the mobile controller based on the location identified in step 908. This configuration information is used to reconfigure the mobile controller for the command and control of selected devices within a certain vicinity of the location identified in step 908.
In an alternate embodiment of the method of flowchart 900, the mobile controller performs the function of mapping the unique ID to a given location within a controlled environment. In accordance with this alternate embodiment, the mobile controller transmits an identified location to the central server, and the central server sends configuration information to the mobile controller based on the identified location.
3. Stateful Binding of Stateless Devices
A legacy device bridge in accordance with an embodiment of the present invention is configured to prevent communication between the legacy device bridge and more than one control server, such as control server 104. This could occur, for example, where multiple control servers are sharing, either advertently or inadvertently, a wireless network (for example, in a WLAN, they share the same SSID (Service Set Identifier)). Such an overlap may expose a network-controlled environment to undesired outside control, such as control by a neighbor.
In an embodiment, the legacy device bridge avoids this problem by storing the network address of the first control server that contacts the bridge after it is connected to the network. Then, future incoming packets received from any other address are discarded. In an alternate embodiment, the address of the control server is configured out-of-band. For example, the address of the control server may be provided to the legacy device bridge using IR or serial communication with a corresponding IR or serial interface. After the address has been so configured, incoming packets received from any other address are discarded.
4. Miscellaneous Features
In an embodiment of the present invention, the legacy device bridge is adapted to act as a room controller. In accordance with such an embodiment, the legacy device bridge is adapted as follows:
The legacy device bridge is adapted to automatically configure itself in most home networking environments, although some cases may require direct user intervention in order to configure the bridge.
To facilitate ease of use, the legacy device bridge is adapted for IrDA out-of-band configuration. For example, the legacy device bridge can be programmed to accept network configuration parameters from an IR port using industry-standard data transmission protocols.
The legacy device bridge is adapted to learn new legacy device codes, such as IR or serial control codes. For example, although a sizable body of IR codes exist in commercial databases, the broad range of available consumer electronic devices make claims of absolute compatibility difficult. Thus, in order to guarantee interoperability with legacy consumer electronic devices, a legacy device bridge in accordance with an embodiment of the present invention is adapted to be placed in a state where it can receive and store new IR or serial control codes. In an embodiment, the IR or serial control codes may be transmitted by another device, such as an IR remote control device. The legacy device bridge may store learned codes internally or upload them to a server on the network for storage.
Cost is a major factor for the design a legacy device bridge in accordance with the present invention. Accordingly, in an embodiment, software is used to perform functions typically assigned to hardware, thereby reducing overall part-count. For example, in an embodiment, consumer IR signals for communicating with legacy devices and IrDA signals for providing location awareness information are multiplexed onto a single IR emitter/receiver pair.
A legacy device bridge in accordance with an embodiment of the present invention comprises a virtualization appliance that enables a legacy device, such as a conventional consumer electronic device, to be advertised to and controlled by network-connected elements as if the legacy device were compliant with a packet-based discovery and control protocol, such as UPnP. As will be appreciated by persons skilled in the relevant art(s), UPnP is an open industry standard that uses Internet and Web protocols to enable devices such as PCs, peripherals, intelligent appliances, and wireless devices to be connected to a network and to become automatically aware of each other. In accordance with UPnP, when a user plugs a device into the network, the device configures itself, acquires a TCP/IP address, and uses a discovery protocol based on the Hypertext Transfer Protocol (HTTP) to announce its presence to other devices on the network. Other UPnP-compliant network entities may then negotiate a communication protocol with the device, determine its capabilities, and control it.
In accordance with an embodiment of the present invention, the legacy device bridge acts as a UPnP proxy for a piece of legacy equipment. The bridge advertises itself to other network entities as a UPnP device, exhibiting attributes similar to the legacy device it is masquerading as. When UPnP commands arrive from the network, the legacy device bridge translates them into an appropriate set of commands for controlling the legacy device, such as IR commands or serial commands. Note that although this embodiment is described with respect to UPnP virtualization, the present invention is not limited to UPnP virtualization, but also encompasses legacy device virtualization in accordance with other packet-based discovery and control protocols, including but not limited to Jini™, developed by Sun Microsystems of Santa Clara, Calif., or the Rendezvous™ protocol, which is an open protocol developed, in part, by Apple Computer, Inc. of Cupertino, Calif.
The method of flowchart 1100 begins at step 1102, in which the virtualization appliance 1002 detects a legacy device, such as a consumer electronic device, that it will control. By detecting legacy devices, virtualization appliance 1002 builds a list of legacy devices under its control. In an embodiment, virtualization appliance 1002 is made aware of a legacy devices through manual programming of virtualization appliance 1002 by a user. In an alternate embodiment, virtualization appliance 1002 detects a legacy device through an automatic process, such as two-way IR queries between virtualization appliance 1002 and a legacy device.
At step 1104, virtualization appliance 1002 acquires and stores control codes for the legacy device. In an embodiment, these control codes are obtained through manual programming of virtualization appliance 1002 by a user. In an alternate embodiment, virtualization appliance 1002 obtains the control codes through an automatic process, such as two-way IR queries between virtualization appliance 1002 and a legacy device.
At step 1106, virtualization appliance 1002 advertises the legacy device to the network as a UPnP device possessing attributes and controls similar to the legacy device it is masquerading for. In an embodiment, this step includes publishing a list of standard UPnP commands for controlling the legacy device, wherein the published UpnP commands correspond to one or more of the low-level legacy device codes acquired in step 1104. As a result of this step, entities on the network perceive virtualization appliance 1002 as a piece of IP-addressable and controllable consumer electronics.
At step 1108, a network entity transmits a standard UPnP command, such as “Power On” or “Power Off”, to control the legacy device, and this UPnP command is received by virtualization appliance 1002. At step 1110, virtualization appliance 1002 converts the UPnP command to a corresponding control code for the legacy device, and at step 1112, virtualization appliance 1002 transmits the corresponding control code to the legacy device. By converting UpnP commands to legacy device control codes in this manner, virtualization appliance 1002 acts as a transparent proxy between network entities and the legacy device.
In an alternate embodiment of the present invention, legacy device virtualization is performed by a network entity other than the legacy device bridge, such as by control server 102 described above in reference to
An embodiment of the present invention facilitates the reporting of device state in legacy consumer electronic devices. Conventional device discovery and control protocols, such as UPnP, typically allow compliant devices to publish methods by which interested network entities may query them for state information. For example, a UPnP home controller might wish to query a UPnP TV to see if it is currently on. The majority of conventional consumer electronics, however, do not provide such status reporting mechanisms.
Accordingly, a legacy device bridge in accordance with an embodiment of the present invention uses probes to extract information from its environment to extrapolate device state. For example,
As will be appreciated by persons skilled in the relevant art(s), state probes other than a light sensitive probe may be used to extract information relating to the state of a legacy device in accordance with embodiments of the present invention. The types of state probe will vary with respect to the device state that the legacy device bridge is attempting to discern.
The functions of a legacy device bridge, virtualization appliance, control server or other network entity described herein, may be implemented in software and executed by one or more processor-based computer systems.
As shown in
Computer system 1300 further includes a main memory 1306, such as a random access memory (RAM), and a secondary memory 1308. Secondary memory 1308 may include, for example, a hard disk drive 1310 and/or a removable storage drive 1312, which may comprise a floppy disk drive, a magnetic tape drive, an optical disk drive, flash memory, or the like. Removable storage drive 1312 reads from and/or writes to a removable storage unit 1314 in a well known manner. Removable storage unit 1314 may comprise a floppy disk, magnetic tape, optical disk, or the like, which is read by and written to by removable storage drive 1312. As will be appreciated by persons skilled in the relevant art(s), removable storage unit 1314 includes a computer usable storage medium having stored therein computer software and/or data.
In alternative embodiments, secondary memory 1308 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 1300. Such means can include, for example, a removable storage unit 1318 and an interface 1316. Examples of a removable storage unit 1318 and interface 1316 include a program cartridge and cartridge interface (such as that found in video game console devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 1318 and interfaces 1316 that allow software and data to be transferred from removable storage unit 1318 to computer system 1300.
Computer system 1300 further includes a display interface 1320 that forwards graphics, text, and other data from communications infrastructure 1304 or from a frame buffer (not shown) for display to a user on a display unit 1322.
Computer system 1300 also includes a communication interface 1324. Communication interface 1324 allows software and data to be transferred between computer system 1300 and external devices via a communication path 1326. Examples of communication interface 1324 include a modem, a network interface (such as Ethernet card or 802.11b interface), a communication port, and the like. Communication interface 1324 may also include I/O communication interfaces common to consumer electronic devices, such as one or more IR ports and/or serial ports. Software and data transferred via communication interface 1324 are in the form of signals 1328 which can be electronic, electromagnetic, optical or other signals capable of being received by communication interface 1324. These signals 1328 are provided to communication interface 1324 via communication path 1326.
As used herein, the term “computer program product” may refer, in part, to removable storage unit 1314, removable storage unit 1318, a hard disk installed in hard disk drive 1310, or a carrier wave carrying software over communication path 1326 (wireless link or cable) to communication interface 1324. A computer useable medium can include magnetic media, optical media, or other recordable media, or media that transmits a carrier wave or other signal. These computer program products are means for providing software to computer system 1300.
Computer programs (also called computer control logic) are stored in main memory 1306 and/or secondary memory 1308. Computer programs can also be received via communication interface 1324. Such computer programs, when executed, enable computer system 1300 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable processor 1302 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 1300.
The features of the present invention can be implemented as control logic in software, firmware, hardware or any combination thereof. In an embodiment where features of the present invention are implemented using software, the software may be stored in a computer program product and loaded into computer system 1300 using removable storage drive 1312, hard disk drive 1310 or communication interface 1324. Alternatively, the computer program product may be downloaded to computer system 1300 over communication path 1326. The software, when executed by processor 1302, causes processor 1302 to perform features of the invention as described herein.
In another embodiment, features of the present invention are implemented in firmware and/or hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of a hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s) from the teachings herein.
It should be noted that the legacy device bridge and virtualization appliance described herein are not limited to use of the 802.11b standard as a wireless communications medium. Although 802.11b may be used due to its low cost-of-goods and relative speed, any IP-capable wireless protocol, including but not limited to 802.11a or 802.11g, can be used as a substitute. Moreover, the legacy device bridge and virtualization appliance is not limited to use of a wireless protocol for IP-based networking. Although wireless devices may be used due to their convenience and lack of cabling, wireline communications, including but not limited to Ethernet, home phone line, or home power line networking, can be used as a substitute.
It should also be noted that the legacy device bridge and virtualization appliance described herein is not limited to the use of UPnP as a discovery and control protocol. Although UPnP may be used because of its growing acceptance as an industry standard in device discovery and control, any conventional packet-based discovery and control protocol, including but not limited to Jini™, a protocol developed by Sun Microsystems of Santa Clara, Calif., or the Rendezvous™ protocol, an open protocol developed, in part, by Apple Computer, Inc. of Cupertino, Calif., can be used as a substitute.
Furthermore, the virtualization appliance described herein is not limited to acting as a proxy for a single piece of legacy equipment. Rather, the virtualization appliance can advertise itself as any number of devices. Furthermore, in an embodiment, the virtualization appliance can also query a legacy device to obtain IR/serial command sets, thus obviating the need to store IR/serial command sets on the appliance or a separate network server.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be understood by those skilled in the relevant art(s) that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. Accordingly, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
This application is a continuation of U.S. patent application Ser. No. 14/319,240, filed Jun. 30, 2014, which is a continuation of U.S. patent application Ser. No. 13/178,707, filed Jul. 8, 2011, which is a continuation of U.S. patent application Ser. No. 10/387,590, filed Mar. 14, 2003, which claims priority to U.S. Provisional Patent Application No. 60/438,296, filed Jan. 7, 2003. The entirety of each of these applications is incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
5414426 | O'Donnell et al. | May 1995 | A |
5519878 | Dolin, Jr. | May 1996 | A |
5537463 | Escobosa et al. | Jul 1996 | A |
5544321 | Theimer et al. | Aug 1996 | A |
5552917 | Darbee et al. | Sep 1996 | A |
5570085 | Bertsch | Oct 1996 | A |
5689353 | Darbee et al. | Nov 1997 | A |
5721583 | Harada et al. | Feb 1998 | A |
5771388 | Mondrik et al. | Jun 1998 | A |
5802467 | Salazar et al. | Sep 1998 | A |
5805812 | Fish et al. | Sep 1998 | A |
5875108 | Hoffberg et al. | Feb 1999 | A |
5898386 | Kaihatsu | Apr 1999 | A |
5926108 | Wicks et al. | Jul 1999 | A |
5930699 | Bhatia | Jul 1999 | A |
5953144 | Darbee et al. | Sep 1999 | A |
5956025 | Goulden et al. | Sep 1999 | A |
5956487 | Venkatraman et al. | Sep 1999 | A |
5959751 | Darbee et al. | Sep 1999 | A |
5963624 | Pope | Oct 1999 | A |
5995744 | Guccione | Nov 1999 | A |
5996001 | Quarles et al. | Nov 1999 | A |
6005861 | Humpleman | Dec 1999 | A |
6026150 | Frank et al. | Feb 2000 | A |
6032202 | Lea et al. | Feb 2000 | A |
6049711 | Ben-Yehezkel et al. | Apr 2000 | A |
6052750 | Lea | Apr 2000 | A |
6085236 | Lea | Jul 2000 | A |
6111569 | Brusky et al. | Aug 2000 | A |
6131028 | Whitington | Oct 2000 | A |
6148205 | Cotton | Nov 2000 | A |
6154745 | Kari et al. | Nov 2000 | A |
6167046 | Terada et al. | Dec 2000 | A |
6170007 | Venkatraman et al. | Jan 2001 | B1 |
6198479 | Humpleman et al. | Mar 2001 | B1 |
6199066 | Glitho et al. | Mar 2001 | B1 |
6199136 | Shteyn | Mar 2001 | B1 |
6208341 | Van Ee et al. | Mar 2001 | B1 |
6208855 | Tanaka | Mar 2001 | B1 |
6208866 | Rouhollahzadeh et al. | Mar 2001 | B1 |
6218931 | Asghar et al. | Apr 2001 | B1 |
6222530 | Sequeira | Apr 2001 | B1 |
6223348 | Hayes et al. | Apr 2001 | B1 |
6236335 | Goodwin, III | May 2001 | B1 |
6243707 | Humpleman et al. | Jun 2001 | B1 |
6243772 | Ghori et al. | Jun 2001 | B1 |
6259707 | Dara-Abrams et al. | Jul 2001 | B1 |
6266612 | Dussell et al. | Jul 2001 | B1 |
6275865 | Zou | Aug 2001 | B1 |
6282714 | Ghori et al. | Aug 2001 | B1 |
6288716 | Humpleman et al. | Sep 2001 | B1 |
6292554 | Oden et al. | Sep 2001 | B1 |
6317028 | Valiulis | Nov 2001 | B1 |
6317718 | Fano | Nov 2001 | B1 |
6321092 | Fitch et al. | Nov 2001 | B1 |
6349352 | Lea | Feb 2002 | B1 |
6359270 | Bridson | Mar 2002 | B1 |
6359636 | Schindler et al. | Mar 2002 | B1 |
6363434 | Eytchison | Mar 2002 | B1 |
6388399 | Eckel et al. | May 2002 | B1 |
6405261 | Gaucher | Jun 2002 | B1 |
6434644 | Young et al. | Aug 2002 | B1 |
6446113 | Ozzie et al. | Sep 2002 | B1 |
6459217 | Belliveau | Oct 2002 | B1 |
6463343 | Emens et al. | Oct 2002 | B1 |
6496135 | Darbee | Dec 2002 | B1 |
6505121 | Russell | Jan 2003 | B1 |
6512754 | Feder et al. | Jan 2003 | B2 |
6563430 | Kemink et al. | May 2003 | B1 |
6587067 | Darbee et al. | Jul 2003 | B2 |
6597374 | Baker et al. | Jul 2003 | B1 |
6600421 | Freeman | Jul 2003 | B2 |
6618764 | Shteyn | Sep 2003 | B1 |
6642852 | Dresti et al. | Nov 2003 | B2 |
6647426 | Mohammed | Nov 2003 | B2 |
6728784 | Mattaway | Apr 2004 | B1 |
6741853 | Jiang et al. | May 2004 | B1 |
6744869 | Brockenbrough et al. | Jun 2004 | B2 |
6748343 | Alexander et al. | Jun 2004 | B2 |
6792323 | Krzyzanowski et al. | Sep 2004 | B2 |
6792469 | Callahan et al. | Sep 2004 | B1 |
6870463 | Dresti et al. | Mar 2005 | B2 |
6882229 | Ho et al. | Apr 2005 | B1 |
6882299 | Allport | Apr 2005 | B1 |
6901347 | Murray et al. | May 2005 | B1 |
6912429 | Bilger | Jun 2005 | B1 |
6914551 | Vidal | Jul 2005 | B2 |
6937140 | Outslay et al. | Aug 2005 | B1 |
6943778 | Astala et al. | Sep 2005 | B1 |
6956833 | Yukie et al. | Oct 2005 | B1 |
6959172 | Becker et al. | Oct 2005 | B2 |
6970127 | Rakib | Nov 2005 | B2 |
7024256 | Krzyzanowski et al. | Apr 2006 | B2 |
7062221 | Christensen | Jun 2006 | B1 |
7080141 | Baekelmancs et al. | Jul 2006 | B1 |
7088952 | Saito et al. | Aug 2006 | B1 |
7111320 | Novak | Sep 2006 | B1 |
7162228 | Bleile et al. | Jan 2007 | B2 |
7194755 | Nakata et al. | Mar 2007 | B1 |
7230563 | Vidal | Jun 2007 | B2 |
7315886 | Meenan et al. | Jan 2008 | B1 |
7526953 | Goodwin et al. | May 2009 | B2 |
7676824 | Accarie et al. | Mar 2010 | B2 |
7933945 | Krzyzanowski et al. | Apr 2011 | B2 |
7987489 | Krzyzanowski et al. | Jul 2011 | B2 |
8793746 | Krzyzanowski et al. | Jul 2014 | B2 |
20010000194 | Sequeira | Apr 2001 | A1 |
20010018663 | Dussell et al. | Aug 2001 | A1 |
20010030597 | Inoue | Oct 2001 | A1 |
20010036192 | Chiles et al. | Nov 2001 | A1 |
20010041561 | Ventulett et al. | Nov 2001 | A1 |
20010047431 | Eytchison | Nov 2001 | A1 |
20010049275 | Pierry et al. | Dec 2001 | A1 |
20010049846 | Guzzi et al. | Dec 2001 | A1 |
20010053274 | Roelofs et al. | Dec 2001 | A1 |
20010054060 | Fillebrown et al. | Dec 2001 | A1 |
20010055954 | Cheng | Dec 2001 | A1 |
20010055978 | Herrod et al. | Dec 2001 | A1 |
20020000092 | Sharood et al. | Jan 2002 | A1 |
20020005430 | Pentel | Jan 2002 | A1 |
20020006788 | Knutsson et al. | Jan 2002 | A1 |
20020019984 | Rakib | Feb 2002 | A1 |
20020022991 | Sharood et al. | Feb 2002 | A1 |
20020031120 | Rakib | Mar 2002 | A1 |
20020033760 | Kobayashi | Mar 2002 | A1 |
20020034292 | Tuoriniemi et al. | Mar 2002 | A1 |
20020035403 | Clark et al. | Mar 2002 | A1 |
20020035404 | Ficco et al. | Mar 2002 | A1 |
20020035605 | McDowell et al. | Mar 2002 | A1 |
20020035621 | Zintel et al. | Mar 2002 | A1 |
20020036795 | Fujitani | Mar 2002 | A1 |
20020052138 | Janik | May 2002 | A1 |
20020068984 | Alexander et al. | Jun 2002 | A1 |
20020072356 | Yamashita et al. | Jun 2002 | A1 |
20020078161 | Cheng | Jun 2002 | A1 |
20020087746 | Ludtke et al. | Jul 2002 | A1 |
20020180581 | Kamiwada et al. | Dec 2002 | A1 |
20030005430 | Kolessar | Jan 2003 | A1 |
20030014691 | Abdelilah et al. | Jan 2003 | A1 |
20030040813 | Gonzales et al. | Feb 2003 | A1 |
20030071117 | Meade, II | Apr 2003 | A1 |
20030073411 | Meade, II | Apr 2003 | A1 |
20030095791 | Barton et al. | May 2003 | A1 |
20030101294 | Saint-Hilaire et al. | May 2003 | A1 |
20030103088 | Dresti et al. | Jun 2003 | A1 |
20030105854 | Thorsteinsson et al. | Jun 2003 | A1 |
20030136827 | Kaneko et al. | Jul 2003 | A1 |
20030147624 | Trajkovic et al. | Aug 2003 | A1 |
20030163542 | Bulthuis | Aug 2003 | A1 |
20030163626 | Chen et al. | Aug 2003 | A1 |
20030181168 | Herrod et al. | Sep 2003 | A1 |
20030191826 | Bellinger et al. | Oct 2003 | A1 |
20030204582 | Shimoda et al. | Oct 2003 | A1 |
20030207668 | McFarland et al. | Nov 2003 | A1 |
20030208595 | Gouge | Nov 2003 | A1 |
20030220988 | Hymel | Nov 2003 | A1 |
20030224735 | Moursund et al. | Dec 2003 | A1 |
20030224807 | Sinha et al. | Dec 2003 | A1 |
20030236890 | Hurwitz et al. | Dec 2003 | A1 |
20040003051 | Krzyzanowski et al. | Jan 2004 | A1 |
20040003073 | Krzyzanowski et al. | Jan 2004 | A1 |
20040019395 | Maymudes | Jan 2004 | A1 |
20040023635 | Impson et al. | Feb 2004 | A1 |
20040046677 | Dresti et al. | Mar 2004 | A1 |
20040047347 | Worry et al. | Mar 2004 | A1 |
20040054789 | Breh et al. | Mar 2004 | A1 |
20040066308 | Sampsell | Apr 2004 | A1 |
20040071136 | Laumen et al. | Apr 2004 | A1 |
20040098456 | Krzyzanowski et al. | May 2004 | A1 |
20040133704 | Krzyzanowski et al. | Jul 2004 | A1 |
20040163073 | Krzyzanowski et al. | Aug 2004 | A1 |
20040193449 | Wildman et al. | Sep 2004 | A1 |
20040224638 | Fadell et al. | Nov 2004 | A1 |
20040260407 | Wimsatt | Dec 2004 | A1 |
20040267382 | Cunningham et al. | Dec 2004 | A1 |
20050015764 | Gaur | Jan 2005 | A1 |
20050027888 | Juszkiewicz | Feb 2005 | A1 |
20050055472 | Krzyzanowski et al. | Mar 2005 | A1 |
20050108091 | Sotak et al. | May 2005 | A1 |
20050108369 | Sather et al. | May 2005 | A1 |
20050128048 | Krzyzanowski et al. | Jun 2005 | A1 |
20050143017 | Lopp et al. | Jun 2005 | A1 |
20050151640 | Hastings | Jul 2005 | A1 |
20050179531 | Tabe | Aug 2005 | A1 |
20050266878 | Lee et al. | Dec 2005 | A1 |
20050267935 | Gandhi et al. | Dec 2005 | A1 |
20060009208 | Jang et al. | Jan 2006 | A1 |
20060012488 | Hilbrink et al. | Jan 2006 | A1 |
20060046653 | Kirbas | Mar 2006 | A1 |
20060061958 | Solomon et al. | Mar 2006 | A1 |
20060142880 | Deen et al. | Jun 2006 | A1 |
20060218244 | Rasmussen et al. | Sep 2006 | A1 |
20070042806 | Stepanian | Feb 2007 | A1 |
20070123207 | Terlizzi | May 2007 | A1 |
20070171091 | Nisenboim et al. | Jul 2007 | A1 |
20080189742 | Ellis et al. | Aug 2008 | A1 |
20080221715 | Krzyzanowski et al. | Sep 2008 | A1 |
20100031295 | Krzyzanowski et al. | Feb 2010 | A1 |
Number | Date | Country |
---|---|---|
1288540 | Mar 2001 | CN |
813138 | Dec 1997 | EP |
1085403 | Mar 2001 | EP |
1096453 | May 2001 | EP |
1263167 | Dec 2002 | EP |
1359524 | Nov 2003 | EP |
2350749 | Dec 2000 | GB |
H01164449 | Jun 1989 | JP |
H06225360 | Aug 1994 | JP |
H08751 | Jan 1996 | JP |
H0844986 | Feb 1996 | JP |
H1139148 | Feb 1999 | JP |
H1185651 | Mar 1999 | JP |
11122678 | Apr 1999 | JP |
2000035864 | Feb 2000 | JP |
2000253001 | Sep 2000 | JP |
2001053779 | Feb 2001 | JP |
2001092762 | Apr 2001 | JP |
2001223712 | Aug 2001 | JP |
2001290724 | Oct 2001 | JP |
2002044763 | Feb 2002 | JP |
2002152856 | May 2002 | JP |
2002176610 | Jun 2002 | JP |
2002199625 | Jul 2002 | JP |
2002237764 | Aug 2002 | JP |
2002325111 | Nov 2002 | JP |
2003316676 | Nov 2002 | JP |
2004320747 | Nov 2004 | JP |
2004348455 | Dec 2004 | JP |
1999056261 | Nov 1999 | WO |
2000017737 | Mar 2000 | WO |
2000039964 | Jul 2000 | WO |
2000056016 | Sep 2000 | WO |
2001078425 | Oct 2001 | WO |
2002001813 | Jan 2002 | WO |
2002063523 | Aug 2002 | WO |
03045015 | May 2003 | WO |
2005033839 | Apr 2005 | WO |
Entry |
---|
“Office Action Issued in European Patent Application No. 03796775.9”, dated Apr. 13, 2017, 4 Pages. |
“Office Action Issued in European Patent Application No. 03796775.9”, dated Sep. 10, 2013, 4 Pages. |
“EtherWind-Plus™ 802.11b OEM Module”, Retrieved from <<https://web.archive.org/web/20041109092531/http://www.troygroup.com/wireless/documents/datasheets/TROY%20EtherWind%20Plus%20data%20sheet.pdf>>, Nov. 19, 2003, 2 Pages. |
“EtherWind-Plus™ IEEE 802.11b OEM Connectivity Module”, Retrieved from <<https://web.archive.org/web/20020927191452/http://www.troygroup.com/wireless/products/wireless/etherwindplus.asp>>, Retrieved Date: Nov. 19, 2003, 2 Pages. |
“EtherWind™ 802.11b™ Wireless Print Server”, Retrieved from <<http://www.troygroup.com/wireless/documents/datasheets/TROYU%20EtherWind.pdf>>, Nov. 19, 2003, 2 Pages. |
“EtherWind™ IEEE 802. 11 b Wireless Print Server”, Retrieved from <<https://web.archive.org/web/20020219181128/http://www.troygroup.com/wireless/products/wireless/etherwind.asp>>, Nov. 19, 2003, 3 Pages. |
“GC-100 Key Features and Benefits”, Retrieved from <<https://web.archive.org/web/20040423183143/http://www.globalcache.com/products/gc-features.html>>, Retrieved Date: Oct. 11, 2004, 2 Pages. |
“Global Cache GC-100 Network Adapter- Control & Automate Common Devices Over a Network”, In Proceedings of Product Data Sheet, Global Cache, Retrieved Date: Oct. 2004, 2 Pages. |
“Global Cache GC-100 Network Adapter- Control & Automate Common Devices Over a Network”, Retrieved from <<https://web.archive.org/web/20040402125742/http://www.globalcache.com/products/gc-index.html>>, Retrieved Date: Oct. 11, 2004, 2 Pages. |
“IPL T SF/244, Two Serial, Four Flex 110, and Four IR Port IP Link™ Ethernet Control Interface With IR Learner”, Retrieved from <<https://web.archive.org/web/20040326121817/http://www.extron.com/product/product.asp? id=ipltsfi244&version=print>>, Retrieved Date: Oct. 11, 2004, 6 Pages. |
“Products: Rfx 6000, RF extender for TSU7000, TSU6000 & TSU3000: Using Pronto( Pro) NG with Radio requency”, Retrieved from <<http://www.pronto.philips.com/index.cfm?id=577f>>, Retrieved Date: Jun. 21, 2004, 1 Page. |
“Pronto RF Extender, RFX 6000, Pronto Accessory for Operating Devices Inside a Closed Cabinet, Closet or Even in Another Room”, Retrieved from <<http://www.pronto.philips.com/index.cfm?id=577f>>, Nov. 19, 2003, 2 Pages. |
“Pronto RF Extender, RFX 6000, RF extender for TSU6000 & TSU3000”, Retrieved from <<http://www.pronto.philips.com/index.cfm?id=577>>, Retrieved Date: Nov. 19, 2003, 2 Pages. |
“Serial Servers”, Retrieved from <<https://web.archive.org/web/20040420045146/http://www.troygroup.com/Connectivity/products/SerialDeviceConnectivity/SerialServers.asp>>, retrieved Date: Jun. 24, 2004, 1 Page. |
“Total Remote Software: Griffin Technology Downloads”, Retrieved from <<https://web.archive.org/web/20040213112806/http://www.grithntechnology.com/software/software_totalremote.html>>, Retrieved Date: Feb. 23, 2004, 1 Page. |
“Total Remote v2.0 user guide”, Retrieved from <<https://web.archive.org/web/20040619235414/http://www.griffintechnology.com/downloads/pdf/manuals/Total_Remote_user_manual.pdf>>, Retrieved Date: Feb. 23, 2004, 29 Pages. |
“TROY Serial Server”, Retrieved from <<https://web.archive.org/web/20040421020913/http://www.troygroup.com/Connectivity/products/DataSheets/Troy%20Serial%20Server%20data%20sheet.pdf<<, Apr. 21, 2004, 2 Pages. |
Rockleigh, N. J., “Crestron Introduces RMC2e ‘Mini’ Control System: Home Toys News Release”, Retrieved from <<http://www.hometoys.com/releases/mar03/creston_02.htm>>, Mar. 5, 2003, 2 Pages. |
“Troy Wireless Introduces EtherWindTM Plus 802.11 b Wireless OEM Board-Level Product: New Product Enables Wireless and Ethernet Connectivity on OEM Devices”, In Proceedings of Business Wire, Santa Ana, Troy Group Inc., Aug. 13, 2002, 2 Pages. |
“Supplementary Search Report Issued in European Patent Application No. 03762083.8”, dated May 3, 2006, 3 Pages. |
“EtherWind 802.11 b Print Server”, Retrieved from <<https://web.archive.org/web/20040420050047/http://www.troygroup.com/Connectivity/products/wirelessLAN/Etherwind.asp>>, Retrieved Date: Jun. 21, 2004, 1 Page. |
“Office Action Issued in European Patent Application No. 03796775.9”, dated May 27, 2011, 4 Pages. |
“EtherWind Plus”, Retrieved from <<https://web.archive.org/web/20040420050855/http://www.troygroup.com/Connectivity/products/WirelessLAN/EtherwindPlus.asp>>, Retrieved Date: Jun. 21, 2004, 1 Page. |
“Supplementary Partial Search Report Issued in European Patent Application No. 04716866.1”, dated Jul. 25, 2007, 5 Pages. |
“Supplementary Search Report Issued in European Patent Application No. 04813734.3”, dated Feb. 18, 2010, 3 Pages. |
“Supplementary Search Report Issued in European Patent Application No. 06815786.6”, dated May 18, 2010, 11 Pages. |
“Final Office Action Issued in U.S. Appl. No. 10/387,590”, dated Nov. 14, 2007, 15 Pages. |
“Final Office Action Issued in U.S. Appl. No. 10/387,590”, dated Jan. 22, 2009, 16 Pages. |
“Final Office Action Issued in U.S. Appl. No. 10/387,590”, dated Jan. 22, 2007, 12 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 10/387,590”, dated Jul. 13, 2007, 17 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 10/387,590”, dated Jul. 31, 2006, 11 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 10/387,590”, dated Apr. 2, 2008, 16 Pages. |
“Notice of Allowance Issued in U.S. Appl. No. 10/387,590”, dated Oct. 4, 2010, 12 Pages. |
“Notice of Allowance Issued in U.S. Appl. No. 10/387,590”, dated Mar. 17, 2011, 8 Pages. |
“Notice of Allowance Issued in U.S. Appl. No. 13/178,707”, dated Mar. 14, 2014, 9 Pages. |
“Notice of Allowance Issued in U.S. Appl. No. 13/178,707”, dated Jun. 10, 2014, 2 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 131178,707”, dated Nov. 22, 2013, 7 Pages. |
“Final Office Action Issued in U.S. Appl. No. 14/319,240”, dated Jul. 19, 2016, 8 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 14/319,240”, dated Mar. 11, 2016, 7 Pages. |
“Notice of Allowance Issued in U.S. Appl. No. 14/319,240”, dated Oct. 7, 2016, 10 Pages. |
“Office Action Issued in Japanese Patent Application No. 2004-517889”, dated Feb. 25, 2010, 11 Pages. |
“Office Action Issued in Japanese Patent Application No. 2006-508998”, dated Jul. 27, 2010, 7 Pages. |
“Office Action Issued in Japanese Patent Application No. 2006-508998”, dated Feb. 9, 2010, 11 Pages. |
Bantz, et al., “Keyboard Device for Upper and Lower Case Keying Without Shifting”, In Proceedings of IBM Corporation, Technical Disclosure Bulletin, vol. 21, No. 9, Feb. 1, 1979, pp. 3845-3846. |
“International Search Report and Written Opinion Issued in PCT Patent Application No. PCT/US2003/20189”, dated Oct. 29, 2003, 1 Page. |
“International Search Report and Written Opinion Issued in PCT Patent Application No. PCT/US2006/38044,”, dated Jun. 19, 2008, 12 Pages. |
“Harmony Remote—Features”, https://web.archive.org/web/20040215054024/http://www.harmonyremote.com/product_features.htm, 4 Pages. |
“Harmony Remote—Frequently Asked Questions”, https://web.archive.org/web/20040411055205/http://www.harmonyremote.com/faq.htm, 2 Pages. |
“Harmony Remote—Overview”, https://web.archive.org/web/20040402101754/http://www.harmonyremote.com/product_overview.htm, 2 pages. |
“Harmony Remote SST-659 User Manual”, https://web.archive.org/web/20040611020334fw_/http://www.harmonyremote.com:80/Downloads/Harmony_H659_User Manual.pdf, 20 Pages. |
“Harmony Remote SST-768 User Manual”, http://members.harmonyremote.com/easyzapper/ProcessUserDocumentation/768/Index.asp?Language=nor, 18 Pages. |
“Specifications for Harmony Remote”, https://web.archive.org/web/20040215055535/http://www.harmonyremote.com:80/product_specifications.htm, 2 Pages. |
“Oral Hearing issued in European Patent Application No. 05824839.4”, dated May 24, 2013, 9 Pages. |
“Final Office Action Issued in U.S. Appl. No. 11/042,178”, dated Apr. 30, 2008, 14 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 11/042,178”, dated Oct. 17, 2007, 10 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 11/042,178”, dated Aug. 7, 2008, 12 Pages. |
“First Office Action Issued in Canada Application No. 2,589,821”, dated Oct. 18, 2012, 3 Pages. |
“Office Action Issued in Canadaian Application No. 2,589,821”, dated Sep. 12, 2013, 2 Pages. |
Number | Date | Country | |
---|---|---|---|
20170163773 A1 | Jun 2017 | US |
Number | Date | Country | |
---|---|---|---|
60438296 | Jan 2003 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14319240 | Jun 2014 | US |
Child | 15434996 | US | |
Parent | 13178707 | Jul 2011 | US |
Child | 14319240 | US | |
Parent | 10387590 | Mar 2003 | US |
Child | 13178707 | US |