HK1171842B - Generating maps of private spaces using mobile computing device sensors - Google Patents
Generating maps of private spaces using mobile computing device sensors Download PDFInfo
- Publication number
- HK1171842B HK1171842B HK12112666.4A HK12112666A HK1171842B HK 1171842 B HK1171842 B HK 1171842B HK 12112666 A HK12112666 A HK 12112666A HK 1171842 B HK1171842 B HK 1171842B
- Authority
- HK
- Hong Kong
- Prior art keywords
- sensor data
- private space
- data
- location
- mobile computing
- Prior art date
Links
Description
Technical Field
The invention relates to private space mapping.
Background
Computer users may utilize a variety of public online services to map public spaces. However, current mapping services that are online rely on the gathering of data at multiple locations by a central service, which is tedious and tedious. Furthermore, it is often difficult to accommodate changes to the public space (requiring updating of the current map) without coordination between third parties and the central service to perform such things as physically roaming the public space with sensors, recording any changes, and communicating those changes to the central service so that the current map is restored. It is with respect to these considerations and others that the various embodiments of the present invention have been made.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Embodiments are provided for generating a map of a private space using mobile computing device sensors. Sensor data may be received from one or more mobile computing devices to determine a digital signature describing a private space. Scheduling data may also be received from the one or more mobile devices. The scheduling data may describe a location associated with a private space to be mapped. A digital map of the private space may then be generated from the digital signature and the location associated with the private space in the scheduling data.
These and other features and advantages will become apparent upon reading the following detailed description and upon reference to the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
Drawings
FIG. 1 is a block diagram illustrating a network architecture for generating maps of private spaces using mobile computing device sensors, in accordance with various embodiments;
FIG. 2 is a block diagram illustrating components of a digital map generated using mobile computing device sensors regarding a private space, in accordance with various embodiments;
FIG. 3 is a block diagram illustrating a server computing environment that may be used to generate a map of a private space using mobile computing device sensors, in accordance with various embodiments;
FIG. 4 is a flow diagram illustrating a routine for gathering sensor data for use in generating a map of a private space, in accordance with various embodiments; and
fig. 5 is a flow diagram illustrating a routine for processing of sensor data and generation of a private spatial map, in accordance with various embodiments.
DETAILED DESCRIPTION OF EMBODIMENT (S) OF INVENTION
Embodiments are provided for generating a map of a private space using mobile computing device sensors. Sensor data may be received from one or more mobile computing devices to determine a digital signature describing a private space. Scheduling data may also be received from the one or more mobile devices. The scheduling data may describe a location associated with a private space to be mapped. A digital map of the private space may then be generated from the digital signature and the location associated with the private space in the scheduling data.
In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These embodiments may be combined, other embodiments may be utilized, and structural changes may be made without departing from the spirit or scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.
Referring now to the drawings, in which like numerals represent like elements, various aspects of the present invention will be described. Fig. 1 is a block diagram illustrating a network architecture for generating a map of a private space using mobile computing device sensors, in accordance with various embodiments. The network architecture includes mobile computing devices 2A-2C that may communicate with client computing devices 6A-6B and server 70 over network 4. According to various embodiments, the network 4 may comprise a local area network or a wide area network (e.g., the Internet).
Mobile computing devices 2A-2C may include sensors 40A-40C and scheduling data 42A-42C, respectively. According to various embodiments, mobile computing device 2 may include a mobile phone, "smart phone," tablet computer, or laptop computer capable of executing one or more applications. As known to those skilled in the art, a "smart phone" may include a mobile phone having computer functionality and/or the ability to run operating system software to provide a standardized interface and platform for application developers.
Sensors 40A-40C (which may be built-in or connected to) mobile computing devices 2A-2C may be capable of measuring/detecting various types of data associated with mobile computing devices 2A-2C, including but not limited to altitude, location, signal strength, direction, and force. The sensors 40A-40C may also include the ability to detect the presence of a wireless network (e.g., a "Wi-Fi" network), a Wi-Fi access point, or other mobile computing device (e.g., via Bluetooth wireless technology), but not actually make a network or device connection. Thus, depending on the embodiment, the sensors 40A-40C, which should be well known to those skilled in the art, may include altimeters, GPS, wireless network interface devices (for signal strength detection and for detection and connection to other wireless networks/devices), gyroscopes, and force sensors. As will be described in greater detail herein with reference to fig. 4-5, according to various embodiments, the sensors 40A-40C may be used to create a "digital signature" that is used to map a private space (e.g., a conference room in an office building). It should be understood that sensors 40A-40C may not necessarily be physically connected to mobile computing devices 2A-2C but may also be wirelessly connected to exchange data, depending on the embodiment. For example, the sensors 40A-40C may include self-powered (e.g., photoelectric) sensors that may be attached to a wall and broadcast measurement data (e.g., location information) using any of a number of low power wireless communication techniques known to those skilled in the art. For example, the sensors 40A-40C may utilize Bluetooth wireless technology, based on the ZIGBEE specification's low power communication protocol suite.
According to an embodiment, the scheduling data 42A-42C may include location-based information found in respective schedules of users associated with the mobile computing devices 2A-2C. In particular, the scheduling data 42A-42C may include location data compiled by a scheduling service on the server 70. For example, scheduling data 42A-42C may identify a meeting at 3 PM in conference room "J" of an office building for a user of mobile computing device 2A-2C. According to an embodiment, the location data in the scheduling data 42A-42C may be communicated from the mobile computing devices 2A-2C to the server 70 in the form of a payload over a communication channel. According to an embodiment, the communication channel may comprise the exchange communication protocol developed by microsoft (microsoft corporation) of redmond, washington. As will be described in greater detail below with reference to fig. 4-5, the location data in the scheduling data 42A-42C may be used in conjunction with the data measured by the sensors 40A-40C to generate a map of the private space. It should be understood that the generation of a map as defined herein includes enhancing publicly available maps with private space information. According to embodiments, publicly available maps may be provided by an online web service such as the BINGMAPSSWeb mapping service from MICROSOFT CORPORATION of Redmond, Washington. It should be understood that public maps and mapping services from other providers may also be used in accordance with embodiments described herein. It should be understood that according to various embodiments, a "private space" may include, but is not limited to, various locations, including personal offices and meeting rooms (e.g., conference rooms and auditoriums) in one or more office buildings within a business enterprise site where the public (i.e., public mapping companies) cannot physically enter and/or know the names of the various locations contained within.
Client computing devices 6A-6B may include sensors 40D-40E and scheduling data 42D-42E, respectively, which may be similar to sensors 40A-40C and scheduling data 42A-42C in mobile computing devices 2A-2C (discussed above). According to various embodiments, client computing device 2 may comprise a desktop or workstation computer capable of executing one or more application programs. Client computing devices 6A-6B may also be used in conjunction with mobile computing devices 2A-2C as sensor input with respect to mapping private spaces in the same manner as mobile computing devices 2A-2C.
The server 70 may include a mapping and scheduling service application 72 and a map database 74. According to various embodiments, server 70 may provide a private mapping service and a private scheduling service for scheduling and mapping private locations associated with users of mobile computing devices 2A-2C and client computing devices 6A-6B. It should be understood that the private mapping service and the private scheduling service may comprise a single combined service, or alternatively two separate services. Thus, it should be appreciated that the server 70 may represent a service hosted on multiple servers or other complex computer systems. According to an embodiment, the mapping and scheduling service application 72 may be configured to generate a map of a private space using sensor data collected from the mobile sensors 40A-40 (and optionally the sensors 40D-40E) and the scheduling data 42A-42C (and optionally the scheduling data 42D-42E). Specifically, as will be described in greater detail below with reference to fig. 4-5, the mapping and scheduling service application 72 may be configured to gather sensor and location data from the mobile computing devices 2A-2C (and optionally computing devices 6A-6B) and run statistical analysis to assign location names (and electronic definitions thereof) with a higher than average level of certainty. Further, the mapping and scheduling service application 72 may be configured to "gather" the naming of the private space from the crowd with a large number of connected mobile devices by using statistics (i.e., information density at a given time and over a period of time) to determine the actual naming of the private space. According to an embodiment, the mapping and scheduling service application 72 may include a collaborative server application, such as the EXCHANGESERVER collaborative application from MICROSOFT (MICROSOFT CORPORATION) of Redmond, Washington. It should be understood that other collaborative server applications from other manufacturers may be used in accordance with embodiments described herein. The map database 74 may store maps 76, 78, and 80. The maps 76, 78, and 80 may represent digital maps of private spaces generated by the mapping and scheduling service application 72 using received sensor data collected from the mobile sensors 40A-40C (and optionally the sensors 40D-40E) and location data received from the scheduling data 42A-42C (and optionally the scheduling data 42D-42E). It should be understood that the maps 76, 78, and 80 may include publicly available maps (such as those provided by an online mapping service) that are "tagged" or enhanced with the private space sensor data and location data determined by the mapping and scheduling service application 72. Thus, as discussed above, "generating" a digital map of a private space may include augmenting or tagging a publicly available map with private space information (i.e., sensor and location data gleaned from mobile computing devices 2A-2C (and optionally computing devices 6A-6B)). It should also be understood that enhanced or tagged public maps may not be shared or disclosed with the online mapping service from which they are taken, thereby ensuring their privacy.
Fig. 2 is a block diagram illustrating components of a digital map 76 generated by the mapping and scheduling service application 72 for a private space using mobile computing device sensors, in accordance with various embodiments. The map 76 includes digitally signed sensor data 82 that may represent a private space. Sensor data 82 may include data collected from sensors 40A-40C in mobile computing devices 2A-2C associated with names of individual locations identified as location data 84, which location data 84 may in turn be collected from scheduling data 42A-42C. Location data 84 may include names of mapped private spaces and may be obtained from information contained in scheduling data 42A-42C (e.g., names of meeting rooms for scheduled meetings) or from aliases or other spoken languages of private spaces that may be utilized by users of mobile computing devices 2A-2C.
Exemplary operating Environment
With reference now to FIG. 3, the following discussion is intended to provide a brief, general description of a suitable computing environment in which the illustrative embodiments may be implemented. While the embodiments will be described in the general context of program modules that execute in conjunction with program modules that run on an operating system on a computing device, those skilled in the art will recognize that the embodiments may also be implemented in combination with other types of computing systems and program modules.
Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that embodiments may be practiced with a variety of computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
FIG. 3 illustrates a server 70 that may comprise a computer capable of executing one or more application programs. The server 70 includes at least one central processing unit 8 ("CPU"), a system memory 12, including a random access memory 18 ("RAM") and a read-only memory ("ROM") 20, and a system bus 10 that couples the memory to the CPU 8. A basic input/output system containing the basic routines that help to transfer information between elements within the computer, such as during startup, is stored in the ROM 20.
The server 70 may also include a mass storage device 14 for storing an operating system 32, a mapping and scheduling service application 72, and a map database 74 (including maps 76, 78, and 80). According to various embodiments, an operating system 32, such as the WINDOWS operating system from MICROSOFT CORPORATION of Redmond, Washington, may be suitable for controlling the operation of the networked computer. The mass storage device 14 is connected to the CPU8 through a mass storage controller (not shown) connected to the bus 10. The mass storage device 14 and its associated computer-readable media provide non-volatile storage for the server 70. The term computer readable media as used herein may include computer storage media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store information and which can be accessed by server 70. Any such computer storage media may be part of server 70.
The term computer readable media as used herein may also include communication media. Communication media may be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term "modulated data signal" may describe a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, Radio Frequency (RF), infrared and other wireless media.
According to various embodiments of the invention, the server 70 may operate in a networked environment using logical connections to remote computers through the network 4. The server 70 may be connected to the network 4 through a network interface unit 16 connected to the bus 10. It should be appreciated that the network interface unit 16 may also be utilized to connect to other types of networks and remote computing systems. The availability server 70 may also include an input/output controller 22 for receiving and processing input from a plurality of input types (not shown) including a keyboard, mouse, pen, stylus, finger, and/or other means, etc. Similarly, an input/output controller 22 may provide output to a display device 85 as well as a printer or other type of output device (not shown). It should be understood that the mobile computing devices 2A-2C and client computing devices 6A-6B shown in FIG. 1 may include many of the conventional components shown and discussed above with reference to the availability server 70. According to various embodiments, mobile computing devices 2A-2C may also include additional conventional components (not shown), such as a radio, a power source (e.g., a removable or non-removable battery), an array of various sensors, and a real-time clock.
FIG. 4 is a flow diagram illustrating a routine 400 for gathering sensor data for use in generating a map of a private space, in accordance with various embodiments. When reading the discussion of the routines presented herein, it should be appreciated that the logical operations of various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is selected depending on the performance requirements of the computing system implementing the invention. 4-5 and making up the embodiments described herein are referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims set forth herein.
The routine 400 begins at operation 405, where the mapping and scheduling application 72 (hereinafter "application 72") executing on the server 70 receives mobile device sensor data to determine a digital signature. In particular, application 72 may receive sensor data measured by sensors in one or more of mobile computing devices 2A-2C to determine a digital signature describing a private space. According to an embodiment, sensor data (as well as location data) may always be sent from mobile computing devices 2A-2C to server 70 while sensors 40A-40C are detecting sensor data. Alternatively, sensor data (and location data) may be sent only after application 72 prompts the user of mobile computing device 2A-2C. Alternatively, the sensor data (and location data) may be sent at appropriate intervals as determined by the application 72. Further, application 72 may also require a one-time consent from the user to send sensor data (and location data) from mobile computing devices 2A-2C to server 70 for all future interactions, prompt the user before each request to send sensor data (and location data), or require the user to trigger sending sensor data (and location data) to server 70. It should be understood that the collection of sensor data (and location data) by the application 72 may be determined based on privacy and legal considerations in different geographic locations. It should also be understood that, according to embodiments, the collection of sensor data and location data by the application 72 may be temporally limited to company work hours and further geographically limited to within a company venue.
From operation 405, the routine 400 continues to operation 410, where the application 72 determines whether the received sensor data is relevant to a known user. In particular, application 72 may determine whether the received sensor data corresponds to a user of one of mobile computing devices 2A, 2B, or 2C whose presence was identified by server 70. If the application 72 determines at operation 410 that the received sensor data can be correlated with a known user, the routine 400 continues to operation 415. If, however, the application 72 determines at operation 410 that the received sensor data cannot be correlated with a known user, the routine 400 branches to operation 430.
At operation 415, the application 72 determines whether the received sensor data can be correlated with user data. For example, application 72 may compare sensor data received from mobile computing device 2A with sensor data previously received from users of mobile computing devices 2B and 2C to determine whether all three devices have the same digital signature. The digital signature may be based on Wi-Fi access point signal strength, altimeter data, GPS data, mobile operator signal strength, etc., as determined by the sensors 40A-40C. If the application 72 determines at operation 415 that the received sensor data can be correlated with user data, the routine 400 continues to operation 420. If, however, the application 72 determines at operation 415 that the received sensor data cannot be correlated with user data, the routine 400 branches to operation 430.
At operation 420, the application 72 receives location data from scheduling data associated with the mobile computing device (from which the sensor data was received). For example, application 72 may receive scheduling data 42A from mobile computing device 2A for which a digital signature was previously determined based on sensor data 40A.
From operation 420, the routine 400 continues to operation 425, where the application 72 processes the sensor and scheduling data to generate a digital signature. In particular, the application 72 may construct a digital map of a private space (e.g., a conference room) described by a digital signature determined from the sensor data and named a location in the scheduling data. As discussed above with reference to fig. 1, the digital map may be stored in a map database, such as map database 74. The routine 400 then ends from operation 425.
At operation 430, the application 72 determines whether the received sensor data is relevant. For example, if sensor data is received from a user at 3:10 PM and application 72 may further determine from scheduling data associated with the same user that the user has a meeting in meeting room "J" from 3 PM to 4 PM, application 72 may determine that the sensor data is relevant to the location of meeting room J. If the application 72 determines at operation 430 that the received sensor data is relevant, the routine 400 returns to operation 425. If, however, the application 72 determines at operation 430 that the received sensor data is not relevant, the routine 400 continues to operation 435, where the received sensor data is discarded. The routine 400 then ends from operation 435.
Fig. 5 is a flow diagram illustrating a routine 500 for processing of sensor data and generation of a private spatial map, in accordance with various embodiments. The routine 500 begins at operation 505, where the application 72 executing on the server 70 determines whether the sensor data received from one or more of the mobile computing devices 2A-2C is entirely new data. In particular, the application 72 may be configured to determine whether the received sensor data (i.e., digital signature) matches a digital signature of a map stored in the map database 74. If the application 72 determines at operation 505 that the received sensor data is entirely new data, the routine 500 continues to operation 510. If, however, the application 72 determines at operation 505 that the received sensor data is not entirely new data, the routine 500 branches to operation 515.
At operation 510, the application 72, upon determining that the received sensor data is entirely new, creates and stores an entry in the map database 74 for the new sensor data. In particular, the application 72 may determine, from scheduling data associated with the mobile computing device (from which the new sensor data was received), a name of a location to be associated with the new sensor data. For example, if the new sensor data was collected from mobile computing device 2A at 3 pm and the scheduling data associated with mobile computing device 2A indicated that the user was in the "Stevens auditorium" in building "K" for the user's workplace, application 72 may create a new entry for the location (i.e., "Stevens auditorium") and store the received sensor data describing the location in building "K" with the location name "Stevens auditorium". The routine 500 then ends from operation 510.
At operation 515, the application 72, upon determining that the received sensor data is not entirely new data, may determine whether the received sensor data can be correlated with a current location at least partially associated with the received sensor data. For example, the received sensor data may include augmented GPS sensor data measured by a mobile computing device having an augmented GPS sensor for measuring relative forces acting on the device to determine altitude changes and movement within a building. Additionally, the received sensor data may also include data equivalent to sensor data measured by other mobile computing devices currently co-located with the mobile computing device with the augmented sensor. If the application 72 determines at operation 515 that the received sensor data can be correlated to the current location, the routine 500 continues to operation 520. If, however, the application 72 determines at operation 515 that the received sensor data cannot be correlated to the current location, the routine 500 branches to operation 525.
At operation 520, the application 72 augments the data regarding the current location upon determining that the received sensor data can be correlated with the current location. In particular, the application 72 may augment the current location and the stored sensor data set for the location with the augmented sensor data (e.g., augmented GPS sensor data) discussed above with respect to operation 515. It will be appreciated that, according to embodiments, a large number of sensor measurements can be used to reduce the error that may be associated with augmented sensor data (such as estimated GPS measurements) and thereby improve the accuracy of the true GPS position of a location and its altitude. Thus, over time, the clarity of a given location will be better and better. The routine 500 then ends from operation 520.
At operation 525, the application 72 determines whether the received sensor data matches another location upon determining that the sensor data cannot be correlated with the current location. In particular, the application 72 may be configured for "outlier" data detection where the received sensor data is determined to be irrelevant to the current location. For example, application 72 may determine that scheduling data 42A-42C for mobile computing devices 2A-2C indicates that users of these devices are scheduled to meet in meeting room "J" at 3:10 pm, but may also determine that sensor data for mobile computing device 2B indicates that the mobile computing device is at another location (such as the user's office) at the scheduled meeting time. Thus, the sensor data received from mobile computing device 2B is different from the sensor data received from mobile computing devices 2A and 2C and is not relevant to the digital definition of conference room "J". However, the sensor data received from mobile computing device 2B may be associated with another location stored in map database 74 (such as the user's office). If the application 72 determines at operation 505 that the received sensor data matches another location, the routine 525 continues to operation 530. If, however, the application 72 determines at operation 505 that the received sensor data does not match another location, then the routine 525 branches to operation 535.
At operation 530, the application 72, upon determining that the received sensor data matches another location, augments the data regarding the other location and may further request feedback from a user of the mobile computing device from which the sensor data was received. For example, application 72 may augment another location associated with the user of mobile computing device 2B described at operation 525 (above) and the stored sensor data set for the location with augmented sensor data corresponding to the office of the user. It should be appreciated that the application 72 may also be configured to validate the digital signature by actually querying the user for feedback to verify the information, according to an embodiment. For example, application 72 may send a message to query whether a user of mobile computing device 2B scheduled to be in conference room "J" at 3:10 pm according to scheduling data 42B is currently participating in a meeting in the conference room described above (despite receiving the opposite sensor data). The routine 500 then ends from operation 530.
At operation 535, the application 72 determines whether the received sensor data is relevant upon determining that the received sensor data does not match another location. In particular, the application 72 may determine that the received sensor data corresponds to a set of sensor data stored in the map database 74, but that location data (taken from user scheduling data) associated with the received sensor data is not stored in the map database 74. If the application 72 determines at operation 535 that the received sensor data is relevant, the routine 500 returns to operation 510. According to an embodiment, the received sensor data may be determined to be relevant if the location data comprises information relating to a meeting room or office associated with the business establishment. It will be appreciated that the above situation may occur when the space used by a company employee changes. For example, recently, a project may be made to remove conference room "J" (and other surrounding rooms) to create a new auditorium. Businesses 72 that have not been updated will not immediately know that the meeting room is no longer there, but will determine from the scheduling data over time that the area defined by the sensor data as meeting room "J" is now referred to as the "Newton auditorium". If the application 72 determines at operation 535 that the received sensor data is not relevant, the routine 500 continues to operation 540.
At operation 540, business 720 may discard the received sensor data upon determining that the received sensor data is not relevant. For example, the application 72 may determine that the received sensor data corresponds to a sensor data set in the map database 74 but that the user's scheduling data indicates that the user is on vacation or out of the office. This situation may occur, for example, when a user visits a colleague on his company's office, but only on a weekday. The routine 500 then ends from operation 540.
It should be appreciated that, according to another embodiment, the application 72 may be configured, in response to receiving augmented sensor (e.g., GPS) data regarding a private space, to proactively query a user of a mobile computing device providing the augmented sensor data and further mark the private space with a more accurate location to improve building navigation and the like. According to another embodiment, users of mobile computing devices 2A-2C and client computing devices 6A-6C may be able to delete sensor data and/or scheduling data gathered from these devices by application 72 to comply with legal and privacy requirements that may exist for the user's geographic region. According to another embodiment, the application 72 may be configured to delete entries from the map database 74 that have not been accessed, augmented, or otherwise updated after a predetermined period of time has elapsed.
While the invention has been described in connection with various exemplary embodiments, those of ordinary skill in the art will understand that many modifications can be made thereto within the scope of the claims that follow. Accordingly, it is not intended that the scope of the invention in any way be limited by the above description, but should be determined entirely by reference to the claims that follow.
Claims (8)
1. A computer-implemented method for generating a map (76, 78, 80) of a private space using mobile computing device sensors (40A, 40B, 40C), comprising:
receiving (405), by a computer (70), sensor data (40A) from at least one mobile computing device sensor to determine a digital signature (82) describing a private space;
receiving (420), by the computer (70), scheduling data (42A) gathered from the at least one mobile computing device (2A), the scheduling data (42A) describing a location (84) associated with the private space;
determining a correlation between the received sensor data and the scheduling data;
performing a statistical analysis based on the sensor data and the location to assign a location name to the private space having a higher than average level of certainty; and
generating (420), by the computer (70), a digital map (76) of the private space from the digital signature (82) and the location (84) associated with the private space.
2. The method of claim 1, further comprising:
determining that the received sensor data is relevant to at least one known user of the at least one mobile computing device.
3. The method of claim 1, further comprising:
determining that the received sensor data is not relevant to at least one known user of the at least one mobile computing device;
determining that the received sensor data is not relevant to the scheduling data; and
the received sensor data is discarded.
4. The method of claim 1, wherein generating, by the computer, a digital map of the private space from the digital signature and the location associated with the private space comprises augmenting a public map with the digital signature and the location associated with the private space.
5. The method of claim 1, wherein generating, by the computer, a digital map of the private space from the digital signature and the location associated with the private space comprises:
determining that the received sensor data includes sensor data not previously stored in a database;
creating a new entry in the database for the location associated with the private space; and
storing, in the database, the sensor data not previously stored in the database and a name associated with the new entry.
6. The method of claim 1, wherein generating, by the computer, a digital map of the private space from the digital signature and the location associated with the private space comprises:
determining that the received sensor data comprises a combination of sensor data not previously stored in a database and sensor data associated with the private space that has been previously stored in the database;
determining a correlation between previously non-stored sensor data in the database and the location associated with the private space; and
augmenting previously stored sensor data and the location associated with the private space with previously non-stored sensor data in the database to generate the digital map.
7. The method of claim 1, wherein generating, by the computer, a digital map of the private space from the digital signature and the location associated with the private space comprises:
determining that the received sensor data comprises a combination of sensor data not previously stored in a database and sensor data associated with the private space that has been previously stored in the database;
determining a correlation between previously unstored sensor data in the database and another location associated with another private space;
augmenting the location and sensor data associated with another location with previously non-stored sensor data in the database to generate the digital map;
sending a query to the at least one mobile computing device to confirm the digital signature in the digital map.
8. The method of claim 1, wherein generating, by the computer, a digital map of the private space from the digital signature and the location associated with the private space comprises:
determining that the received sensor data is not related to sensor data associated with the private space that has been previously stored in a database and another location associated with another private space; and
the received sensor data is discarded.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/978,098 US9823078B2 (en) | 2010-12-23 | 2010-12-23 | Generating maps of private spaces using mobile computing device sensors |
| US12/978,098 | 2010-12-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1171842A1 HK1171842A1 (en) | 2013-04-05 |
| HK1171842B true HK1171842B (en) | 2017-06-23 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11181382B2 (en) | Generating maps of private spaces using mobile computing device sensors | |
| US10830592B2 (en) | Indoor navigation path determination system | |
| CN101998629B (en) | Method, device and system for searching for virtual resources | |
| US9355387B1 (en) | System and method for event management and information sharing | |
| JP5162505B2 (en) | Environment interactive context-oriented device and method | |
| US10334402B2 (en) | Determination device through clustering analysis of position history data, method, and non-transitory computer readable storage medium | |
| US20140244329A1 (en) | Method and system for automated project management | |
| JP7357042B2 (en) | Method and apparatus for tracking, capturing, and synchronizing activity data across multiple devices | |
| CN106415305B (en) | The positioning error radius is determined | |
| CN106790131B (en) | Parameter modification method and device and distributed platform | |
| US8744410B2 (en) | Communication of position data via text message | |
| US11528249B2 (en) | Mapping network MAC addresses to physical locations | |
| JP5998182B2 (en) | POI data generation device, terminal device, POI data generation method and program | |
| KR20180092682A (en) | Smart work system and method the same | |
| HK1171842B (en) | Generating maps of private spaces using mobile computing device sensors | |
| US20230014584A1 (en) | Location-based dynamic grouping of iot devices | |
| KR100776821B1 (en) | Location information display method using local geographic code and its device | |
| US12541422B2 (en) | Data reconciliation for a multi-channel pipeline | |
| WO2018179364A1 (en) | Computer system and data flow control method |