Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD, APPARATUS AND SYSTEM FOR CONFIGURING AND MANAGING A MONITORING DEVICE THROUGH A SET TOP BOX
Document Type and Number:
WIPO Patent Application WO/2008/104067
Kind Code:
A1
Abstract:
A method, apparatus and system for configuring and managing a monitoring device through a set top box is provided. At the set top box, software is received for installation in association with the monitoring device from a content provider, the monitoring device in communication with the set top box via a local communication network, and the set top box in communication with a content provider via at least one communication network. The installation of the software in association with the monitoring device is then triggered.

Inventors:
ROBINS MALCOLM (CA)
Application Number:
PCT/CA2008/000368
Publication Date:
September 04, 2008
Filing Date:
February 26, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
VISUALGATE SYSTEMS INC (CA)
ROBINS MALCOLM (CA)
International Classes:
H04N7/18; G06F9/445; G08B13/00; G08B23/00; G08B25/08; H04N5/445; H04N7/16
Foreign References:
US20060010078A12006-01-12
US20070002771A12007-01-04
US6850252B12005-02-01
Attorney, Agent or Firm:
PERRY, Stephen J. et al. (1300 Yonge StreetSuite 50, Toronto Ontario M4T 1X3, CA)
Download PDF:
Claims:

I claim:

1. A method of configuring and managing a monitoring device, comprising,

- at a set top box, receiving software from a content provider for installation in association with the monitoring device, the monitoring device in communication with said set top box via a local communication network, and said set top box in communication with said content provider via at least one communication network; and

- triggering installation of said software in association with the monitoring device. 2. The method of claim 1 wherein said triggering installation of said software in association with the monitoring device comprises releasing at least a portion of said software to the monitoring device via said local communication network.

3. The method of claim 1, wherein said triggering installation of said software comprises extracting at least a portion of said software for installation at said set top box, and installing said at least a portion of said software at said set top box.

4. The method of claim 1, further comprising determining if said software has already been installed in association with the monitoring device, and said triggering installation of said software occurs only if said software has not already been installed in association with the monitoring device. 5. The method of claim 4, wherein said determining if said software has already been installed on the monitoring device comprises comparing an identifier of said software with at least one identifier of software already installed in association with the monitoring device.

6. The method of claim 5, wherein said at least one identifier of software already installed in association with the monitoring device is stored at said set top box.

7. The method of claim 5, wherein said at least one identifier of software already installed in association with the monitoring device is stored at said content provider.

8. The method of claim 1, wherein said triggering installation of said software occurs in response to said receiving said software for installation at the monitoring device.

9. The method of claim 1 , further comprising indicating to a user of said set top box that said software is available for installation, said indicating to a user for causing receiving a user preference from said user, and said triggering installation of said software occurs in response to receiving said user preference indicating that said software is to be installed in association with the monitoring device.

10. The method of claim 9, wherein said indicating to said user of said set top box that said software is available for installation comprises transmitting data to an audiovisual device coupled to said set top box, said data indicative that said software is available for installation, said data configured for display at said audiovisual device, and said receiving said user preference indicating that said software is to be installed in association with the monitoring device comprises receiving said user preference from a user input device in communication with said set top box. 11. The method of claim 9, further comprising transmitting a message to said content provider indicative of said user preference indicating that said software is to be installed at the monitoring device, said message for triggering billing of said user for installation of said software.

12. The method of claim 1, further comprising determining that said software has been successfully installed, and transmitting a message to said content provider for storage at said content provider responsive to said determining that said software has been successfully installed, said message comprising an identifier of said software.

13. The method of claim 12, wherein said determining that said software has been successfully installed comprises receiving an announcement from said monitoring device that said software has been successfully installed.

14. The method of claim 1, further comprising receiving an announcement from the monitoring device, said announcement indicating that the monitoring device is present on said local communication network, said triggering installation of said software occurring in response to said receiving said announcement.

15. The method of claim 14, wherein said announcement comprises an identifier of said monitoring device, and further comprising releasing said identifier to said content provider for storage at said content provider, said identifier for triggering said receiving said software when said identifier is received at said content provider. 16. The method of claim 1, wherein said software comprises software for controlling and operating features and functions of the monitoring device.

17. The method of claim 1, wherein said local communication network comprises a power line network.

18. A set top box, comprising, - an interface configured for communication with

- a monitoring device, via a local communication network;

- a content provider, via at least one communication network;

- an audiovisual device; and

- a user input device; and

- a processor configured for receiving software for installation in association with said monitoring device via said interface, and triggering installation of said software in association with the monitoring device.

19. The set top box of claim 18, wherein said triggering installation of said software comprises releasing said software to said monitoring device via said local communication network, to cause installation of said software at said monitoring device.

20. The set top box of claim 18, further comprising a memory in communication with said processor for storing said software.

21. The set top box of claim 20, wherein said triggering installation of said software comprises extracting at least a portion of said software for installation at said memory, and installing said at least a portion of said software at said memory.

22. The set top box of claim 18, wherein said software is embedded in a data stream from said content provider, and said processor is further enabled to extract said software from said data stream.

23. The system of claim 18, wherein said software comprises software for controlling and operating features and functions of the monitoring device.

24. A system for configuring and managing a monitoring device comprising,

- a content provider in communication with a plurality of set top boxes via at least one communication network;

- a set top box associated with a customer of said content provider, said plurality of set top boxes comprising said set top box;

- at least one monitoring device in communication with said set top box via at least one local network,

- said set top box comprising:

- an interface configured for communication with said at least one monitoring device, said content provider, an audiovisual device and a user input device; and

- a processor configured for receiving software for installation in association with said at least one monitoring device via said interface, and triggering installation of said software in association with the monitoring device.

25. The system of claim 24, wherein said content provider is further configured to bill said customer for installation of said software in association with said at least one monitoring device upon receiving a notification from said set top box that said software has been installed in association with said at least one monitoring device. 26. A method of controlling and operating a monitoring device comprising,

- at a set top box, receiving an indication from a user input device that a user associated with said set top box wishes an action associated with the monitoring

device to occur, the monitoring device in communication with said set top box via a local communication network; and

- processing said indication to trigger said action associated with the monitoring device. 27. The method of claim 26, wherein said action comprises at least one of setting parameters in software associated with the monitoring device, changing parameters in software associated with the monitoring device, setting a security event response, setting a password, controlling an alarm trigger, and turning the monitoring device on or off. 28. The method of claim 26, wherein said action comprises setting at least one of billing parameters and account parameters.

29. The method of claim 28, wherein said account parameters comprise account activation parameters.

30. The method of claim 28, further comprising transmitting said at least one of said billing parameters and said account parameters to a remote entity.

31. The method of claim 26, said indication comprising input data for software associated with the monitoring device, wherein said input data is configured to trigger at least one of the monitoring device and said set top box to process said input data and said software, to effect said action associated with the monitoring device. 32. The method of claim 31, further comprising processing said input data and said software, to effect said action associated with the monitoring device.

33. The method of claim 26, wherein said indication comprises reference data for software associated with the monitoring device, said reference data configured to trigger at least one of the monitoring device and said set top box to process said software associated with the monitoring device, to effect said action associated with the monitoring device.

34. The method of claim 33, further comprising processing said software associated with the monitoring device.

35. The method of claim 26, further comprising transmitting a signal to the monitoring device in response to said processing said indication, said signal for triggering said action associated with the monitoring device.

36. The method of claim 26, further comprising transmitting displayable data to an audiovisual device, in response to said receiving said indication, said displayable data for conveying information associated with said action.

37. The method of claim 36, wherein said displayable data comprises a prompt for user input, and further comprising receiving said user input from said user input device in response to said transmitting said displayable data. 38. The method of claim 37, wherein said prompt for user input comprises a sub-menu of a menu system of said set-top box, said sub-menu for conveying a list of software associated with the monitoring device installed at at least one of the monitoring device and said set top box, said user input comprising an indication of a choice of software from said list of software, to effect said action associated with the monitoring device.

39. The method of claim 37, wherein said prompt for user input comprises a sub-menu of a menu system of said set-top box, said sub-menu for conveying a list of actions associated with given software for controlling the monitoring device, said user input comprising an indication of a choice of an action from said list of actions, to effect said action associated with the monitoring device.

40. A set top box, comprising,

- an interface configured for communication with

- a monitoring device, via a local communication network;

- a content provider, via at least one communication network; - an audiovisual device; and

- a user input device; and

- said interface further configured for receiving an indication from said user input device that a user associated with the set top box wishes an action associated with the monitoring device to occur; and

- a processor, in communication with said interface, for processing said indication to trigger said action associated with the monitoring device.

41. The set top box of claim 40, further comprising a memory for storing software associated with said monitoring device.

42. The set top box of claim 40, said processor further configured for transmitting data via said interface to at least one of said content provider, a remote monitoring entity and a remote billing entity, wherein said data comprises at least one of monitoring data, billing data and account data.

43. The set top box of claim 40, said processor further configured for extracting input data for software associated with the monitoring device from said indication, wherein said input data is configured to trigger at least one of the monitoring device and the set top box to process said input data and said software associated with the monitoring device, to effect said action associated with the monitoring device.

44. The set top box of claim 43, said processor further for processing said input data and said software, to effect said action associated with the monitoring device.

45. The set top box of claim 40, said processor further configured for extracting reference data for software associated with the monitoring device from said indication, said reference data configured to trigger at least one of the monitoring device and the set top box to process said software associated with the monitoring device, to effect said action associated with the monitoring device.

46. The set top box of claim 45, said processor further configured for processing said software associated with the monitoring device.

47. The set top box of claim 40, said processor further configured for transmitting a signal to the monitoring device via said interface, responsive to said processing said indication, said signal for triggering said action associated with the monitoring device.

48. The set top box of claim 40, said processor further configured for: generating displayable data for conveying information associated with said action; and transmitting said displayable data to said audiovisual device via said interface, in response to said receiving said indication. 49. The set top box of claim 48, wherein said displayable data comprises a prompt for user input, and said processor is further configured to receive said user input from said user input device in response to said transmitting said displayable data to said audiovisual device.

50. The set top box of claim 49, further comprising a memory for storing a menu system, wherein said prompt for user input comprises a sub-menu of said menu system, said sub-menu for conveying a list of software associated with the monitoring device stored at at least one of said monitoring device and said memory, said user input comprising an indication of a choice of software from said list of software, to effect said action associated with the monitoring device. 51. The set top box of claim 49, further comprising a memory for storing a menu system, wherein said prompt for user input comprises a sub-menu of said menu system, said sub-menu for conveying a list of actions associated with given software for controlling the monitoring device, said user input comprising an indication of a choice of an action from said list of actions, to effect said action associated with the monitoring device.

Description:

METHOD, APPARATUS AND SYSTEM FOR CONFIGURING AND MANAGING A MONITORING DEVICE THROUGH A SET TOP BOX

FIELD

[0001] The specification relates generally to monitoring systems, and more to specifically a method, system and apparatus for configuring and managing a monitoring device through a set top box.

BACKGROUND

[0002] Monitoring systems for home and business based premises have become commonplace and generally comprise at least one sensor for monitoring the premises. For example, monitoring systems may detect if the premises have been broken into or if there is an intruder within the premises. They may also be used to monitor children, babysitters, etc. In some cases the sensor may be installed on a window or a door to generate a signal if the window or door is opened. In other cases, the sensor may be a motion sensor configured to sense if something, or someone, is moving within the area being monitored. Some monitoring systems also incorporate a camera, (e.g. a video camera), to acquire an image of the area being monitored.

[0003] One drawback of monitoring systems is that the sensors must often be wired into a monitoring device for managing and monitoring of the sensors. The cost of wiring the sensors can be quite high in an existing premises, or further be aesthetically unappealing if the wires are not hidden from view. If the monitoring system includes a camera, it is often preferable to record the data from the camera for later playback. Hence a further drawback is that either using a dedicated recording and playback device, or connecting to a multifunction computer or gateway to allow for such recording, via a home network can be prohibitively expensive.

[0004] Recently, the use of IP based monitoring devices, such as video cameras, which communicate their video and other signals over a data network using IP (Internet Protocol) data communications standards have become prevalent. They may utilize any

standard local area network (LAN) connectivity whether by dedicated LAN cabling, any form of wireless based connectivity and LAN networks adapted for Powerline networking have become more common. The monitoring device may be adapted for communication over existing electrical home power lines via a Powerline adapter (e.g. a Powerline modem) either embedded with the monitoring device or connected to it externally via an adapter. Powerline adapters allow communication between the camera and other networked devices over the existing power lines in the premises, hence eliminating the need for special wiring from the cameras to the recording device. In many instances, a power line network includes an interface to another communication network, such as a coaxial cable or xDSL network, utilizing what is known as CAT5 cabling. However the recording and playback device remains a specialized piece of equipment,) and hence is an expensive component of the system, as well as adding needless complexity for the user. Even in the event of the recording and playback device being a that suitable personal computer, the computer must be adapted for use as a recording and playback device which is a complex and expensive process.

SUMMARY

[0005] A first broad aspect of an embodiment seeks to provide a method of configuring and managing a monitoring device. In a first step, the method comprises, at a set top box, receiving software from a content provider for installation in association with the monitoring device, the monitoring device in communication with the set top box via a local communication network, and the set top box in communication with the content provider via at least one communication network. In a second step, the method comprises triggering installation of the software in association with the monitoring device. In some embodiments of the first broad aspect, the triggering installation of the software in association with the monitoring device comprises releasing at least a portion of the software to the monitoring device via the local communication network. In other embodiments of the first broad aspect the triggering installation of the software comprises

extracting at least a portion of the software for installation at the set top box, and installing the at least a portion of the software at the set top box.

[0006] In some embodiments of the first broad aspect, the method further comprised determining if the software has already been installed in association with the monitoring device, and the triggering installation of the software occurs only if the software has not already been installed in association with the monitoring device. In some of these embodiments, the determining if the software has already been installed on the monitoring device comprises comparing an identifier of the software with at least one identifier of software already installed in association with the monitoring device. In some of these embodiments, the at least one identifier of software already installed in association with the monitoring device is stored at the set top box. In other of these embodiments, the at least one identifier of software already installed in association with the monitoring device is stored at the content provider.

[0007] In other embodiments of the first broad aspect the triggering installation of the software occurs in response to the receiving the software for installation at the monitoring device.

[0008] In further embodiments of the first broad aspect, the method further comprises indicating to a user of the set top box that the software is available for installation, the indicating to a user for causing receiving a user preference from the user, and the triggering installation of the software occurs in response to receiving the user preference indicating that the software is to be installed in association with the monitoring device. In some of these embodiments, the indicating to the user of the set top box that the software is available for installation comprises transmitting data to an audiovisual device coupled to the set top box, the data indicative that the software is available for installation, the data configured for display at the audiovisual device, and the receiving the user preference indicating that the software is to be installed in association with the monitoring device comprises receiving the user preference from a user input device in communication with the set top box. In other of these embodiments, the method further comprises transmitting a message to the content provider indicative of the user preference

indicating that the software is to be installed at the monitoring device, the message for triggering billing of the user for installation of the software.

[0009] In other embodiments of the first broad aspect, the method further comprises determining that the software has been successfully installed, and transmitting a message to the content provider for storage at the content provider responsive to the determining that the software has been successfully installed, the message comprising an identifier of the software. In some of these embodiments, the determining that the software has been successfully installed comprises receiving an announcement from the monitoring device that the software has been successfully installed.

[0010] In yet other embodiments of the first broad aspect, the method further comprises receiving an announcement from the monitoring device, the announcement indicating that the monitoring device is present on the local communication network, the triggering installation of the software occurring in response to the receiving the announcement. In some of these embodiments, the announcement comprises an identifier of the monitoring device, and further comprising releasing the identifier to the content provider for storage at the content provider, the identifier for triggering the receiving the software when the identifier is received at the content provider.

[0011] In some embodiments of the first broad aspect, the software comprises software for controlling and operating features and functions of the monitoring device. In yet further embodiments of the first broad aspect, the local communication network comprises a power line network.

[0012] A second broad aspect of an embodiment seeks to provide a set top box, the set top box comprising, an interface configured for communication with: a monitoring device, via a local communication network; a content provider, via at least one communication network; an audiovisual device; and a user input device. The set top box further comprises a processor configured for receiving software for installation in association with the monitoring device via the interface, and triggering installation of the software in association with the monitoring device. In some of these embodiments, the triggering installation of the software comprises releasing the software to the monitoring

device via the local communication network, to cause installation of the software at the monitoring device.

[0013] In some embodiments of the second broad aspect, the set top box further comprises a memory in communication with the processor for storing the software. In some of these embodiments, the triggering installation of the software comprises extracting at least a portion of the software for installation at the memory, and installing the at least a portion of the software at the memory.

[0014] In further embodiments of the second broad aspect, the software is embedded in a data stream from the content provider, and the processor is further enabled to extract the software from the data stream. In yet further embodiments of the second broad aspect, the software comprises software for controlling and operating features and functions of the monitoring device.

[0015] A third broad aspect of an embodiment seeks to provide a system for configuring and managing a monitoring device comprising: a content provider in communication with a plurality of set top boxes via at least one communication network; a set top box associated with a customer of the content provider, the plurality of set top boxes comprising the set top box; and at least one monitoring device in communication with the set top box via at least one local network. The set top box comprises an interface configured for communication with the at least one monitoring device, the content provider, an audiovisual device and a user input device; and a processor configured for receiving software for installation in association with the at least one monitoring device via the interface, and triggering installation of the software in association with the monitoring device. In some of these embodiments, the content provider is further configured to bill the customer for installation of the software in association with the at least one monitoring device upon receiving a notification from the set top box that the software has been installed in association with the at least one monitoring device.

[0016] A fourth broad aspect of an embodiment seeks to provide a method of controlling and operating a monitoring device. The method comprises, at a set top box, receiving an indication from a user input device that a user associated with the set top box wishes an

action associated with the monitoring device to occur, the monitoring device in communication with the set top box via a local communication network. The method further comprises processing the indication to trigger the action associated with the monitoring device. In some embodiments of these embodiments, the action comprises at least one of setting parameters in software associated with the monitoring device, changing parameters in software associated with the monitoring device, setting a security event response, setting a password, controlling an alarm trigger, and turning the monitoring device on or off.

[0017] In some embodiments of the fourth broad aspect, the action comprises setting at least one of billing parameters and account parameters. In some of these embodiments, the account parameters comprise account activation parameters. In other of these embodiments, the method further comprises transmitting the at least one of the billing parameters and the account parameters to a remote entity.

[0018] In some embodiments of the fourth broad aspect, the indication comprises input data for software associated with the monitoring device, wherein the input data is configured to trigger at least one of the monitoring device and the set top box to process the input data and the software, to effect the action associated with the monitoring device. In some of these embodiments, the method further comprises processing the input data and the software, to effect the action associated with the monitoring device.

[0019] In other embodiments of the fourth broad aspect, the indication comprises reference data for software associated with the monitoring device, the reference data configured to trigger at least one of the monitoring device and the set top box to process the software associated with the monitoring device, to effect the action associated with the monitoring device. In some of these embodiments, the method further comprises processing the software associated with the monitoring device.

[0020] In further embodiments of the fourth broad aspect, the method further comprises transmitting a signal to the monitoring device in response to the processing the indication, the signal for triggering the action associated with the monitoring device.

[0021] In yet further embodiments of the fourth broad aspect, the method further comprises transmitting displayable data to an audiovisual device, in response to the receiving the indication, the displayable data for conveying information associated with the action. In some of these embodiments, the displayable data comprises a prompt for user input, and further comprising receiving the user input from the user input device in response to the transmitting the displayable data. In some of these embodiments the prompt for user input comprises a sub-menu of a menu system of the set-top box, the submenu for conveying a list of software associated with the monitoring device installed in at least one of the monitoring device and the set top box, the user input comprising an indication of a choice of software from the list of software, to effect the action associated with the monitoring device. In yet further of these embodiments, the prompt for user input comprises a sub-menu of a menu system of the set-top box, the sub-menu for conveying a list of actions associated with given software for controlling the monitoring device, the user input comprising an indication of a choice of an action from the list of actions, to effect the action associated with the monitoring device.

[0022] A fifth broad aspect of an embodiment seeks to provide a set top box, the set top box comprising an interface configured for communication with: a monitoring device, via a local communication network; a content provider, via at least one communication network; an audiovisual device; and a user input device. The interface is further configured for receiving an indication from the user input device that a user associated with the set top box wishes an action associated with the monitoring device to occur. The set top box further comprises a processor, in communication with the interface, for processing the indication to trigger the action associated with the monitoring device.

[0023] In some embodiments of the fifth broad aspect, the set top box further comprises a memory for storing software associated with the monitoring device.

[0024] In other embodiments of the fifth broad aspect, the processor is further configured for transmitting data via the interface to at least one of the content provider, a remote monitoring entity and a remote billing entity, wherein the data comprises at least one of monitoring data, billing data and account data.

[0025] In further embodiments of the fifth broad aspect, the processor is further configured for extracting input data for software associated with the monitoring device from the indication, wherein the input data is configured to trigger at least one of the monitoring device and the set top box to process the input data and the software associated with the monitoring device, to effect the action associated with the monitoring device.

[0026] In yet further embodiments of the fifth broad aspect, the processor is further for processing the input data and the software, to effect the action associated with the monitoring device.

[0027] In other embodiments of the fifth broad aspect, the processor is further configured for extracting reference data for software associated with the monitoring device from the indication, the reference data configured to trigger at least one of the monitoring device and the set top box to process the software associated with the monitoring device, to effect the action associated with the monitoring device. In some of these embodiments, the processor is further configured for processing the software associated with the monitoring device.

[0028] In further embodiments of the fifth broad aspect, the processor is further configured for transmitting a signal to the monitoring device via the interface, responsive to the processing the indication, the signal for triggering the action associated with the monitoring device.

[0029] In further embodiments of the fifth broad aspect, the processor is further configured for: generating displayable data for conveying information associated with the action; and transmitting the displayable data to the audiovisual device via the interface, in response to the receiving the indication. In some of these embodiments, the displayable data comprises a prompt for user input, and the processor is further configured to receive the user input from the user input device in response to the transmitting the displayable data to the audiovisual device. In some of these embodiments, the set top box further comprises a memory for storing a menu system, wherein the prompt for user input comprises a sub-menu of the menu system, the sub-menu for conveying a list of software

associated with the monitoring device stored at at least one of the monitoring device and the memory, the user input comprising an indication of a choice of software from the list of software, to effect the action associated with the monitoring device. In yet other of these embodiments, the set top box further comprises a memory for storing a menu system, wherein the prompt for user input comprises a sub-menu of the menu system, the sub-menu for conveying a list of actions associated with given software for controlling the monitoring device, the user input comprising an indication of a choice of an action from the list of actions, to effect the action associated with the monitoring device.

BRIEF DESCRIPTIONS OF THE DRAWINGS

[0030] Embodiments are described with reference to the following figures, in which: [0031] Figure 1 depicts a system for configuring and managing a monitoring device through a set top box, according to a non-limiting embodiment; [0032] Figure 2 depicts a database, according to a non-limiting embodiment; [0033] Figure 3 depicts a database, according to a non-limiting embodiment;

[0034] Figures 4a and 4b depict monitoring devices, according to non-limiting embodiments;

[0035] Figures 5 to 8 depict systems for configuring a monitoring device through a set top box, according to non-limiting embodiments; and

[0036] Figure 9 depicts a system for controlling and operating a monitoring device through a set top box, according to a non-limiting embodiment.

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0037] Figure 1 depicts a system, according to a non-limiting embodiment, for configuring and managing a monitoring device 160 via a set top box (STB) 110. In general, the monitoring device 160 and the STB 110 are located at a user premises 120 (e.g. a customer premises, either commercial or residential). The STB 110 is in communication with a content provider 130 via a communication network 140. The STB 110 is nominally configured to receive a signal 134 from the content provider 130. In some embodiments the STB 110 is further configured to transmit at least a subset of the signal 134 to an audio visual (AV) output device 150, (e.g. a television). The STB 110 is in further communication with a user input device 170 (e.g. a remote control). The STB 110 is in further communication with the monitoring device 160, the monitoring device 160 for monitoring the user premises 120, via a local network 165 or an alternative local network 197. In some embodiments, the monitoring device 160 may be one of a plurality of monitoring devices, each of the plurality of monitoring devices for monitoring the user premises 120.

[0038] In general, a user of the STB 110 will be a customer of the content provider 130, and will have subscribed to content from the content provider 130. In one non-limiting example, a database 185 at the content provider 130 may store an association between the user of the STB 110 and data representative of the selected content choices for the user of the STB 110. Specifically, in a non-limiting example illustrated in Figure 2, the database 185 can comprise a record 200 for the user of the STB 110. The record 200 contains a field 210 for storing an identifier of the user of the STB 110, for example the name and/or address and/or telephone number of the user of the STB 110. The record 220 further contains a field 220 for storing the content choices 220 of the user of the STB 110. [0039] The record 200 further contains a field 230 for storing a unique identifier of the STB 110, for example a MAC address, an IP address, or a serial number. As will be described below, the unique identifier of STB 110 may allow the content provider 130 to transmit the signal 134 to the STB 110 having the unique identifier. Other data associated with the STB 110 may be stored in the record 200. Similar records 200A may exist for other customers of the content provider 130.

[0040] In some embodiments, the record 200 further contains at least one field 240 for storing a unique identifier of the monitoring device 160, for example a MAC address, an IP address, or a serial number. In these embodiments, the record 200 may further contain at least one field 235 for storing an identifier of the make and/or model of the monitoring device 160, having the identifier stored at the at least one field 240. In these embodiments, the record 200 may further contain at least one field 250 for storing an identifier of software installed in association with the monitoring device 160 having the identifier stored at the at least one field 240, the software for enhancing or upgrading the operating system and/or fixing bugs in software installed in association with the monitoring device and/or to enabling features of the monitoring device 160. Software installed in association with the monitoring device 160 may be installed at the monitoring device 160, installed at the STB 110, or installed at both the monitoring device 160 and the STB 110. In a non-limiting example, the identifier of the software may comprise an operating system version number, or a software module version number. Other data associated with the monitoring device 160 may be stored in the record 200.

[0041] Though the record 200 is depicted with one field 240 for storing a unique identifier of the monitoring device 160, one field 235 for storing an identifier of the make and/or model of the monitoring device 160, and one field 250 for storing an identifier of software installed in association with the monitoring device 160, the number of fields 240, 235 and 150 may in general correspond to the number of monitoring devices installed at the user premises 120, with one field 240, one field 235 and one field 250 for each monitoring device installed.

[0042] In other embodiments the monitoring device identifiers and software identifiers may not be stored at the record 200. Rather, a record 196, as depicted in Figure 1, for storing the monitoring device identifiers and identifiers of software installed in association with the monitoring device 160, may be stored at a memory 195 of the STB 110. The record 196 may be substantially similar to the record 200. In yet other embodiments, the monitoring device identifiers and software identifiers may be stored at both the record 200 and the record 196.

[0043] The database 185 may also store an association between the make and/or model of the monitoring device 160, and software available for the monitoring device make and/or model from suppliers of software for the monitoring device 160. For example, the content provider 130 and/or a manufacturer of the monitoring device 160 and/or a third party software developer, may make software for the monitoring device 160 available for download, the software for enhancing or upgrading the operating system and/or fixing bugs in software installed in association with the monitoring device 160 and/or to enable user accessible operational features of the monitoring device 160 which may include typical adjustments of the monitoring device to modify image features such as video quality, frame rates, focus, image view size, motion sensitivity and audio quality or turning on or off any such features and functions.

[0044] Specifically, in a non-limiting example illustrated in Fig. 3, the database 185 may further comprise a record 300 comprising a field 310 for storing an identifier of the make and/or model number of the monitoring device 160. The record 300 need not be associated with the specific monitoring device 160, but may represent an association of software which is available for all monitoring devices of a given make and model. The record 300 may also comprise a field 320 for storing an identifier of currently available operating system software of a monitoring device having the make and/or model number associated with the identifier of field 310. In one non-limiting example, the identifier of the currently available operating system software may comprise a version number.

[0045] The record 300 may also comprise at least one field, for example fields 330, 340 and 350, for storing identifiers of currently available software modules for enabling specific functionality of a monitoring device having the make and/or model number of field 310. In one non-limiting example, the identifier of a currently available software module may comprise a version number. The record 300 may comprise additional fields (not shown) for storing the type of software associated with the software having the identifiers of fields 330, 340 and 350, and/or the manufacturer and/or any other information pertinent to the software. Though the record 300 is depicted with three fields 330, 340 and 350 for storing identifiers of currently available software modules, the number of fields will not be particularly limited, except by the size of the memory available to database 185.

[0046] Returning briefly to Figure 2, in general, the at least one field 250 of the record 200 contains a subset of the identifiers stored at fields 320, 330, 340 and 350 of record 300, indicating the available software which has been installed in association with the monitoring device 160, either at the monitoring device, at the STB 110 or a combination of both.

[0047] Returning now to Figure 1, the content provider 130 comprises a processing entity 155 coupled to the communication network 140. The content provider may be in communication with a plurality of set top boxes (or STBs), including the STB 110, via the communication network 140. Each of the plurality of STBs is associated with a customer of the content provider, as known to one of skill in the art.

[0048] The processing entity 142 comprises a content distribution module 157, and a monitoring management module 159. The processing entity 155 and the monitoring management module 159 further have access to the database 185. Those skilled in the art will appreciate that certain portions of the processing entity 155 may be implemented using hardware, software, control logic or a combination thereof. Also, it should be appreciated that the processing entity 155 may include a number of other components used for purposes other than the purpose of the present embodiment.

[0049] The monitoring management module 159 is configured to perform a number of functions including, but not limited to: [0050] -receiving notices from various sources (not shown) indicating that given software is available for installation to operate monitoring device 160;

[0051] -updating the record 300 at the database 185 to reflect the identifiers of the given software available for installation in association with the monitoring device 160;

[0052] -determine if the given software has been installed in association with the monitoring device 160, by processing the record 200;

[0053] -retrieving the given software from the various sources, generating data 158, for transmission to monitoring device 160, the data 158 associated with monitoring device 160;

[0054] -transmitting the data 158 to the content distribution module 159; and

[0055] -updating the record 200 at the database 185 to reflect the identifiers of the given software which has been installed in association with the monitoring device 160

[0056] In one non-limiting embodiment the data 158 may comprise the given software for installation in association with the monitoring device 160, or a compiled version of the given software. The data 158 may yet further comprise the unique identifier of the STB 110, stored at field 230 of record 200. The data 158 may further comprise the unique identifier of the monitoring device 160, stored at field 240 of record 200.

[0057] The monitoring module 159 may be configured to perform further functions, described below. [0058] The content distribution module 157 is operable to perform a number of functions including, but not limited to: compiling and multiplexing content streams from various content sources (not shown); and encoding the multiplexed content streams for transmission and transmitting the encoded content streams to a plurality of STBs via the communication network 140, including the STB 110. In one non-limiting example the content distribution module 157 generates and transmits the signal 134 to the STB 110.

[0059] In some embodiments, the content distribution module 157 is operable to transmit the signal 134 to a specific STB, for example the STB 110, by obtaining the unique identifier of the STB 110 from the field 230 of record 200, and by inserting the unique identifier into the signal 134, for example as a header. In other embodiments, the signal 134 may be transmitted to all the STB's in communication with the content provider 130.

[0060] The content distribution module 157 may be further configured to perform a variety of administrative functions such as billing, maintaining customer profiles and maintaining content line-ups. The content distribution module may be yet further configured to accept the data 158 from the monitoring management module 159 and insert the data 158 into the signal 134.

[0061] The communications network 140 may include any network and/or broadband network that is configured to convey the signal 134 from the content provider 130 to the STB 110. Specific non-limiting examples of the communication network 140 include satellite, IPTV, xDSL and coaxial cable networks. In one specific non-limiting

embodiment, the communication network 140 is an xDSL network, which may be further configured to transmit IPTV signals. In another specific non-limiting embodiment, the communications network 140 is a CoAx network, which may be configured to transmit digital television transmissions. In yet another specific non-limiting embodiment, the communications network 140 comprises a satellite television network, which may be configured to transmit digital television transmissions, via at least one satellite.

[0062] In some instances, the communications network 140 may be further configured to convey a signal 136 from the STB 110 to the processing entity 155, for example in embodiments where the communication network 140 comprises an xDSL network or a Coax network. Details of the signal 136 are discussed below.

[0063] However in other embodiments the communication network 140 may be configured to convey signals in only one direction. For example, in embodiments where the communications network 140 comprises a satellite television network, the satellite television network may be configured to convey the signal 134 to the STB 110, but may not be configured to convey the signal 136 from the STB 1 10 to the processing entity 155.

[0064] In these embodiments, a processing entity 155 may be further coupled to an alternate communication network 145. In these embodiments, the alternate communication network 145 may be configured to convey the signal 136 from the STB 110 to the processing entity 155. The alternate communication network 145 may comprise an xDSL network, a coaxial cable network or the PSTN (public switched telephone network).

[0065] The STB 110 comprises any device configured to receive the signal 134 from the content provider 130, receive user input, and process the user input to convey a portion of the signal 134 to the AV output device 150. In one non-limiting embodiment, the STB 110 comprises a digital video recorder (DVR) or personal video recorder (PVR) or a network video recorder (NVR), which is a distributed DVR, for recording and playing back video, as known to one of skill in the art.

[0066] The STB 110 comprises an interface 180, configured to communicate with the content provider 130 via the communication network 140. In some embodiments the

interface 180 may be further configured to communicate with the content provider 130 via the alternate communication network 145. In some embodiments the interface 180 may be further configured to communicate with the monitoring device 160 via the local network 165 or the alternative local network 197. [0067] The local network 165 may comprise any network configured to convey signals between the monitoring device 160 and the STB 110. In one non-limiting embodiment the local network may be configured to convey a signal 173 a from the monitoring device 160 to the STB 110. Within these embodiments the signal 173a may comprise content from the monitoring device 160, as described below. In another non-limiting embodiment the local network may be configured to convey a signal 173b from STB 110 to the monitoring device 160. The local network 165 may comprise a hard wired local area network (LAN) for conveying packets between devices, or such network may utilize Powerline control (PLC) network, a wireless network local to the user premises 120, or a combination thereof. [0068] The alternative local network 197 may comprise any alternative network configured to convey signals between the monitoring device 160 and the STB 110, similar to the local network 165, and may also be configured to convey the signal 173a and the signal 173b between the monitoring device 160 and the STB 110. In some embodiments, the signal 173a may be conveyed to the monitoring device 160 on one of the local network 165 and the alternative local network 197, and the signal 173b may be conveyed to the STB 110 via the other of the local network 165 and the alternative local network 197. In other embodiments, communications between the monitoring device 160 and the STB 110 may occur primarily via one of the local network 165 and the alternative local network 197, with communications switching to the alternative local network 197 if problems are experiences within the local network 165.

[0069] The interface 180 may differ according to the nature of the communication network 140, and/or the alternate communication network 145 and/or the local network 165 and/or the alternative local network 197, i.e., depending on whether they are satellite, IPTV, xDSL, cable systems, PLC, or wireless etc. In each case, however, the interface 180 comprises suitable circuitry, software and/or control logic for receiving the signal

134 from the content provider 130, for transmitting the signal 136 to the content provider 130, for receiving the signal 173a from the monitoring device 160 and for transmitting the signal 173b to the monitoring device 160.

[0070] The STB 110 also comprises a processing unit 190 for performing various functions to be described below. The processing unit 190 may be implemented in software, hardware, control logic or a combination thereof.

[0071] The signal 134 received at the STB 110 can be a broadcast signal comprising a plurality of content streams, 135A, 135B, and 135C, configured by the content distribution module 157. Some of the plurality of content streams 135 A, 135B, and 135C may correspond to video content streams, such as television content streams, while others may correspond to audio content streams, such as radio content streams. Still others may convey interactive applications for download and installation on the STB 110. Still others may convey the data 158 associated with the monitoring device 160.

[0072] The processing unit 190 is configured to access only a subset of the signal 134, which may correspond to one of the plurality of content streams 135 A, 135B, and 135C selected for viewing by a user of the STB 110. In some embodiments, the user of the STB 110 may have access only to a subset of the plurality of content streams 135A, 135B, and 135C, the subset corresponding to the content which the user of the STB 110 has subscribed to from the content provider 130, recorded at field 220 of the record 200. [0073] The processing unit 190 may be further configured to select a content stream from the plurality of content streams 135A, 135B, and 135C in the signal 134, and place the content stream into a format suitable for handling by the AV output device 150. In some embodiments the processing unit 190 is responsive to a signal 171 received from the user input device 170, the signal 171 indicative of the user content stream of interest. In general the user of the STB 110 initiates the signal 171 by interacting with the user input device 170. In one non-limiting embodiment the user of the STB 110 selects a content stream via the user input device 170, and the signal 171 is transmitted to the STB 110 where it is received by the processing unit 190. The processing unit 190 then selects the content stream from the plurality of content streams 135A, 135B, and 135C based on the

signal 171. The processing unit 190 then transmits the selected content stream to the AV output device 150 as a signal 172, in a format suitable for the AV output device 150.

[0074] In some embodiments, the signal 171 may be indicative of a second user content stream of interest, as selected by the user via the user input device 170, in a manner similar to that described above. Within this embodiment, the processing unit 190 may be configured to receive the signal 171, and combine the first user content stream of interest and the second user content stream of interest. In one specific non-limiting embodiment, the two user content streams of interest are video content streams. The processing unit 190 is then configured to combine the two video content streams in a format suitable for the AV output device 150, such that the two video content streams may be displayed simultaneously on the AV output device 150. In one non-limiting embodiment the two or more video content streams may be displayed side-by side. Other screen arrangements are within the scope of present embodiments. In another non-limiting embodiment the two video content streams may be displayed in picture-in-picture format, in which one or more of the video content streams is displayed in a smaller picture inside a larger picture representing the other video content stream.

[0075] In embodiments where a content stream conveys data associated with the monitoring device 160, the processing unit 190 may be further configured to place the specific content stream into a format suitable for handling by the monitoring device 160. [0076] The memory 195 of the STB 110 may be configured to store a copy of the plurality of content streams 135A, 135B, and 135C, for later retrieval by the processing unit 180. The memory 190 may be further configured to store a copy of the signal 173a received from the monitoring device 160, for later retrieval by the processing unit 180. In embodiments where the STB 110 comprises a DVR, and the like, the memory 195 may comprise a DVR memory device. In one non-limiting embodiment the DVR memory device can include any type of non volatile digital mass storage medium which can store large amounts of information in a persisting and machine-readable fashion. These memory elements may include but not be limited to Flash memory which is a form of non-volatile computer memory that can be electrically erased and reprogrammed, electrically erasable programmable random access memory or EEPRO, other types of

non-volatile semiconductor memory, hard disks, floppy disks, optical discs, magneto- optical discs, drum memory, magnetic tape, holographic memory and others.

[0077] As previously described, the memory 195 may be further configured to store the record 196 comprising the at least one field for storing an identifier of the monitoring device 160, and the identifier(s) of software installed in association with the monitoring device 160.

[0078] The signal 173a generated at the monitoring device 160 may comprise content from the monitoring device 160, and is generally indicative of the status of the user premises 120. In a non-limiting example the signal 173a may comprise at least one image, video content, audio content and/or sensor content (e.g. a sensor at the monitoring device 160 is open or closed). The signal 173a may further comprise a message in a graphical or text based format. In some non-limiting embodiments, described below, the signal 173a may further comprise data associated with software installed in association with the monitoring device 160. [0079] The processing unit 160 at the STB 110 is further configured to select the signal 173a and place it into a format suitable for handling by the AV output device 150, similar to the process described above with reference to the plurality of content streams 135 A, 135B, and 135C. Indeed, in some embodiments the signal 171 received at the STB 110 may be indicative that the user content stream of interest is the signal 173a, the user of the STB 110 selecting a content stream from the signal 173a in addition to the plurality of content streams 135A, 135B, and 135C.

[0080] Figure 4a depicts the monitoring device 160 for monitoring the user premises 120. In one specific non-limiting embodiment the monitoring device 160 comprises a sensor unit 430, a central processing unit (CPU) 420, a memory module 410, and an interface 440. The interface 440 is configured to communicate with the local network 165, and may thus differ according to the nature of the local network 165. In any event, the interface 440 comprises suitable circuitry, software and/or control logic for transmitting the signal 173a to the STB 110, and receiving the signal 173b from the STB 110. In non- limiting embodiment, the interface 440 comprises a Powerline adaptor either embedded or externally.

[0081] In some embodiments, the sensor unit 430 may comprise a sensor for monitoring a window or door of the user premises 120, and may be configured to acquire a state of the sensor. In one non-limiting example, the sensor may be in an open state if the window or door has been breached by an intruder and in a closed state if the window or door has not been breached by an intruder.

[0082] In other embodiments the sensor unit 430 may comprise a motion sensor for monitoring motion in an area of the user premises 160. In one-non limiting embodiment the sensor unit 430 may comprise a camera for acquiring images of an area of the user premises 120. In these embodiments, the camera comprises image acquisition components, for example a lens and a device for capturing the image seen by the lens, such as a charge coupled device, a video tube, etc. In yet further embodiments the sensor unit 430 may comprise a microphone for acquiring audio of an area of the of the user premises 120. In yet other embodiments the sensor unit 430 may comprise a combination of a sensor for monitoring a window or door, a motion sensor, a camera and/or a microphone.

[0083] In any event, the sensor unit 430 acquires data related to the state of the user premises 120, and transmits the data to the CPU 420.

[0084] The CPU 420 is configured to process data acquired by the sensor unit 430, and generates the signal 173a to convey the processed data to the STB 110, in a format suitable for handling by the STB 110. As described above the signal 173a may comprise a message, in a graphical or text based format, indicating the status of the sensor unit 430. In embodiments where the sensor unit comprises a camera, the signal 173 a may comprise an acquired image or video content stream. In embodiments where the sensor unit comprises a microphone, the signal 173a may comprise an audio content stream. [0085] The CPU 420 is further configured to process monitoring device control software (MDCS) 415, stored at the memory module 410. The monitoring device control software 415 may comprise various software components installed on the monitoring device 160, including the operating system of the monitoring device 160 and software modules for enabling features of monitoring device 160. In general the field 250 of the record 200 at the database 185 reflects a record of the various software components of the monitoring

device control software 415. In some embodiments, the memory module 210 may be further configured to store data acquired by the sensor unit 430.

[0086] Specific embodiments of the monitoring device control software 415 are described below. In one non-limiting embodiment the monitoring device 160 comprises a VueCAM VC-202 Powerline IP camera, manufactured by VisualGate Systems Inc. located at 64 Bakersfield Street, Toronto, Canada. Furthermore, a person of skill in the art would understand that, in some embodiments, the monitoring device 160 comprises a video security device that may be used for any aspect of monitoring whether for the security of a premises or general ability to view the area involved for information, entertainment or other reasons.

[0087] As depicted in Figure 4b, in an alternative embodiment a monitoring device 160a comprises the sensor unit 430 connected to an external network interface 460. The external network interface 460 comprises the CPU 420, the memory module 410 and the interface 440, as described above. In this embodiment, monitoring device 160a may further comprise yet another interface (not depicted) for conveying the data from the sensor unit 430 to the external network interface 460.

[0088] In one non-limiting embodiment the external network interface comprises a VueEDGE VS-602 Digital Video Encoder manufactured by VisualGate Systems Inc., located at 64 Bakersfield Street, Toronto, Canada. Such encoders convert analogue video from a CCTV source into an IP digital signal for transmission to a STB.

[0089] Reference is now made to Figure 5. Figure 5 is substantially similar to Figure 1, with similar elements depicted with similar numbers. For clarity, the alternative local network 197 is omitted from Figure 5, and subsequent figures, however a person of skill in the art will understand that embodiments of the system depicted in Figure 5, and subsequent figures, may comprise the alternative local network 197. It is recalled that database 185 contains the record 200 wherein is stored an identifier of the STB 110, an identifier of the monitoring device 160, and at least one identifier of software installed in association with the monitoring device 160. It is further recalled that in some embodiments, the monitoring management module 159 is configured to receive notices from various sources, such as a software suppliers, the notices indicative that given

software is available for installation in association with the monitoring device 160, either at the monitoring device 160 (e.g. in the MDCS 415), at the STB 110, or at a combination of the monitoring device 160 and the STB 110.

[0090] In some embodiments the content provider 130 may wish that the installation of the given software in association with the monitoring device 160, be mandatory. In other embodiments, the content provider 130 may wish that the installation of the given software in association with the monitoring device 160 be optional. The mandatory or optional nature of the installation of the given software may be reflected in an additional field of record 300. [0091] A non-limiting example of given software which may be mandatory for installation in association with the monitoring device 160, comprises a new operating system for the monitoring device 160. Another non-limiting example of given software which may be mandatory for installation in association with the monitoring device 160, comprises a patch for repairing a bug in the monitoring device control software 415. Other examples of given software which may be mandatory for installation in association with the monitoring device 160 will occur to one of skill in the art.

[0092] A non-limiting example of given software which may be optional for installation in association with the monitoring device 160 comprises software which enables a new feature of the monitoring device 160, for example software for enabling security features, such as motion detection areas. Other examples of given software which may be optional for installation in association with the monitoring device 160 will occur to one of skill in the art.

[0093] In some embodiments the installation of the optional given software may be offered free of charge to the user of the STB 110 (discussed below). However in other embodiments the installation of the optional given software may be offered to the user of the STB 110 for a given fee. The nature of any fee associated with the installation of the given software may also be reflected in additional field of record 300.

[0094] Consider now an embodiment of the present embodiment wherein given software has been made available to the monitoring management module 159. Within these embodiments the monitoring management module 159 may be configured to determine if

the given software has been installed in association with the monitoring device 160. In general the monitoring management module 159 makes this determination by obtaining an identifier of the given software from the source of the software (e.g. a software provider), and comparing the identifier of the given software with the at least one field 250 of record 200. In embodiments where the monitoring management module 159 has received the given software, the monitoring management module 159 may be configured to extract the identifier from the given software. Once the identifier is obtained, the monitoring management module 159 may cause the identifier to be stored at one of the fields 320, 330, 340 and 350 of record 300, indicating that the given software is available for installation in association with a monitoring device having the make and/or model number of field 310 of record 300.

[0095] However in other embodiments, the monitoring management module 159 may be configured to determine if the given software has been installed in association with the monitoring device 160, by polling the STB 110. Within these embodiments, the monitoring management module 159 is configured to transmit a trigger (not depicted) to the content distribution module 157 to initiate the polling. In some embodiments, the trigger may comprise the identifier of the given software. In other embodiments the trigger may comprise a request for identifiers of software installed at the monitoring device 160. The trigger may yet further comprise the identifier of the STB 110, stored at field 230 of record 200. The trigger may further comprise the identifier of the monitoring device 160, stored at field 240 of record 200.

[0096] Upon receiving the trigger the content distribution module 157 may transmit a data request 510 to the STB 110. In some embodiments the data request 510 may be transmitted via the signal 134. For example the content distribution module 157 may be configured to embed the data request 510 into the content stream 135 A, or another suitable content stream. Within this embodiment, the processing unit 190 is configured to process the content stream 135 A and extract the data request 510. The processing unit 190 is further configured to process the data request 510. In other embodiments, the data request 510 may be transmitted as a signal independent from a content stream, as known to one of skill in the art.

[0097] In some embodiments the data request 510 may comprise the identifier of the given software. In these embodiments the processing unit 190 is configured to extract the identifier and determine if the software associated with the identifier has been installed in association with the monitoring device 160. In embodiments where the memory 195 comprises the record 196, the processing unit 190 makes the determination by comparing the identifier of the given software with the identifier of the software installed in association with the monitoring device, stored in the record 196.

[0098] In other embodiments the processing unit 190 may transmit a further data request 510a to the monitoring device by embedding the data request 510a in the signal 173b. In some embodiment the data request 510a may comprise a request for the identifiers of software installed in the MCDS 415. In these embodiments the CPU 420 process the data request 51 Oa and generates a reply 511a comprising the identifiers of software installed in the MCDS 415. Within these embodiments the reply 511a may be transmitted to the STB 110 via the signal 173a. In these embodiments the processing unit 190 is configured to process the reply 511a extract the identifiers of software installed in the MCDS 415. The processing unit 190 may then compare the identifier of the given software received in the data request 510, to determine if the given software is installed in the MCDS 415.

[0099] However, in other embodiment the data request 51 Oa may comprise the identifier of the given software. In these embodiments the CPU 420 is configured to process the data request 510a to extract the identifiers of identifiers of the given software. The processing CPU 420 may then compare the identifier of the given software with the identifiers of the identifiers of software installed in the MCDS 415, to determine if the given software is installed in the MCDS 415. In this embodiment, the reply 511a comprises an indication of the status of the installation of the given software. In one non- limiting embodiment, the reply 511a may comprise "Yes" if the given software is installed, and "No" if the given software is not installed. In any event the processing unit 190 is configured to process the reply 51 Ia to determine if the given software is installed in the MCDS 415.

[0100] The processing unit 190 may be further configured to generate a reply 511, once the processing unit 190 has determined if the if the given software is not installed in

association with the monitoring device 160. In this embodiment, comprises an indication of the status of the installation of the given software installed in association with the monitoring device 160. In one non-limiting embodiment, the reply 511 may comprise "Yes" if the given software is installed in association with the monitoring device 160 and "No" if the given software is not installed in association with the monitoring device 160. In these, embodiment the signal 136 may comprise the reply 511, the signal 136 conveyed via the communication network 140, or alternatively via the alternate communication network 145. In these embodiments the signal 136 may be received and processed at the content distribution module 157 to extract the reply 157, which is then passed to the monitoring management module 159. The monitoring management module 159 determines if the given software has been installed in association with the monitoring device 160 by processing the reply 511.

[0101] In other embodiments, the data request 510 may comprise may comprise a request for the identifiers of software installed in association with the monitoring device 160. In this embodiment, the processing unit 510 is configured to process the data request 510. In embodiments, where the memory comprises the record 196, the processing unit 510 obtains identifiers of software installed in association with the monitoring device 160 by extracting them from the record 196. In other embodiments, the processing unit 190 obtains the identifiers of the software installed in association with the monitoring device 160 by transmitting the data request 511a, as described above. In these embodiments, the reply 511 comprises identifiers of software installed in association with the monitoring device 160.

[0102] In these embodiments, the monitoring management module 159 determines if the given software has been installed in association with the monitoring device 160 by first processing the reply 511 to extract the identifiers of the software installed in association with the monitoring device 160, and then comparing the identifier of the given software with the identifiers of the software installed in association with the monitoring device 160. IF the monitoring management module 159 has determined that the given software has not been installed in association with the monitoring device 160, the monitoring management module 159 determines if the installation of the given software is optional or mandatory by examining the record 300.

[0103] Turning now to Figure 6, in embodiments where the installation of the given software is mandatory, the monitoring management module 159 may be configured to request the given software from the software provider. Upon receipt of the given software, the monitoring management module 159 may generate the data 158 comprising, in some embodiments, the given software or, in other embodiments the compiled version of the given software. In some embodiments, the data 158 may already be present at the monitoring management module 159, as described above.

[0104] In any event, the monitoring management module 159 is further configured to transmit the data 158 to the content distribution module 157, which in turn transmits the data 158 to the STB 110. In some embodiments the data 158 may be transmitted via the signal 134. For example the content distribution module 157 may be configured to embed the data 158 into the content stream 135 A, or another suitable content stream. In other embodiments, the data 158 may be transmitted independent of a content stream. Within this embodiment, the processing unit 190 is configured to process the content stream 135A and extract the data 158.

[0105] In some embodiments, the processing module 159 is further configured to transmit the data 158 to the monitoring device 160, via the interface 180, by embedding the data 158 in the signal 173b.

[0106] In embodiments where the data 158 comprises the unique identifier of the monitoring device 160, the processing module is configured to transmit the data 158 to the monitoring device 160 for which the data 158 is intended, by processing the data 158 to extract the unique identifier. In some embodiments, the unique identifier comprises an address of the monitoring device 160 on the local network 165. In other embodiments, the unique identifier may be associated with an address of the monitoring device 160 on the local network, stored in the memory 195. In embodiments where the data 158 does not comprise the unique identifier of the monitoring device 160, the processing module is configured to transmit the data 158 to the monitoring device 160, the address of the monitoring device 160 on the local network 165, stored in the memory 195. In these embodiments, the monitoring device 160 is configured to determine if the data 158 is

compatible with the monitoring device control software 415. If the data 158 is not compatible, the data 158 is not processed.

[0107] In any event, the data 158 is received at the monitoring device 160. In these embodiments, the CPU 420 is configured to process the data 158. Processing the data 158 may comprise extracting the given software, compiling the given software if necessary, and installing the given software in the monitoring device control software 415 with the given software. In some embodiments, the CPU 420 may cause the monitoring device 160 to reboot to complete the installation. In other embodiments, the installation may be completed without rebooting. In some embodiments, the monitoring device 160 may transmit an indication to the STB 110, indicating that the software has been successfully installed, the indication is then forwarded on to the content provider 130 by the STB 110, for storage at the database 185, for example, in record 200.

[0108] In other embodiments, the processor 190 may process the data 158 to extract a portion of the given software 158a, prior to forwarding the data 158, (or the remaining portion of the data 158), on to the monitoring device 160, as described above. In these embodiments, the portion of the given software 158a comprises a portion of the given software for installation at the STB 110. The portion of the given software 158a may then be installed at the STB 110, and saved in the memory 195. In these embodiments, the portion of the given software 158a installed at the STB 110 and the given software installed at the monitoring device 110 may interact to control the monitoring device 160.

[0109] In yet further embodiments, the given software is to be installed at the STB 110 and not the monitoring device 160. In these embodiments, the processor 190 processes the data 158 to extract the given software and installs the given software at the STB 110, for example by storing the given software in the memory 195. In these embodiments, and embodiments that comprise the portion of the given software 158a installed at the STB 110, the processor may further update native software of the STB 110 to reflect the installation of the given software, or the portion of the given software 158a at the STB 110.

[0110] In some embodiments, a menu system of the STB 110 may be updated to reflect the installation of the given software at the monitoring device 160 and/or the STB 110, to

enable a user of the STB 110 to access the given software via the menu system of the STB 110, as will be described below.

[0111] Turning now to Figure 7, in embodiments where the installation of the given software is optional, the monitoring management module 159 may transmit a trigger to the content distribution module 157, the trigger to initiate polling the user of the STB 110 to determine if the given software is to be installed at the monitoring device 160.

[0112] In some embodiments, the trigger may comprise the identifier of the given software. In other embodiments the trigger may comprise a description of the given software obtained from the software provider. In some embodiments, the description of the given software may be stored at a field in the record 300. The trigger may yet further comprise the identifier of the STB 110, stored at field 230 of record 200. The trigger may further comprise the identifier of the monitoring device 160, stored at field 240 of record 200.

[0113] Upon receiving the trigger the content distribution module 157 may transmit a data request 710 to the STB 110. In some embodiments the data request 710 may be transmitted via the signal 134. For example the content distribution module 157 may be configured to embed the data request 710 into the content stream 135B. Within this embodiment, the processing unit 190 is configured to process the content stream 135 A and extract the data request 710. The processing unit 190 is further configured to process the data request 710.

[0114] In some embodiments, the processing module 159 is configured to generate a message 713 for the user of the STB 110, the message 713 in a format suitable for handling by the AV output device 150. In one non-limiting embodiment the message 713 may then be conveyed to the AV output device 150 for viewing by the user of the STB 110, by placing the message 713 into the signal 172. In some embodiments, the message 713 may replace the content stream being viewed by the user of the STB 110.

[0115] In other embodiments, the message 713 may be combined with the content stream being viewed by the user of the STB 110, for example as a picture in picture as described above.

[0116] The message 713 may comprise information describing the given software, and indicate that the software is available to be installed at the monitoring device 160. The message 713 may further comprise information regarding the cost of the given software. The message 713 may further prompt the user of the STB 110 for their preference as to whether the given software should be installed. The user of the STB 110 may indicate the user preference by interacting with the user input device 170, and the user preference is transmitted to the STB 110 in the signal 172. In one non-limiting example the message 713 may comprise text such as "New Software for Monitoring Camera Available; Cost is $5 to be added to your monthly bill; Install YES or NO?". [0117] In this embodiment, the processing unit 190 receives the user preference and generates a reply 711 indicative of the user preference. The reply 711 is transmitted to the content provider in the signal 136 via the communication network 140, or alternatively via the alternative communication network 145. The reply 711 is processed in a similar manner to the reply 511, described above. The monitoring management module 159 determines the user preference by processing the reply 711. If the user preference is indicates that the given software is to be installed at the at least one security module 160, the data 158 is transmitted to the STB 110 as described above, and the STB 110 further transmits the data 158 to the monitoring device 160, also as described above.

[0118] In some embodiments, the processing unit 190 may further transmit a message in the signal 172 indicating if the software has been successfully installed. The processing unit 190 may determine if the software has been successfully installed by transmitting a request (not depicted) in the signal 173b. In response, the monitoring device 160 may transmit a reply (not depicted) in the signal 173a, the reply indicative of whether the installation has been successful. If the message in the signal is indicative that the installation has been successful, the monitoring management module 159 may update the record 200, and further inform the content distribution module 157 to bill the customer for the given software.

[0119] In a further embodiment, the data 158 may be transmitted to the STB 110 in the content stream 135B, along with the data request 710. In this embodiment, the processing unit 190 is further configured to receive the data 158 and to cause the data 158 to be

stored at the memory 195. In these embodiments, once the processing unit 190 has received the user preference, the processing unit 190 may initiate the installation of the given software by retrieving the data 158 from the memory 195. The installation may then proceed as described above. [0120] In yet further embodiments, the processing module 159 may be configured to cause the data request 710 to be stored at the memory 195. In these embodiments, the processing module 159 may not generate the message 713 upon receipt of the data request 710. Rather, the user of the STB 110 may initiate the generation of the message 713 by an interaction with the user input device 170. Within this embodiment the signal 171 may convey a command to the processing unit 190 to view available software for installation at the AV output device 150.

[0121] In one non-limiting embodiment, the user of the STB 110 may initiate the generation of the message 713 via a menu system generated by the processing unit 159 and incorporated into the signal 172. [0122] In yet further embodiments, the user of the STB 110 may initiate the transmission of the data request 710 by an interaction with the user input device 170. Within this embodiment the signal 171 may convey a command to the processing unit 190 to view available software for installation at the AV output device 150. In these embodiments, the processing unit 159 is further configured to transmit a request to the content provider 130, in the signal 136. The request may comprise an identifier of the monitoring device 160. In some embodiments the identifier is obtained from the record 196.

[0123] In other embodiments the identifier may be obtained from the monitoring device 160. In response to receiving the request, at the monitoring management module 159, the monitoring management module 159 may be configured to access the database 185 and compare the record 200 and the record 300 to determine if there is any given software available that has not been previously installed monitoring device 160. Once this determination has been made, the monitoring management module 159 may trigger the transmission of the data request 710, as described above. However, if the monitoring management module 159 determines that there is no new given software available, the data request 710 may comprise an indicator conveying this information.

[0124] In some embodiments, the monitoring device 160 may undergo a set-up or provisioning process when it is first attached to the STB 110. As depicted in Figure 8, the monitoring device 160 may transmit an indicator 810 that it is now present on the local network 165. The indicator 810 may be received at the STB 110 and transmitted to the AV output device 150, for viewing by a user of the STB 110. The indicator 810 may comprise registration information including the make and/or model of the monitoring device 160, an identifier of the security device 160, and identifiers of the software installed on the security device 160. At least a portion of this registration information may be viewed by the user of the STB 110 at the AV output device 150. In some embodiments, the indicator 810 may be further stored at the memory 195. In some embodiments the indicator 810 be stored at the record 196. In other embodiments the indicator 810 may be transmitted to the content provider 130 via signal 136, and received by the monitoring management module 159, via the communication network 140 or the alternative communication network 145. The monitoring management module 159 causes the registration information contained in the indicator 810 to be stored at the record 200. At this point, the monitoring management module 159 may determine that given software is available for the security device 160, and install the software as described previously.

[0125] Turning now to Figure 9, once the given software has been installed in association with the monitoring device 160, a user may wish to control and/or operate the monitoring device 160 via the STB 110 by relaying commands to the monitoring device 160 or the software controlling the behaviour of the monitoring device 110 via the STB 110 (i.e. the MDCS 415 and/or the portion of the given software 158a, or the given software installed at the STB 110). In a non-limiting embodiment, the user may wish to turn the monitoring device 160 on or off, or set parameters within the operating system of the monitoring device 160, such as a password, or set parameters within other software installed in association with the monitoring device 160. For example, if security software has been installed for processing the signal 173 a and creating and/or setting alert parameters, such that if the signal 173a falls within the alert parameters, and alert is triggered, the user may wish to create and or set alert parameters. The alert may comprise a notice displayed at the AV output device 150, or may comprise a signal transmitted via the communication network 140 to the content provider 130, or a monitoring entity (not depicted), indicating

that the signal 173a has fallen within the alert parameters. In a non-limiting example, in embodiments where the monitoring device 160 comprises a switch, and the signal 173a comprises an indication if the switch is open or closed, the user may wish to trigger an alert if the switch changes state (e.g. opens or closes). In another non-limiting example, in embodiments where the monitoring device 160 comprises a security camera, and the signal comprises a video stream, the user may wish to set motion detection areas within the video stream, such that if motion is detected within the motion detection area, an alert is triggered. The motion detection area may comprise a virtual security perimeter, such that if motion is detected as occurring across the virtual security perimeter, an alert is triggered. In any event, the user may configure the motion detection area by using the user input device 170 to interact with the software security software to set the motion detection area (or areas), as described below. Other parameters within software installed in association with the monitoring device 160 that may be set by the user via the STB 110 will occur to one of skill in the art. [0126] To initiate control and/or operation of the monitoring device 160 via the STB 110, the user interacts with the user input device 170, to transmit a message 910 to the STB 110, the message 910 transmitted within a signal 171a. For example, in some embodiments the user input device 170 comprises a remote control device for controlling the STB 110, and the user may press a button on the remote control device to initiate the transmission of the message 910. In some of these embodiments, the button may be a button dedicated to controlling a given function of the monitoring device 160, for example turning the monitoring device 160 on or off. In other embodiments, the button may be a button dedicated to accessing a monitoring device menu within the menu system of the STB 110. In embodiments, where the STB 110 is in communication with a plurality of monitoring device, the button may be a button dedicated to accessing a monitoring system menu within the menu system of the STB 110. In yet further embodiments, the button may be a button dedicated to accessing the menu system of the STB 110; in these embodiments, the menu system of the STB 110 comprises a monitoring device sub-menu (or a monitoring system sub-menu), and the user navigates to the monitoring device sub-menu to initiate control and/or operation of the monitoring device 110. In other words, the user navigates within the menu system of the STB 110 to

access a menu item that, when chosen, initiates control and/or operation of the monitoring device 160, via the STB 110.

[0127] In some embodiments, monitoring device sub-menu (or monitoring system submenu) comprises a list of the software associated with the monitoring device 160. In these embodiments, the user may then choose from the list of the software associated with the monitoring device 160, again via an interaction with the user input device 170, to choose the software with which the monitoring device 160 may be controlled and/or operated. Once the desired software is chosen, the user may be presented with a list of specific actions associated with the software with which the monitoring device 160 may be controlled and/or operated. The list of specific actions may be compiled at the time the given software is installed, as described above, for example by processing the given software to extract a list of specific actions which is available to a user of the given software. In these embodiments, the list of specific actions may be stored in the record 196 in association with an identifier of the given software, or in another record. In other embodiments, the list of specific actions may be compiled at the time the given software is chosen from the list of the software associated with the monitoring device 160.

[0128] In any event, the message 910 is indicative that the user wishes to control and/or operate the monitoring device 160. The message 910 is processed by the processing unit 190 to effect the control and/or operation. In some embodiments the processing unit 190 processes the message 910 to produce control data 930, once the message 910 is received at the STB 110. In some embodiments, the control data 930 comprises a specific command to be used as input to the MDCS 415 to effect the control and/or operation desired by the user. In these embodiments, the CPU 420 then further processes the MDCS 415 in conjunction with the control data 930 to cause the specific action. In other embodiments, the control data 930 comprises reference data which triggers the monitoring device 160 to invoke a specific function. In a non-limiting example, the reference data may comprise a reference number which, when processed by the CPU 420 causes the monitoring device 160 to invoke a specific function in the MDCS 415.

[0129] In some embodiments, the message 910 comprises the control data 930 and processing the message 910 comprises extracting the control data 930 from the message

910. In embodiments where the memory 195 comprises the given software installed at the STB 110 or the portion of the given software 158a, the message 910 may trigger the processing unit 190 to process the given software, or the portion of the given software 158a, to produce the control data 930. [0130] In yet other embodiments, when the message 910 is received at the STB 110, it may trigger the STB 110 to invoke the given software installed at the STB 110 or the portion of the given software 158a. For example, in some embodiments, the monitoring device 160 may be transmitting signals to the STB 110 via the local network 165, for processing at the STB 110. In these embodiments, the processing unit 190 processes the signals from the monitoring device 160 in conjunction with the given software installed at the STB 110, or the portion of the given software 158a,. In these embodiments, the message 910 may cause the given software (or the portion of the given software 158a) to behave in a certain manner. In one non-limiting embodiment, the given software installed at the STB 110 may be monitoring the signals from the monitoring device 160 (e.g. signal 173a) and seeking alarm triggers within the signals; the given software may initiate an alarm if an alarm trigger is detected. In these embodiments, the message 910 may trigger the initiation of the alarm turning on or off.

[0131] In some embodiments, when the message 910 is received at the STB 110, the STB 110 may generate data 920 configured for display at the AV output device 150, and transmit the data 920 to the AV output device 150, for example, via signal 172. The data 920 is then displayed at the AV output device 920 in any suitable format, as known to one of skill in the art.

[0132] In some embodiments, the message 910 may be indicative that the user wishes the monitoring device 160 to perform a specific action. Non-limiting examples of a specific action include, but are not limited to, turning the monitoring device 160 on or off, turning a specific function of the monitoring device 160 on or off, and causing the monitoring device 160 and/or the MDCS 415 and/or the portion of the given software 158a and/or the given software installed at the STB 110, to perform a specific sequence of steps and/or set parameters within software installed in association with the monitoring device 160. In these embodiments, the data 920 may comprise a message for informing the user

that the specific action is to occur and/or has occurred. In other embodiments, however, the data 920 may comprise a prompt to trigger the user to confirm that the specific action is to occur. In a non-limiting example the data 920 may comprise a question such as "Do you wish to proceed with the specific action? Yes/No". In these embodiments, the specific action will not proceed until an indication of a user preference is received from the user input device 170; for example, the user may again interact with the user input device 170 (e.g. again press a button on the remote control), to indicate the user preference. This triggers the indication of the user preference to be transmitted to the STB 110 via the signal 171a. The indication of the user preference is then processed by the STB 110, and the specific action proceeds if indicated, as described below.

[0133] The message 930 is then processed by the CPU 420 at the monitoring device 160 for triggering the specific action. In one non-limiting embodiment, the message 930 may comprise an input to the MDCS 415 for effecting the specific action; in these embodiments, the CPU 420 then further processes the MDCS 415 in conjunction with the message 415 to cause the specific action.

[0134] In yet other embodiments, the message 930 may cause the monitoring device 160 to invoke given software within the MDCS 415, the given software requiring further input from the user to effect control of the monitoring device 160. In embodiments, the message 910 triggers the STB 110 to invoke the portion of the given software 158a, the portion of the given software 158a requiring further input from the user to effect control of the monitoring device 160. In any event, in these embodiments, once invoked, the software associated with the monitoring device 160 requires further input from the user to effect control of the monitoring device 160.

[0135] In embodiments where the given software within the MDCS 415 is invoked, the given software requiring further input from the user to effect control of the monitoring device 160, the monitoring device 160 may generate data 935, transmitted to the STB 110 via a signal 174, the data 935 comprising data requesting the further input from the user.

The data 935 is processed by the processing unit 190 for display at the AV output device

150, and at least a portion of the data 935 processed for display at the AV output device 150 is transmitted to the AV output device 150 via the data 920. In embodiments where

the given software installed at the STB 110, or the portion of the given software 158a, is invoked, requiring further input from the user to effect control of the monitoring device 160, the processing unit 190 incorporates data requesting further input from the user into the data 920, in the course of processing the given software, or the portion of the given software 158a.

[0136] The user may then interact with the software associated with the monitoring device 110, via the user input device 170 to supply further input to the software via the STB 110. The STB 110 receives the further input via further data received from the user input device 170 transmitted via the signal 171a, similar to the transmission of the data 910 described above. The STB 110 receives the further input and, in some embodiments, transmits the further input to the monitoring device 160 for processing. In other embodiments, the further input may be processed by the STB 110 prior to transmission to the monitoring device 160. In further embodiments, the further input may be processed by the STB 110 in conjunction with processing the portion of the given software 158a. In some embodiments, the further input may be supplied by the user via a single interaction with the user input device 170, while in other embodiments, the further input may be supplied via a plurality of interactions with the user input device 170.

[0137] Similar to the data 920, the further input may comprise data processable by the processing unit 190, or the CPU 420, or may comprise a trigger to cause the software associated with the monitoring device 160 to behave in a certain manner. In a non- limiting example, the data 920 displayed at the AV output device 150 may prompt the user to make a menu choice by using the user input device 170 to scroll to a particular action to invoke with the given software. In another non-limiting example, the data 920 displayed at the AV output device 150 may prompt the user to enter a number via a keypad at the AV output device 170. In another non-limiting example, the data 920 may comprise an image supplied to the STB 110 from the monitoring device (e.g. in embodiments where the monitoring device 160 comprises a camera), and a cursor displayed on top of the image. In this example, the user may be prompted to use a keypad on the user input device 170 to move the cursor around on the image to choose points on the image or areas of the image, for example to set a motion detection area, or to control other security event responses.

[0138] In one-non-limiting embodiment, the user may control aspects of the provisioning of the monitoring device 160. For example, following the provisioning process, described above with reference to Figure 8, the user may wish to activate an account with a remote monitoring entity for billing purposes in exchange for monitoring services offered by the remote monitoring entity. In some embodiments, the content provider 130 comprises the remote monitoring entity. For example, the remote monitoring entity may be enabled to receive data 940 from the monitoring device 160, transmitted by the STB 110 via the signal 136 through the communication network 140 (or the alternate communication network 145). In these embodiments, the user may activate the account, and set up billing parameters, by interacting with account set-up and/or billing software installed at the STB 110 within the portion of the given software 158a, or the MDCS 415 of the monitoring device. Once the account set-up and/or billing parameters are chosen, the parameters are transmitted to the remote monitoring entity and/or an associated billing entity by the STB 110 via the signal 136 through the communication network 140 (or the alternate communication network 145). In further embodiments, the user may set further account parameters and/or billing parameters, which may be transmitted to the remote monitoring entity and/or an associated billing entity after installation of new software, or at anytime the user chooses to change the parameters via an interaction with the STB 110.

[0139] Those skilled in the art will appreciate that in some embodiments, the functionality of the monitoring device 160, the STB 110, and the processing entity 155 may be implemented using pre-programmed hardware or firmware elements (e.g., application specific integrated circuits (ASICs), electrically erasable programmable readonly memories (EEPROMs), etc.), digital signal processors (DSPs) or other related components. In other embodiments, the functionality of the monitoring device 160, the STB 110, and the processing entity 155 may be achieved using a computing apparatus that has access to a code memory (not shown) which stores computer-readable program code for operation of the computing apparatus. The computer-readable program code could be stored on a medium which is fixed, tangible and readable directly by these components, (e.g., removable diskette, CD-ROM, ROM, fixed disk, USB drive), or the computer-readable program code could be stored remotely but transmittable to these components via a modem or other interface device connected to a network (including,

without limitation, the Internet) over a transmission medium. The transmission medium may be either a non-wireless medium (e.g., optical or analog communications lines) or a wireless medium (e.g., microwave, infrared, free-space optical or other transmission schemes) or a combination thereof.

[0140] Persons skilled in the art will appreciate that there are yet more alternative implementations and modifications possible for implementing the present embodiment, and that the above implementations and examples are only illustrations of one or more embodiments. The scope, therefore, is only to be limited by the claims appended hereto.