`[19]
`[11] Patent Number:
`5,945,993
`
`Fleischmann
`[45] Date of Patent:
`Aug. 31, 1999
`
`U5005945993A
`
`[54] PICTOGRAPH-BASED METHOD AND
`APPARATUS FOR CONTROLLING A
`PLURALITY 0F LIGHTING LOADS
`
`[75]
`
`[73]
`
`-
`£131? CVZEEIIH FleISChmann’ Memo
`’
`'
`
`.
`Inventor‘
`.
`ASSIgHCCZ Hewlett'PaCkard Company, PalO A1t°>
`Cahf
`
`[2]] Appl. No.: 09/016,344
`
`[22]
`
`Filed:
`
`Jan. 30, 1998
`
`7/1997 Benson .................................... 345/173
`5,650,800
`
`7/1997 Daley ............... 370/259
`5,650,994
`8/1997 Warman et al.
`..... 364/188
`5,657,221
`
`
`.
`3/1998 Hendricks et al.
`..... 345/352
`5,734,853
`11/1998 Arruza .................................... 345/334
`5,838,316
`11/1998 Liu .......................................... 702/122
`5,839,095
`12/1998 Anora et al.
`5,845,299
`..... 707/513
`
`5,847,707 12/1998 Hartman ............... 345/339
`
`..
`..... 345/326
`5,861,883
`1/1999 Cuomo et al.
`
`3/1999 Dickman et al.
`..... 345/349
`5,877,765
`
`3/1999 Bennett ............... 364/191
`5,877,957
`
`3/1999 Furusawa ................................ 345/701
`5,884,079
`
`OTHER PUBLICATIONS
`
`Int. C16 ........................................................ G06F 3/00
`[51]
`[52] us. Cl.
`............................................. 345/339, 345/349
`[58] Field of Search ..................................... 345/339, 340,
`345/348, 349, 327—328, 326, 329, 330—338,
`341—347, 350, 351, 352, 353, 354—355,
`356’ 357; 707/120—122; 364/578
`References Cited
`
`[56]
`
`U.S. PATENT DOCUMENTS
`.
`3133: $25:53:12] """""""""""""""" 32:53:
`
`10/1994 Kuwamoto et a1
`345/349
`
`.........
`1/1996 Nagai et al.
`345/339
`2/1997 Robrock .................................. 370/399
`
`g’igg’ggg
`5:353:399
`5,483,631
`5,600,643
`
`Brockschmidt, Inside OLEZ, Microsoft Press, Redmond
`WA, 1994~
`Primary Examiner—Steven p. Sax
`
`ABSTRACT
`[57]
`A lighting control system for multiple lighting loads
`includes a computer that displays a pictograph and a lighting
`control panel. The pictograph includes selectable represen-
`tations of the lighting loads. A particular lighting load is
`controlled by selecting a lighting state such as “on” or “off”
`on the lighting control panel and selecting a representation
`of the particular lighting load on the pictograph.
`
`22 Claims, 9 Drawing Sheets
`
`LR’I
`
`20
`
`VIRTUAL LIGHT
`SWITCH
`
`SERVER
`
`24
`
`26
`
`10
`
`22
`
`LR2
`WEB
`BROWSER
`
`LIGHT
`D
`
`NING
`ON
`
`AE
`
`NETWORK
`CARD
`
`DISPLAY
`
`48
`
`60
`
`62
`
`64
`
`58
`
`56
`
`52
`
`54
`
`SWITCHES
`- 18
`
`32
`
`CMD
`
`INTERFACE MODULE
`
`28
`
`16
`
`ARC
`
`RELAYS
`14 -
`
`LIGHTNING
`LOADS
`
`12
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 1 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 1 of 17
`
`
`
`US. Patent
`
`Aug.31, 1999
`
`Sheet 1 0f9
`
`5,945,993
`
`FIGURE 1
`
`LR1
`
`20
`
`24
`
`1°
`
`/
`
`22
`
`26
`
`LR2
`
`VIRTUAL LIGHT
`SWITCH
`
`SERVER
`
`LIGHTNING
`DAEMON
`
`HTML FILES
`
`IMAGE MAPS
`
`
`
`WEB
`BROWSER
`
`48
`
`60
`
`62
`
`64
`
`58
`
`56
`
`52
`
`54
`
`NETWORK
`CARD
`
`DISPLAY
`
`32
`
`CMD
`
`SWITCHES
`
`18
`
`INTERFACE MODULE
`ARC
`
`28
`
`16
`
`14
`
`RELAYS
`
`LIGHTNING
`LOADS
`
`12
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 2 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 2 of 17
`
`
`
`US. Patent
`
`Aug.31, 1999
`
`Sheet 2 0f9
`
`5,945,993
`
`FIGURE 1a
`
`m IP Addr Intensity n
`
`HGURE3
`
`94
`
`I Lights ELI!—
`
`
`
`
`
`96a
`
`96b
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 3 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 3 of 17
`
`
`
`_'9 5
`
`Off
`
`0 1/3
`
`68a 0 68b
`
`QON
`
`68c
`
`
`
`
`
`
`US. Patent
`
`Aug.31, 1999
`
`Sheet 3 0f9
`
`5,945,993
`
`FIGURE 2
`
`54
`
`Lighting Control in Building 2U
`Click on your cubicle to control the lights in your zone!
`
`66
`
`l_lH0melMIMlAlI3_U1L3£llfl1EAJ174
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 4 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 4 of 17
`
`
`
`US. Patent
`
`Aug.31, 1999
`
`Sheet 4 0f9
`
`5,945,993
`
`FIGURE 4
`
`100
`
`START
`
`INITIALIZATION
`
`DETERMINE VLS
`STATE
`
`102
`
`104
`
`610
`
`WAIT FOR
`
`COMMUNICATION
`
`@ Yes
`
`N0
`
`112
`
`No
`
`110
`
`CLEAN UP
`
`STOP
`
`AUTHENTICATE
`
`RECORD STATE
`
`GENERATE
`DIGITAL CMD
`
`SEND DIGITAL
`COMMAND
`
`MONITOR
`COMPLETION
`
`
`
`
`MULTICAST
`NEW STATE
`
`MONITOR
`COMPLETION
`
`12
`
`2
`
`
`
`
`
`
`
`
`
`
`
`
`
` No
`
`
`
`TIMEOUT
`OR ERROR
`
`
`TIMEOUT
`OR ERROR
`
`128
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 5 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 5 of 17
`
`
`
`US. Patent
`
`Aug.31, 1999
`
`Sheet 5 0f9
`
`5,945,993
`
`200
`
`202
`
`204
`
`206
`
`208
`
`210
`
`212
`
`214
`
`FIGURE 5
`
`CLIENT SIDE
`
`SERVER S|DE
`
`USER EXECUTES
`BROWSER PROGRAM
`
`USER ENTERS URL
`
`RUN LIGHTING
`DAEMON
`
`
`
`INVOKE INTERFACE
`PROGRAM TO
`DETERMINE ZONE
`COORDINATES &
`LIGHTING LOAD STATE
`
`WEB BROWSER
`DOWNLOADS HTML
`FILE
`
`BROWSESLEQEEUTES
`
`BROWSER DISPLAYS
`
`FORM & IMAGE MAP
`
`USER ENTERS
`
`LIGHTING STATE
`
`USER SELECTS A
`ZONE
`
`
`
`BROWSER
`GENERATES AND
`SENDS LR2
`
`INTERFACE PROGRAM
`
`TRANSLATES ZONE
`COORDINATES
`
`INTERFACE PROGRAM
`
`
`
`GENERATES LR1
`
`INTERFACE PROGRAM
`SENDS LR1
`
`DAEMON GENERATES
`DIGITAL COMMAND
`
`INTERFACE MODULE
`GENERATES ARC
`
`RELAY RESPONDS
`
`215
`
`216
`
`218
`
`220
`
`222
`
`224
`
`226
`
`228
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 6 Of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 6 of 17
`
`
`
`US. Patent
`
`Aug.31, 1999
`
`Sheet 6 0f9
`
`5,945,993
`
`300
`
`302
`
`304
`
`312
`
`314
`
`316
`
`318
`
`320
`
`322
`
`FIGURE 6
`
`CLIENT SIDE
`
`SERVER SIDE
`
`USER EXECUTES
`VLS PROGRAM
`
`VLS DISPLAYS ICON
`
`G
`RUN LI HTING
`DAEMON
`
`VLS MAKES
`CONNECTION
`
`DAEMON COMPLETES
`CONNECTION
`
`DAEMON DETERMINES
`LIGHTING STATES
`
`DAEMON MULTICASTS
`STATUS
`
`VLS UPDATES ICON
`
`USER SELECTS ICON
`
`VLS DISPLAYS
`CONTROL PANEL
`
`USER ADJUSTS
`VLS CONTROLS
`
`DAEMON RECEIVES
`REQUEST
`
`VLS GENERATES LR1
`
`DAEMON GENERATES
`DIGITAL COMMAND
`
`VLS SENDS LR1
`TO SERVER
`
`INTERFACE MODULE
`GENERATES ARC
`
`RELAY RESPONDS
`
`305
`
`306
`
`308
`
`310
`
`324
`
`326
`
`328
`
`330
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 7 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 7 of 17
`
`
`
`US. Patent
`
`Aug.31, 1999
`
`Sheet 7 0f9
`
`5,945,993
`
`FIGURE 7
`
`BROWSER DOWNLOADS
`
`HTML FILE
`
`BROWSER RECOGNIZES
`
`APPLET TAG
`
`BROWSER DOWN LOADS
`
`APPLET
`
`BROWSER EXECUTES
`
`APPLET
`
`BROWSER DISPLAYS
`
`LIGHTING CONTROL FORM
`
`BROWSER DISPLAYS
`
`CONTROL PANEL AND
`
`FLOOR PLAN
`
`SELECTS ZONE
`
`USER ENTERS
`
`LIGHTING LOAD STATE AND
`
`BROWSER IDENTIFIES
`
`LIGHTING LOAD
`
`BROWSER GENERATES LR1
`
`BROWSER SENDS LR1 TO
`
`LIGHTING DAEMON
`
`400
`
`402
`
`404
`
`406
`
`408
`
`410
`
`412
`
`414
`
`416
`
`418
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 8 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 8 of 17
`
`
`
`US. Patent
`
`Aug.31, 1999
`
`Sheet 8 0f9
`
`5,945,993
`
`FIGURE 8
`
`500
`
`CONTROLLER
`
`502
`
`14
`
`518
`
`INTERFACE
`PROGRAM
`
`
`
`DISPLAY
`
`54
`
`511
`
`
`
`
`SWITCHES
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 9 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 9 of 17
`
`
`
`US. Patent
`
`Aug.31, 1999
`
`Sheet 9 019
`
`5,945,993
`
`FIGURE 9
`
`CONTROLLER DISPLAYS
`
`FIRST PICTOGRAPH
`
`USER SELECTS
`
`FLOOR PLAN
`
`CONTROLLER DISPLAYS
`FLOOR PLAN
`
`CONTROLLER DISPLAYS
`
`CONTROL PANEL
`
`USER ENTERS LIGHTING
`
`LOAD STATE
`
`USER SELECTS ZONE
`
`CONTROLLER IDENTIFIES
`
`LIGHTING LOAD
`
`CONTROLLER GENERATES
`
`DIGITAL COMMAND
`
`CONTROLLER SENDS
`DIGITAL COMMAND TO
`
`
`
`INTERFACE MODULE
`
`INTERFACE MODULE
`
`GENERATES ARC
`
`RELAY RESPONDS
`
`600
`
`602
`
`604
`
`606
`
`608
`
`610
`
`612
`
`614
`
`616
`
`618
`
`620
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 10 Of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 10 of 17
`
`
`
`5,945,993
`
`1
`PICTOGRAPH-BASED METHOD AND
`APPARATUS FOR CONTROLLING A
`PLURALITY OF LIGHTING LOADS
`
`BACKGROUND OF THE INVENTION
`
`The present invention relates generally to lighting control
`systems. More specifically, the present invention relates to a
`computer-based system for controlling power to multiple ac
`lighting loads.
`Lighting loads in a large office building are typically
`controlled from a central
`location by a computer pro-
`grammed with proprietary software. The computer can be
`programmed to turn on all office lighting loads before the
`start of business and turn off all of the office lighting loads
`after business hours. In addition to scheduling the times at
`which the lighting loads are turned on and off, the computer
`can also be programmed to perform annunciation of load
`status, central monitoring and reporting to ensure that the
`building is operating as efficiently as planned.
`The computer typically interfaces with a plurality of
`transformer relays, which are located in junction boxes
`throughout the building. The computer can control each
`relay to apply or remove power from its associated lighting
`load and thereby turn its associated lighting load on or off.
`A lighting load can include a single light or multiple lights.
`The relays and, therefore,
`the lighting loads can also be
`controlled by wall-mounted switches and sensors distributed
`throughout the building. Such a system including a plurality
`of intelligent relay-based lighting control system is available
`from the General Electric Company under the names “Total
`Lighting Control” system and “TLC” systems.
`However, controlling the lighting loads from a central
`location can cause problems for those people who come to
`work early or work late into the night. When the computer
`turns off the lights, some of the people inside the building
`will be left in the dark. Naturally, they will want to turn the
`lights back on. However, turning the lights back on can pose
`more than a mild inconvenience. Aperson must set aside his
`work, walk over to the light switch and flip on the switch. In
`a large work area having many different lights, finding the
`correct switch can be a challenge. Some lighting control
`systems do not even allow the lights to be manually over-
`ridden.
`
`Instead, a facilities management is called and asked to
`turn the lights on. Hopefully the response will be prompt.
`There are phone-based lighting control systems that allow
`a person to turn on the lights by dialing up a certain number.
`These phone-based systems map each available lighting load
`onto a corresponding phone number. However, such artifi-
`cial phone number mappings are non-intuitive. For instance,
`a person might be required to memorize or look up a
`twelve-digit phone number in order to use the phone-based
`lighting control system. For this reason alone, the phone-
`based systems tend to be cumbersome to use. Additionally,
`typical phone-based lighting control systems do not allow
`the intensities of the lighting loads to be varied.
`
`SUMMARY OF THE INVENTION
`
`The present invention can be regarded as a computer that
`can control a plurality of lighting loads quickly and conve-
`niently. The computer includes a display and memory
`encoded with executable instructions. When executed, the
`instructions cause the computer to show a pictograph and a
`control panel on the display. The pictograph includes select-
`able representations of the lighting loads, and the control
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`panel allows a lighting load state to be entered into the
`computer. When a representation on the pictograph is
`selected, the instructions cause the computer to generate a
`lighting control request. The lighting control request iden-
`tifies a lighting load corresponding to the selected represen-
`tation and the lighting control state entered into the com-
`puter. The lighting control request is used for controlling the
`lighting load corresponding to the selected representation.
`In one embodiment of the present invention, the computer
`is connectable to a computer network. This allows a person
`to control the lighting loads from the convenience of his or
`her desk.
`
`Other aspects and advantages of the present invention will
`become apparent from the following detailed description,
`taken in conjunction with the accompanying drawings,
`illustrating by way of example the principles of the inven-
`tion.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a schematic diagram of a lighting control system
`including a server, a web browser and a Virtual Light
`Switch;
`FIG. 1a illustrates a format for a first lighting control
`request;
`FIG. 2 is an illustration of an image map and a lighting
`control form, which are displayed by the web browser;
`FIG. 3 is an illustration of a control panel, which is
`displayed by the Virtual Light Switch;
`FIG. 4 is a flow control diagram of a lighting daemon,
`which is run on the server;
`FIG. 5 is a flowchart of a method of controlling a lighting
`load using the server and the web browser;
`FIG. 6 is a flowchart of a method of controlling a lighting
`load using the server and the Virtual Light Switch;
`FIG. 7 is a flowchart of a method of controlling a lighting
`load using the server, a Java-enhanced web browser and an
`applet;
`FIG. 8 is a block diagram of an alternative embodiment of
`a lighting control system according to the present invention;
`and
`
`FIG. 9 is a flowchart of a method of controlling multiple
`lighting loads using a controller, which forms a part of the
`alternative embodiment of the lighting control system.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`As shown in the drawings for purposes of illustration, the
`invention is embodied in a lighting control system. The
`lighting control system allows distributed elements or Net-
`work Appliances connected to a computer network to con-
`trol a plurality of lighting loads. Thus, a person can quickly
`turn lights on and off from the convenience of his or her
`desk. Moreover, the Network Appliances can include com-
`puters already connected to the network. Thus, the lighting
`control system can be expanded by using existing hardware.
`As a result, the lighting control system can be set up and
`expanded quickly and inexpensively.
`FIG. 1 shows a lighting control system 10 for a plurality
`of lighting loads 12. The lighting loads 12 can be located in
`a facility such as an office building. A typical office building
`has multiple floors and lighting loads 12 on each floor. There
`might be one or more lighting loads 12 per office, or there
`might be one lighting load 12 covering several offices. The
`lighting loads 12 are turned on and off by relays 14, which
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 11 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 11 of 17
`
`
`
`5,945,993
`
`3
`are wired to a power/communications bus 16. The relays 14
`are controlled by wall-mounted switches 18 and other
`devices such as daylight sensors and occupancy sensors
`located in the offices and at various locations in the building.
`Turning on a switch 18 causes a relay 14 to turn on an
`associated lighting load 12.
`The relays 14 are also controlled by Network Appliances
`such as a Virtual Light Switch 20 and a web browser 22
`connectable to a computer network 24. Typically,
`there
`would be more than one Virtual Light Switch 20 and more
`than one web browser 22. To simplify the description of the
`present invention, however, the lighting control system 10
`will be described in connection with only one Virtual Light
`Switch 20 and only one web browser 22. The Virtual Light
`Switch 20 and the web browser 22 generate first and second
`lighting control requests LR1 and LR2, which identify states
`(e.g., lighting intensities) of specific lighting loads. The first
`and second lighting control requests LR1 and LR2 are sent
`over a computer network 24 to a server 26. The server 26,
`which might or might not be located in the same building as
`the lighting loads 12, receives the first and second lighting
`control requests LR1 and LR2 and responds by generating
`digital commands CMD. The digital commands CMD,
`which indicate the lighting load states indicated in the
`lighting control requests LR1 and LR2, are used to control
`the lighting loads 12.
`to an interface
`The digital commands CMD are sent
`module 28. The interface module 28 allows the server 26 to
`
`link into the power/communications bus 16. Typically, the
`interface module 28 does not adhere to an open standard;
`instead, it expects the digital commands CMD to be in a
`proprietary format. Therefore, the server 26 generates the
`digital commands CMD in the proprietary format. The
`interface module 28 translates the digital commands CMD
`into analog relay commands ARC and places the analog
`relay commands ARC onto the power/communications bus
`16. The analog relay commands ARC are received by all of
`the relays 14 coupled to the power/communications bus 16,
`but they control only specific relays 14. Thus, the analog
`relay commands ARC can control a specific relay 14 to turn
`on its associated lighting load 12, adjust brightness of its
`lighting load 12, etc. The interface module 28 also receives
`status signals on the power/communications bus 16. The
`status signals are placed on the power/communications bus
`16 when, for instance, a light switch 18 is flipped on or off.
`Such relays 14, power/communication buses 16 and inter-
`face modules 28 are commonly used in lighting control
`systems. For example, the interface module 28 can be a TLC
`Dataline Communications Interface Module, which is avail-
`able from GE Lighting Controls.
`The first lighting control request LR1 directly identifies a
`specific lighting load 12 and a state (e.g.,
`lighting load
`intensity) for the identified lighting load 12. An exemplary
`first lighting load request LR1 including header information,
`a bit field for an ID number and a bit field for a lighting load
`intensity (e. g., 0=off, 1=1/3 intensity) is illustrated in FIG. 1a.
`The first lighting control requests LR1 are generated by
`Network Appliances such as the Virtual Light Switch 20.
`The second lighting control request LR2 identifies a lighting
`load state and indirectly identifies a specific lighting load 12
`by providing information about the lighting load 12. The
`information is later translated in order to directly identify the
`specific lighting load 12. As discussed below, the second
`lighting control requests LR2 are generated by Network
`Appliances such as the web browser 22.
`The computer network 24 can be anything from the
`Internet to a local area network (“LAN”) using proprietary
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`client-server software. The physical and link layers of the
`computer network 24 can be Ethernet, Token Ring or any
`other physical and link layer. The network layer can be
`Internet Protocol (“IP”) or any other network protocol. The
`transport layer can be Transport Control Protocol (“TCP”),
`User Datagram Protocol (“UDP”), or any other transport
`protocol. The session layer can be Hypertext Transport
`Protocol
`(“HTTP”), File Transfer Protocol
`(“FTP”),
`“DCOM,” “CORBA” or any other session protocol. Merely
`by way of example,
`the computer network 24 will be
`described as a LAN having an Ethernet backbone, and using
`TCP/IP and HTTP communication protocols.
`The server 26 includes a central processing unit 30, a
`network card 32 for communicating over the computer
`network 24, RAM 34, and a memory storage device memory
`(e.g., a hard drive) 36 encoded with data. The data includes
`an operating system 38, interface program 40, a lighting
`daemon 42, multiple HTML files 44, and multiple image
`maps 46. Each HTML file 44 and image map 46 corresponds
`to a floor plan of the facility. The data can be loaded onto the
`memory storage device 36 via a peripheral device 35 such as
`a CD ROM drive, electronically transferred to the memory
`storage device 36 via the computer network 24, etc.
`Each HTML file 44 includes a set of tags (i.e.,
`instructions) for the web browser 22. The web browser 22
`can be a first personal computer 48 including a central
`processing unit 50 and a network card 52 for communicating
`over the computer network 24. The first personal computer
`48 further includes a display 54, I/O devices 56 such as a
`mouse and keyboard, RAM 58 and a hard drive 60 encoded
`with an operating system 62 and web browser program 64
`such as “Netscape Navigator” or “Microsoft Internet
`Explorer.”
`Additional reference is now made to FIG. 2. After the web
`browser 22 downloads an HTML file 44 from the server 26,
`the web browser 22 stores the HTML file 44 in the RAM 58
`
`or the hard drive 60 and begins executing the tags in the
`HTML file 44. The tags instruct the web browser 22 to
`download and display the image map 46 corresponding to
`the downloaded HTML file 44 and to create and display a
`lighting control form 66. The lighting control form 66
`includes graphical display elements 68a, 68b, 68c and 68d
`such as radio buttons and checkboxes indicating pre-selected
`lighting states such as lighting intensities. FIG. 2 happens to
`show a first radio button 68a corresponding to an “off” state,
`second and third radio buttons 68b and 686 corresponding to
`“1/3 intensity” and “2/3 intensity” and a fourth radio button
`corresponding to “full intensity.” Using an I/O device 56
`such as a mouse, a lighting load state is selected by clicking
`a graphical display element 68a, 68b, 68c or 68d. The
`lighting control form 66 could also include a text box (not
`shown) for entering a numerical value (or percentage) of
`lighting intensity.
`The downloaded image map 46 graphically shows select-
`able representations of the lighting loads 12. For example,
`the image map 46 shows a floor plan 70 for the office
`building. When a first zone 72 on the floor plan 70 is clicked,
`the HTML file 44 instructs the web browser 22 to generate
`a second lighting control request LR2 identifying the light-
`ing load state selected on the lighting control form 66 and
`information about (e. g., coordinates on the first zone 72. The
`HTML file 44 also instructs the web browser 22 to send the
`
`second lighting control request LR2 to the interface program
`40 running on the server 26. A second lighting control
`request LR2 according to the HTTP protocol might include
`a GET command, the URL of the interface program 40 and
`a query string including the zone coordinates and the light-
`ing load state.
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 12 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 12 of 17
`
`
`
`5,945,993
`
`5
`The interface program 40 can be a Common Gateway
`Interface (CGI) program, which listens on a server port for
`the second lighting control requests LR2 from the web
`browser 22. When a second lighting control request LR2 is
`received,
`the interface program 40 identifies the lighting
`load 12 covering the first zone 72. The interface program 40
`can use a lookup table to translate the zone coordinates into
`a lighting load identifier (e.g., a lighting load ID number).
`The interface program 40 can also perform access control to
`determine whether the web browser 22 making the second
`lighting control request LR2 is authorized to control the
`identified lighting load 12.
`The interface program 40 sends a first lighting control
`request LR1 indicating the lighting load identifier and the
`lighting load state to the lighting daemon 42. In response, the
`lighting daemon 42 generates a digital command CMD for
`the interface module 28. The digital command CMD indi-
`cates the identified lighting load and lighting load state, but
`in a format expected by the interface control module 28. The
`interface module 28,
`in response,
`translates the digital
`command CMD into an analog control signal ARC, which
`causes a relay 14 to turn on the identified light at
`the
`intensity indicated in the digital command CMD.
`Thus, clicking the second radio button 68b on the lighting
`control form 66 and then clicking a first zone 72 of the floor
`plan 70 will cause the lighting load 12 covering the first zone
`72 to be turned on to 1/3 intensity. Clicking the first radio
`button 68a of the lighting control form 66 and clicking the
`first zone 72 again will cause the lighting load 12 covering
`the first zone 72 to be turned off.
`
`The HTML file 44 could also generate a navigation bar 74
`for linking to other floor plans. For example, clicking floor
`plan 1U on the navigation bar 74 would cause an HTML file
`44 and image map 46 corresponding to floor plan 1U to be
`downloaded to the web browser 22.
`
`The lighting daemon 42 also makes network connections
`with the Virtual Light Switch 20 and listens on the server
`port for first lighting control requests LR1 directly from the
`Virtual Light Switch 20. The Virtual Light Switch 20 con-
`trols an assigned lighting load 12. The Virtual Light Switch
`20 can be a second personal computer 76 including a central
`processing unit 78, RAM 80, a disk drive 82, and a network
`card 84 for communicating over the computer network 24.
`The second personal computer 76 further includes a display
`86 and I/O devices 88 such as a mouse and keyboard. A
`windows-based operating system 90 and VLS program 92
`are stored on the disk drive 82. Unlike the web browser 22,
`which receives its instructions from the server 26, the Virtual
`Light Switch 20 receives its instructions; from the VLS
`program 92. If coded in the “Java” programming language,
`the VLS program 92 can be run on different platforms. When
`the instructions of the VLS program 92 are executed, the
`Virtual Light Switch 20 displays an icon (not shown) on the
`display 86. The icon represents the lighting load 12 that is
`controlled by the Virtual Light Switch 20. The icon can
`indicate the current state of the assigned lighting load 12.
`For example, an icon that is only half lit might indicate a
`light intensity of 50%.
`When the icon is selected (for example, by positioning a
`cursor over the icon and clicking), a control panel 94 appears
`on the display 86 (see FIG. 3). The control panel 94 includes
`graphical display elements 96a and 96b such as radio
`buttons, sliders and scrollbars for entering lighting intensi-
`ties and other lighting states. Controlling a graphical display
`element 96a or 96b causes the Virtual Light Switch 20 to
`generate and send first light control requests LR1 over the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`network 24 in real time. Thus, the Virtual Light Switch 20
`controls its assigned lighting load 12 in real-time.
`The first lighting control request LR1 from the Virtual
`Light Switch 20 directly identifies its assigned lighting load
`12 and a state (e.g., light intensity) for the assigned lighting
`load 12. The Virtual Light Switch 20 can be preconfigured
`with the identifier for its assigned lighting load 12. The
`Virtual Light Switch 20 can be configured manually by
`accessing an identifier from a configuration file on the server
`26 and saving the identifier on the disk drive 82. In the
`alternative, the Virtual Light Switch 20 could automatically
`receive a lighting identifier from the server 26 upon con-
`nection. The server 26 could use a CGI script for generating
`the lighting load identifier.
`The lighting daemon 42 receives the first lighting control
`request LR1 on the network 24 and processes the first
`lighting control request LR1 by generating a digital com-
`mand CMD for the interface module 28. The digital com-
`mand CMD indicates the identified lighting load and light-
`ing load state, but in the format expected by the interface
`control module 28.
`
`As previously mentioned, the Virtual Light Switch 20 can
`also display the status of its assigned lighting load 12. To
`enable each Virtual Light Switch 20 to display the status of
`its assigned lighting load 12, the lighting daemon 42 com-
`municates with the interface module 28 and monitors the
`
`power/communications bus 16 for analog relay commands
`ARC. When a wall-mounted switch 18 is flipped,
`for
`example, an analog relay command ARC is placed on the
`power/communications bus 16 and sent to a relay 14 asso-
`ciated with the wall-mounted switch 18. Via the interface
`
`module 28, the lighting daemon 42 detects the analog relay
`command ARC, generates a message including a lighting
`load identifier and the state of the light switch 18 affected by
`the analog relay command ACR, and multicasts the message
`to the Virtual Light Switch 20. Because the Virtual Light
`Switch 20 is configured with a matching identifier, it updates
`its icon for the change in state of the assigned lighting load
`12.
`
`if the second personal computer 76 is
`For example,
`located in a second zone, it might be configured to function
`as a Virtual Light Switch 20 for the lighting load 12 covering
`the second zone. The icon displayed on the display 78 of the
`second personal computer 76 would indicate the intensity of
`the lighting load 12 covering the second zone. Sliding a
`slider bar on the control panel 94 would cause the Virtual
`Light Switch 20 to generate and send first lighting control
`requests LR1 to the server 26 and to update the icon to
`indicate the changing intensities. Thus, moving the slider bar
`in one direction would cause a real-time increase in the
`
`intensity of the lighting load 12 covering the second zone
`and moving the slider bar in an opposite direction would
`cause a real-time decrease in the lighting load intensity. If a
`wall-mounted switch 18 for the lighting load 12 covering the
`second zone is turned off, the lighting daemon 42 would
`detect the resulting analog relay command ARC and multi-
`cast a message. The Virtual Light Switch 20 assigned to the
`second zone would update its icon to indicate that
`the
`lighting load 12 covering the second zone has been turned
`off.
`
`FIG. 4 shows the flow control for the lighting daemon 42.
`The lighting daemon 42 is run on the server 26 in the
`background. When started (block 100), the lighting daemon
`42 performs initialization routines including logging onto
`the interface module 28 and establishing a connection with
`the interface module 28 (block 102).
`
`Crestron Electronics, Inc.
`
`Exhibit 1001 - Page 13 of 17
`
`Crestron Electronics, Inc.
`Exhibit 1001 - Page 13 of 17
`
`
`
`5,945,993
`
`7
`After a connection with the interface module 28 has been
`
`established, the lighting daemon 42 can optionally read all
`of the current relay settings to determine the initial states of
`the lighting loads 12 (block 104). The initial states are
`recorded. The lighting daemon 42 can determine the relay
`settings by broadcasting queries on the power/
`communications bus 16 via the interface module 28 and then
`
`Instead of determining the initial
`record the responses.
`conditions of all of the lighting loads 12,
`the lighting
`daemon 12 could wait until a Virtual Light Switch 20 makes
`a connection with the server 26 and then determine and
`
`record the initial state of the connected Virtual Light Switch
`20. In either scenario, the lighting daemon 42 would notify
`the Virtual Light Switch 20 of the initial lighting load state,
`thereby completing the connection.
`Next, the lighting daemon 42 waits for communications
`from the network 24 and the interface module 28 (block
`106). The lighting daemon 42 also waits for communications
`such as termination requests and first
`lighting control
`requests LR1 from the interface program 40.
`If the lighting daemon 42 receives a termination request
`from a source such as the system operator (block 108), the
`lighting daemon 42 performs clean-up tasks (block 110)
`such as shutting down or terminating connections with the
`Virtual Light Switch 20 (e.g., making the Virtual Light
`Switch 20 unresponsive), flushing persistent internal states
`to the storage device 36 (e.g., closing open files), and
`logging off the interface module 28. Then the light daemon
`42 terminates (block 112). The termination requests might
`be generated in order to perform maintenance such as
`daemon and system upgrades. The termination requests
`might also be generated internally in response to hardware
`and software faults.
`
`If the lighting daemon 42 receives a first lighting control
`request LR1 (block 114), the lighting daemon 42 optionally
`performs authentication or some other security check (block
`115), generates a digital command CMD (block 116) and
`sends the digital command CMD to the interface module 28
`(block 117). The Virtual Light Switch 20 and the interface
`program 40 would typically use the same protocol for
`communicating with the lighting daemon 42. After the
`lighting daemon 42 sends the digital command CMD to the
`interface module 28 (block 117), it waits for an acknowl-
`edgment from the interface module 28 (block 118). If the
`acknowledgement is not received (block 120) due to, for
`instance, a timeout or transmission error, the lighting dae-
`mon 42 resends the digital command CMD to the interface
`module 28 (block 117). If an acknowledgment is received
`(block 120), the lighting daemon 42 resumes waiting for the
`next communication or message (block 106).
`If the lighting daemon 42 receives an analog relay com-
`mand ARC from the interface module 28 indicating a change
`in state of a lighting load (block 114), the lighting daemon
`42 records the new state of the lighting load 12 (block 122).
`Then the lighting daemon 42 multicasts a message to the
`Virtual Light Switch 20 affected by the change in light state
`(block 124) and waits for an acknowledgment from the
`Virtual Light Switch (block 126). If the acknowledgement is
`not received (block 128) due to, for instance, a timeout or
`transmission error,
`the lighting daemon 42 resends the
`message to the Virtual Light Switch 20 (block 124). If an
`acknowledgment is received (block 128), the lighting dae-
`mon 42 resumes waiting for