A legacy device bridge for use in a network, such as a wired or wireless residential network, is provided. 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, 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.
|
1. A method performed by a bridge device for determining state information related to a legacy device and providing the state information via a network that communicates information in accordance with a packet-based communication protocol, wherein the legacy device is not adapted for communication in accordance with the packet-based communication protocol, comprising:
extracting information from an indoor environment in which the bridge device is located via which a state of the legacy device can be determined, the indoor environment being external to the legacy device and the legacy device being incapable of reporting the state to the bridge device;
determining the state of the legacy device based on the extracted information; and
providing information related to the state of the legacy device from the bridge device to one or more devices on the network using the packet-based communication protocol.
8. A bridge device for determining state information related to a legacy device and providing the state information via a network that communicates information in accordance with a packet-based communication protocol, wherein the legacy device does not communicate in accordance with the packet-based communication protocol, the bridge device comprising:
a component configured to extract information from an indoor environment in which the bridge device is located via which a state of the legacy device can be determined, the indoor environment being external to the legacy device and the legacy device being incapable of reporting the state to the bridge device; and
wherein the bridge device is configured to:
determine the state of the legacy device based on the information extracted from the indoor environment in which the bridge device is located; and
provide information related to the state of the legacy device to a device on the network using the packet-based communication protocol.
15. A computer program product comprising a computer-readable memory device having instructions stored thereon that, when executed by a processing device, perform a method for determining state information related to a legacy device and providing the state information via a network that communicates information in accordance with a packet-based communication protocol, wherein the legacy device is not adapted for communication in accordance with the packet-based communication protocol, the method comprising:
receiving information extracted from an indoor environment in which the bridge device is located via which a state of the legacy device can be determined, the indoor environment being external to the legacy device and the legacy device being incapable of reporting the state to the bridge device;
determining the state of the legacy device based on the extracted information; and
providing information related to the state of the legacy device from the bridge device to one or more devices on the network using the packet-based communication protocol.
2. The method of
3. The method of
4. The method of
6. The method of
7. The method of
11. The bridge device of
12. The bridge device of
13. The bridge device of
14. The bridge device of
16. The computer program product of
17. The computer program product of
18. The computer program product of
19. The computer program product of
|
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.
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.
Krzyzanowski, Paul, Lin, Wayzen
Patent | Priority | Assignee | Title |
11749271, | Mar 18 2020 | Samsung Electronics Co., Ltd | Method for controlling external device based on voice and electronic device thereof |
Patent | Priority | Assignee | Title |
5414426, | Oct 14 1987 | BANK OF AMERICA NATIONAL TRUST AND SAVING ASSOCIATION | Favorite key macro command and chained macro command in a remote control |
5519878, | Mar 18 1992 | Echelon Corporation | System for installing and configuring (grouping and node address assignment) household devices in an automated environment |
5537463, | Oct 14 1987 | BANK OF AMERICA NATIONAL TRUST AND SAVING ASSOCIATION | Magnetic modem in a remote control |
5544321, | Dec 03 1993 | UBICOMM, LLC | System for granting ownership of device by user based on requested level of ownership, present state of the device, and the context of the device |
5552917, | Oct 14 1987 | BANK OF AMERICA NATIONAL TRUST AND SAVING ASSOCIATION | Remote control |
5570085, | Jun 02 1989 | Ludo A., Bertsch | Programmable distributed appliance control system |
5689353, | Oct 14 1987 | BANK OF AMERICA NATIONAL TRUST AND SAVING ASSOCIATION | Remote control with two-way data coupling |
5721583, | Nov 27 1995 | Matsushita Electric Industrial Co., Ltd. | Interactive television system for implementing electronic polling or providing user-requested services based on identification of users or of remote control apparatuses which are employed by respective users to communicate with the system |
5771388, | May 04 1994 | National Instruments Corporation | System and method for mapping driver level event function calls from a process-based driver level program to a session-based instrumentation control driver level system |
5802467, | Sep 28 1995 | Innovative Intelcom Industries | Wireless and wired communications, command, control and sensing system for sound and/or data transmission and reception |
5805812, | May 15 1996 | Hewlett Packard Enterprise Development LP | Communication system for the remote control of equipment |
5875108, | Dec 23 1991 | Microsoft Technology Licensing, LLC | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
5898386, | Sep 08 1995 | Sony Corporation | Electronic appliance system, electronic appliance and remote controller |
5926108, | Feb 12 1997 | NOVELL INTELLECTUAL PROPERTY HOLDING, INC | Movie information pager |
5930699, | Nov 12 1996 | Ericsson Inc. | Address retrieval system |
5953144, | Oct 14 1987 | Universal Electronics Inc. | Upgradeable remote control device |
5956025, | Jun 06 1997 | U S PHILIPS CORPORATION | Remote with 3D organized GUI for a home entertainment system |
5956487, | Oct 25 1996 | Hewlett-Packard Company; HEWLETT-PACKARD DEVELOPMENT COMPANY, L P ; Agilent Technologies, Inc | Embedding web access mechanism in an appliance for user interface functions including a web server and web browser |
5959751, | Oct 14 1987 | Universal Electronics Inc. | Universal remote control device |
5963624, | Dec 05 1997 | UNIVERSAL ELECTRONICS INC | Digital cordless telephone with remote control feature |
5995744, | Nov 24 1997 | XILINX, Inc. | Network configuration of programmable circuits |
5996001, | Sep 27 1994 | High availability on-line transaction processing system | |
6005861, | Jun 17 1997 | SAMSUNG ELECTRONICS CO , LTD , A KOREAN CORP | Home multimedia network architecture |
6026150, | Oct 30 1997 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Network protocol--based home entertainment network |
6032202, | Jan 06 1998 | Sony Corporation | Home audio/video network with two level device control |
6049711, | Aug 23 1995 | TELETRAC, INC , A DELAWARE CORPORATION | Method and apparatus for providing location-based information services |
6052750, | Jan 06 1998 | Sony Corporation | Home audio/video network for generating default control parameters for devices coupled to the network, and replacing updated control parameters therewith |
6085236, | Jan 06 1998 | Sony Corporation | Home audio video network with device control modules for incorporating legacy devices |
6111569, | Feb 21 1997 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Computer-based universal remote control system |
6131028, | Dec 10 1997 | Integrated Telecom Solutions, Inc. | Method of providing services specified by feature codes based upon location of a wireless telephone unit |
6148205, | Jun 30 1998 | Vizio, Inc | Method and apparatus for secure registration within an in-home wireless network |
6154745, | Dec 31 1996 | Nokia Technologies Oy | Method for transmission of information to the user |
6167046, | Jan 10 1997 | Sharp Kabushiki Kaisha | Communication method, communication system and computer readable recording medium recording communication program |
6170007, | Oct 25 1996 | Hewlett-Packard Company; HEWLETT-PACKARD DEVELOPMENT COMPANY, L P ; Agilent Technologies, Inc | Embedding web access functionality into a device for user interface functions |
6198479, | Jun 25 1997 | SAMSUNG ELECTRONICS CO , LTD | Home network, browser based, command and control |
6199066, | Jul 20 1998 | CLUSTER, LLC; Optis Wireless Technology, LLC | Meta-service activating interface between a customer administrative system and database network elements of a communications network |
6199136, | Sep 02 1998 | U.S. Philips Corporation | Method and apparatus for a low data-rate network to be represented on and controllable by high data-rate home audio/video interoperability (HAVi) network |
6208341, | Aug 05 1998 | HOME CONTROL SINGAPORE PTE LTD | GUI of remote control facilitates user-friendly editing of macros |
6208855, | Jul 29 1997 | NEC Corporation | Mobile data communication system |
6208866, | Dec 30 1998 | ALFANO, ROBERT R , DR | System and method for location-based marketing to mobile stations within a cellular network |
6218931, | Oct 08 1999 | GLOBALFOUNDRIES Inc | Home-appliance network with nodes identified by direct-sequence spreading codes |
6222530, | Aug 21 1998 | Banbury Technologies LLC | System and method for a master scheduler |
6223348, | Sep 03 1997 | Universal Electronics Inc. | Universal remote control system |
6236335, | Sep 17 1996 | NCR Corporation | System and method of tracking short range transmitters |
6243707, | Jun 25 1997 | SAMSUNG ELECTRONICS CO , LTD | Method and apparatus for creating home network macros |
6243772, | Jan 31 1997 | Cirrus Logic, INC | Method and system for coupling a personal computer with an appliance unit via a wireless communication link to provide an output display presentation |
6259707, | Oct 30 1998 | Sony Corporation | Synchronizing a data driven interaction controller and a non-data driven interaction controller |
6266612, | Oct 24 1996 | Trimble Navigation Limited | Position based personal digital assistant |
6275865, | Nov 25 1998 | Sony Corporation | Method and system for message dispatching in a home audio/video network |
6282714, | Jan 31 1997 | Cirrus Logic, INC | Digital wireless home computer system |
6288716, | Jun 25 1997 | Samsung Electronics, Co., Ltd | Browser based command and control home network |
6292554, | Oct 07 1999 | Simplified Telesys | System and method for communicating with and controlling disparate telecommunications devices in a telecommunications network |
6317028, | Jul 24 1998 | HINES & ASSOCIATES, INC | Electronic identification, control, and security system and method for consumer electronics and the like |
6317718, | Feb 26 1999 | KNAPP INVESTMENT COMPANY LIMITED | System, method and article of manufacture for location-based filtering for shopping agent in the physical world |
6321092, | Sep 15 1999 | Unwired Planet, LLC | Multiple input data management for wireless location-based applications |
6349352, | Jan 06 1998 | Sony Corporation | Home audio/video network with both generic and parameterized device control |
6359270, | Sep 04 1998 | SAROS LICENSING LLC | Communications module mounting for domestic appliance |
6359636, | Jul 17 1995 | Gateway, Inc | Graphical user interface for control of a home entertainment system |
6363434, | Mar 30 1999 | Sony Corporation | Method of managing resources within a network of consumer electronic devices |
6388399, | May 18 1998 | Leviton Manufacturing Co., Inc. | Network based electrical control system with distributed sensing and control |
6405261, | Nov 26 1997 | LENOVO SINGAPORE PTE LTD | Method and apparatus for an automatic multi-rate wireless/wired computer network |
6434644, | Jun 19 1998 | Gateway, Inc. | Communication system and method for interfacing differing communication standards |
6446113, | Jul 19 1999 | Microsoft Technology Licensing, LLC | Method and apparatus for activity-based collaboration by a computer system equipped with a dynamics manager |
6459217, | Sep 10 1999 | ELECTRONIC THEATRE CONTROLS, INC | Method and apparatus for digital communications with multiparameter light fixtures |
6463343, | Aug 10 1999 | International Business Machines Corporation | System and method for controlling remote devices from a client computer using digital images |
6496135, | Oct 14 1987 | Universal Electronics Inc. | Remote control with LED capabilities |
6505121, | Aug 01 2001 | HTC Corporation | Onboard vehicle navigation system |
6512754, | Oct 14 1997 | Lucent Technologies, INC | Point-to-point protocol encapsulation in ethernet frame |
6563430, | Dec 11 1998 | Koninklijke Philips Electronics N.V. | Remote control device with location dependent interface |
6587067, | Oct 14 1987 | Universal Electronics Inc. | Universal remote control with macro command capabilities |
6597374, | Nov 12 1998 | Microsoft Technology Licensing, LLC | Activity based remote control unit |
6600421, | Jul 31 2001 | Koninklijke Philips Electronics N.V. | System to automatically locally control a device according to preferences of a user entering a local area of the device from a remote area |
6618764, | Jun 25 1999 | Koninklijke Philips Electronics N.V. | Method for enabling interaction between two home networks of different software architectures |
6642852, | Mar 01 2002 | UNIVERSAL ELECTRONICS INC | Remote control device with appliance power awareness |
6647426, | Feb 26 2001 | RIBBON COMMUNICATIONS OPERATING COMPANY, INC | Apparatus and method for integrating an unlicensed wireless communications system and a licensed wireless communications system |
6728784, | Aug 21 1996 | NET2PHONE, INC | Collaborative multimedia architecture for packet-switched data networks |
6741853, | Nov 09 2000 | Nortel Networks Limited | Device aware internet portal |
6744869, | Oct 03 2001 | MAVENIR, INC | Method and system for one party to pass a calling invitation to another party |
6748343, | Sep 28 2000 | Vivint, Inc | Method and process for configuring a premises for monitoring |
6792323, | Jun 27 2002 | Microsoft Technology Licensing, LLC | Method, system, and computer program product for managing controlled residential or non-residential environments |
6792469, | Mar 22 1999 | NBCUniversal Media, LLC | System and method for monitoring and controlling the production of audio and video streams |
6870463, | Mar 01 2002 | Universal Electronics Inc. | Remote control device with appliance power awareness |
6882229, | Jul 23 2003 | DIODES INCORPORATED | Divide-by-X.5 circuit with frequency doubler and differential oscillator |
6882299, | Dec 31 1997 | RESEARCH INVESTMENT NETWORK, INC | Portable internet-enabled controller and information browser for consumer devices |
6901347, | Feb 22 2000 | Oracle America, Inc | Availability, reliability or maintainability index including outage characterization |
6912429, | Oct 19 2000 | HOME DIRECTOR, INC | Home automation system and method |
6914551, | Apr 12 2002 | Apple Inc | Apparatus and method to facilitate universal remote control |
6937140, | Jul 30 1993 | GE SECURITY, INC | Personal digital assistant key for an electronic lock |
6943778, | Nov 20 2000 | Nokia Corporation | Touch screen input technique |
6956833, | Feb 08 2000 | Sony Corporation; Sony Corporation of America; SONY CORPORATION IN JAPAN; Sony Electronics INC | Method, system and devices for wireless data storage on a server and data retrieval |
6959172, | Dec 31 2003 | Docking station for enabling landline telephones to send/receive calls via a docked mobile telephone | |
6970127, | Jan 14 2000 | Google Technology Holdings LLC | Remote control for wireless control of system and displaying of compressed video on a display on the remote |
7024256, | Jun 27 2002 | Microsoft Technology Licensing, LLC | Method, system, and computer program product for automatically managing components within a controlled environment |
7062221, | Aug 02 2001 | The Will-Burt Company | Wireless remote control system for extendable masts |
7080141, | Apr 12 2002 | Cisco Technology, Inc. | Arrangement for automated fault detection and fault resolution of a network device |
7088952, | Sep 03 1999 | NTT Advanced Technology Corporation; NTT DoCoMo, Inc | APPARATUS FOR TRANSMITTING PROGRAM INFORMATION, COMMUNICATING SYSTEM, METHOD OF TRANSMITTING PROGRAM INFORMATION, METHOD OF INSTRUCTING PROGRAM RECORDING OPERATION, AND METHOD OF INSTRUCTING PROGRAM PURCHASING OPERATION |
7111320, | Apr 13 2001 | ARRIS ENTERPRISES LLC | System and method for personalized remote control of an interactive television system |
7162228, | Apr 03 2002 | EMBEDDED SYSTEMS PRODUCTS INTELLECTUAL PROPERTY, LLC | Apparatus, method, media and signals for controlling a wireless communication appliance |
7194755, | Nov 26 1996 | Saturn Licensing LLC | Information signal transmission system and remote control device for the same |
7230563, | Apr 12 2002 | Apple Inc | Apparatus and method to facilitate universal remote control |
7315886, | Dec 30 2002 | RECEPTREXX LLC | Capability spoofing using a local proxy server |
7526953, | Dec 03 2002 | Schlumberger Technology Corporation | Methods and apparatus for the downhole characterization of formation fluids |
7676824, | Aug 01 2001 | Canon Europa NV | Method for the processing of remote control signals within a home audiovisual network, corresponding signal, devices and computer program |
7933945, | Jun 27 2002 | Microsoft Technology Licensing, LLC | Method, system, and computer program product for managing controlled residential or non-residential environments |
7987489, | Jan 07 2003 | Microsoft Technology Licensing, LLC | Legacy device bridge for residential or non-residential networks |
8793746, | Jan 07 2003 | Microsoft Technology Licensing, LLC | Legacy device bridge for residential or non-residential networks |
20010000194, | |||
20010018663, | |||
20010030597, | |||
20010036192, | |||
20010041561, | |||
20010047431, | |||
20010049275, | |||
20010049846, | |||
20010053274, | |||
20010054060, | |||
20010055954, | |||
20010055978, | |||
20020000092, | |||
20020005430, | |||
20020006788, | |||
20020019984, | |||
20020022991, | |||
20020031120, | |||
20020033760, | |||
20020034292, | |||
20020035403, | |||
20020035404, | |||
20020035605, | |||
20020035621, | |||
20020036795, | |||
20020052138, | |||
20020068984, | |||
20020072356, | |||
20020078161, | |||
20020087746, | |||
20020180581, | |||
20030005430, | |||
20030014691, | |||
20030040813, | |||
20030071117, | |||
20030073411, | |||
20030095791, | |||
20030101294, | |||
20030103088, | |||
20030105854, | |||
20030136827, | |||
20030147624, | |||
20030163542, | |||
20030163626, | |||
20030181168, | |||
20030191826, | |||
20030204582, | |||
20030207668, | |||
20030208595, | |||
20030220988, | |||
20030224735, | |||
20030224807, | |||
20030236890, | |||
20040003051, | |||
20040003073, | |||
20040019395, | |||
20040023635, | |||
20040046677, | |||
20040047347, | |||
20040054789, | |||
20040066308, | |||
20040071136, | |||
20040098456, | |||
20040133704, | |||
20040163073, | |||
20040193449, | |||
20040224638, | |||
20040260407, | |||
20040267382, | |||
20050015764, | |||
20050027888, | |||
20050055472, | |||
20050108091, | |||
20050108369, | |||
20050128048, | |||
20050143017, | |||
20050151640, | |||
20050179531, | |||
20050266878, | |||
20050267935, | |||
20060009208, | |||
20060012488, | |||
20060046653, | |||
20060061958, | |||
20060142880, | |||
20060218244, | |||
20070042806, | |||
20070123207, | |||
20070171091, | |||
20080189742, | |||
20080221715, | |||
20100031295, | |||
CN1288540, | |||
EP1085403, | |||
EP1096453, | |||
EP1263167, | |||
EP1359524, | |||
EP813138, | |||
GB2350749, | |||
JP11122678, | |||
JP1139148, | |||
JP1164449, | |||
JP1185651, | |||
JP2000035864, | |||
JP2000253001, | |||
JP2001053779, | |||
JP2001092762, | |||
JP2001223712, | |||
JP2001290724, | |||
JP2002044763, | |||
JP2002152856, | |||
JP2002176610, | |||
JP2002199625, | |||
JP2002237764, | |||
JP2002325111, | |||
JP2003316676, | |||
JP2004320747, | |||
JP2004348455, | |||
JP6225360, | |||
JP844986, | |||
JP8751, | |||
WO3045015, | |||
WO1999056261, | |||
WO2000017737, | |||
WO2000039964, | |||
WO2000056016, | |||
WO2001078425, | |||
WO2002001813, | |||
WO2002063523, | |||
WO2005033839, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 05 2003 | KRZYZANOWSKI, PAUL | OpenPeak Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041405 | /0894 | |
Mar 05 2003 | LIN, WAYZEN | OpenPeak Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041405 | /0894 | |
Jan 23 2012 | OpenPeak Inc | ID8 GROUP R2 STUDIOS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041405 | /0890 | |
Dec 12 2014 | Microsoft Corporation | Microsoft Technology Licensing, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041405 | /0905 | |
Jun 26 2015 | ID8 GROUP R2 STUDIOS, INC | Microsoft Corporation | MERGER SEE DOCUMENT FOR DETAILS | 041405 | /0897 | |
Feb 16 2017 | Microsoft Technology Licensing, LLC | (assignment on the face of the patent) | / | |||
Nov 07 2017 | Microsoft Corporation | Microsoft Technology Licensing, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 045000 | /0980 |
Date | Maintenance Fee Events |
May 22 2023 | REM: Maintenance Fee Reminder Mailed. |
Nov 06 2023 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Oct 01 2022 | 4 years fee payment window open |
Apr 01 2023 | 6 months grace period start (w surcharge) |
Oct 01 2023 | patent expiry (for year 4) |
Oct 01 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 01 2026 | 8 years fee payment window open |
Apr 01 2027 | 6 months grace period start (w surcharge) |
Oct 01 2027 | patent expiry (for year 8) |
Oct 01 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 01 2030 | 12 years fee payment window open |
Apr 01 2031 | 6 months grace period start (w surcharge) |
Oct 01 2031 | patent expiry (for year 12) |
Oct 01 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |