Systems and methods for providing group lighting interaction
Through the computing system, the lighting equipment subset is dynamically divided, based on user location and time stamp, the problem of lighting infrastructure control conflict in the prior art is solved, and the lighting equipment partition dynamically adjusted by user location and time is realized, and efficient control of multiple user groups is supported.
Patent Information
- Application Number
- CN202080044460.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-25
- Filing Date
- 2020-06-15
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2040-06-15
AI Technical Summary
The prior art lacks the ability to dynamically create lighting infrastructure partitions, especially based on user location and other factors, and cannot effectively handle conflicts between multiple users simultaneously controlling lighting infrastructure.
The lighting devices are dynamically divided into subsets by the computing system, based on the user location and timestamp, allowing each user to independently control its allocated subset, using the client device to generate control signals and perform through the lighting controller.
It realizes dynamic adjustment of lighting equipment partitions based on user location and time, supports user group control that changes over time, and improves the management efficiency and user experience of lighting infrastructure.
Smart Images

Figure CN114009151B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to systems and methods for controlling a lighting infrastructure by a group of users entering and leaving a group. Background Art
[0002] A lighting infrastructure, such as a bridge, a building, a monument, or other large-scale structures, consists of a plurality of lighting devices. Each lighting device has the ability to be independently and simultaneously controlled. A lighting controller communicates with the lighting infrastructure to control each lighting device. A server interfaces with the lighting controller to allow an administrator to provide user input for controlling the lighting infrastructure.
[0003] An administrator given access to control the lighting infrastructure can execute commands such as, for example, "turn on" and "turn off". Since the lighting infrastructure can be located in a public area, a user accessing the lighting controller may be required to provide credentials before submitting a command or otherwise controlling the lighting infrastructure.
[0004] Multiple administrators may have credentials to control the lighting infrastructure. However, in such a case, only one administrator can control the lighting infrastructure at a time. For example, once an administrator logs out of the system, a new administrator with credentials can take over full access to the lighting infrastructure.
[0005] An administrator can access the lighting controller using a client device over a cloud computing network. For example, a mobile phone, a tablet computer, a laptop computer, or a desktop computer can communicate with a server that interfaces with the lighting controller. In this regard, the client device, the server, and the lighting controller are networked. The client device, the server, and the lighting controller communicate with each other using one or more communication protocols for sending and receiving data and control signals.
[0006] WO2012090142, entitled "Outdoor Lighting Network Control System", describes a control system that enables users to have a predetermined degree of control over certain features of an outdoor lighting network. The control system includes a plurality of user control devices; a central control device; a lighting unit control device; and a communication system operatively connected between the user control devices, the central control device, and the lighting unit control device. Each user control device is operable to provide a control request in response to an input from one of the users; the central control device is operable to authenticate the control request from the user and resolve conflicts between the authenticated control requests for the lighting units in the area of interest; and the lighting unit control device for the lighting units in the area of interest is operable to determine whether the resolved control request is valid and, when the resolved control request is valid, execute the resolved control request.
[0007] There are systems that address the situation where a first user is controlling a lighting infrastructure and a second user also desires to control the lighting infrastructure. In such a case, prior art solutions involve conflict resolution to identify which user should have overall control of the lighting infrastructure. Conflict resolution can involve considering factors such as which user has the strongest received signal strength indicator or which user's device has the most compatible capabilities with the lighting infrastructure. Ultimately, the solution is to allow the most appropriate user to control the lighting infrastructure.
[0008] The prior art lacks the ability to dynamically create zones of a lighting infrastructure, particularly based on the location of users and other factors.
[0009] The present disclosure overcomes the problems in the prior art by providing the ability to dynamically create zones of a lighting infrastructure. For example, zones can be dynamically created based on the location of users. The present disclosure provides a solution that supports large groups of users whose membership changes over time. Summary of the Invention
[0010] One aspect of the invention relates to a computer-implemented method for controlling a lighting infrastructure. A computing system stores a set of lighting device identifiers in a memory. Each lighting device identifier corresponds to a lighting device installed in the lighting infrastructure. The computing system receives a first control request from a first client device. The first control request includes a first location of the first client device. In response to the first control request, the computing system updates a mapping output by assigning the first client device to an initial subset of lighting devices. The computing system receives a second control request from a second client device. The second control request includes a second location of the second client device. In response to the second control request, the computing system updates the mapping output by reassigning the first client device to a first subset of lighting devices based on the first location, and by assigning the second client device to a second subset of lighting devices of the lighting infrastructure based on the second location. The computing device transmits the mapping output to a lighting controller to permit the first client device to independently control the first subset of lighting devices and to permit the second client device to independently control the second subset of lighting devices while the first client device is permitted to independently control the first subset of lighting devices.
[0011] Another aspect of the invention relates to a computing system including a processor, a communication interface, and a memory. The communication interface is configured to communicate with a lighting controller and a plurality of client devices. The memory stores a set of lighting device identifiers, where each lighting device identifier corresponds to a lighting device installed in the lighting infrastructure. The memory further stores computer instructions to perform the functions described above.
[0012] One embodiment of the present invention relates to the ability to handle user groups that change over time, where each group member requests access to control a lighting infrastructure. In response to receiving additional control requests from additional client devices, a computing system dynamically divides the lighting devices of the lighting infrastructure into subsets. Further, when a user leaves a group, the computing system continues to dynamically divide the lighting devices.
[0013] Another embodiment of the present invention is directed to authenticating a user who submits a control request based on user data included in the control request. If the user is authenticated, the computing system transmits a permission to the user to permit the user to control at least a portion of the lighting infrastructure. Thereafter, the user can submit a control signal to control the subset of lighting devices that have been dynamically assigned to the user. The computing system transmits the control signal to a lighting controller.
[0014] Another embodiment of the present invention is directed to deriving a control signal based on how a user manipulates a client device. For example, the client device can execute a mobile application that receives various user inputs. The user inputs can be, for example, a user's selection of a color, a user's selection of an intensity, or a user's selection of a predefined animation sequence, motion sensor output, or camera output. These inputs can be used to generate a control signal for controlling at least some of the lighting devices installed in the lighting infrastructure.
[0015] Yet another embodiment of the present invention is directed to associating a timestamp with each control request. The computing system determines how to divide the lighting devices into subsets based on the timestamp. As a result, based on the timestamp, a user can be given a certain time period to access a specific subset. Further, the number of lighting devices in a given subset changes over time based on the timestamp. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Further details, aspects, and embodiments of the present invention will be described by way of example only with reference to the accompanying drawings. The elements in the figures are illustrated for simplicity and clarity and are not necessarily drawn to scale. In the figures, elements corresponding to elements already described may have the same reference numerals. In the drawings,
[0017] Figure 1 an example of an embodiment of an interactive group lighting system is schematically shown,
[0018] Figure 2 is schematically shown Figure 1 an example of the communication between a client device and a computing system in the interactive group lighting system of
[0019] Figures 3a - 3c depict various examples of dividing lighting devices in the Figure 1 interactive group lighting system of
[0020] Figures 4a - 4c depict various examples of partitioning lighting devices in an Figure 1 interactive group lighting system,
[0021] Figure 5 schematically shows an example of data stored and processed in an Figure 1 interactive group lighting system,
[0022] Figure 6 schematically shows an example of communication between a lighting controller and a computing system in an Figure 1 interactive group lighting system,
[0023] Figure 7 is a flowchart illustrating examples of functions performed by a computing system in an Figure 1 interactive group lighting system, and
[0024] Figure 8 schematically shows an embodiment of a computing system in an Figure 1 interactive group lighting system. DETAILED DESCRIPTION
[0025] The embodiments shown in the figures and described in detail herein should be considered illustrative of the principles of the present invention and are not intended to limit the present invention to the specific embodiments shown and described herein.
[0026] In the following, for the sake of understanding, the elements of the embodiments are described in operation. However, it will be clear that the corresponding elements are arranged to perform the functions described as being performed by them.
[0027] Figure 1 schematically shows an example of an embodiment of an interactive group lighting system. Figure 1 Depicts a networked environment including a lighting infrastructure 100 controlled by a lighting controller 103. The lighting infrastructure 100 can be a bridge, building, monument, or other large-scale structure. The lighting infrastructure 100 consists of a plurality of lighting devices. The lighting devices include one or more light sources, such as, for example, light-emitting devices (LEDs). Each lighting device is independently controllable and simultaneously controllable. Each lighting device is installed within the lighting infrastructure 100 to provide lighting on a large scale. The lighting controller 103 can be a device that controls each lighting device installed in the lighting infrastructure. In this regard, the lighting controller 103 communicates with the lighting devices of the lighting infrastructure using any communication protocol.
[0028] The lighting controller 103 communicates with other system components via the network 105. The network 105 includes the Internet, intranet, extranet, wide area network (WAN), local area network (LAN), wired network, wireless network, or other suitable networks, etc., or any combination of two or more such networks.
[0029] Figure 1 The interactive group lighting system further includes a computing system 106 connected to the network 105. The computing system 106 can include, for example, a server computer or any other system that provides computing capabilities. Alternatively, the computing system 106 can employ multiple computing devices, which can be arranged, for example, in one or more server groups or computer groups or other arrangements. Such computing devices can be located in a single installation or can be distributed among many different geographical locations. For example, the computing system can include multiple computing devices, which together can include hosted computing resources, grid computing resources, and / or any other distributed computing arrangement. In some cases, the computing system 106 can correspond to elastic computing resources, where the capacity of the allocation of processing, network, storage, or other computing-related resources can vary over time. The computing system 106 can implement one or more virtual machines that use the resources of the computing system 106.
[0030] The computing system 106 includes a database 109. Various data are stored in the database 109 or other memories accessible to the computing system 106. The database 109 can represent one or more databases 109. The data stored in the database 109 includes prioritized data 112, user accounts 115, queuing data 118, and mapping outputs 120. Various applications and / or other functions can be executed in the computing system 106. This includes, for example, a queuing application 121 and a lighting map generator 124.
[0031] Multiple client devices 134 operated by different users are also connected to the network 105. The client devices can be, for example, mobile phones, laptop computers, tablet computers, personal computers, or any other devices that provide client services to users. The client devices 134 include applications that communicate with the computing system 106 via the network 105. The client devices 134 are configured to send control requests 139 to the computing system. The control request 139 is a request to access at least a part of the lighting infrastructure as part of an interactive group lighting experience. Next is a description of how to configure Figure 1 the various components to implement the group lighting system.
[0032] A user using the client device 134 can be near the lighting infrastructure 100 and wishes to manipulate at least a part of it. The client device 134 executes an application that allows the user to submit a control request 139 to the computing system 106 via the network 105. The computing system 106 executes a queuing application 121 to receive, dispose of, and process the control request 139. This can include authenticating each control request 139 using the user account 115. Since different control requests 139 are received from different client devices 134 over a period of time, the queuing application 121 is configured to prioritize the requests according to a prioritization scheme.
[0033] When prioritizing the control request 139, the queuing application 121 generates queuing data 118. The queuing data 118 includes information related to one or more control requests 139. For example, the queuing data includes details of one or more control requests 139, information about the user who issued the control request 139, and the user's location when the request was issued. The queuing application 121 can be configured to accept control requests for time slots that occur periodically every "n" minutes, where "n" is a predefined number. The queuing application 121 processes the queuing data 118 to generate prioritization data 112. The prioritization data 112 indicates which control requests 139 have priority over other control requests according to the prioritization scheme.
[0034] Once the queuing application 121 generates the prioritization data 112, thereby prioritizing the control requests 139, the lighting map generator 124 dynamically divides the lighting devices of the lighting infrastructure 100 into subsets. Then, the lighting map generator 124 uses the prioritization data 112 to assign each client device 134 that has submitted a control request 139 to a corresponding subset. This assignment is stored as a mapping output 120. In this regard, the mapping output 120 is dynamically updated when different client devices submit control requests 139.
[0035] The lighting map generator transmits the mapping output 120 to the lighting controller 103 via the network. When the user starts to control the lighting infrastructure 100, the lighting controller 103 applies each user's control information to the corresponding subset based on the mapping output 120. Embodiments of the above process are described in more detail in the following figures.
[0036] Figure 2 is schematically shown Figure 1Example of communication between a client device and a computing system in an interactive group lighting system. The client device 134 sends a control request 139 to the computing system 106. According to an embodiment, the control request 139 includes user data 203 and location data 206. The user data 203 may include information identifying the user of the client device 134, such as, for example, a user identifier. The location data 206 may include the location coordinates of the client device 134 that submitted the control request 139. For example, the client device may include a Global Positioning System (GPS) module that obtains the GPS coordinates of the client device 134. When submitting the control request 139, the client device 134 accesses the GPS module to embed the GPS coordinates into the control request 139.
[0037] When the computing system 106 obtains the control request 139, the computing system 106 may authenticate the request. For example, the queuing application 121 executed in the computing system 106 refers to the user account 115 and the user data 203 to determine whether the client device 134 that submitted the control request 139 is associated with an authorized user. Thus, the queuing application 121 obtains information about the user who submitted the control request 139. This information may be used when generating prioritized data 112.
[0038] When authenticating the user, the computing system 106 transmits a permission 209 to the client device 134. The permission 209 authorizes the client device 134 to submit a control signal 212 to the computing system 106. By granting the client device the permission 209, a session is established. During the session, the user submits one or more control signals 212. The client device 134 provides an interface for the user to make different selections to generate the control signal 212. For example, the control signal may be based on the user's selection of color or intensity. The user may select a predefined animation sequence, such as a specific light pattern that changes over time. The user may use the user interface to select to turn the lights on or off. When the user makes a selection, the corresponding control signal 212 is generated and transmitted to the computing system 106.
[0039] According to an embodiment, the client device 134 includes a motion sensor. The control signal 212 is derived from the output of the motion sensor. Depending on how the motion sensor senses the way the user moves the client device, a corresponding control signal 212 is generated. For example, moving the motion sensor upward increases the intensity, while moving it downward decreases the intensity. The motion sensor generates a motion sensor output, which is converted by the client device 134 into a corresponding control signal 212.
[0040] In another embodiment, the client device 134 includes a camera.
[0041] The control signal 212 is derived from the output of the camera. Depending on the digital image generated from the camera input, a corresponding control signal 212 is generated. For example, facial recognition or pattern recognition can be applied to the digital image obtained from the camera to generate the corresponding control signal 212. For example, a smile can correspond to a lighting-on control signal, while a frown can correspond to a lighting-off control signal.
[0042] As long as the session persists, the user can submit one or more control signals 212. In one embodiment, the user can end the session and transmit a session-termination message 215 to the computing device. After the session is terminated, the computing system 106 does not process any subsequent control signals 212 from the client device, unless the user sends a subsequent control request 139. In other embodiments, the duration of the session is predetermined and thus automatically terminates after a specific period of time has elapsed.
[0043] Figures 3a - 3c depict various examples of partitioning lighting devices in Figure 1 an interactive group lighting system. Figure 3a depicts a lighting infrastructure 100 that includes a plurality of lighting devices 303. The lighting devices 303 can be organized in a continuous block of lighting devices installed in the lighting infrastructure 100, or can be organized discontinuously across the lighting infrastructure 100. In either case, Figure 3a shows the relative positions of the lighting devices 303 with respect to each other, without showing the distances between the lighting devices 303.
[0044] In this example, there are eighteen lighting devices 303 spatially arranged from left to right and from top to bottom. Figure 3a also depicts a user 304 referred to as User A. User A positions herself towards the light side of the lighting infrastructure 100. User A submits a control request 139 to control at least a portion of the lighting infrastructure 100. The queuing application 121 of the computing system receives the control request 139 and updates the queuing data 118. In this example, the queuing data 118 indicates that only one user (User A) has requested access and has established an active session. The queuing application 121 generates prioritization data 112. Since the queuing data 118 indicates only one active session with respect to User A, there are no priorities to resolve, and the prioritization data 112 indicates that User A has priority over the entire lighting infrastructure. The lighting map generator 124 divides the lighting devices 304 into subsets based on the prioritization data 112. Here, the subset is equal to the entire set of lighting devices 304 of the lighting infrastructure 100. The lighting map generator 124 assigns the subset of all lighting devices 304 to User A. The lighting map generator 124 stores this assignment as a lighting map output 120 and transmits it to the lighting controller 103. When User A submits a control signal 212, the lighting controller 103 will refer to the lighting map output 120 and apply the control signal 212 to all lighting devices assigned to User A.
[0045] Figure 3b depicts an example continuing from the example of Figure 3a. Here, in Figure 3b, a second user 307 referred to as User B positions himself to the right of User A. User B submits a control request 139 while User A has an active session with the lighting infrastructure 100. The queuing application 121 receives the control request 139 from User B and establishes a session with User B. The queuing data 118 is updated, and accordingly the prioritization data 112 is updated. The prioritization data 112 indicates the positions of each user 304, 307 and their corresponding location data 206.
[0046] The lighting map generator 124 dynamically divides the lighting devices 303 into subsets based on the prioritized data 112. The example of FIG. 3b shows the generation of two subsets based on the prioritized data 112 indicating two simultaneously active sessions. The lighting map generator 124 then assigns each subset to the corresponding users 304, 307 based on the location of each user. Since user A is located to the left of user B, the left subset is assigned to user A, and the right subset is assigned to user B. When user B sends a control signal 212, the lighting controller 103 controls the lighting devices 303 assigned to user B independently of user A to select how to control the lighting infrastructure 100. FIG. 3b shows how the lighting devices 303 are equally divided according to the number of active sessions. However, as described below, other prioritization schemes can be applied based on other factors such as the time of the request, user payment, the user's account rating, or other user account data.
[0047] FIG. 3c depicts an example continuing from the example of FIG. 3b. Here, in FIG. 3c, a third user 310, referred to as user C, positions himself to the right of user B. User C submits a control request 139 while users A and B have active sessions with the lighting infrastructure 100. The queuing application 121 receives the control request 139 from user C and establishes a session with user C. The queuing data 118 is updated, and accordingly the prioritized data 112 is updated. The prioritized data 112 indicates the locations of each user 304, 307, 310 and their corresponding location data 206. The example of FIG. 3 shows the generation of three subsets based on the prioritized data 112 indicating three active sessions. These subsets are dynamically generated based on the new session created by the new user C.
[0048] FIG. 3c shows an example of how the impact of each user on the lighting structure 100 changes as new sessions with different users are established. In FIG. 3b, user B controls nine lighting devices 303, and when user C joins, user B is only assigned six lighting devices 303.
[0049] FIGS. 4a-4c depict various examples of dividing lighting devices in an Figure 1 interactive group lighting system. FIGS. 4a-4c show a prioritization scheme in which subsets of the lighting devices 303 are assigned based on session duration and other factors such as location. According to one embodiment, the control request 139 is associated with a timestamp indicating the time at which the computing system 106 received the control request 139. This timestamp is used to determine the duration of the session. The lighting map generator 124 dynamically divides the lighting devices 303 into subsets and assigns those subsets to users based on the number of active sessions and the duration of each session. In this regard, the number of lighting devices 303 in a given subset changes over time.
[0050] Figure 4a shows three users, User A, User B, and User C, each having an active session with the lighting infrastructure 100. User A joins first, then User B, and then User C. The queuing application 121 tracks the order and session duration based on the timestamps associated with each control request 139. Since User A has the longest active session, User A is assigned the largest subset, which includes seven lighting devices 303. User B is assigned six lighting devices 303, and the last-joined User C is assigned five lighting devices 303. Figure 4a shows how the session duration is proportional to the size of the assigned subset. However, according to other embodiments, the session duration can be inversely proportional to the size of the assigned subset. Additionally, the lighting map generator 124 can limit the size of the subset to prevent a single user from having too much control over the lighting infrastructure 100.
[0051] Figure 4b depicts an example continuing from the example of Figure 4a. User C's session has been terminated, leaving only User A and User B in active sessions. In response to User C leaving the group, the queuing data 118 and prioritization data 112 are updated to reflect the two active sessions, where the session associated with User A is longer than the session associated with User B. The update of the queuing data 118 and prioritization data 112 can occur in a time slot that occurs after User C's session ends. For example, if a one-minute time slot is applied and User C's session ends in the first minute, then the queuing data 118 and prioritization data 112 will be updated at the start of the second minute. For the time between the end of User C's session and the next time slot, a default control can be generated for the subset assigned to User C. The default control can be a control to turn on all the lights in the subset, turn off all the lights in the subset, or play a default animation (such as a fade-out animation) for the subset.
[0052] In response to the updated prioritization data 112, the lighting map generator 124 dynamically divides the lighting devices 303 into two subsets and assigns them to User A and User B based on their respective session durations. As a result, User A is assigned ten lighting devices 303, while User B is assigned eight lighting devices 303.
[0053] Figure 4c depicts an example continuing from the example of Figure 4b. A fourth user 313, referred to as User D, has joined the group, resulting in three active sessions. The lighting map generator 124 dynamically divides the lighting devices 303 into three subsets and assigns them to User A, User B, and User D based on their respective session durations. When comparing Figure 4c and Figure 4a, the session duration of User A is longer in Figure 4c than in Figure 4a. As a result, User A has a larger subset in Figure 4c when compared to Figure 4a. The same result applies to User B.
[0054] Figure 5 Schematically shows an example of data stored and processed in an Figure 1 interactive group lighting system. Specifically, Figure 5 shows a queuing application 121 that generates queuing data 118 and determines prioritized data 112 from the queuing data 118. Figure 5 Also shown is a lighting map generator 124 that generates a mapped output based on the prioritized data 118.
[0055] The queuing data 118 includes data reflecting each active session. In other words, it indicates the current group of users having permission to control at least a portion of the lighting infrastructure 100. For each user, the queuing data 118 includes a user ID, a timestamp, and a location. Information about each user can also reside in a user account 115. The queuing data 118 is dynamically updated when a new user is added to the group or when a user leaves the group.
[0056] The queuing application 121 analyzes the queuing data 118 and generates prioritized data 112. The prioritized data 112 reflects the analysis of the queuing data 118 to assist the lighting map generator 124 in partitioning the lighting devices 303 into subsets and allocating them to each user. The prioritized data 112 includes, for example, the number of users in the group, the geographical relationship between each user (e.g., their positioning from left to right), and the duration of each user's session.
[0057] The prioritized data 112 can include a weight calculation that corresponds to how much a user's control should be prioritized over other users. For example, the session duration can affect the weight calculation. In one embodiment, as part of a bidding process, a user is prompted to pay a fee to control the lighting infrastructure 100. The user's payment can be included in a control request 139. The weight calculation can take into account whether the user has paid and / or how much the user has paid. In another embodiment, the weight calculation takes into account the number of times a user has previously submitted a control request 139. In this embodiment, the user account 115 stores the history of the user's interaction with the lighting infrastructure 100. The weight calculation can depend on the user's history such that, for example, frequent control requests 139 reduce the weight calculation for a particular user. In other embodiments, the weight calculation can be based on the user's location, thereby prioritizing some locations over others. The weight calculation can also be based on a community rating. Well-known users who become known for their positive impact in the community are granted special access rights or fast access rights. The user account 115 can store the user's rating.
[0058] The illumination map generator 124 generates a mapping output 120. The computing system 106 stores the illumination device identifiers of each illumination device 303 installed in the illumination infrastructure 100. The mapping output 120 maps each illumination device identifier to a corresponding user. To generate the mapping output 120, the illumination map generator 124 divides the illumination devices 303 into subsets and then assigns each subset to a corresponding user. In Figure 5 the example, the illumination map generator 124 creates four subsets of the illumination devices 303. The first subset includes illumination device ID 1, the second subset includes illumination device IDs 2, 3, and 4, the third subset includes illumination device IDs 5 and 6, and the fourth subset includes illumination device ID 7. Then, the illumination map generator 124 assigns each subset to a user. Here, the first subset is assigned to user B, the second subset is assigned to user C, the third subset is assigned to user D, and the fourth subset is assigned to user A.
[0059] The illumination map generator 124 divides the illumination devices 303 into subsets and assigns each subset to a corresponding user using the prioritization data 112. In Figure 5 the example, the illumination map generator 124 creates four subsets of the illumination devices 303 based on the prioritization data indicating four users with active sessions. Next, the illumination map generator 124 divides their subsets based on the relative positioning of each user. Stored in the memory is information that maps each illumination device ID to the location of its corresponding illumination device. In this example, illumination device IDs 1 - 7 are associated with positions spanning from left to right. The prioritization data 112 indicates the order of the four users from left to right as user B, user C, user D, and user A. Based on this information, the illumination map generator 124 will divide the subsets for each user in this order such that the leftmost illumination device will be part of the subset assigned to user B and the rightmost illumination device will be part of the subset assigned to user A.
[0060] The size of the subsets (e.g., the number of illumination devices in a subset) is based on the computed weights included in the prioritization data 112. In Figure 5 the example, user C is associated with the highest weight compared to other users. Thus, the illumination map generator 124 will create the largest subset of illumination devices for user C. As described above, the weight calculation can be performed according to one or more prioritization schemes that are based on, for example, whether the user has paid a fee or the size of the fee, the duration of the session, the user's community rating, and / or the user's previous history of interacting with the illumination infrastructure 100.
[0061] In response to a change in prioritized data 112, the mapping output 120 is dynamically updated. In response to a change in queued data 118, the prioritized data is dynamically updated. According to one embodiment, the queued data 118 and / or the prioritized data 112 are updated according to periodic time slots. In this regard, the queuing application 121 processes control requests 139 over an "n" minute periodic window such that the queued data 118 and / or the prioritized data 112 are updated based on all control requests 139 received in the previous periodic window.
[0062] Figure 6 schematically shows Figure 1 an example of communication between a lighting controller and a computing system in an interactive group lighting system of. The computing system 106 dynamically updates the mapping output 120 and transmits it to the lighting controller 103. The mapping output 120 can be a file that organizes the lighting devices 303 of the lighting infrastructure 100 into one or more subsets and then assigns each subset to a user. The lighting controller 103 is configured to store the mapping output 120 and wait for a control signal 212. The computing system 106 transmits the control signal 212 to the lighting controller 103, where the control signal 212 includes a reference to a user. The lighting controller receives the control signal 212 and identifies the applicable user associated with the control signal 212. The lighting controller 103 references the mapping output 120 and applies the control signal to the subset of lighting devices 303 assigned to the user associated with the control signal 212.
[0063] Figure 7 is a flowchart illustrating an example of functions performed by a computing system in an interactive group lighting system of Figure 1 At 704, the computing system waits to receive a control request 139. When a control request 139 is received, at 707, it authenticates the user. For example, the computing system 106 authenticates the user based on user data included in the control request 139, where the user data identifies the user sending the control request 139. The computing system 106 can access the user account 115 to authenticate the user based on the user data. At 710, the computing system 106 transmits a permission 209 to the client device 134 that sent the control request 139 to permit the user to control at least a portion of the lighting infrastructure 100.
[0064] At 713, computing system 106 updates queuing data 713 to record that a new user has joined the group and thus an active session has been established. Computing system 106 may generate prioritization data 112 to determine how lighting devices 303 should be partitioned. At 716, computing system 106 dynamically partitions lighting devices 303 into one or more subsets. Computing system 106 stores in memory a set of lighting device identifiers, where each lighting device identifier corresponds to a lighting device 303 installed in lighting infrastructure 100. At 719, computing system updates mapping output 120. Mapping output 120 records the assignment of client device 134 that sends control request 139 to one of the subsets of lighting devices 303. At 721, computing system 106 transmits mapping output 120 to lighting controller 103.
[0065] While computing system 106 waits to receive a control request, computing system 106 also waits at 724 for the session to terminate. Computing system 106 may receive a terminate session message 215 from client device 134, or it may automatically terminate the session in response to an event such as, for example, the session expiring after a predetermined period of time. When the session terminates, computing system 106 updates queuing data 118, as shown at 713. This results in dynamically partitioning lighting devices 303 into new subsets. For example, when the session terminates, the user leaves the group, thereby allowing the current group members to obtain greater access control over lighting infrastructure 100.
[0066] In addition, at 727, computing system 106 waits to receive a control signal. Control signal 212 may be received from any client device 134 that has established an active session and thus is in the group. Control signal 212 indicates the client device 134 that sent the control signal. At 730, computing system 106 processes control signal 212. Processing may include reformatting, encrypting, embedding additional data, and / or removing unnecessary data. In any case, the processed control signal 212 is transmitted to lighting controller 721. Lighting controller 721 may independently control the subset of lighting devices that have been assigned to the user who sent control signal 212.
[0067] Figure 8 is schematically shown Figure 1An embodiment of a computing system in an interactive group lighting system. The computing system 106 includes one or more computing devices 800. Each computing device 800 includes at least one processor circuit, e.g., having a processor 803, a memory 806, and a communication interface 809, each of which is coupled to a local interface 812 or bus. Each computing device 800 can include, for example, at least one server computer or similar device. The communication interface 809 can include hardware, such as, for example, a network interface card, a modem, a transceiver, or a radio, and / or can include software, such as, for example, a software module that encodes / decodes communication packets for transmission and reception. As can be appreciated, the local interface 812 can include, for example, a data bus with an accompanying address / control bus or other bus structure.
[0068] Stored in the memory 806 are both several components and data executable by the processor 803. In particular, stored in the memory 806 and executable by the processor 803 are a queuing application 121 and a lighting map generator 124. The database 109 and other data can also be stored in the memory 806. Additionally, an operating system can be stored in the memory 806 and is executable by the processor 803.
[0069] It should be understood that, as can be appreciated, there can be other applications stored in the memory 806 and executable by the processor 803. In the case where any of the components discussed herein are implemented in software, any of a variety of programming languages can be employed, such as, for example, C, C++, C#, Objective C, Java®, JavaScript®, Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, or other programming languages.
[0070] A number of software components are stored in the memory 806 and are executable by the processor 803. In this regard, the term "executable" means a program file in a form that can ultimately be run by the processor 803. Examples of executable programs can be, for example, a compiled program that can be converted into machine code in a format that can be loaded into the random access portion of the memory 806 and run by the processor 803, source code expressed in an appropriate format, such as object code capable of being loaded into the random access portion of the memory 806 and executed by the processor 803, or source code that can be interpreted by another executable program to generate instructions to be executed by the processor 803 in the random access portion of the memory 806, etc. The executable program can be stored in any part or component of the memory 806, including, for example, random access memory (RAM), read-only memory (ROM), hard disk drive, solid state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
[0071] The memory 806 is herein defined as including both volatile and non-volatile memory and data storage components. Volatile components are components that do not retain data values when power is removed. Non-volatile components are components that retain data when power is removed. Thus, the memory 806 can include, for example, random access memory (RAM), read-only memory (ROM), hard disk drive, solid state drive, USB flash drive, memory card accessed via a memory card reader, floppy disk accessed via an associated floppy disk drive, optical disc accessed via an optical disc drive, magnetic tape accessed via an appropriate tape drive, and / or other memory components, or any combination of any two or more of these memory components. In addition, the RAM can include, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM can include, for example, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or other similar memory devices.
[0072] In addition, the processor 803 can represent multiple processors 803 and / or multiple processor cores, and the memory 806 can represent multiple memories 806 operating in parallel processing circuits. In such a case, the local interface 812 can be an appropriate network that facilitates communication between any two of the multiple processors 803, between any processor 803 and any memory 806, or between any two memories 806, etc. The local interface 809 can include additional systems designed to coordinate this communication, including, for example, implementing load balancing. The processor 803 can have an electrical or some other available configuration.
[0073] Although software applications described herein, such as queuing application 121 and lighting map generator 124 for example, may be embodied in software or code executed by general hardware as described above, alternatively, they may also be embodied in dedicated hardware or a combination of software / general hardware and dedicated hardware. If embodied in dedicated hardware, each may be implemented as a circuit or state machine employing any one or combination of a variety of technologies. These technologies may include, but are not limited to, discrete logic circuits with logic gates for implementing various logic functions when applying one or more data signals, application specific integrated circuits (ASICs) with appropriate logic gates, field programmable gate arrays (FPGAs), or other components, etc. Such technologies are generally well known to those skilled in the art and thus are not described in detail herein.
[0074] The communication interface 809 is configured to communicate with the lighting controller 103 and a plurality of client devices 134. The processor 803 uses the communication interface to establish communication with components external to the computing system 106. For example, the processor 803 may send instructions to the communication interface 809 to cause data to be transmitted to the lighting controller 103 or the client devices 134. Similarly, data received from the communication interface 809 is forwarded to the processor 803.
[0075] The foregoing detailed description has set forth some of the many forms that the present invention may take. The above examples are merely illustrative of several possible embodiments of various aspects of the present invention, where equivalent changes and / or modifications will occur to other technicians in the art upon reading and understanding the present invention and the drawings. In particular, with respect to the various functions performed by the components (devices, systems, and the like) described above, unless otherwise indicated, the terms used to describe such components (including references to "means") are intended to correspond to any component that performs the specified function of the described component (i.e., function equivalent), such as hardware or a combination thereof, even if not structurally equivalent to the disclosed structure that performs the functions in the illustrated implementations of the present disclosure.
[0076] Furthermore, references to a single component or item are intended to cover two or more such components or items unless otherwise specified. Additionally, to the extent that the terms "including", "includes", "having", "has", "with", or variants thereof are used in the detailed description and / or claims, such terms are intended to be inclusive in a manner similar to the term "comprising".
[0077] The present invention has been described with reference to preferred embodiments. However, modifications and alterations will occur to others upon a reading and understanding of the foregoing detailed description. It is intended that the invention be construed to include all such modifications and alterations. Only the claims include all equivalents that are intended to define the scope of the invention.
[0078] In the claims, the reference signs in parentheses refer to the reference signs in the drawings of the exemplary embodiments or to the formulas of the embodiments, and thus increase the intelligibility of the claims. These reference signs should not be construed as limiting the claims.
Claims
1. A computer-implemented method for controlling a lighting infrastructure (100), the method comprising the steps of: Storing in a memory (806) a set of lighting device identifiers, each lighting device identifier corresponding to a lighting device (303) installed in the lighting infrastructure (100); Receiving a first control request from a first client device, the first control request being associated with a first location (206) of the first client device; In response to the first control request, updating a mapping output (120) by assigning the first client device to an initial subset of the lighting devices (303); Receiving a second control request from a second client device, the second control request being associated with a second location (206) of the second client device; In response to the second control request, updating the mapping output (120) by reassigning the first client device to a first subset of the lighting devices (303) based on the first location (206) and assigning the second client device to a second subset of the lighting devices (303) based on the second location (206); And Transmitting the mapping output (120) to a lighting controller (103) to permit the first client device to independently control the first subset of the lighting devices (303) and to permit the second client device to simultaneously and independently control the second subset of the lighting devices (303).
2. The method according to claim 1, wherein the first control request includes user data (203) identifying a user of the first client device, and wherein the method further comprises the steps of: Authenticating the user based on the user data (203); And Transmitting a permission (209) to the first client device to permit the user to control at least a portion of the lighting infrastructure (100).
3. The method according to claim 1, further comprising the steps of: Receiving a control signal (212) from the first client device to control at least a portion of the lighting infrastructure (100); And Transmitting the control signal (212) to the lighting controller (103), wherein the lighting controller (103) controls a portion of the lighting infrastructure (100) defined by the mapping output (120) according to the control signal (212).
4. The method according to claim 1, further comprising the steps of: Receiving a control signal (212) from the first client device to control at least a portion of the lighting infrastructure (100), wherein the control signal (212) is derived from at least one of a user's selection of a color, a user's selection of an intensity, or a user's selection of a predefined animation sequence.
5. The method according to claim 1, further comprising the steps of: Receiving a control signal (212) from the first client device to control at least a portion of the lighting infrastructure (100), wherein the first client device includes a motion sensor, and wherein the control signal (212) is derived from an output of the motion sensor.
6. The method according to claim 1, wherein the first control request is associated with a first timestamp, and the second control request is associated with a second timestamp, wherein the first subset and the second subset are determined based on both the first timestamp and the second timestamp.
7. The method according to claim 6, wherein the number of lighting devices (303) in the first subset varies over time based on the first timestamp.
8. The method according to claim 1, further comprising the step of dynamically partitioning the lighting devices (303) of the lighting infrastructure (100) into subsets in response to receiving an additional control request from an additional client device.
9. A computing system (106) configured to communicate with a lighting controller (103) that controls a lighting infrastructure (100), the system comprising: a processor (803); a communication interface (809) configured to communicate with the lighting controller (103) and a plurality of client devices; and a memory (806) that stores a set of lighting device identifiers, each lighting device identifier corresponding to a lighting device (303) installed in the lighting infrastructure (100), wherein the memory (806) further stores computer instructions that, when executed, cause the processor to perform the following operations: receive a first control request from a first client device, the first control request being associated with a first location (206) of the first client device; in response to the first control request, update a mapping output (120) by assigning the first client device to an initial subset of the lighting devices (303); receive a second control request from a second client device, the second control request being associated with a second location (206) of the second client device; in response to the second control request, update the mapping output (120) by reassigning the first client device to a first subset of the lighting devices (303) based on the first location (206) and assigning the second client device to a second subset of the lighting devices (303) based on the second location (206); and transmit the mapping output (120) to the lighting controller (103) to permit the first client device to independently control the first subset of the lighting devices (303) and to permit the second client device to simultaneously and independently control the second subset of the lighting devices (303).
10. The system according to claim 9, wherein the first control request includes user data (203) identifying a user of the first client device, wherein the computer instructions, when executed, further cause the processor to perform the following operations: authenticate the user based on the user data (203); and transmit a permission (209) to the first client device to permit the user to control at least a portion of the lighting infrastructure (100).
11. The system according to claim 9, wherein the computer instructions, when executed, further cause the processor (803) to perform the following operations: receive a control signal (212) from the first client device to control at least a portion of the lighting infrastructure (100); and Transmit a control signal (212) to a lighting controller (103), wherein the lighting controller (103) controls a part of the lighting infrastructure (100) defined by a mapped output (120) according to the control signal (212).
12. The system according to claim 9, wherein when the computer instructions are executed, they further cause the processor (803) to perform the following operations: Receive a control signal (212) from a first client device to control at least a part of the lighting infrastructure (100), wherein the control signal (212) is derived from at least one of a user's selection of color, a user's selection of intensity, or a user's selection of a predefined animation sequence.
13. The system according to claim 9, wherein the first control request is associated with a first timestamp, and the second control request is associated with a second timestamp, wherein the first subset and the second subset are determined based on both the first timestamp and the second timestamp.
14. The system according to claim 13, wherein the number of lighting devices (303) in the first subset varies over time based on the first timestamp.
15. The system according to claim 9, wherein when the computer instructions are executed, they further cause the processor (803) to perform the following operations: Responsive to receiving an additional control request from an additional client device, dynamically partition the lighting devices (303) of the lighting infrastructure (100) into subsets.
Citation Information
Patent Citations
Outdoor lighting network control system
WO2012090142A2
Lighting control system that responds to ambient lighting conditions
CN102301827A
Systems and methods for managing interaction with controllable lighting networks
CN102483614A