Computer-implemented method, computer program product, and computer system for identifying unregistered devices through wireless behavior
A computer-implemented method using machine learning and wireless infrastructure identifies unregistered devices by associating their behaviors with registered devices, enhancing occupancy monitoring and reducing costs in office space management.
Patent Information
- Application Number
- JP2021197286
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-12-08
- Filing Date
- 2021-12-03
- Publication Date
- 2025-10-09
- Estimated Expiration
- 2041-12-03
AI Technical Summary
Existing enterprise management tools struggle to accurately detect and distinguish on-site individuals in office spaces due to the increasing adoption of unregistered devices, particularly in bring-your-own-device environments, leading to inefficiencies and high costs in managing office space.
A computer-implemented method using machine learning and existing wireless infrastructure to identify unregistered devices by analyzing their wireless behaviors, associating them with registered devices, and determining the occupant, thereby registering them in a corporate registry.
Improves occupancy monitoring, reduces double counting, and enables cost savings by optimizing office space, lease accounting, and energy management through accurate identification and registration of unregistered devices.
Smart Images

Figure 0007751941000001 
Figure 0007751941000002 
Figure 0007751941000003
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to the field of wireless networking, and more particularly to identifying unregistered devices. [Background technology]
[0002] Wireless communication is the electromagnetic transfer of information between two or more points (e.g., wireless network devices) that are not connected by electrical conductors. Most common wireless technologies use radio waves. With radio waves, the intended distance can be as short as a few millimeters for low-power methods (e.g., near-field communication (NFC)) or much longer, such as millions of kilometers for deep-space wireless communication. It encompasses a wide variety 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 managing the company's real estate portfolio, infrastructure, and capital assets. IWMS solutions are commonly packaged as fully integrated suites or individual modules that can be scaled over time. Summary of the Invention [Problem to be solved by the invention]
[0004] The present invention aims to identify the occupant associated with an unregistered device. [Means for solving the problem]
[0005] Embodiments of the present invention disclose a computer-implemented method, a computer program product, and a system. The computer-implemented method includes one or more computer processors detecting an unregistered device associated with an identified location, the unregistered device being associated with a wireless behavior. The one or more computer processors identify one or more registered devices proximate the identified location and the detected unregistered device. The one or more computer processors identify an occupant associated with the detected unregistered device using a trained device identification model, the identified location, and the respective wireless behaviors associated with the detected unregistered device and the identified one or more registered devices. [Brief explanation of the drawings]
[0006] [Figure 1] FIG. 1 is a functional block diagram illustrating a data processing environment in accordance with an embodiment of the present invention. [Figure 2] 2 is a flowchart illustrating the operational steps of a program on a server computer within the data processing environment of FIG. 1 for identifying unregistered wireless devices through associated wireless characteristics in accordance with an embodiment of the present invention. [Figure 3] 2 illustrates an exemplary embodiment of program operational steps within the data processing environment of FIG. 1 in accordance with an embodiment of the present invention. [Figure 4] FIG. 2 is a block diagram of components of a server computer and a computing device according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0007] Many organizations and companies rent, own, or manage vast amounts of office space distributed around the world, or some combination thereof. This office space is typically used daily by multiple employees, visitors, and clients, many of whom may not know the identities of each individual. Managing this amount of office space can be an extremely costly task as a company or organization continues to grow, expand, and hire employees, as well as adjust office space to accommodate them. Typically, a company or organization uses occupancy monitoring associated with one or more locations to aid in the decision-making process for office space management, such as lease extensions, space expansions, or reductions. While many enterprise management tools exist, these tools require significant engineering support and are too costly to scale and implement systems that accurately detect and distinguish on-site individuals for occupancy monitoring purposes. Furthermore, existing enterprise management tools are struggling to incorporate existing wireless systems. These tools continue to be in play due to the increasing adoption of individuals who carry and use multiple computing devices in office spaces, particularly in bring-your-own-device (BYOD) workspaces where many devices are not registered on the corporate registry. Improvements in this area can result in significant cost savings. For example, an exemplary company with over 78 million square feet (7.25 square kilometers) of managed office space could potentially save more than $400 million annually with a 25% reduction in managed office space.
[0008] Embodiments of the present invention recognize that device identification is improved through a ubiquitous wireless infrastructure and applied machine learning for the collection of associated wireless behaviors (i.e., characteristics of a computing device as it moves through and interacts with devices within a particular geographic region). Embodiments of the present invention leverage existing wireless infrastructure to eliminate the initial capital cost of IoT deployment for device identification. Embodiments of the present invention recognize that identification of unregistered devices is improved through learned wireless behaviors using parallel wireless behaviors of unregistered and registered devices. Embodiments of the present invention determine a category (visitor or employee) associated with an unknown device and the associated occupant. Embodiments of the present invention automatically register one or more unregistered devices associated with an identified employee in a corporate registry. Embodiments of the present invention use the improved device identification for office space optimization, lease accounting, energy management, and maintenance. Embodiments of the present invention improve occupancy monitoring by reducing potential double counting through the determination and prioritization of primary devices. Implementation of embodiments of the present invention may take a variety of forms, and details of exemplary implementations are described below with reference to the drawings.
[0009] The present invention will now be described in detail with reference to the drawings.
[0010] Figure 1 is a functional block diagram illustrating a distributed data processing environment, generally designated 100, in accordance with one embodiment of the present invention. As used herein, the term "distributed" describes a computer system that includes multiple physically separate devices that operate together as a single computer system. Figure 1 provides only an illustration of one embodiment and does not imply any limitation with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made by one skilled in the art without departing from the scope of the present invention, as recited by the claims.
[0011] The distributed data processing environment 100 includes computing devices 110 and server computers 120 interconnected via a network 102. The network 102 may 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 may include wired, wireless, or fiber optic connections. The network 102 may include one or more wired and / or wireless networks capable of receiving and transmitting data, voice, or video signals, or combinations thereof, including multimedia signals containing voice, data, and video information. In general, the network 102 may 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) in the distributed data processing environment 100. In various embodiments, the network 102 operates locally, via wired, wireless, or optical connections, and may be any combination of connections and protocols (e.g., personal area network (PAN), near field communication (NFC), laser, infrared, ultrasonic, etc.). In an embodiment, network 102 comprises a plurality of distributed access points within an enclosed geographic region, each of which includes 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-to-peer device, etc.), a building identifier, a floor level, a room identifier, a generalized location (e.g., positioning, coordinates, etc.), etc.
[0012] Computing device 110 may be any electronic device or computing system capable of processing program instructions and receiving and transmitting data. In some embodiments, computing device 110 may be a laptop computer, tablet computer, netbook computer, personal computer (PC), desktop computer, personal digital assistant (PDA), smartphone, smartwatch, or any programmable electronic device capable of wirelessly communicating with network 102. In other embodiments, computing device 110 may represent a server computing system using multiple computers as a server system, such as in a cloud computing environment. In embodiments, computing device 110 may represent multiple computing devices, each associated with a respective occupant (i.e., an individual or individuals collocated in wireless communication with one or more controlled wireless network devices) and registration status (i.e., unregistered or registered). Generally, computing device 110 represents any electronic device or combination of electronic devices capable of executing machine-readable program instructions, as described in more detail in connection with FIG. 4, according to embodiments of the present invention.
[0013] Server computer 120 may be a standalone computing device, an administrative server, a web server, a mobile computing device, or any other electronic device or computing system capable of receiving, transmitting, and processing data. In other embodiments, server computer 120 may represent a server computing system that uses multiple computers as server systems, such as in a cloud computing environment. In another embodiment, server computer 120 may 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) in distributed data processing environment 100 over network 102. In another embodiment, server computer 120 represents a computing system that uses clustered computers and components (e.g., database server computers, application server computers, etc.) that function as a single pool of seamless resources when accessed within distributed data processing environment 100. In the illustrated embodiment, server computer 120 includes database 122 and program 150. In other embodiments, server computer 120 may include other applications, databases, programs, etc. not shown in distributed data processing environment 100. Server computer 120 may include internal and external hardware components shown and described in further detail with respect to FIG.
[0014] Database 122 is a repository for data used by program 150. In the illustrated embodiment, database 122 resides on server computer 120. In another embodiment, database 122 may reside anywhere within computing environment 100, as long as program 150 has access to database 122. A database is an organized collection of data. Database 122 may be implemented on any type of storage device capable of storing data and configuration files that can be accessed and used by program 150, such as a database server, hard disk drive, or flash memory. In an embodiment, database 122 (e.g., a business registry) stores data used by program 150, such as building plans, floor layouts, historical occupancy insights, historical occupancy traffic patterns, employee records, lease agreements, historical registered devices, historical unregistered devices, and their associated wireless behavior. In this embodiment, the wireless behavior associated with a 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, radio, communication, etc.), the duration the computing device maintained a connection to one or more wireless network devices in the area, identification location, interactions with one or more nearby devices (e.g., ping, transmission, authentication, connection, communication, transfer, etc.), and security protocols / measurements. In yet another embodiment, database 122 includes contract documents, terms, clauses, options, and financial transactions that satisfy legal regulations for lease accounting and assignment.
[0015] In an embodiment, the database 122 includes a corpus containing multiple training data, data structures, or variables, or a combination thereof, used to fit the parameters of the device identification model. The training data includes pairs of input vectors with associated output vectors. For example, the training data includes input vectors representing employees at multiple associated computing devices with their respective wireless behaviors paired with occupancy labels (e.g., visitor, employee, employee title, etc.). In an embodiment, the corpus may include one or more sets containing one or more instances of uncategorized or categorized (e.g., labeled) data, hereinafter referred to as training statements. In another embodiment, the training data includes an array of training statements organized into labeled training sets. In an embodiment, the corpus is categorized, organized, or built, or a combination thereof, relative to a particular location, floor, occupancy goal (e.g., counting the number of active employees at a location), etc. For example, all historically identified devices and generated occupancy forecasts for a location are built together. In various embodiments, the corpus is built temporarily. For example, the corpus may be constrained or limited with respect to a time period (eg, devices that have been observed in the last month).
[0016] Program 150 is a program for identifying unregistered wireless devices through associated wireless characteristics. In an embodiment, program 150 is an integrated workplace management system (IWMS). In another embodiment, program 150 is a module within a central IWMS. In various embodiments, program 150 may perform the following steps: detect an unregistered device associated with an identified location, the unregistered device being associated with a wireless behavior; identify one or more registered devices in proximity to the identified location and the detected unregistered device; and identify an occupant associated with the detected unregistered device using a trained device identification model, the identified location, and the respective wireless behaviors associated with the detected unregistered device and the identified one or more registered devices. In the illustrated embodiment, program 150 is a standalone software program. In another embodiment, the functionality of program 150, or any composite program 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 shown) within computing environment 100. Program 150 is shown and described in further detail with respect to FIG.
[0017] The present invention may involve various accessible data sources, such as personal storage devices, databases 122, which may contain data, content, or information that a user (e.g., an occupant) desires not to be processed. Processing refers to any automated or non-automated operation or set of operations performed on personal data, such as collecting, recording, organizing, structuring, storing, adapting, altering, retrieving, consulting, using, disclosing (by transmitting, distributing, or making available), combining, restricting, erasing, or destroying. The program 150 provides notification of personal data collection and provides informed consent, allowing users to opt in or out of processing their personal data. Consent can take multiple forms. Opt-in consent may require users to take affirmative steps before their personal data is processed. Alternatively, opt-out consent may require users to take affirmative steps to prevent processing of their personal data before the data is processed. The 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. The program 150 provides information about the personal data and the nature (e.g. type, scope, purpose, duration, etc.) of the processing. The program 150 provides the user with a copy of the stored personal data. The program 150 allows for the correction or completion of inaccurate or incomplete personal data. The program 150 allows for the immediate deletion of personal data.
[0018] FIG. 2 shows a flowchart 200 illustrating the operational steps of the program 150 for identifying unregistered wireless devices through their associated wireless characteristics, in accordance with an embodiment of the present invention.
[0019] Program 150 generates a device identification model (step 202). In an embodiment, program 150 initiates in response to an administrative request or a provided device identification model. In an embodiment, the device identification model represents a model that uses deep learning techniques to train, calculate weights, take inputs, and output multiple solution vectors. The solution vector includes one or more probabilities associated with one or more occupant predictions. In an embodiment, the device identification model uses 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), synthetic hierarchical deep model, etc.) that can be trained in a supervised or unsupervised manner. In an embodiment, the device identification model is a recurrent neural network (RNN) that is trained using a supervised training method that uses a corpus contained in database 122 to learn device (i.e., registered and unregistered) patterns and associate said patterns with multiple devices (e.g., associated wireless behavior), for example, multiple devices that repeatedly associate with the same access point over a small time margin.
[0020] Program 150 detects unregistered devices (step 204). In an 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 behavior from unregistered devices, such as UUIDs, MAC addresses, and other identifying information associated with device registration information contained in database 122. For example, as an occupant walks into an office building, the associated occupant's smartwatch initiates a connection with 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 a registered device in the corporate registry. In this embodiment, program 150 continuously collects wireless behavior as the unregistered device moves through the environment. In another embodiment, registered devices include authentication credentials used to immediately identify the device. In an embodiment, program 150 uses historical wireless interactions with the computing device or similar computing devices to determine the capabilities of the detected unregistered computing device. In another embodiment, the program 150 retrieves additional information about the detected device, such as signal strength, timestamp, and connection duration.
[0021] The program 150 identifies a location associated with the unregistered device (step 206). In an embodiment, the program 150 identifies a location associated with the detected unregistered device by retrieving location information from a wireless network device that detected the unregistered computing device. For example, the program 150 queries the access point that detected the unregistered computing device for location information, and using the location information and signal strength information from the unregistered computing device, the program 150 predicts the location of the unregistered device, for example, as a generalized radius around the access point (e.g., the service radius of the access point). In other embodiments, the program 150 may determine the location of the unregistered device using signal triangulation between multiple wireless network devices. In a further embodiment, the program 150 associates a corresponding floor plan or digital blueprint with the identified location.
[0022] The program 150 identifies nearby registered devices (step 208). In response to identifying the location of the unregistered device, the program 150 identifies one or more nearby (e.g., 5 feet (1.52 meters)) registered devices. In an embodiment, the program 150 queries all registered devices in proximity to the identified location of the unregistered device, where proximity is a threshold radius or distance between device locations. In another embodiment, the program 150 utilizes NFC and / or Global Positioning Services (GPS) to identify nearby registered devices. In a further embodiment, the program 150 adjusts the threshold radius based on the identified amount of nearby registered devices. For example, the program 150 decreases the threshold radius according to a large number of nearby registered devices. In this example, the program 150 decreases the threshold radius to identify registered devices of potential interest (i.e., unregistered devices associated with users of registered devices). In a further embodiment, the program 150 retrieves historical wireless behavior associated with one or more identified registered devices. Additionally, program 150 stores the predicted distance between the unregistered device and one or more registered devices, and the period of time during which the unregistered device is in close proximity (e.g., 1 meter) to one or more identified nearby registered devices. In a further embodiment, program 150 identifies nearby registered devices continuously, periodically, or both, as the unregistered device moves throughout an environment (e.g., an office building).
[0023] Program 150 uses the generated device identification model to identify an occupant associated with the unregistered device (step 210). In an embodiment, program 150 incorporates wireless behavior, associated location information, and occupancy history information collected from the detected unregistered device and one or more nearby registered devices, as described in step 202, into the generated device identification model. In this embodiment, program 150 uses the generated device identification model to assign component weights to the wireless behavior and generate multiple probabilities (e.g., numerical representations of predicted identifications) calculated from all of the weights associated with multiple registered occupants, respectively. In this embodiment, the generated device identification model generates one or more probabilities representing multiple occupant identification confidence values. For example, based on the incorporated information (e.g., an unregistered device maintaining a distance of two meters from multiple registered devices during the entire occupancy period), program 150 predicts that a user of the unregistered device is associated with a registered user of multiple associated registered devices. For example, in response to program 150 being unable to identify an occupant associated with an unregistered device based on the occupant identification confidence value not reaching a predetermined confidence threshold, program 150 tags the unregistered device as a visiting occupant and continues to monitor the unregistered device.
[0024] The program 150 determines a primary device for the determined occupant (step 212). In response to the program 150 identifying an occupant associated with an unregistered device, the program 150 registers the device and / or associates the device with the identified occupant. In a further embodiment, the program 150 determines a primary device from multiple registered devices to represent the associated user in subsequent occupancy calculations. In this embodiment, the program 150 uses only the occupant's primary device to determine all occupancy calculations and ignores all other registered devices associated with the occupant in subsequent occupancy calculations. In an embodiment, the program 150 uses the associated wireless behavior of 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 a certain usage rate (e.g., 99% usage rate while in the environment), such as a smartwatch or mobile device, the program 150 uses that device as the primary device. In an embodiment, the program 150 determines a primary device for each registered occupant among multiple co-located registered occupants. In another embodiment, program 150 determines the primary device using relative signal strength or battery life. For example, program 150 determines the registered device with the greatest historical signal strength to be the primary device for the determined occupant. In an embodiment, program 150 collects only subsequent wireless behavior associated with the primary device for the occupant. In another embodiment, program 150 discards collected wireless behavior for all registered devices that are not primary devices. In another embodiment, program 150 reclassifies the primary device and selects a new primary from multiple registered devices based on successively collected wireless behavior, occupant departure of the primary device, or replacement of the primary device.
[0025] The program 150 generates occupancy perspectives based on the determined primary devices (step 214). In an embodiment, the program 150 uses the determined primary devices for each of a plurality of registered occupants to calculate and generate multiple, accurate occupancy perspectives and location metrics, such as occupancy density, occupant traffic patterns, duration of occupancy in one or more sub-locations (e.g., rooms within an office building), and most common sub-locations. In an example, the program 150 collects wireless behavior over a period of time from the determined primary devices associated with all employees in a particular office building. In this example, the program 150 aggregates information contained in the collected employee device location information and associates the information with physical specifications (e.g., floor layout) corresponding to the office building. The program 150 then generates multiple perspectives regarding employee occupancy corresponding to the physical specifications. The generated perspectives provide occupancy awareness for a building, floor, or site. In another embodiment, the program 150 overlays the generated perspectives to generate a 2D or 3D floor plan. For example, the program 150 may overlay a density graph onto a 2D floor plan to represent the average occupancy for a 10 minute period specific to each sublocation.
[0026] In various embodiments, program 150 removes any personally identifiable information (PII) from all information collected, provided, or used (e.g., wireless behavior, generated outlook, etc.). For example, one or more registered devices are associated with a unique identifier and an occupant classification that does not retain PII. In further embodiments, program 150 uses the generated outlook to determine the use of one or more workspaces across a diverse portfolio of locations and offices to prioritize targeted lease renewals, adjust space occupancy, identify consolidation opportunities, analyze space needs by business unit, and analyze space needs by identified occupant classification. These embodiments help manage and consolidate leases to reduce costs and analyze associated financial impacts. In another embodiment, program 150 uses the generated outlook to perform predictive analytics on future space projections, utilization trends, and space-driven profitability. In further embodiments, program 150 transmits or presents the generated occupancy outlook to one or more users, and program 150 presents using a display (not shown) associated with the computing device. In another embodiment, the program 150 generates a document that includes the generated occupancy forecast.
[0027] In an embodiment, program 150 dynamically adjusts a company's or organization's workspace requirements (e.g., required work points (i.e., office seats)) through the improved occupancy counts and generated perspectives. In another embodiment, program 150 uses the improved occupancy monitoring for office space optimization, lease accounting, energy management, and maintenance. For example, based on the generated perspectives, program 150 reduces the brightness of lights in one or more rooms (i.e., sub-locations) that do not have active employees after a specified time.
[0028] FIG. 3 illustrates an exemplary embodiment 300 in accordance with an exemplary embodiment of the present invention. In exemplary embodiment 300, user 312 is an employee working at a downtown location. The company employing user 312 also promotes a bring-your-own-device culture. User 312 purchases a cell phone, which is unregistered device 302, and a smartwatch, which is unregistered device 308, and intends to use the devices for work. User 312 already uses a tablet, which is registered device 304, and a laptop, which is registered device 306, for work. When user 312 enters the downtown location, user 312 passes through access point 310. Program 150 detects unregistered device 302 and unregistered device 308 using access point 310 in response to the devices attempting to connect. Program 150 also identifies registered device 304 and registered device 306 as nearby registered devices in proximity to the unregistered devices. The program 150 collects wireless behavior associated with the unregistered device and incorporates the collected wireless behavior into a device identification model trained to associate the unregistered device with employees with a high level of trust. The program 150 determines that the unregistered device is associated with the user 312 and registers the device in the enterprise registry. In response, the program 150 selects the registered device 304 as the primary device representing the user 312 for subsequent occupancy forecast generation.
[0029] 4 illustrates a block diagram 400 illustrating components of computing device 110 and server computer 120 in accordance with an exemplary embodiment of the present invention. It should be understood that FIG. 4 is provided as an illustration of only one implementation and is not intended to suggest any limitation with respect to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.
[0030] 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 406. Communications fabric 404 may be implemented with any architecture designed to pass data and / or control information between processors (such as microprocessors, communications, and network processors), system memory, peripheral devices, and any other hardware components in the system. For example, communications fabric 404 may be implemented with one or more buses or crossbar switches.
[0031] Memory 402 and persistent storage 405 are computer-readable storage media. In this embodiment, memory 402 includes random access memory (RAM). Generally, memory 402 may include any suitable volatile or non-volatile computer-readable storage medium. Cache 403 is a high-speed memory that enhances the performance of computer processor 401 by retaining recently accessed data and data near recently accessed data from memory 402.
[0032] The program 150 may be stored in persistent storage 405 and memory 402 for execution by one or more of the respective computer processors 401 via cache 403. In an embodiment, persistent storage 405 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 405 may include a solid-state hard drive, a semiconductor storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0033] The media used by persistent storage 405 may also be removable. For example, a removable hard drive may be used for persistent storage 405. Other examples include optical and magnetic disks, thumb drives, and smart cards inserted into a drive for transfer onto another computer-readable storage medium that is also part of persistent storage 405. Software and data 412 may be stored in persistent storage 405 for access and / or execution by one or more of the respective computer processors 401 via cache 403.
[0034] In these examples, communications unit 407 provides for communication 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 communications through the use of either or both physical and wireless communications links. Program 150 may be downloaded to persistent storage 405 through communications unit 407.
[0035] The I / O interface 406 allows for the input and output of data with other devices that may be connected to the computing device 110 and the server computer 120, respectively. For example, the I / O interface 406 may provide connection to external devices 408, such as a keyboard, keypad, touch screen, or any other suitable input device, or a combination thereof. The external devices 408 may also include portable computer-readable storage media, such as thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to implement embodiments of the present invention, such as the program 150, may be stored on such portable computer-readable storage media or loaded onto persistent storage 405 via the I / O interface 406. The I / O interface 406 is also connected to a display 409.
[0036] Display 409 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.
[0037] The programs described herein are identified based on the application for which they are implemented in specific embodiments of the invention. However, it should be understood that the terminology of any particular program herein is used merely for convenience, and thus the invention should not be limited to use only in any particular application identified and / or suggested by such terminology.
[0038] The present invention may be a system, a method, or a computer program product, or any combination thereof. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to perform aspects of the present invention.
[0039] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, punch cards, or mechanically encoded devices such as ridge structures in grooves that allow instructions to be recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as being inherently ephemeral signals, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through fiber optic cable), or electrical signals transmitted through electrical wires.
[0040] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface within each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.
[0041] The computer-readable program instructions for carrying out the operations of the present invention may be either source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, C++, traditional procedural programming languages such as the “C” programming language or similar programming languages, and quantum programming languages such as the “Q” programming language, Q#, Quantum Computing Language (QCL), or similar programming languages, assembly language, or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., through the Internet using an Internet service provider). In some embodiments, electronic circuitry, including, for example, programmable logic circuitry, field programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), may execute computer-readable program instructions by individualizing the electronic circuitry using state information of the computer-readable program instructions to perform aspects of the present invention.
[0042] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0043] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to manufacture a machine, such that the instructions, when executed by the processor of the computer or other programmable data processing apparatus, create means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that may instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium having instructions stored on it comprises an article of manufacture containing instructions that perform aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0044] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device that causes the computer, other programmable apparatus, or other device to perform a series of operational steps to create a computer-implemented process, such that the instructions, executing on the computer, other programmable apparatus, or other device, perform the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams.
[0045] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, which includes one or more executable instructions for implementing specified logical functions. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations or executes a combination of dedicated hardware and computer instructions.
[0046] The description of various embodiments of the present invention is presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the present invention. The terms used herein have been selected to best explain the principles of the embodiments, practical applications, or technical improvements beyond those found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein. [Explanation of symbols]
[0047] 100 Distributed Data Processing Environment 102 Network 110 Computing Devices 120 Server Computers 122 databases 150 programs 302 Unregistered Device 304 Registered Device 306 Registered Device 308 Unregistered Device 310 Access Point 312 users 401 Computer Processor 402 memory 403 Cache 404 Communication Fabric 405 Persistent Storage 406 I / O interface 407 Communication Unit 408 External Devices 409 Display 412 Software and Data
Claims
1. 1. A computer-implemented method comprising: Detecting, by one or more computer processors, an unregistered device associated with an identified location and wireless behavior; identifying, by one or more computer processors, one or more registered devices proximate 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 a trained device identification model, the identified location, and respective wireless behaviors associated with the detected unregistered device and the identified one or more registered devices; 20. A computer-implemented method comprising:
2. 2. The computer-implemented method of claim 1, further comprising: determining, by one or more computer processors, a primary device from a plurality of registered devices associated with the identified occupant, wherein the primary device represents the occupant in occupancy calculations.
3. 3. The computer-implemented method of claim 2, further comprising continuously collecting, by one or more computer processors, wireless behavior for the primary device determined for each occupant of a plurality of occupants associated with the identified location.
4. 4. The computer-implemented method of claim 3, further comprising generating, by one or more computer processors, an occupancy outlook based on the collected wireless behavior for each occupant of the plurality of occupants associated with the identified location.
5. The computer-implemented method of claim 4 , further comprising adjusting, by one or more computer processors, lighting at one or more sub-locations using the generated occupancy perspective.
6. The computer-implemented method of claim 1 , wherein the wireless behavior is a characteristic of a device that is identified and moves through 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 comprising: program instructions for detecting unregistered devices associated with an identified location and wireless behavior; program instructions for identifying one or more registered devices proximate the identified location and the detected unregistered device; program instructions for identifying an occupant associated with the detected unregistered device using a trained device identification model, the identified location, and respective wireless behaviors associated with the detected unregistered device and the identified one or more registered devices; a computer program comprising:
9. 9. The computer program product of claim 8, further comprising program instructions for determining a primary device from a plurality of registered devices associated with the identified occupant, the primary device representing the occupant in occupancy calculations.
10. 10. The computer program product of claim 9, further comprising program instructions for continuously collecting wireless behavior for the primary device determined for each occupant of a plurality of occupants associated with the identified location.
11. 11. The computer program product of claim 10, further comprising program instructions for generating an occupancy outlook based on the collected wireless behavior for each occupant of the plurality of occupants associated with the identified location.
12. The computer program product of claim 11 , further comprising program instructions for adjusting lighting at one or more sub-locations using the generated occupancy perspective.
13. 9. The computer program product of claim 8, wherein the wireless behavior is a characteristic of a device that is identified and moves through interacting with other devices.
14. 9. The computer program product of claim 8, wherein the trained device identification model is a recurrent neural network.
15. 1. A computer system comprising: one or more computer processors; one or more computer-readable storage media; program instructions stored on the computer-readable storage medium for execution by at least one of the one or more computer processors, the stored program instructions comprising: program instructions for detecting unregistered devices associated with an identified location and wireless behavior; program instructions for identifying one or more registered devices proximate the identified location and the detected unregistered device; and and program instructions for identifying an occupant associated with the detected unregistered device using a trained device identification model, the identified location, and respective wireless behaviors associated with the detected unregistered device and the identified one or more registered devices. Computer systems.
16. The program instructions stored on the one or more computer-readable storage media include:
16. The computer system of claim 15, further comprising program instructions for determining a primary device from a plurality of registered devices associated with the identified occupant, the primary device representing the occupant in occupancy calculations.
17. The program instructions stored on the one or more computer-readable storage media include:
17. The computer system of claim 16, further comprising program instructions for continuously collecting wireless behavior for the primary device determined for each occupant of a plurality of occupants associated with the identified location.
18. The program instructions stored on the one or more computer-readable storage media include:
20. The computer system of claim 17, further comprising program instructions for generating an occupancy outlook based on the collected wireless behavior for each occupant of the plurality of occupants associated with the identified location.
19. 16. The computer system of claim 15, wherein the wireless behavior is a characteristic of a device that is identified and moves through interacting with other devices.
20. 16. The computer system of claim 15, wherein the trained device discrimination model is a recurrent neural network.
Citation Information
Patent Citations
Termination estimation method, termination estimation program, and information processing apparatus
JP2013246696A
Authentication device, terminal device, authentication method, and authentication program
JP2017037529A
Server, program, and introduction method
JP2017174279A
Coolness-seeking autonomous operation robot
JP2018126858A
Authentication system, authentication device, and authentication method
JP2018156479A