Identify unregistered devices through wireless behavior

The device recognition model trained through wireless infrastructure collection and machine learning technology solves the problem of identification of unregistered devices, reduces management costs and improves the efficiency of office space utilization and energy management effects.

CN114626661BActive Publication Date: 2025-08-19INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111429121.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-08
Filing Date
2021-11-29
Publication Date
2025-08-19
Estimated Expiration
2041-11-29

AI Technical Summary

Technical Problem

Existing enterprise management tools are difficult to efficiently and economically identify and distinguish unregistered equipment in office spaces, resulting in high cost of office space management, especially in the case of diversified equipment in the BYOD environment.

Method used

The wireless behavior of unregistered devices is collected through wireless infrastructure, and the equipment is trained to identify models using machine learning technology. Combined with the wireless behavior of registered devices, it automatically registers unregistered devices to the enterprise directory, reduces duplicate counts, and optimizes occupation monitoring.

Benefits of technology

It realizes efficient identification and classification of unregistered equipment, reduces office space management costs, and improves office space utilization efficiency and energy management effects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114626661B_ABST
    Figure CN114626661B_ABST
Patent Text Reader

Abstract

The one or more computer processors detect an unregistered device associated with the identified location, wherein the unregistered device is associated with wireless behavior. The one or more computer processors identify one or more registered devices in proximity to the identified location and the detected unregistered device. The one or more computer processors utilize a trained device recognition model, the identified location, and corresponding wireless behaviors associated with the detected unregistered device and the identified one or more registered devices to identify an occupant associated with the detected unregistered device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates generally to the field of wireless networking, and more particularly to identifying unregistered devices. Background Art

[0002] Wireless communication is the electromagnetic transmission of information between two or more points (e.g., wireless network devices) that are not connected by electrical conductors. The most common wireless technology uses radio waves. With radio waves, the expected distance can be short, such as a few millimeters for low-power methods (e.g., near-field communication (NFC)), or millions of kilometers for deep-space radio communication. It includes various types of fixed, mobile, and portable applications, including two-way radios, cellular phones, personal digital assistants (PDAs), and wireless networking.

[0003] An integrated workplace management system (IWMS) is a software platform that helps organizations optimize the use of workplace resources, including the management of a company's real estate portfolio, infrastructure, and facility assets. IWMS solutions are typically packaged as fully integrated suites or as individual modules that can be scaled over time. Summary of the Invention

[0004] Embodiments of the present invention disclose a computer-implemented method, computer program product, and system. The computer-implemented method includes: one or more computer processors detecting an unregistered device associated with an identified location, wherein the unregistered device is associated with wireless behavior. The one or more computer processors identify one or more registered devices in the vicinity of the identified location and the detected unregistered device. The one or more computer processors utilize a trained device recognition model, the identified location, and corresponding wireless behaviors associated with the detected unregistered device and the identified one or more registered devices to identify an occupant associated with the detected unregistered device. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] Figure 1 is a functional block diagram illustrating a data processing environment according to an embodiment of the present invention;

[0006] Figure 2 This is a description of an embodiment of the present invention. Figure 1 a flowchart of operational steps of a program on a server computer within a data processing environment for identifying an unregistered wireless device by associated wireless characteristics;

[0007] Figure 3 The embodiment according to the present invention is shown in Figure 1 exemplary embodiments of the operating steps of the program within the data processing environment; and

[0008] Figure 4is a block diagram of components of a server computer and computing devices according to an embodiment of the present invention. DETAILED DESCRIPTION

[0009] Many organizations and companies lease, own, and / or manage large amounts of office space distributed throughout the world. These office spaces are often used daily by multiple employees, visitors, and customers, each of whom may have unknown identities. Managing this amount of office space can be an extremely expensive task as companies or organizations continue to grow, expand, and hire employees, and then adjust office space to accommodate these employees. Typically, companies or organizations use occupancy monitoring associated with one or more locations to assist in the decision-making process for office space management (such as lease renewals, space expansion or reduction, etc.). Although many enterprise management tools exist, these tools require significant engineering support, and the cost of scaling and implementing systems that accurately detect and distinguish individuals on site for occupancy monitoring purposes is prohibitive. In addition, existing enterprise management tools struggle to integrate with existing wireless systems. Due to the increasing use of individuals carrying and utilizing multiple computing devices in office spaces (particularly in bring your own device (BYOD) workspaces where many devices are not registered with the enterprise directory), these tools continue to struggle. Improvements in this area can generate significant cost savings, for example, an exemplary company with over 78 million square feet of managed office space could potentially save over $400 million annually with a 25% reduction in managed office space.

[0010] Embodiments of the present invention recognize that device identification can be improved by collecting associated wireless behavior (i.e., characteristics of a computing device as it passes through a specified geographic area and interacts with devices therein) through ubiquitous wireless infrastructure and applying machine learning. Embodiments of the present invention leverage existing wireless infrastructure to eliminate the initial capital cost of IoT deployments for device identification. Embodiments of the present invention recognize that identification of unregistered devices can be improved by learning wireless behavior using the simultaneous wireless behavior of unregistered and registered devices. Embodiments of the present invention determine categories associated with unknown devices and associated occupants ("visitors" versus "employees"). Embodiments of the present invention automatically register one or more unregistered devices associated with the identified employees into an enterprise directory. Embodiments of the present invention utilize improved device identification for office space optimization, lease accounting, energy management, and maintenance. Embodiments of the present invention improve occupancy monitoring by reducing possible double counting through master device determination and prioritization. Implementation of embodiments of the present invention may take various forms, and exemplary implementation details are discussed subsequently with reference to the accompanying drawings.

[0011] The present invention will now be described in detail with reference to the accompanying drawings.

[0012] Figure 1 is a functional block diagram illustrating a distributed data processing environment, generally designated 100, according to one embodiment of the present invention. The term "distributed" is used in this specification to describe a computer system that includes multiple physically distinct devices that operate together as a single computer system. Figure 1 This merely provides an illustration of one implementation and does not imply any limitation on the environments in which different embodiments may be implemented. Those skilled in the art may make many modifications to the described environments without departing from the scope of the invention as recited in the claims.

[0013] The distributed data processing environment 100 includes computing devices 110 and server computers 120 interconnected by a network 102. The network 102 can be, for example, a telecommunications network, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of the three, and can include wired, wireless, or fiber optic connections. The network 102 can include one or more wired and / or wireless networks capable of receiving and transmitting data, voice, and / or video signals, including multimedia signals (which include voice, data, and video information). In general, the network 102 can be any combination of connections and protocols that support communication between the computing devices 110, the server computers 120, and other computing devices (not shown) within the distributed data processing environment 100. In various embodiments, the network 102 operates locally via a wired, wireless, or optical connection and can be any combination of connections and protocols (e.g., a personal area network (PAN), near field communication (NFC), laser, infrared, ultrasonic, etc.). In one embodiment, the network 102 includes multiple distributed access points in a closed geographic area. In this embodiment, each access point in the plurality of distributed access points contains metadata describing the respective access point, such as a country code, a campus location identifier, a sensor description (e.g., access point, router, motion sensor, peer device, etc.), a building identifier, a floor, a room identifier, a broad location (e.g., a geographic location, coordinates, etc.).

[0014] Computing device 110 may be any electronic device or computing system capable of processing program instructions and receiving and sending data. In some embodiments, computing device 110 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, a smart watch, or any programmable electronic device capable of wirelessly communicating with network 102. In other embodiments, computing device 110 may represent a server computing system utilizing multiple computers as a server system, such as in a cloud computing environment. In an embodiment, computing device 110 may represent a plurality of computing devices, wherein each computing device is associated with a corresponding occupant (i.e., an individual or multiple individuals co-located with one or more controlled wireless network devices) and a registration status (i.e., unregistered or registered). In general, according to an embodiment of the present invention, computing device 110 represents a server computing system as described with respect to FIG. Figure 4 Any electronic device or combination of electronic devices capable of executing machine-readable program instructions is described in more detail.

[0015] Server computer 120 can be a standalone computing device, a management server, a network server, a mobile computing device, or any other electronic device or computing system capable of receiving, sending, and processing data. In other embodiments, server computer 120 can represent a server computing system that utilizes multiple computers as a server system, such as in a cloud computing environment. In another embodiment, server computer 120 can be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smartphone, or any programmable electronic device capable of communicating with computing device 110 and other computing devices (not shown) within distributed data processing environment 100 via network 102. In another embodiment, server computer 120 represents a computing system that utilizes clustered computers and components (e.g., database server computers, application server computers, etc.) that act as a single seamless resource pool when accessed within distributed data processing environment 100. In the depicted embodiment, server computer 120 includes database 122 and program 150. In other embodiments, server computer 120 can contain other applications, databases, programs, etc. not depicted in distributed data processing environment 100. The server computer 120 may include internal and external hardware components, such as Figure 4 further depicted and described in detail.

[0016] The database 122 is a repository for data used by the program 150. In the described embodiment, the database 122 resides on the server computer 120. In another embodiment, the database 122 may reside elsewhere within the computing environment 100 if the program 150 has access to it. A database is an organized collection of data. The database 122 may be implemented using any type of storage device capable of storing data and configuration files that can be accessed and utilized by the program 150, such as a database server, a hard drive, or flash memory. In an embodiment, the database 122 (e.g., an enterprise directory) stores data used by the program 150, such as building blueprints, floor layouts, historical occupancy insights, historical occupancy traffic patterns, employee records, lease agreements, historical registered devices, historical unregistered devices, and corresponding associated wireless behavior. In this embodiment, wireless behavior associated with the computing device includes, but is not limited to, identification information (e.g., UUID, MAC address, occupant information, etc.), hardware specifications, bandwidth metrics, associated protocols (e.g., encryption, wireless, communication, etc.), duration that the computing device maintains a connection with one or more wireless network devices in the area, identified location, interaction with one or more nearby devices (e.g., ping, transmission, authentication, connection, communication, transfer, etc.), and security protocols / measures. In yet another embodiment, database 122 includes contract documents, conditions, terms, options, and financial transactions that satisfy regulatory requirements in lease accounting and allocation.

[0017] In an embodiment, database 122 includes a corpus containing a plurality of training data, data structures, and / or variables used to fit parameters of a device identification model. The training data comprises pairs of input vectors and associated output vectors. For example, the training data may comprise an input vector representing an employee with multiple associated computing devices, each of which has corresponding wireless behaviors paired with an occupancy label (e.g., visitor, employee, employee title, etc.). In one embodiment, the corpus may comprise one or more sets containing one or more instances of unclassified or classified (e.g., labeled) data, hereinafter referred to as training sentences. In another embodiment, the training data comprises an array of training sentences organized into labeled training sets. In an embodiment, the corpus is categorized, organized, and / or structured to be associated with a specific location, floor, occupancy target (e.g., counting the number of active employees at a location), etc. For example, all historically identified devices and generated occupancy insights associated with a location are structured together. In various embodiments, the corpus is temporally structured. For example, the corpus is constrained or limited by a time period (e.g., devices observed in the last month).

[0018] Program 150 is a program for identifying unregistered wireless devices by associated wireless characteristics. In an embodiment, program 150 is an integrated workplace management system (IWMS). In another embodiment, program 150 is a module in a central IWMS. In various embodiments, program 150 may implement the following steps: detecting an unregistered device associated with an identified location, wherein the unregistered device is associated with a wireless behavior; identifying one or more registered devices in the vicinity of the identified location and the detected unregistered device; and identifying an occupant associated with the detected unregistered device using a trained device recognition model, the identified location, and the corresponding wireless behavior associated with the detected unregistered device and the identified one or more registered devices. In the described embodiment, program 150 is a stand-alone software program. In another embodiment, the functionality of program 150 or any combination thereof may be integrated into a single software program. In some embodiments, program 150 may be located on a separate computing device (not shown) but may still communicate over network 102. In various embodiments, a client version of program 150 resides on any other registered computing device (not depicted) within computing environment 100. Reference will be made to Figure 2 Procedure 150 is depicted and described in greater detail.

[0019] The present invention may include various accessible data sources (such as database 122), which may include personal storage devices, data, content, or information that a user (e.g., occupant) wishes not to be processed. Processing refers to any automated or non-automated operation or set of operations performed on personal data, such as collection, recording, organization, structuring, storage, adaptation, alteration, retrieval, consultation, use, disclosure by transmission, distribution, or otherwise making available, combination, restriction, erasure, or destruction. Program 150 provides informed consent, informing users of the collection of personal data and allowing users to opt in or opt out of processing their personal data. Consent can take several forms. Opt-in consent can force users to take an affirmative action before their personal data is processed. Alternatively, opt-out consent can force users to take an affirmative action before their personal data is processed to prevent the processing of that data. Program 150 enables authorized and secure processing of user information (such as tracking information) as well as personal data (such as personally identifiable information or sensitive personal information). Program 150 provides information about the personal data and the nature of the processing (e.g., type, scope, purpose, duration, etc.). The program 150 provides the user with a copy of the stored personal data. The program 150 allows incorrect or incomplete personal data to be corrected or completed. The program 150 allows personal data to be deleted immediately.

[0020] Figure 2A flowchart 200 illustrating operational steps of a program 150 for identifying unregistered wireless devices by associated wireless characteristics is depicted, in accordance with an embodiment of the present invention.

[0021] Program 150 creates a device identification model (step 202). In an embodiment, program 150 is initiated in response to a management request or a provided device identification model. In an embodiment, the device identification model represents a model that utilizes deep learning techniques to train, calculate weights, ingest inputs, and output multiple solution vectors, wherein the solution vectors include one or more probabilities associated with one or more occupant predictions. In an embodiment, the device identification model utilizes one or more transferable neural network algorithms and models (e.g., long short-term memory (LSTM), deep stacking network (DSN), deep belief network (DBN), convolutional neural network (CNN), composite hierarchical deep model, etc.) that can be trained using supervised or unsupervised methods. In an embodiment, the device identification model is a recurrent neural network (RNN) that is trained using a supervised training method using a corpus contained in database 122 to learn device (i.e., registered and unregistered) patterns and associate the patterns with multiple devices (e.g., related wireless behavior), such as multiple devices that repeatedly join the same access point with a small time margin.

[0022] Program 150 detects unregistered devices (step 204). In one embodiment, program 150 detects unregistered devices by monitoring multiple known wireless devices, such as access points. In this embodiment, program 150 continuously monitors and collects wireless activity from unregistered devices, such as UUIDs, MAC addresses, and device registration information associated with identification information contained in database 122. For example, when an occupant walks into an office building, the associated occupant's smartwatch initiates a connection to the office wireless network, and program 150 retrieves the associated MAC address from the occupant's smartwatch and attempts to match the retrieved MAC address with registered devices in the enterprise directory. In this embodiment, program 150 continuously collects wireless activity as unregistered devices move through the environment. In another embodiment, registered devices contain authentication credentials that are used to instantly identify the device. In one embodiment, program 150 utilizes historical wireless interactions with the computing device or similar computing devices to determine the capabilities of the detected unregistered computing device. In another embodiment, program 150 retrieves additional information about the detected device, such as signal strength, timestamp, and connection duration.

[0023] Program 150 identifies a location associated with the unregistered device (step 206). In an embodiment, program 150 identifies a location associated with the detected unregistered device by obtaining location information from the wireless network device that detected the unregistered computing device. For example, program 150 queries the access point that detected the unregistered computing device for location information, and program 150 uses the location information and signal strength information from the unregistered computing device to predict the location of the unregistered device as, for example, a generalized radius around the access point (e.g., a service radius of the access point). In other embodiments, program 150 may use signal triangulation between multiple wireless network devices to determine the location of the unregistered device. In further embodiments, program 150 associates a corresponding floor plan or digital blueprint with the identified location.

[0024] Program 150 identifies nearby registered devices (step 208). In response to identifying the location of the unregistered device, program 150 identifies one or more nearby registered devices (e.g., within 5 feet). In one embodiment, program 150 queries for all registered devices near the location of the identified unregistered device, where proximity is a threshold radius or distance between the device locations. In another embodiment, program 150 utilizes NFC and / or Global Positioning Service (GPS) to identify nearby registered devices. In another embodiment, program 150 adjusts the threshold radius based on the number of nearby registered devices identified. For example, program 150 reduces the threshold radius based on a large number of nearby registered devices. In this example, program 150 reduces the threshold radius to identify potentially important registered devices (i.e., unregistered devices associated with users of registered devices). In a further embodiment, program 150 retrieves historical wireless behavior associated with one or more identified registered devices. In addition, program 150 stores the predicted distance between the unregistered device and the one or more registered devices and the duration of close proximity (e.g., one meter) to the one or more identified nearby registered devices. In further embodiments, the program 150 continuously and / or periodically identifies nearby registered devices as the unregistered device moves throughout an environment (eg, an office building).

[0025] The program 150 utilizes the created device identification model to identify an occupant associated with the unregistered device (step 210). In an embodiment, the program 150 ingests wireless behavior, associated location information, and historical occupancy information collected from the detected unregistered device and from one or more nearby registered devices into the created device identification model as described in step 202. In this embodiment, the program 150 utilizes the created device identification model to assign component weights to the wireless behavior and generates a plurality of probabilities (e.g., numerical representations of predicted identities) calculated based on all weights associated with multiple registered occupants, respectively. In this embodiment, the created device identification model generates one or more probabilities representing multiple occupant identification confidence values. For example, based on the ingested information (e.g., the unregistered device maintained a distance of two meters from multiple registered devices throughout the occupancy duration), the program 150 predicts that the user of the unregistered device is associated with the registered users of multiple related registered devices. In response to program 150 failing to identify an occupant associated with an unregistered device, such as based on the occupant identification confidence value failing to meet a predetermined confidence threshold, program 150 marks the unregistered device as a visiting occupant and continues monitoring the unregistered device.

[0026] Program 150 determines a master device for the identified occupant (step 212). In response to program 150 identifying an occupant associated with an unregistered device, program 150 registers and / or associates the device with the identified occupant. In a further embodiment, program 150 determines a master device from a plurality of registered devices to represent the associated user in subsequent occupancy calculations. In this embodiment, program 150 utilizes only the occupant's master device to determine all occupancy calculations, ignoring all other registered devices associated with the occupant in subsequent occupancy calculations. In an embodiment, program 150 utilizes the wireless behavior associated with each registered device associated with the identified occupant to determine a registered device that accurately tracks the occupant's movements. For example, if a particular registered device is associated with consistent usage (e.g., 99% utilization when in the environment), such as a smartwatch or mobile device, program 150 uses that device as the master device. In an embodiment, program 150 determines a corresponding master device for each of a plurality of co-located registered occupants. In another embodiment, program 150 utilizes relative signal strength or battery life to determine the master device. For example, for a determined occupant, program 150 determines that the registered device with the greatest historical signal strength is the primary device. In one embodiment, program 150 collects only subsequent wireless activity associated with the occupant's primary device. In another embodiment, program 150 discards the collected wireless activity for each registered device that is not a primary device. In another embodiment, program 150 reclassifies the primary device based on continuously collected wireless activity, removal of the occupant of the primary device, or replacement of the primary device, and selects a new primary device from the plurality of registered devices.

[0027] Program 150 generates occupancy insights based on the identified master devices (step 214). In an embodiment, program 150 utilizes each corresponding master device identified for a plurality of registered occupants to calculate and generate a plurality of accurate occupancy insights, information, and location metrics, such as occupancy density, occupant traffic patterns, occupancy duration at one or more sub-locations (e.g., rooms in an office building), most common sub-locations, and the like. In an example, program 150 collects wireless activity over a period of time from the identified master devices associated with each employee in a particular office building. In this example, program 150 aggregates the information contained in the collected employee device location information and associates the information with the physical specifications (e.g., floor layout) corresponding to the office building. Here, program 150 generates a plurality of insights regarding employee occupancy corresponding to the physical specifications. The generated insights provide an understanding of the occupancy of a building, floor, or location. In another embodiment, program 150 generates a 2D or 3D floor plan with the generated insights superimposed thereon. For example, the program 150 overlays a density map on the 2D floor plan to represent the average occupants specific to the corresponding sub-location over a ten minute period.

[0028] In various embodiments, the program 150 strips any personally identifiable information (PII) from all information collected, provided, or utilized (e.g., wireless behavior, generated insights, etc.). For example, one or more registered devices are associated with a unique identifier and occupant category, without retaining PII. In further embodiments, the program 150 utilizes the generated insights to determine utilization of one or more workspaces across different combinations of locations and offices to prioritize targeted lease renewals, adjust space opportunities, identify consolidation opportunities, analyze space needs of business units, and analyze space needs by identified occupant categories. These embodiments help manage and consolidate leases to reduce costs and analyze the associated financial impact. In another embodiment, the program 150 utilizes the generated insights to perform predictive analysis on future space forecasts, utilization trends, and space-driven yield rates. In further embodiments, the program 150 sends or presents the generated occupancy insights to one or more users, where the program 150 utilizes a display (not depicted) associated with a computing device to present them.

[0029] In another embodiment, program 150 generates a document containing the generated occupancy insights.

[0030] In an embodiment, the program 150 dynamically adjusts a company or organization's workspace requirements (eg, desired work points (ie, office seats)) through improved occupancy counting and generated insights.

[0031] In another embodiment, the program 150 utilizes improved occupancy monitoring for office space optimization, lease accounting, energy management, and maintenance. For example, based on the insights generated, the program 150 reduces the lighting levels in one or more rooms (i.e., sub-locations) that have no active employees after certain hours.

[0032] Figure 3 An exemplary embodiment 300 according to an illustrative embodiment of the present invention is depicted. In exemplary embodiment 300, user 312 is an employee working in an urban location. The company that employs user 312 also promotes a bring-your-own-device culture. User 312 purchases unregistered device 302 (a mobile phone) and unregistered device 308 (a smartwatch) with the intention of utilizing the devices at work. User 312 already uses registered device 304 (a tablet) and registered device 306 (a laptop) at work. When user 312 enters the urban location, user 312 passes by access point 310. In response to unregistered device 302 and unregistered device 308 attempting to connect, program 150 utilizes access point 310 to detect the devices. Program 150 also identifies registered device 304 and registered device 306 as registered devices in the vicinity of the unregistered devices. Program 150 collects wireless activity associated with the unregistered devices and incorporates the collected wireless activity into a device recognition model trained to associate the unregistered devices with employees with high confidence. Program 150 determines that an unregistered device is associated with user 312 and registers the device in the enterprise directory. In response, program 150 selects registered device 304 as the primary device representing user 312 for subsequent occupancy insight generation.

[0033] Figure 4 A block diagram 400 depicts components of computing device 110 and server computer 120 according to an illustrative embodiment of the present invention. It should be understood that Figure 4 This merely provides an illustration of one implementation and does not imply any limitation with respect to the environments in which different embodiments may be implemented.Many modifications to the depicted environments are possible.

[0034] Computing device 110 and server computer 120 include a communications fabric 404 that provides communications between cache 403, memory 402, persistent storage 405, communications unit 407, and input / output (I / O) interface(s) 406. Communications fabric 404 can be implemented using any architecture designed to transfer data and / or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system. For example, communications fabric 404 can be implemented using one or more buses or crossbar switches.

[0035] Memory 402 and permanent storage device 405 are computer-readable storage media. In this embodiment, memory 402 comprises random access memory (RAM). In general, memory 402 may comprise any suitable volatile or non-volatile computer-readable storage media. Cache 403 is a fast memory device that enhances the performance of computer processor(s) 401 by storing recently accessed data from memory 402 and data that is close to the accessed data.

[0036] Program 150 may be stored in permanent storage 405 and memory 402 for execution by one or more corresponding computer processors 401 via cache 403. In an embodiment, permanent storage 405 comprises a magnetic hard drive. As an alternative to or in addition to a magnetic hard drive, permanent storage 405 may comprise a solid-state hard drive, a semiconductor memory device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

[0037] The media used by the persistent storage device 405 may also be removable. For example, a removable hard drive may be used for the persistent storage device 405. Other examples include optical and magnetic disks, thumb drives, and smart cards, which are inserted into a drive for transfer to another computer-readable storage medium that is also part of the persistent storage device 405. Software and data 412 may be stored in the persistent storage device 405 for access and / or execution by one or more corresponding processors 401 via the cache 403.

[0038] In these examples, communications unit 407 provides for communications with other data processing systems or devices. In these examples, communications unit 407 includes one or more network interface cards. Communications unit 407 may provide for communications using one or both of physical links and wireless communication links. Program 150 may be downloaded to permanent storage device 405 via communications unit 407.

[0039] (One or more) I / O interface 406 allows input and output of data with other devices that can be connected to computing device 110 and server computer 120 respectively. For example, (one or more) I / O interface 406 can provide a connection to (one or more) external devices 408 (such as a keyboard, keypad, touch screen and / or some other suitable input device). External devices 408 can also include portable computer-readable storage media, such as thumb drives, portable optical or magnetic disks, and memory cards. Software and data (such as program 150) used to practice embodiments of the present invention can be stored on such portable computer-readable storage media and can be loaded onto permanent storage device 405 via (one or more) I / O interface 406. (One or more) I / O interface 406 is also connected to display 409.

[0040] Display 409 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.

[0041] The programs described herein are identified based on the applications in which they are implemented in specific embodiments of the invention. However, it should be understood that any specific program terminology herein is used for convenience only, and thus, the present invention should not be limited to use solely in any specific application identified and / or implied by such terminology.

[0042] The present invention may be a system, method, and / or computer program product. The computer program product may include (one or more) computer-readable storage media having computer-readable program instructions thereon, the computer-readable program instructions being used to cause a processor to perform various aspects of the present invention.

[0043] Computer readable storage medium can be a tangible device that can hold and store the instructions used by the instruction execution device.Computer readable storage medium can be, for example, but not limited to, electronic storage device, magnetic storage device, optical storage device, electromagnetic storage device, semiconductor storage device, or any suitable combination of the aforementioned storage devices.A non-exhaustive list of more specific examples of computer readable storage medium includes the following: portable computer disk, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device such as a punch card or a raised structure in a groove having instructions recorded thereon, and any suitable combination of the above-mentioned devices.Computer readable storage medium as used herein should not be interpreted as being a temporary signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagated by waveguides or other transmission media (for example, light pulses by optical fiber cables), or electrical signals transmitted by wires.

[0044] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium within the corresponding computing / processing device.

[0045] The computer-readable program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, configuration data of integrated circuits, or source code or object code written in any combination of one or more programming languages (including object-oriented programming languages, such as Smalltalk, C++, etc.) and procedural programming languages (such as " C " programming language or similar programming languages). The computer-readable program instructions can be executed completely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or executed completely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network (including local area network (LAN) or wide area network (WAN)), or can be connected to an external computer (such as, using an internet service provider through the internet). In certain embodiments, the electronic circuit comprising, for example, a programmable logic circuit, a field programmable gate array (FPGA) or a programmable logic array (PLA) can perform the computer-readable program instructions to personalize the electronic circuit by utilizing the state information of the computer-readable program instructions, so as to perform various aspects of the present invention.

[0046] Aspects of the present invention are described herein with reference to the flowcharts and / or block diagrams of the methods, apparatus (systems) and computer program products according to embodiments of the present invention. It will be understood that each block of the flowcharts and / or block diagrams and the combination of blocks in the flowcharts and / or block diagrams can be implemented by computer-readable program instructions.

[0047] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create a device for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can direct the computer, programmable data processing device, and / or other equipment to operate in a specific manner, so that the computer-readable storage medium having the instructions stored therein includes an article of manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0048] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps will be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more boxes of the flowchart and / or block diagram.

[0049] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each frame in the flow chart or block diagram can represent a module, segment or part of an instruction, which includes one or more executable instructions for realizing the specified logical function. In some alternative embodiments, the function noted in the frame may not occur in the order noted in the figure. For example, the two frames shown in succession can actually be performed substantially simultaneously, or these frames can sometimes be performed in reverse order, depending on the function involved. It will also be noted that the combination of each frame of the block diagram and / or flow chart illustration and the frame in the block diagram and / or flow chart illustration can be realized by a dedicated hardware-based system that performs a specified function or action or performs a combination of special-purpose hardware and computer instructions.

[0050] The description of various embodiments of the present invention has been provided for the purpose of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, practical applications, or improvements over existing technologies in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A computer-implemented method comprising: detecting, by one or more computer processors, an unregistered device associated with the identified location, wherein the unregistered device is associated with wireless activity; identifying, by one or more computer processors, one or more registered devices in proximity to the identified location and the detected unregistered device; identifying, by one or more computer processors, an occupant associated with the detected unregistered device using the trained device identification model, the identified location, and corresponding wireless behaviors associated with the detected unregistered device and the identified one or more registered devices; and A primary device is determined, by one or more computer processors, from a plurality of registered devices associated with the identified occupant for use in tracking occupant movement.

2. The computer-implemented method of claim 1 , wherein: The master device represents the occupant in occupancy calculations.

3. The computer-implemented method of claim 2 , further comprising: The determined wireless behavior of the primary device is continuously collected, by one or more computer processors, for each occupant of a plurality of occupants associated with the identified location.

4. The computer-implemented method of claim 3 , further comprising: Occupancy insights are generated, by one or more computer processors, based on the collected wireless behavior for each of the plurality of occupants associated with the identified location.

5. The computer-implemented method of claim 4 , further comprising: The generated occupancy insights are utilized, by one or more computer processors, to adjust lighting in one or more sub-locations.

6. The computer-implemented method of claim 1 , wherein: Wireless behavior is the characteristic of a device passing through an identified location and interacting with other devices.

7. The computer-implemented method of claim 1 , wherein: The trained device identification model is a recurrent neural network.

8. A computer program product comprising: One or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, wherein the stored program instructions include program instructions for implementing the steps of any one of claims 1-7.

9. A computer system comprising: one or more computer processors; one or more computer-readable storage media; as well as Program instructions stored on the computer-readable storage medium for execution by at least one of the one or more processors, the stored program instructions comprising program instructions for implementing the steps of any one of claims 1-7.

Citation Information

Patent Citations

  • Vehicle implemented wireless charging

    US20200006975A1

  • System and methods for device management

    WO2011022053A1