SYSTEMS, DEVICES, AND METHODS FOR MANAGING CONTACT INSTANCES OF PERSONS OF INTEREST

Embodiments relate to systems and methods for managing contact instances. The method includes receiving a candidate contact instance. The candidate contact instance includes first and second information sets for first and second users, respectively. First information set includes a geolocation, timestamp, and first user identifier. Second information set include a geolocation, timestamp, and second user identifier. The method includes performing an exposure assessment process for the candidate contact instance, including deriving a non-contact score. Non-contact score represents a likelihood the first and second users were not physically exposed to one another during the candidate contact instance. Non-contact score is derived in one or more ways, including performing a layout analysis, map analysis, transportation analyses, and/or different levels analysis. The method includes selecting the candidate contact instance as a contact instance in which there is a risk of physical exposure when the non-contact score is below a threshold value.

TECHNICAL FIELD

The present disclosure relates generally to managing contact instances between users, and more specifically, to methods, systems, devices, and logic for managing potential physical exposure between users from among a plurality of contact instances between users.

BACKGROUND

Infectious and/or contagious diseases caused by viruses, bacteria, other infectious agents, contagions, radiation, etc. have become increasingly prevalent and widespread over the years. With more densely populated cities, ever-growing use of crowded public transportation, increasing popularity of shopping malls, sports stadiums/arenas and other public areas, and ease, availability, and affordability of international travel, the “spreading” of such infectious and/or contagious diseases throughout and across cities, states/provinces, countries, regions, and continents has also become increasingly difficult to control and/or stop.

BRIEF SUMMARY

One of the main approaches to controlling the spread of infectious and/or contagious diseases, such as the COVID-19 disease, is to perform contact tracing of persons of interest. Conventional approaches to performing contact tracing involve gathering as much information as possible from an infected person (e.g., a person who has tested positive for a virus (e.g., severe acute respiratory syndrome coronavirus 2, or SARS-CoV-2), bacteria, and/or disease, and who may have been contagious or capable of spreading such viruses, bacteria, and/or diseases to others prior to being identified as being infected). Responsible authorities will then “manually” trace back to each person the infected person has been in contact with and take action (e.g., notify the person, test the person to determine whether the person has been infected, quarantine the person if the person has tested positive, and/or require the person to be in isolation for a certain period of time (e.g., stay at home, stay at a facility, etc. for 14 days)). Responsible authorities will also “manually” trace back to each place/location the infected person has visited over a certain period of time (e.g., 14 days) to identify persons who were at the place/location at the same date/time as the infected person (or within a certain period of time thereafter, such as 1-3 days) and take action (as described above). While such a manual approach is widely used globally and is presently one of the most effective ways of performing contact tracing, such an approach is not without problems. For example, such an approach relies heavily on the infected person being able to accurately, correctly, and completely recollect (or remember or recall) where he/she has visited and who he/she has interacted with (i.e., potential physical exposure) over a certain time period (e.g., 14 days). In situations where the infected person does not remember (or chooses not to remember) some people or places/locations, infectious and/or contagious diseases can quickly spread throughout and across cities, states/provinces, countries, regions, and continents.

In an exemplary embodiment, a method of managing contact tracing information is described. The method includes receiving, by a processor, a candidate contact instance, the candidate contact instance including: a first candidate first user information set for a first user device of a first user, the first candidate first user information set including a geolocation of the first user device and a timestamp representing a time when the geolocation of the first user device was recorded; and a first candidate second user information set for a second user device of a second user, the first candidate second user information set including a geolocation of the second user device and a timestamp representing a time when the geolocation of the second user device was recorded. The method includes performing, by the processor, a physical exposure assessment process for the candidate contact instance, the physical exposure assessment process including: deriving a first non-contact score for the candidate contact instance, the first non-contact score for the candidate contact instance representing a likelihood that the first and second users were not physically exposed to one another during the candidate contact instance. The deriving of the first non-contact score includes performing a layout analysis for the candidate contact instance. The layout analysis for the candidate contact instance includes: searching for a first floor layout, the first floor layout being a floor layout for a geographical area covering the geolocation in the first candidate first user information set and the geolocation in the first candidate second user information set; identifying a first location on the first floor layout representing the geolocation in the first candidate first user information set; identifying a second location on the first floor layout representing the geolocation in the first candidate second user information set; analyzing a first area on the first floor layout, the first area on the first floor layout including at least an area between the first and second locations on the first floor layout, the analyzing of the first area on the first floor layout including determining a likelihood that a first physical barrier is represented in the first area on the first floor layout; and deriving a first physical barrier likelihood, the first physical barrier likelihood being a likelihood that the first physical barrier was present between the geolocation in the first candidate first user information set and the geolocation in the first candidate second user information set during the candidate contact instance, the first physical barrier likelihood derived based on the analyzing of the first area on the first floor layout. The deriving of the first-non-contact score may also include performing a first map analysis for the candidate contact instance. The first map analysis for the candidate contact instance includes: searching for a first map, the first map being a map for a geographical area covering the geolocation in the first candidate first user information set and the geolocation in the first candidate second user information set; identifying a first location on the first map representing the geolocation in the first candidate first user information set; identifying a second location on the first map representing the geolocation in the first candidate first second information set; analyzing a first area on the first map, the first area on the first map including at least an area between the first and second locations on the first map, the analyzing of the first area on the first map including determining a likelihood that a second physical barrier is represented in the first area on the first map; and deriving a second physical barrier likelihood, the second physical barrier likelihood being a likelihood that the second physical barrier was present between the geolocation in the first candidate first user information set and the geolocation in the first candidate second user information set during the candidate contact instance, the second physical barrier likelihood derived based on the analyzing of the first area on the first map. The first non-contact score for the candidate contact instance is derived based on at least the first physical barrier likelihood and/or the second physical barrier likelihood. The physical exposure assessment process also includes selecting the candidate contact instance as a contact instance in which there is a risk of physical exposure when the first non-contact score is below a threshold non-contact score.

The method includes identifying, by the processor, two consecutive first user information sets consecutively generated by the first user device, the two consecutive first user information sets including a first consecutive first user information set and a second consecutive first user information set, the first consecutive first user information set having a first geolocation and a first timestamp, the second consecutive first user information set having a second geolocation and a second timestamp. The method includes generating, by the processor, one or more first interpolated first user information sets, each first interpolated first user information set having a first interpolated timestamp and a first interpolated geolocation, each first interpolated timestamp being a timestamp selected between the first timestamp and the second timestamp, each first interpolated geolocation being a geolocation between the first geolocation and the second geolocation that has been interpolated based on at least the first interpolated timestamp. The method includes identifying, by the processor, two consecutive second user information sets that have been consecutively generated by the second user device, the two consecutive second user information sets including a first consecutive second user information set and a second consecutive second user information set, the first consecutive second user information set having a third geolocation and a third timestamp, the second consecutive second user information set having a fourth geolocation and a fourth timestamp. The method includes generating, by the processor, one or more first interpolated second user information sets, each first interpolated second user information set having a second interpolated timestamp and a second interpolated geolocation, each second interpolated timestamp being a timestamp selected between the third timestamp and the fourth timestamp, each second interpolated geolocation being a geolocation between the third geolocation and the fourth geolocation that has been interpolated based on at least the second interpolated timestamp. The first geolocation and the first timestamp of the first consecutive first user information set is generated by the first user device. The second geolocation and the second timestamp of the second consecutive first user information set is generated by the first user device. The third geolocation and the third timestamp of the first consecutive second user information set is generated by the second user device. The fourth geolocation and the fourth timestamp of the second consecutive second user information set is generated by the second user device. The first interpolated geolocation and the first interpolated timestamp of each first interpolated first user information set is generated by the processor and not the first user device. The second interpolated geolocation and the second interpolated timestamp of each first interpolated second user information set is generated by the processor and not the second user device. One or more of the following may apply: the first candidate first user information set is one of the first interpolated first user information sets generated by the processor; and/or the first candidate second user information set is one of the first interpolated second user information sets generated by the processor.

The physical exposure assessment process includes deriving an inaccuracy score for each of the one or more candidate contact instances, including a first inaccuracy score for the first candidate contact instance. The first inaccuracy score for the first candidate contact instance represents a likelihood that: the distance between the geolocation in the first candidate first user information set and the geolocation in the first candidate first other user information set is not less than the threshold distance value; and/or the amount of time between the timestamp in the first candidate first user information set and the timestamp in the first candidate first other user information set is not less than the threshold time value. The deriving of the first non-contact score includes an assessment of the first inaccuracy score.

The method includes selecting a lowest non-contact score for a first time period from among the non-contact scores derived for the one or more candidate contact instances, the lowest non-contact score having a highest likelihood of physical exposure between the first user and the first other user during the first time period. The method includes generating an overall contact likelihood for the first time period, the overall contact likelihood being an overall likelihood that the first user and the first other user were physically exposed to one another during the first time period, the overall contact likelihood generated based on the lowest non-contact score. When the lowest non-contact score is high, the overall contact likelihood is low. When the lowest non-contact score is low, the overall contact likelihood is high. The method may also include receiving a request to perform a contact trace for the first user, the first user being identified as a particular user of interest. Responsive to a determination that the overall contact likelihood is high, the method may include generating a first notification to the first other user, the first notification being a notification indicating the first other user has a high risk of having been physically exposed to the first user; and/or generating a second notification to the first user, the second notification being a notification indicating the first user has a high risk of having been physically exposed to the first other user; and/or generating a third notification to a trusted authority, the third notification being a notification indicating the first user and the first other user have a high risk of having been physically exposed to one another, the third notification including one or more information of the candidate contact instance used to derive the lowest non-contact score.

In another exemplary embodiment, a method of managing contact tracing information is described. The method includes receiving, by a processor, a candidate contact instance, the candidate contact instance including: a first candidate first user information set for a first user device of a first user, the first candidate first user information set including a geolocation of the first user device and a timestamp representing a time when the geolocation of the first user device was recorded; and a first candidate second user information set for a second user device of a second user, the first candidate second user information set including a geolocation of the second user device and a timestamp representing a time when the geolocation of the second user device was recorded. The method includes performing, by the processor, a physical exposure assessment process for the candidate contact instance. The physical exposure assessment process includes deriving a first non-contact score for the candidate contact instance, the first non-contact score for the candidate contact instance representing a likelihood that the first and second users were not physically exposed to one another during the candidate contact instance. The deriving of the first non-contact score includes performing a first transportation-based separation analysis for the candidate contact instance, the first transportation-based separation analysis for the candidate contact instance including searching for a first map, the first map being a map for a geographical area covering the geolocations of the first candidate first user information set and the first candidate second user information set; deriving a first transport area likelihood, the first transport area likelihood being a likelihood that the geolocation in the first candidate first user information set is within a first transport area on the first map, the first transport area being an area on the first map representing an area intended as a vehicle transportation area; deriving a second transport area likelihood, the second transport area likelihood being a likelihood that the geolocation in the first candidate second user information set is within a second transport area on the first map, the second transport area being an area on the first map representing an area intended as a vehicle transportation area; and deriving a vehicular separation likelihood, the vehicular separation likelihood being a likelihood that the first user and/or the second user were in a vehicle during the candidate contact instance, the vehicular separation likelihood derived based on the first transport area likelihood and the second transport area likelihood. The deriving of the first non-contact score includes performing a second transportation-based separation analysis for the candidate contact instance, the second transportation-based separation analysis for the candidate contact instance including: obtaining one or more previous first user information sets and/or one or more subsequent first user information sets, wherein a timestamp of each of the one or more previous first user information sets are timestamps that precede the timestamp of the first candidate first user information set, wherein a timestamp of each of the one or more subsequent first user information sets are timestamps that are after the timestamp of the first candidate first user information set; obtaining one or more previous second user information sets and/or one or more subsequent second user information sets, wherein a timestamp of each of the one or more previous second user information sets are timestamps that precede the timestamp of the first candidate second user information set, wherein a timestamp of each of the one or more subsequent second user information sets are timestamps that are after the timestamp of the first candidate second user information set; deriving a travel speed of the first user device based on the first candidate first user information set, the one or more previous first user information sets, and/or the one or more subsequent first user information sets; deriving a travel speed of the second user device based on the first candidate second user information set, the one or more previous second user information sets, and/or the one or more subsequent second user information sets; and deriving a first different transport mode likelihood, the first different transport mode likelihood being a likelihood that the first user and the second user were traveling via a different transport mode during the candidate contact instance, the first different transport mode likelihood derived based on a comparison of the derived travel speed of the first user device and the derived travel speed of the second user device. The deriving of the first non-contact score includes performing a third transportation-based separation analysis for the candidate contact instance, the third transportation-based separation analysis for the candidate contact instance including: obtaining the one or more previous first user information sets and/or the one or more subsequent first user information sets; obtaining the one or more previous second user information sets and/or the one or more subsequent second user information sets; deriving a travel direction of the first user device based on the first candidate first user information set, the one or more previous first user information sets, and/or the one or more subsequent first user information sets; deriving a travel direction of the second user device based on the first candidate second user information set, the one or more previous second user information sets, and/or the one or more subsequent second user information sets; and deriving a second different transport mode likelihood, the second different transport mode likelihood being a likelihood that the first user and the second user were traveling via a different transport mode during the candidate contact instance, the second different transport mode likelihood derived based on a comparison of the derived travel direction of the first user device and the derived travel direction of the second user device. The first non-contact score for the candidate contact instance is derived based on at least the vehicular separation likelihood, the first different transport mode likelihood, and/or the second different transport mode likelihood. The physical exposure assessment process includes selecting the candidate contact instance as a contact instance in which there is a risk of physical exposure when the first non-contact score is below a threshold non-contact score.

The method includes identifying, by the processor, two consecutive first user information sets consecutively generated by the first user device, the two consecutive first user information sets including a first consecutive first user information set and a second consecutive first user information set, the first consecutive first user information set having a first geolocation and a first timestamp, the second consecutive first user information set having a second geolocation and a second timestamp. The method includes generating, by the processor, one or more first interpolated first user information sets, each first interpolated first user information set having a first interpolated timestamp and a first interpolated geolocation, each first interpolated timestamp being a timestamp selected between the first timestamp and the second timestamp, each first interpolated geolocation being a geolocation between the first geolocation and the second geolocation that has been interpolated based on at least the first interpolated timestamp. The method includes identifying, by the processor, two consecutive second user information sets that have been consecutively generated by the second user device, the two consecutive second user information sets including a first consecutive second user information set and a second consecutive second user information set, the first consecutive second user information set having a third geolocation and a third timestamp, the second consecutive second user information set having a fourth geolocation and a fourth timestamp. The method includes generating, by the processor, one or more first interpolated second user information sets, each first interpolated second user information set having a second interpolated timestamp and a second interpolated geolocation, each second interpolated timestamp being a timestamp selected between the third timestamp and the fourth timestamp, each second interpolated geolocation being a geolocation between the third geolocation and the fourth geolocation that has been interpolated based on at least the second interpolated timestamp. The first geolocation and the first timestamp of the first consecutive first user information set is generated by the first user device. The second geolocation and the second timestamp of the second consecutive first user information set is generated by the first user device. The third geolocation and the third timestamp of the first consecutive second user information set is generated by the second user device. The fourth geolocation and the fourth timestamp of the second consecutive second user information set is generated by the second user device. The first interpolated geolocation and the first interpolated timestamp of each first interpolated first user information set is generated by the processor and not the first user device. The second interpolated geolocation and the second interpolated timestamp of each first interpolated second user information set is generated by the processor and not the second user device. One or more of the following may apply: the first candidate first user information set is one of the first interpolated first user information sets generated by the processor; and/or the first candidate second user information set is one of the first interpolated second user information sets generated by the processor.

In another exemplary embodiment, a method of managing contact tracing information is described. The method includes receiving, by a processor, a candidate contact instance, the candidate contact instance including: a first candidate first user information set for the first user, the first candidate first user information set including a geolocation and corresponding timestamp for the first user; and a first candidate second user information set for the second user, the first candidate second user information set including a geolocation and corresponding timestamp for the second user. The method includes performing, by the processor, a physical exposure assessment process for the candidate contact instance. The physical exposure assessment process includes deriving a first non-contact score for the candidate contact instance, the first non-contact score for the candidate contact instance representing a likelihood that the second user was not physically exposed to the first user during the candidate contact instance. The first non-contact score derived is based on: performing an analysis to determine whether the geolocation of the first candidate first user information set and the geolocation of the first candidate second user information set are in a multi-level building; and responsive to a determination that the geolocation of the first candidate first user information set and the geolocation of the first candidate second user information set are in a multi-level building: searching, in a floor layout database, for one or more floor layouts based on the geolocation of the first candidate first user information set and the geolocation of the first candidate second user information set; for each of the one or more floor layouts: identifying a first location on the floor layout representing the geolocation in the first candidate first user information set; identifying a second location on the floor layout representing the geolocation in the first candidate second user information set; identifying one or more other first locations on the floor layout based on one or more other first user information sets, the one or more other first locations including: one or more previous first locations on the floor layout, the one or more previous first locations representing one or more locations of the first user prior to the first location; and/or one or more subsequent first locations on the floor layout, the one or more subsequent first locations representing one or more locations of the first user subsequent to the first location; and identifying one or more other second locations on the floor layout based on one or more other second user information sets, the one or more other second locations including: one or more previous second locations on the floor layout, the one or more previous second locations representing one or more locations of the second user prior to the second location; and/or one or more subsequent second locations on the floor layout, the one or more subsequent second locations representing one or more locations of the second user subsequent to the second location; selecting, based on the identifying of the first location and the one or more other first locations, one or more first select floor layouts, each first select floor layout being a floor layout in which there is no physical barrier found, by the processor, in a travel path of the first user, the travel path of the first user determined based on the first location and the one or more other first locations; selecting, based on the identifying of the second location and the one or more other second locations, one or more second select floor layouts, each second select floor layout being a floor layout in which there is no physical barrier found, by the processor, in a travel path of the second user, the travel path of the second user determined based on the second location and the one or more other second locations; comparing the one or more first select floor layouts with the one or more second select floor layouts; and deriving a different level likelihood, the different level likelihood being a likelihood that the first user and the second user were on different levels of the multi-level building during the candidate contact instance, the different level likelihood derived based on the comparing of the one or more first select floor layouts with the one or more second select floor layouts. The first non-contact score for the candidate contact instance is determined based on the different level likelihood. The physical exposure assessment process includes identifying the second user as having a risk of being physically exposed to the first user when the first non-contact score is below a threshold non-contact score.

The method includes identifying, by the processor, two consecutive first user information sets consecutively generated by the first user device, the two consecutive first user information sets including a first consecutive first user information set and a second consecutive first user information set, the first consecutive first user information set having a first geolocation and a first timestamp, the second consecutive first user information set having a second geolocation and a second timestamp. The method includes generating, by the processor, one or more first interpolated first user information sets, each first interpolated first user information set having a first interpolated timestamp and a first interpolated geolocation, each first interpolated timestamp being a timestamp selected between the first timestamp and the second timestamp, each first interpolated geolocation being a geolocation between the first geolocation and the second geolocation that has been interpolated based on at least the first interpolated timestamp. The method includes identifying, by the processor, two consecutive second user information sets that have been consecutively generated by the second user device, the two consecutive second user information sets including a first consecutive second user information set and a second consecutive second user information set, the first consecutive second user information set having a third geolocation and a third timestamp, the second consecutive second user information set having a fourth geolocation and a fourth timestamp. The method includes generating, by the processor, one or more first interpolated second user information sets, each first interpolated second user information set having a second interpolated timestamp and a second interpolated geolocation, each second interpolated timestamp being a timestamp selected between the third timestamp and the fourth timestamp, each second interpolated geolocation being a geolocation between the third geolocation and the fourth geolocation that has been interpolated based on at least the second interpolated timestamp. The first geolocation and the first timestamp of the first consecutive first user information set is generated by the first user device. The second geolocation and the second timestamp of the second consecutive first user information set is generated by the first user device. The third geolocation and the third timestamp of the first consecutive second user information set is generated by the second user device. The fourth geolocation and the fourth timestamp of the second consecutive second user information set is generated by the second user device. The first interpolated geolocation and the first interpolated timestamp of each first interpolated first user information set is generated by the processor and not the first user device. The second interpolated geolocation and the second interpolated timestamp of each first interpolated second user information set is generated by the processor and not the second user device. One or more of the following may apply: the first candidate first user information set is one of the first interpolated first user information sets generated by the processor; and/or the first candidate second user information set is one of the first interpolated second user information sets generated by the processor.

In another exemplary embodiment, a method of managing contact tracing information is described. The method includes receiving, by a processor from a first mobile device of a first user, a plurality of first user information sets, each of the first user information sets including a geolocation of the first mobile device and a corresponding timestamp for the geolocation of the first mobile device. The method includes receiving, by the processor from a second mobile device of a second user, a plurality of second user information sets, each second user information set including a geolocation of the second mobile device and a corresponding timestamp for the geolocation of the second mobile device. The method includes performing, by the processor, a candidate contact process. The candidate contact process includes selecting a first candidate first user information set and a first candidate second user information set from among the plurality of first user information sets and the plurality of second user information sets, respectively, based on at least the following conditions: a distance between a geolocation in the first candidate first user information set and a geolocation in the first candidate second user information set is less than a threshold distance value; and an amount of time between a timestamp in the first candidate first user information set and a timestamp in the first candidate second user information set is less than a threshold time value. The candidate contact process includes generating a first candidate contact instance, the first candidate contact instance including the first candidate first user information set and the first candidate second user information set. The method includes performing, by the processor, a physical exposure assessment process for the first candidate contact instance, the physical exposure assessment process including: deriving a first non-contact score for the first candidate contact instance, the first non-contact score for the first candidate contact instance representing a likelihood that the second user was not physically exposed to the first user during the first candidate contact instance, the first non-contact score derived based on an assessment of whether or not a physical barrier was present between the geolocation in the first candidate first user information set and the geolocation in the first candidate second user information set during the first candidate contact instance; and selecting the first candidate contact instance as a contact instance in which there is a risk of physical exposure when the first non-contact score is below a threshold non-contact score.

In another exemplary embodiment, a method of managing contact tracing information is described. The method includes receiving, by a processor from a first mobile device of a first user, a plurality of first user information sets, each of the first user information sets including a geolocation of the first mobile device and a corresponding timestamp for the geolocation of the first mobile device. The method includes identifying, by the processor, two consecutive first user information sets from among the plurality of first user information sets, the two consecutive first user information sets consecutively generated by the first user device, the two consecutive first user information sets including a first consecutive first user information set and a second consecutive first user information set, the first consecutive first user information set having a first geolocation and a first timestamp, the second consecutive first user information set having a second geolocation and a second timestamp. The method includes generating, by the processor, a first interpolated first user information set, the first interpolated first user information set having an interpolated timestamp and an interpolated geolocation, the interpolated timestamp being a timestamp between the first timestamp and the second timestamp, the interpolated geolocation being a geolocation selected based on at least the first interpolated timestamp. The method includes receiving, by the processor from a second mobile device of a second user, a plurality of second user information sets, each of the second user information sets including a geolocation of the second mobile device and a corresponding timestamp for the geolocation of the second mobile device. The method includes performing, by the processor, a candidate contact process, the candidate contact process including: selecting the first interpolated first user information set and a first candidate second user information set from among the plurality of second user information sets when the following conditions are met: a distance between the interpolated geolocation in the first interpolated first user information set and a geolocation in the first candidate second user information set is less than a threshold distance value; and an amount of time between the interpolated timestamp in the first interpolated first user information set and a timestamp in the first candidate second user information set is less than a threshold time value; and generating a first candidate contact instance, the first candidate contact instance including the first interpolated first user information set and the first candidate second user information set.

In another exemplary embodiment, a method of managing contact tracing information is described. The method includes receiving, by a processor, a candidate contact instance, the candidate contact instance including: a first candidate first user information set for a first user device of a first user, the first candidate first user information set including a geolocation, a corresponding timestamp, and an anonymized first user identifier for the first user; and a first candidate second user information set for a second user device of a second user, the first candidate second user information set including a geolocation, a corresponding timestamp, and an anonymized second user identifier for the second user. The method includes performing, by the processor, a physical exposure assessment process for the candidate contact instance, the physical exposure assessment process including: deriving a first non-contact score for the candidate contact instance, the first non-contact score for the candidate contact instance representing a likelihood that the second user was not physically exposed to the first user during the candidate contact instance. The first non-contact score is derived based at least a layout analysis for the candidate contact instance. The layout analysis for the candidate contact instance includes: searching for a first floor layout, the searching based on the geolocations of the first candidate first user information set and the first candidate second user information set; locating, on the first floor layout, the geolocations of the first candidate first user information set and the first candidate second user information set; and deriving, based on the locating of the geolocations of the first candidate first user information set and the first candidate second user information set on the first floor layout, a first likelihood, wherein the first likelihood is a likelihood of a presence of a physical barrier between the geolocations of the first candidate first user information set and the first candidate second user information set. The first non-contact score for the candidate contact instance is determined based on at least the first likelihood. The physical exposure assessment process includes selecting the candidate contact instance as a contact instance in which there is a risk of physical exposure when the first non-contact score is below a threshold non-contact score.

Although similar reference numbers may be used to refer to similar elements in the figures for convenience, it can be appreciated that each of the various example embodiments may be considered to be distinct variations.

Example embodiments will now be described with reference to the accompanying figures, which form a part of the present disclosure and which illustrate example embodiments which may be practiced. As used in the present disclosure and the appended claims, the terms “embodiment,” “example embodiment,” “exemplary embodiment,” and “present embodiment” do not necessarily refer to a single embodiment, although they may, and various example embodiments may be readily combined and/or interchanged without departing from the scope or spirit of example embodiments. Furthermore, the terminology as used in the present disclosure and the appended claims is for the purpose of describing example embodiments only and is not intended to be limitations. In this respect, as used in the present disclosure and the appended claims, the term “in” may include “in” and “on,” and the terms “a,” “an,” and “the” may include singular and plural references. Furthermore, as used in the present disclosure and the appended claims, the term “by” may also mean “from,” depending on the context. Furthermore, as used in the present disclosure and the appended claims, the term “if” may also mean “when” or “upon,” depending on the context. Furthermore, as used in the present disclosure and appended claims, the words “and/or” may refer to and encompass any or all possible combinations of one or more of the associated listed items.

DETAILED DESCRIPTION

Presently, “manual” contact tracing efforts appear to be the most effective ways of controlling the spread of infectious and/or contagious diseases (e.g., the COVID-19 disease caused by the severe acute respiratory syndrome coronavirus 2, or SARS-CoV-2). Such conventional approaches to contact tracing involve having the infected person or person of interest (e.g., a person who has tested positive for a virus, bacteria, and/or disease, and who may have been contagious or capable of spreading such viruses, bacteria, and/or diseases to others prior to being identified as being infected; also referred to as particular user) recollect as much information as possible about who the infected person has been in contact with and where the infected person has visited over a certain period of time (e.g., last 14 days). Responsible authorities will then “manually” trace back to each person the infected person has been in contact with and take one or more actions (e.g., contact the person, test the person to determine whether the person has been infected, quarantine the person if the person has tested positive (and perform the same “manual” contact tracing on this newly identified infected person), and/or require the person to be in isolation for a period of time if the person has tested negative). Responsible authorities will also “manually” trace back to each place/location the infected person has visited over a period of time (e.g., 14 days) to identify persons who were or may have been at the place/location at the same date/time (based on recollections from the infected person) as the infected person (or within a period of time thereafter, such as 1-3 days) and take action (as described above). While such a manual approach is widely used globally and is presently one of the most effective ways of performing contact tracing, such an approach is not without problems. For example, such an approach relies heavily on the infected person being able to accurately and correctly recollect (or remember or recall) where he/she has visited, who he/she has interacted with (i.e., potential physical exposure), and date/time of each visit and interaction over a certain period of time (e.g., last 14 days). In situations where the infected person does not remember, inaccurately remembers (e.g., wrong date/time, etc.), and/or incorrectly remembers (e.g., wrong person(s), wrong place(s)/location(s), etc.) even a single person, place/location, and/or date/time, infectious and/or contagious diseases can quickly and devastatingly spread throughout and across cities, states/provinces, countries, regions, and continents.

Present example embodiments relate generally to and/or include systems, subsystems, processors, devices, logic, methods, and processes for addressing conventional problems, including those described above and in the present disclosure, and more specifically, example embodiments relate to systems, subsystems, processors, devices, logic, methods, and processes for managing contact instances between users and/or contact tracing information, including, but not limited to, processing of geolocation and date/time stamps of users, processing of user information sets, processing of location information sets, processing of candidate contact instances for or between users, processing of false positive likelihoods for candidate contact instances, processing of physical exposure likelihoods for candidate contact instances, and processing of notifications, warnings, and/or alerts to users and/or trusted authorities.

As described in the present disclosure, an example embodiment of candidate contact instances may be generated in a plurality of ways. For example, a first user device for a first user (having Bluetooth enabled, or the like) may perform a “handshake” (e.g., exchange unique identifiers and/or other information) with a second user device of a second user (also having Bluetooth enabled, or the like) when the user devices are within a certain distance from each other (i.e., within range for Bluetooth communications, or the like). In performing such a handshake, the first device may be configurable or configured to store information pertaining to the second user (i.e., second device), and the second device may be configurable or configured to store information pertaining to the first user (i.e., first device). Such handshake may also include having each device store a timestamp. In an example embodiment, the first device may be configurable or configured to store a current geolocation (geolocation of itself; e.g., via GPS and/or other geolocation information from cellular network, etc.), and the second device may also be configurable or configured to store a current geolocation (geolocation of itself; e.g., via GPS and/or other geolocation information from cellular network, etc.). The first device may also be configurable or configured to store a current geolocation of the second device as well (if provided by the second device; otherwise, the geolocation of itself can be used as an approximate geolocation of the second device; alternatively or in addition, the first device may approximate a geolocation and/or distance between the first device and the second device based on the Bluetooth signal strength, etc.), and the second device may also be configurable or configured to store a current geolocation of the first device as well. With such stored information, the first device then generates a candidate contact instance, which includes a first user information set (including an identity of the first user, a geolocation of the first user, and a timestamp for the geolocation of the first user) and a second user information set (including an identity of the second user, a geolocation of the second user, and a timestamp for the geolocation of the second user).

Alternatively or in addition, candidate contact instances may be generated without the need for a “handshake”. As described in the present disclosure, user information sets (which include an identity of the user, a geolocation of the user, and a timestamp for the geolocation of the user) may be generated for each user (i.e., by each user device) without the need to wait for or confirm a “handshake” or positive indication that the user devices are within a certain distance or proximity of one another. In this regard, example embodiments may enable user devices to generate their own user information sets based on their own geolocations (e.g., via GPS information received by the user device) on a continuous basis, periodic basis (e.g., every 1 second, every 2 seconds, every 3 seconds, etc.), and/or occurrence of an event (e.g., a movement by the user, as identified by via GPS, an accelerometer in the user device, wake of the user device, etc.). In this regard, user information sets can be generated independently by each user device. User information sets generated by each user device are then provided to one or more processors (e.g., processor200described in the present disclosure) for further processing, which includes performing an analysis of received user information sets from a plurality of users (i.e., from user devices) and generating candidate contact instances based on such analysis (i.e., without the need for a “handshake”).

It is recognized in the present disclosure, however, that comparing and matching of user geolocations (from received user information sets) to form candidate contact instances may result in “false positives” (e.g., situations where two users are identified to be within a close proximity of each other (i.e., a distance between the geolocations of the user devices in the user information sets is within a certain threshold) but such users are in fact not physically exposed to one another (or not full physical exposure to one another; or reduced physical exposure to one another; etc.)). Examples of false positives include, but are not limited to, users being separated by a wall; users being separated by a window; users being separated by a vehicle door (e.g., first user is in a car and second user is on a sidewalk; first user is in a car, second user is in different car, and both cars are stuck in traffic; etc.); users being separated by another user; users not separated by anything but the first user is traveling much faster than the second user (e.g., first user is riding a bike and the second user is walking on a sidewalk; first user is jogging and the second user is sitting on a park bench; etc.; such situation results in a very short period of time of physical exposure, which is recognized in the present disclosure to have a lower likelihood of physical exposure); users not separated by anything but the first user is traveling in a different direction than the second user (which is recognized in the present disclosure to have a lower likelihood of physical exposure); users separated by a floor (e.g. first user is on level/floor 1F and second user is on level/floor 2F), etc. As described in the present disclosure, an example embodiment of the processor (e.g., processor200) is configurable or configured to, among other things, generate candidate contact instances and derive possible risks/likelihoods of physical exposure between users for one or more such situations.

It is to be understood that, while example embodiments are mostly described in the present disclosure as pertaining to contact tracing (which includes, among other things, generating information sets, candidate contact instances, inaccuracy scores, non-contact scores, and risks/likelihoods of physical exposure) for infectious and/or contagious diseases, the principles described in the present disclosure may also be applied outside of the context of contact tracing for infectious and/or contagious diseases, such as in performing tracing of persons exposed to radiation, tracing of persons who may have witnessed or been a party or victim to an event (e.g., a crime against a particular person or at a particular location, a vehicle hit-and-run on a particular person or at a particular location, a lost child, vandalism, robbery, etc.), etc., without departing from the teachings of the present disclosure.

It is also to be understood in the present disclosure that one or more elements and/or aspects of example embodiments may include and/or implement, in part or in whole, solely and/or in cooperation with other elements, using, for example, networking technologies, cloud computing, distributed ledger technology (DLT) (e.g., blockchain), artificial intelligence (AI), machine learning, deep learning, etc. For example, in one or more of the processing described in the present disclosure including, but not limited to, the layout analysis, the map analysis, the first transportation-based analysis, the second transportation-based analysis, the third transportation-based analysis, and the different levels analysis, the processor200(as described in the present disclosure) may include and/or cooperate with one or more forms of artificial intelligence (AI) (e.g., machine learning or deep learning via convolution neural networks for image recognition, recurrent neural networks such as long short-term memory networks (LSTM) for speech recognition, etc.) to analyze shapes, figures, images, characters, video, and/or audio in floor layouts, maps, photos, videos, etc. (each as applicable). As a more specific example, the processor200may include and/or cooperate with one or more convolution neural networks, or the like, that are trained (via floor layouts and/or maps) and applied to identify physical barriers (“physical barriers” are described in the present disclosure, which may include walls, partitions, windows, vehicle doors, etc.), or the like, from lines, shapes, symbols, markings, figures, characters, or the like, found in floor layouts and/or maps. The processor200and/or one or more forms of artificial intelligence (AI) may then derive likelihoods that such lines, shapes, symbols, markings, figures, and/or characters represent and/or refer to physical barriers, or the like. As another example, the processor200may include and/or cooperate with one or more convolution neural networks, or the like, that are trained (via floor layouts and/or maps) and applied to identify regions intended for transportation (e.g., roads, highways, railroad tracks, subway tracks, canals/rivers, etc.), or the like, from lines, shapes, symbols, markings, figures, characters, or the like, found in maps and/or floor layouts.

As used in the present disclosure, the terms “contact”, “contact instance”, “first contact instance”, “second contact instance”, “candidate contact instance”, “candidate first user contact instance”, “candidate second user contact instance”, “first candidate first user contact instance”, “first candidate second user contact instance”, “second candidate first user contact instance”, “second candidate second user contact instance”, “selected contact instance”, or the like, refer to an instance (and/or occurrence, situation, occasion, interaction, event, gathering, meeting, pass by, etc.) in which there is a likelihood (and/or risk, potential, possibility, probability, chance, etc.) that two or more users (and/or two or more user devices, a first user and device of a second user, etc.) were in contact with and/or within a certain distance of each other at a particular time (and which may include within a particular duration of time), as described in the present disclosure. Furthermore, as used in the present disclosure, the terms “geolocation”, “geolocation information”, “location”, “location information”, “GPS location”, or the like, when used in reference to a user and/or a device of a user, refers to location-related information for the user and/or user device, and may include, but is not limited to, information that may be used to identify a location of the user and/or user device; GPS information and/or coordinates; other forms or types of coordinates; a position or location on a map; a position or location on a floor plan; a distance and/or direction (e.g., a vector) from and/or relative to a known and/or reference GPS location and/or set of coordinates; a distance and/or direction from a known and/or reference landmark; a triangulated location (e.g., as triangulated by 2 or more signal sources, such as WiFi devices, cellular towers, user mobile devices, and/or any other signal sources); a location approximated by a signal (e.g., Bluetooth signal, NFC signal, WiFi signal, cellular signal, etc.); interpolated location and/or geolocation (e.g., based on two other geolocations); etc.

Example embodiments will now be described below with reference to the accompanying figures, which form a part of the present disclosure.

Example Embodiments of a System for Managing Contact Instances and/or Contact Tracing Information (e.g., System100).

FIG.1illustrates an example embodiment of a system (e.g., system100) for managing contact instances, contact tracing information, or the like. The system100includes one or more elements. For example, the system100includes one or more processors (e.g., processor200). The system100may also include and/or communicate with one or more networks, communication channels, or the like (e.g., communication channels20), which are used to enable communication between elements of the system100. The system100may also include and/or communicate with one or more databases, distributed ledgers, or the like (e.g., database30) to store, search, and/or retrieve information.

The system100is configurable or configured to communicate with one or more users10, user devices10, and/or other devices10. As used in the present disclosure, references to a user10may also include a device of the user10(or user device10), and vice versa. User devices10may include, but are not limited to, mobile phones, tablets, wearable devices (e.g., smart watches, smart glasses, smart earphones and headphones, smart speakers, etc.), etc. User devices10are configurable or configured to generate user information sets (e.g., see user information set15inFIG.1B; as described in the present disclosure), and in some embodiments, generate candidate contact instances (e.g., see candidate contact instance16inFIG.1D; as described in the present disclosure). Other devices10are configurable or configured to generate particular location information sets (e.g., see particular location information set15′ inFIG.1C; as described in the present disclosure). Examples of other devices10include, but are not limited to, devices fixable or installable at particular locations11′ (e.g., a contaminated location or site, etc.) such as WiFi devices, Bluetooth devices, IoT devices, and/or any device capable of sending and/or receiving signals and/or data via the network20. As used in the present disclosure, a user10who has been confirmed (e.g., by a medical practitioner, medical facility, governmental entity, etc.) as having a contagious and/or infectious disease will be referred to as “particular user”10, “person of interest”10, or the like. Furthermore, a user10who may appear to be a particular user10(e.g., shows certain symptoms, etc.) and/or has been physically exposed to a particular user10(and/or has not yet been identified or confirmed as being a particular user10) may be referred to herein as a “potential particular user”10, or the like.

The system100is also configurable or configured to communicate with one or more administrators40and/or trusted authorities40(e.g., a government entity such as a Ministry of Health, or the like). For example, communications from an administrator/trusted authority40to the processor200may include providing the processor200with identification13, identifier13, unique identifier13, etc. of one or more particular users10(e.g., a person identified by medical practitioner, medical facility, Ministry of Health, or the like, after testing positive for an infectious or contagious disease; as described in the present disclosure); instructing the processor200to generate, based on such information13, candidate contact instances16; instructing the processor200to identify one or more other users (e.g., second users10) who may have a risk/likelihood of physical exposure to the particular user10based on one or more user information sets15for the particular user10, one or more user information sets15for the other user(s) (e.g., second users10), one or more candidate contact instances16, and one or more analyses described in the present disclosure (e.g., layout analysis, map analysis, first transportation-based analysis, second transportation-based analysis, third transportation-based analysis, different levels analysis, etc.); sending notifications, alerts, and/or additional information pertaining to physical exposures (physically exposed to particular users10and/or particular locations11′) to administrators40, trusted authorities40, public bulletins or sites, particular users10, users (e.g., second user10) who may have been physically exposed to particular users10and/or particular locations11′, and/or devices fixed or installed at particular locations11′; identifying particular locations11′; etc. Although the figures may illustrate the system100as having one processor200, it is to be understood that the system100may include more than one processor200without departing from the teachings of the present disclosure. Each processor200is configurable or configured to connect to, communicate with, and/or receive information from one or more users10, one or more user devices10, one or more communication channels20, one or more databases30, and/or one or more other processors200.

As used in the present disclosure, when applicable, a reference to a system (e.g., system100) or processor (e.g., processor200) may also refer to, apply to, and/or include one or more computing devices, processors, servers, systems, cloud-based computing, or the like, and/or functionality of one or more processors, computing devices, servers, systems, cloud-based computing, or the like. The system100and/or processor200(and/or its elements, as described in the present disclosure) may be any processor, server, system, device, computing device, controller, microprocessor, microcontroller, microchip, semiconductor device, or the like, configurable or configured to perform, among other things, a processing and/or managing of information, searching for information, identifying of information, data communications, and/or any one or more other actions described above and in the present disclosure. Alternatively or in addition, the system100and/or processor200(and/or its elements, as described in the present disclosure) may include and/or be a part of a virtual machine, processor, computer, node, instance, host, or machine, including those in a networked computing environment. As used in the present disclosure, a communication channel20, network20, cloud20, or the like, may be or include a collection of devices and/or virtual machines connected by communication channels that facilitate communications between devices and allow for devices to share resources. Such resources may encompass any types of resources for running instances including hardware (such as servers, clients, mainframe computers, networks, network storage, data sources, memory, central processing unit time, scientific instruments, and other computing devices), as well as software, software licenses, available network services, and other non-hardware resources, or a combination thereof. A communication channel20, network20, cloud20, or the like, may include, but is not limited to, the internet, intranets, WiFi systems, GPS systems, location systems, location-based service systems, computing grid systems, peer to peer systems, mesh-type systems, distributed computing environments, cloud computing environment, telephony systems, voice over IP (VoIP) systems, etc. Such communication channels20, networks20, clouds20, or the like, may include hardware and software infrastructures configured to form a virtual organization comprised of multiple resources which may be in geographically disperse locations. Communication channel20, network20, cloud20, or the like, may also refer to a communication medium between processes on the same device. Also as referred to herein, a network element, node, or server may be a device deployed to execute a program operating as a socket listener and may include software instances.

These and other elements of the system100will now be described with reference to the accompanying figures.

The Processor (e.g., Processor200).

As illustrated inFIG.1, the system100includes one or more processors (e.g., processor200). The processor200is configurable or configured to manage and/or process, among other things, contact instance information, contact tracing information, or the like. For example, the processor200is configurable or configured to determine risks and/or likelihoods of physical exposure between users10(and/or between a user10and a particular location11′) based on, among other things, geolocation information, temporal information, potential or candidate contact instances, confirmed or selected contact instances, and/or other information communicated by and/or for one or more elements of the system100.

As described in the present disclosure, an example embodiment of the processor200is configurable or configured to receive at least geolocation and temporal information sets15, pairs15, packages15, bundles15, groups15, payloads15, or the like (e.g., each referred to herein as an “information set”15, or the like) from a plurality of users10, user devices10, and/or other devices10. Each user device10may be configurable or configured to generate such information sets15(e.g., continuously, periodically (e.g., every 2 seconds), intermittently, upon the occurrence of an event, etc.) and transmit such information sets15to the processor200(e.g., continuously, periodically (e.g., every 2 seconds), intermittently, upon the occurrence of an event, etc.). As illustrated inFIG.1B, each information set15received from each user device10includes at least a geolocation11of the user10(and/or geolocation11of the user device10) and a corresponding date and/or time stamp12(referred to herein as a “time stamp”12, “timestamp”12, or the like) for the geolocation of the user10and/or user device10. Each information set15also includes identification13, identity13, and/or unique identifier13(referred to herein as a “unique identifier”13, or the like) of the user10and/or user device10. Such unique identifier13of the user10and/or user device10may include, but is not limited to, one or more of the following anonymized and/or non-anonymized information of and/or for the user10and/or user device10: legal name13, user ID13, user login name13, government-issued identification number13of the user10(e.g., national identification number13, citizenship number13, driver license number13, passport number13, etc.), mobile phone number13for the user device10, email address13of the user10, user personal information13, user address13, user employment information13, user family information13, user marital status13, unique series of alphanumeric characters13assigned to the user10, a combination of one or more of the aforementioned information, a hash of one or more of the aforementioned information (e.g., via SHA-256, SH-3, or the like), etc.

As illustrated inFIG.1C, information sets15′ may also be generated for particular locations11′ (e.g., address, building name, landmark, business name, particular airplane, particular train or train car, particular bus, boat, taxi, or other vehicles, set of geolocations, etc.), and not just users10. For example, in situations where a particular location11′ is identified as having been contaminated by viruses, bacteria, other infectious agents or contagions, radiation, etc. and/or visited by one or more particular users10, example embodiments of the processor200are configurable or configured to receive and/or generate one or more information set15′ for such particular location11′ (also referred to herein as a “particular location information set”15′) and perform contact tracing of users10who have visited the particular location11′ during a particular date/time range12′ (e.g., within 14 days before and/or after the particular location11′ is known to be contaminated) (referred to herein as “location-based contact tracing”). It is to be understood in the present disclosure that particular location information sets15′ may also be generated for any location. Referring toFIG.1C, the particular location information set15′ for the particular location11′ may include location-related information including, but not limited to, an address11′, a building name11′, a landmark name11′, a business name11′, a particular room11′ or floor/level11′, a section11′ of a building or property/compound, a set of geolocation(s)11′, etc., which may be used in example embodiments to perform contact tracing for any users10who have visited the particular location11′ within a particular date/time range. The particular location information set15′ for the particular location11′ may also include temporal information, including an associated timestamp12′ (e.g., starting date) and/or date/time range12′ (e.g., range of dates/times starting on a date/time when the one or more particular users10visited the particular location11′ until a date/time when the particular location11′ was closed, cleaned, disinfected, etc. (or no end date/time if still ongoing)). The particular location information set15′ for the particular location11′ may also include unique identifier(s)13′ (anonymized and/or non-anonymized) of one or more of the particular users10who have visited the particular location11′ during a relevant date/time range or specific dates/times. It is recognized in the present disclosure that such unique identifier information13for users10may be further used by example embodiments of the processor200to perform contact tracing based on geolocation and temporal information of such users10. For example, based on the particular location information set15′, the processor200is able to compare the particular location information11′ and temporal information12′ of the particular location information set15′ with geolocation11and temporal information12of user information sets15of a plurality of users10to identify those users10who may have a risk of being physically exposed to a virus, bacteria, infectious agent, contagion, radiation, etc. (or potential particular users10). As a second step, each such particular location information set15′ may be amended or supplemented to include a unique identifier13of such potential particular users10. In addition to or alternatively, the processor200may perform contact tracing using the geolocation11and temporal information12of such potential particular users10to identify other potential particular users10who may have a risk of being physically exposed to the potential particular users10(e.g., after the potential particular users10visited the particular location11′). And if such other potential particular users10are identified by the processor200as having a risk of being physically exposed to the potential particular users10, the processor200may perform contact tracing using the geolocation and temporal information121of such other potential particular users10to identify other further potential particular users10who may have a risk of being physically exposed to such other potential particular users10. And so on. Furthermore, for each potential particular users10(including the potential particular users10, the other potential particular users10, the other further potential particular users10, and so on), the processor200may perform location-based contact tracing to identify particular locations (e.g., address, building name, landmark, business name, set of geolocations, etc.) where such potential particular users10have visited (e.g., based on the geolocation and temporal information of such users10) and perform contact tracing based on such identified particular locations and the date/time of visit of the potential particular users10. And so on. In an example embodiment, the particular location information sets15′ may be generated by the processor200, an administrator40, and/or a trusted authority40. In some example embodiments, the particular location information sets15′ may also be generated by users10and submitted to the processor200, administrator40, and/or trusted authority40for checking, verification, confirmation, and/or approval.

In example embodiments, the processor200may be configurable or configured to receive, from a user10(or a particular user10or an administrator40or a trusted authority40), a special information set15that has been selectively generated by the user10(or the particular user10or the administrator40or the trusted authority40, respectively) (referred to herein as a “special information set”15). Similar to a normal information set15, a special information set15also includes a geolocation11of the user10and a timestamp12of the geolocation of the user10. However, the processor200may distinguish between a special information set15and a normal information set15in one or more ways. For example, each special information set15may include one or more of the following aspects used to indicate that the information set15is a special information set15: a particular value in a status field (e.g., a “00”, or the like, indicates a normal information set15; a “01”, or the like, indicates a special information set15sent from a user10; a “10”, or the like, indicates a special information set15sent from a particular user10; a “11”, or the like, indicates a special information set15sent from an administrator40, trusted authority40, or others); a special character or series of characters; a mark or tag; etc. The user10may generate a special information set15by performing a dedicated action or sequence of actions, such as: pressing a dedicated button, link, or the like on a mobile application on the user device10(or any other action or actions, such as a swipe, long press, multi-touch, gesture, voice command, facial expression, etc.); pressing a dedicated emergency button on the lock screen of the user device10; etc. Special information sets15may be generated so as to request or instruct the processor200to perform a real-time, near real-time, on-demand, prioritized, immediate, and/or out-of-turn/skip-the-line processing of a risk or likelihood that the user10(based on the geolocation11and/or timestamp12in the special information set15) is physically exposed and/or being physically exposed to a particular user10, potential particular user10, particular location11′, and/or potential particular location11′. For example, in a situation where the user10(e.g., a second user10) is in a busy restaurant and the second user10notices one or more other users10nearby (e.g., a first user10) who appears to be a potential particular user10or a particular user10(e.g., sneezing, coughing, and/or other noticeable symptoms; and/or wearing a wristband, etc. indicative of someone who may have tested positive for an infectious/contagious disease and/or someone currently under a restrictive movement order such as a stay-at-home order, quarantine order, isolation order, etc.), the second user10may selectively generate such special information set15so as to notify the processor200that this particular geolocation11and timestamp12(i.e., in the special information set15) should be processed right away or as soon as possible (and/or marked/tagged as a potential particular location11′). Upon receiving the special information set15, the processor200is configurable or configured to perform one or more of the actions described in the present disclosure. For example, the processor200may perform searches for recently received information sets15of other users10nearby (e.g., other users10within a certain radius or distance of the geolocation of the second user10, other users10in the restaurant, etc.; referred to as “nearby users”10). For such recently received information sets15, the processor200may perform one or more actions described in the present disclosure (e.g., generate candidate contact instances, generate inaccuracy score, generate non-contact score, derive risks/likelihoods, etc.) and/or one or more of the following: mark/tag all such nearby users10(and/or mark/tag information sets15recently and/or being received by such nearby users10) in the area (or within a certain radius or distance, in the restaurant, etc.) as being potentially exposed to a potential particular location11′ (e.g., amending information sets15from nearby users10to be a special information set15, or the like); determine whether any such nearby users10have already been identified as particular users10(and/or someone who may be under a restrictive movement order such as a stay-at-home order); perform processing to identify another set of other users10who have previously been in contact with such nearby users10(e.g., generate candidate contact instances16, perform one or more of the analyses described in the present disclosure, etc.) to see if such set of other users10have been identified as particular users10(and/or someone who may be under a restrictive movement order such as a stay-at-home order); and so on. In performing such searches and processing, the processor200may identify the second user10and/or other nearby users10in the area as either being particular users10and/or potential particular users10(based on whether such nearby users10have been in contact with particular users10, whether such nearby users10have been in contact with other users10who have been in contact with particular users10, whether such nearby users10have been in contact with other users10who have been in contact with other users10who have been in contact with particular users10, and so on). It is recognized in the present disclosure that enabling users10to perform such proactive, real-time, and/or on-demand requesting, alerting, and/or checking via special information sets15may enable, allow for, and/or assist in real-time and/or near real-time contact tracing (and/or preventive measures to alert users10to move away from nearby users10and/or the location). Such a feature may also identify users10of interest who have been given self-quarantine orders, stay at home orders, other restrictive movement orders, etc. In situations where the processor200has identified a particular user10, users10of interest, and/or potential particular users10pursuant to the second user10selectively generating special information sets15, one or more actions may be taken. For example, an emergency or urgent notification may be sent to an administrator40, trusted authority40, law enforcement authorities40, health authorities40, and/or others (e.g., the second user10, nearby users10, the restaurant, etc.). In the case of administrators40and/or trusted authorities40receiving such notifications, one or more actions may be taken (e.g., dispatch law enforcement and/or health authorities to quarantine, shut down, monitor, etc. the particular location11′ and/or users10in the area; alerting the restaurant; etc.). It is to be understood that references to an information set15, user information set15, or the like, in the present disclosure may also include special information sets15without departing from the teachings of the present disclosure.

After one or more information sets15from a plurality of users10and/or user devices10are received by the processor200, the processor200is configurable or configured to determine whether any users10and/or user devices10may have been in “contact” with other users10and/or user devices10(e.g., within a certain distance of one another; the processor200may also determine whether there may have been contact within a certain period of time, such as the last 14 days and/or between certain dates/times). The processor200determines whether there may have been such contact by processing the information sets15so as to generate one or more candidate contact instances16. An example candidate contact instance16is illustrated inFIG.1D. As described in the present disclosure, a candidate contact instance16includes an information set15of a first user10(e.g., a first candidate first user information set15; where the first user10may be a particular user10(e.g., an infected and/or contagious person who has been identified by an administrator40or trusted authority40)) and an information set15of a second user10(e.g., a first candidate second user information set15or a first candidate first other user information set15). In an example embodiment, the candidate contact instance16is generated based on at least the following conditions: a distance between a geolocation11in the first candidate first user information set15and a geolocation11in the first candidate second user information set15is less than a threshold distance value (e.g., 0.5 meters, 0.75 meters, 1 meter, 2 meters, etc.) (referred to herein as the “minimum distance requirement”); and an amount of time between a timestamp12in the first candidate first user information set15and a timestamp12in the first candidate second user information set15is less than a threshold time value (e.g., 0.5 seconds, 1 second, 2 seconds, etc.) (referred to herein as the “minimum time requirement”). In situations where the processor200receives a request from a requestor (e.g., administrator40, trusted authority40, or the like) to perform contact tracing for a particular user10(e.g., a first user10), the processor200is configurable or configured to search for information sets15of the first user10(or first user information sets15) matching one or more criterion provided by the requestor. For example, if the requestor provides a date range of “the last 14 days”, then the processor200will obtain some or all first user information sets15for the last 14 days (or obtained first user information sets15). The processor200will then search for information sets15of one or more other users10(or other user information sets15) based on the geolocations11and timestamps12of the obtained first user information sets15(and/or the requestor's criterion (e.g., the last 14 days)) to determine whether any of the other user information sets15and any of the obtained first user information sets15meet the minimum distance requirement and minimum time requirement. Those other user information sets15and first user information sets15that meet the minimum distance requirement and minimum time requirement are then used to generate candidate contact instances16. Alternatively or in addition, the processor200may be configurable or configured to continuously, periodically, and/or intermittently (e.g., during non-peak periods when the processor200receives less information sets15, such as between midnight until 6 am, etc.) perform processing of some or all received information sets15(e.g., without receiving a request for contact tracing from a requestor) so as to identify information sets15from users10that meet the minimum distance requirement and minimum time requirement, and proactively generate candidate contact instances16accordingly. Such proactively generated candidate contact instances16may then be stored and ready for if and when a requestor submits a request for contact tracing, in which case the processor200may first search (or search in parallel) a database30of proactively generated candidate contact instances16(which is recognized in the present disclosure to save time and/or processing loads, especially during peak or high processing times). For the above example, the processor200may first search the database30for any proactively generated candidate contact instances16having information sets15for the particular user10(the first user10), and if found, those proactively generated candidate contact instances16are then identified and provided to one or more elements of the processor200(e.g., the physical exposure assessment processor230, as described in the present disclosure) for further processing, including deriving of risks/likelihoods of physical exposure, etc.

In example embodiments, user devices10may be configurable or configured to generate information sets15at a specific (e.g., default) frequency, required frequency (e.g., standardized), and/or desired frequency (e.g., user-selectable). It is recognized in the present disclosure that when user devices10generate information sets15at higher frequencies (e.g., less time between generating information sets15) higher power consumption, higher processing power demands, higher memory storage (e.g., if information sets15are saved on the user device10and sent at a later time), and/or higher data communication requirements (e.g., consuming data in mobile phone data communication plans) may arise as a result. However, it is also recognized in the present disclosure that lowering the frequency of generating information sets15(e.g., generating information sets15every 8 seconds as compared to every 2 seconds) may result in the processor200possibly missing potentially relevant contact instances, such as in situations where a first user10and second user10are within the minimum distance requirement and minimum time requirement at a time t1but the first user device10(first user10) and/or the second user device10(second user10) were not scheduled to generate an information set15at that particular time (t1). In an example embodiment, the processor200is configurable or configured to generate one or more interpolated information sets15that each have an interpolated timestamp12and an interpolated geolocation11. For example, as illustrated inFIGS.7G and7H, a first user10amay generate the following information sets15: an information set with geolocation g(a1) and timestamp t(a1); an information set15(a2) with geolocation g(a2) and timestamp t(a2); an information set15(a3) with geolocation g(a3) and timestamp t(a3); and an information set15(a4) with geolocation g(a4) and timestamp t(a4). Furthermore, a second user10bmay generate the following information sets15: an information set with geolocation g(b1) and timestamp t(b1); an information set15(b2) with geolocation g(b2) and timestamp t(b2); an information set15(b3) with geolocation g(b3) and timestamp t(b3); and an information set with geolocation g(b4) and timestamp t(b4). The first user device10may be configured so as to generate information sets15that are 1 second apart from one another, and the second user device10may be configured so as to generate information sets15that are 2 seconds apart from one another. Without example embodiments of generating interpolated information sets15, the processor200may not generate any candidate contact instances in such a situation, especially if the distance d1does not meet the minimum distance requirement and the distance d2does not meet the minimum distance requirement (and if the distance between g(a3) and g(b3) does not meet the minimum distance requirement; and if the distance between g(a3) and g(b2) does not meet the minimum distance requirement). In applying example embodiments of generating interpolated information sets15, the processor200is configurable or configured to generate an interpolated information set15(b3′) having an interpolated timestamp t(b3′) and an interpolated geolocation g(b3′). In such an example, the interpolated timestamp t(b3′) is 1 second after timestamp t(b2) of information set15(b2) and 1 second before timestamp t(b3) of information set15(b3). Furthermore, the interpolated geolocation g(b3′) has been interpolated based on at least the interpolated timestamp t(b3′), the geolocation g(b2) of information set15(b2), the geolocation g(b1), the geolocation g(b3) of information set15(b3), and the geolocation g(b4). In generating the interpolated information set15, the interpolated timestamp t(b3′) for the first user10aand the timestamp t(a3) for the second user10bare determined to meet the minimum time requirement. Furthermore, a distance d3between the interpolated geolocation g(b3′) for the first user10aand the geolocation g(a3) for the second user10bare determined to meet the minimum distance requirement. Accordingly, the processor200is configurable or configure to generate a candidate contact instance16(a3b3′) based on and having the information set15(a3) and the interpolated information set15(b3′).

In example embodiments, a candidate contact instance16may be generated by one or more user devices10(instead of the processor200generating the candidate contact instance16). For example, in situations where user devices10have Bluetooth enabled (or WiFi or any other form of wireless communications) so as to communicate with other user devices10, example embodiments may include configuring user devices10to receive user information sets15, or the like, from other user devices10(and/or location-based information sets15′ from devices installed at particular locations11′) via Bluetooth when the user devices10are within communication range (or less, such as in example embodiments where Bluetooth signal strength and/or geolocation are used to assess when (or within what distance) user information sets15should be exchanged). Once received, the user device10may then generate candidate contact instance(s)16(e.g., using the user information set(s)15from the other user device10and user information set(s)15generated by the user device10) or send information sets15of both user devices10to the processor200for the processor200to generate the candidate contact instances16). In example embodiments, one user device10may send information sets15for both user devices10, or both user devices10may send information sets15for both user devices10. In addition to or alternatively, example embodiments may configure user devices10to send/transmit/exchange user information sets15to or with other devices10(and/or location-based information sets15′ from devices installed at particular locations11′) via Bluetooth (or WiFi or any other form of wireless communications) so as to generate candidate contact instances16(either generate the candidate contact instances16by the other device10or have the other user device send information to the processor200for the processor200to generate the candidate contact instances16).

It is recognized in the present disclosure that a determination, by the processor200, that a first user device10and a second user device10are within a threshold distance of one another at a particular time (i.e., via the minimum distance requirement and minimum time requirement used to form a candidate contact instance16), may not be adequate, sufficient, accurate, and/or complete enough to determine a risk or likelihood that the first and second users10were physically exposed to one another. As used in the present disclosure, a reference to a second user10being “physically exposed”, or the like, to a first user10, or vice versa, may include, but is not limited to, situations where the first and second users10are within a certain distance of one another and there are no physical barriers, or the like, between the first and second users10to prevent (or block or inhibit or reduce a likelihood of) a contagion, virus, bacteria, radiation, infectious and/or contagious disease, or the like, from passing, traveling, carrying, flying, or the like, from the first user10to the second user10, or vice versa. As described in the present disclosure, first and second user devices10may meet the minimum distance requirement and minimum time requirement but not be (or have a lower, reduced, or low risk or likelihood of being) physically exposed to one another. Examples of such situations include, but are not limited to, first and second users10meeting the minimum distance requirement and minimum time requirement but the first and second users10were separated by a wall, window, another user, vehicle door (e.g., a first user10is inside a vehicle and a second user10is on a sidewalk), etc. As another example situation, the geolocations11of the first and second users10may meet the minimum distance requirement and minimum time requirement but the first and second users10were on different levels/floors of a multi-level building (i.e., the first and second users10were separated by a floor).

After generating/receiving each candidate contact instance16(e.g., those generated by the processor200, user devices10, and/or other devices10; and either generated via a request from a requestor or proactively generated), the processor200is configurable or configured to derive or assess a likelihood or risk that a user10(e.g., the second user10) was physically exposed to another user10(e.g., the first user10) at, for, based on, and/or during the candidate contact instance16. The processor200may perform this by deriving an inaccuracy score and/or a non-contact score for each candidate contact instance16. As described in the present disclosure, the inaccuracy score for each candidate contact instance16represents a likelihood that the candidate contact instance16is inaccurate and/or incorrect; and the non-contact score for each candidate contact instance16represents a likelihood that the second user10was not physically exposed to the first user during the candidate contact instance16(alternatively or in addition, a contact score can also be derived for each candidate contact instance16, which represents a likelihood that the second user10was physically exposed to the first user10during the candidate contact instance16; for example, if the non-contact score is in the form of a percentage probability of not being physically exposed (e.g., 25%), then the contact score may be a percentage probability of being physically exposed (e.g., 75%, or 100%-25%)). As described in the present disclosure, the likelihood that the second user10was physically exposed to the first user10during the candidate contact instance16may be based on the non-contact score (and/or the contact score); and the non-contact score may be derived based on one or more of the following: a layout analysis (e.g., an analysis, based on one or more floor layouts, of a likelihood of a presence of a physical barrier (e.g., a wall, window, door, screen, floor, etc.), or the like, between the first user10and the second user10during the candidate contact instance15); map analysis (e.g., an analysis, based on one or more maps, of a likelihood of a presence of a physical barrier (e.g., a wall, window, door, screen, floor, etc.), or the like, between the first user10and the second user10during the candidate contact instance15); a first transportation-based separation analysis (e.g., an analysis, based on one or more maps, of a likelihood that the first user10was in a vehicle and/or the second user10was in a vehicle during the candidate contact instance15); a second transportation-based separation analysis (e.g., an analysis, based on travel speeds of the first user10and the second user10, of a likelihood that the first user10and the second user10were not traveling using the same transport mode during the candidate contact instance15); a third transportation-based separation analysis (e.g., an analysis, based on travel directions of the first user10and the second user10, of a likelihood that the first user10was in a vehicle and/or the second user10was in a vehicle during the candidate contact instance15); and/or a different level analysis (e.g., an analysis, based on one or more floor layouts and/or maps, of a likelihood that the first user10and the second user10were not on the same levels/floors of a multi-level building during the candidate contact instance15).

After deriving the non-contact score for a candidate contact instance15, the processor200is configurable or configured to identify, for the candidate contact instance15, the second user10as having a risk of being physically exposed to the first user10when the non-contact score is equal to or below a threshold non-contact score (e.g., if the threshold non-contact score is 50% chance of not being physically exposed and the non-contact score is 20% chance of not being physically exposed (which is below the threshold non-contact score), then the second user10will have a high risk (i.e., 80% chance) of having been physically exposed to the first user10).

For candidate contact instances15in which the processor200identifies the second user10as having a high risk of being physically exposed to the first user10(e.g., when the non-contact score for the candidate contact instance15for the second user10and the first user10is equal to or below a threshold non-contact score), the processor200is configurable or configured to perform, among other things, one or more of the following: send a notification to an administrator40and/or trusted authority40(e.g., government entity); send a notification to the second user10to inform the second user10that he/she has a high risk of being physically exposed to a particular user10(the identity of the first user10may or may not be disclosed; in preferred embodiments, the identity of the first user10is not disclosed and/or remains anonymized from the perspective of the second user10); send a notification to the first user10to inform the first user10that he/she has a high risk of physically exposing to another user10(the identity of the second user10may or may not be disclosed; in preferred embodiments, the identity of the second user10is not disclosed and/or remains anonymized from the perspective of the first user10); and/or generate particular location information set15′ for particular locations11′ (e.g., address, building name, landmark, business name, set of geolocations, etc.) matching and/or including the geolocations11of information set15for the first user10(e.g., in the past 14 days) and geolocations11of information sets15for the second user10(e.g., starting from the timestamp12(of the information set15for the second user10) of the candidate contact instance15until present). It is recognized in the present disclosure that in applications/situations where a particular country requires all persons physically within the country to install a mobile application that generates and sends information sets15(and/or candidate contact instances16, such as via Bluetooth) as described in the present disclosure, performing contact tracing and identifying and/or informing users10who have a high risk of being physically exposed to a known particular user10will be highly effective. It is recognized in the present disclosure that even in applications/situations where a particular country does not require all persons physically within the country to install such a mobile application that generates and sends information sets15(and/or candidate contact instances16, such as via Bluetooth) as described in the present disclosure, effective contact tracing and identifying and/or informing users10having a high risk of having been physically exposed to a known particular user10can still be achieved. For example, in addition to or in replacement of using thermal scanners, or the like, to check temperatures of people before entering a premise (e.g., retail shop, shopping mall, office building, office complex, sports facility, public transportation vehicle or facility, taxi or ride-hail vehicle, etc.), such premises may require users10to show a “clear” status, “green” status, or the like, from such mobile applications before being permitted to enter. In this regard, users10may be required to have installed/used the mobile application for a certain period of time (e.g., for at least the past 10 days); and those users10who have received a notification, from the processor200, of having a high risk of being physically exposed to a particular user10, as described above and in the present disclosure, will have an indication on the mobile application (e.g., “not clear” status, “orange” or “red” status, or the like) and not be permitted to enter such premises until they follow certain instructions (e.g., visit a medical facility, administrator40, trusted authority40, or the like, to clear the notification, etc.). Alternatively or in addition, certain employers, groups, conferences, events, etc. may also require employees, members, attendees, etc. to install and use such mobile applications in such manner.

To perform the processes and/or methods described above and in the present disclosure, example embodiments of the processor200include one or more elements. For example, as illustrated inFIG.2, the processor200includes one or more main interfaces201. The processor200also includes one or more information set processors210. The processor200also includes one or more candidate contact processors220. The processor200also includes one or more physical exposure assessment processors230. The processor200also includes one or more contact instance notification processors240. Although the figures illustrate one main interface201, one information set processor210, one candidate contact processor220, one physical exposure assessment processor230, and one contact instance notification processor240, it is to be understood in the present disclosure that the processor200may include more or less than one main interfaces201, more or less than one information set processors210, more or less than one candidate contact processors220, more or less than one physical exposure assessment processors230, and more or less than one contact instance notification processors240without departing from the teachings of the present disclosure. It is also to be understood in the present disclosure that, although the functions and/or processes performed by the processor200are described in the present disclosure as being performed by particular elements of the processor200, the functions and/or processes performed by a particular element of the processor200may also be performed by one or more other elements and/or cooperatively performed by more than one element of the processor200without departing from the teachings of the present disclosure. It is also to be understood that, although the functions and/or processes performed by the processor200are described in the present disclosure as being performed by particular elements of the processor200, the functions and/or processes performed by two or more particular elements of the processor200may be combined and performed by one element of the processor200without departing from the teachings of the present disclosure.

These elements of the processor200will now be further described with reference to the accompanying figures.

The Main Interface (e.g., Element201).

As illustrated inFIG.2, an example embodiment of the processor200includes one or more main interfaces (e.g., main interface201). The main interface201is configurable or configured to act as a communication interface for the processor200. For example, the main interface201is configurable or configured to receive user information sets15from users10, location-based information sets15′ from designated devices (e.g., installed at particular locations11′), candidate contact instances16(e.g., when generated by user devices and/or other processors200), information from databases30, and information from one or more other elements of the processor200and/or other processors200. The main interface201(and/or the contact instance notification processor250) is also configurable or configured to send information and/or notifications to users10, designated devices installed at particular locations11′, the network20, databases30, and/or administrators40and/or trusted authorities40.

After the main interface201receives the above information, the main interface201is configurable or configured to selectively provide information to one or more other elements of the processor200and/or other processors200for further processing.

The Information Set Processor (e.g., Element210).

As illustrated inFIG.2, an example embodiment of the processor200includes one or more information set processors (e.g., information set processors210). The information set processor210is configurable or configured to receive information sets15from a plurality of users10and/or user devices10(e.g., via the main interface201). In this regard, user devices10may be configurable or configured to generate information sets15and transmit such information sets15to the main interface201. Alternatively or in addition, the information set processor210is configurable or configured to receive geolocation11and temporal12information from a plurality of users10and/or user devices10, and generate user information sets15for each of the users10and/or user devices10based on such geolocation11and temporal12information. As described in the present disclosure, the information set processor210is also configurable or configured to receive special information sets15from user devices10(and perform prioritized, immediate, and/or out-of-turn/skip-the-line processing of such special information sets15), receive location-based information sets15(e.g., particular location information sets15), and also generate interpolated information sets15.

As illustrated inFIG.1B, each information set15for a user10and/or user device10includes a geolocation11of the user10and/or user device10(and/or location11relative to a geolocation of a previous information set15for the user10; location11relative to a reference location; location11relative to a geolocation of another user10; etc.) and a corresponding timestamp12for the geolocation11of the user10and/or user device10(and/or time12relative to a timestamp of a previous or subsequent information set15for the user10; time12relative to a reference time or timestamp; time12relative to a timestamp of an information set of another user10; etc.). Each information set15also includes a unique identifier13of the user10and/or user device10. Such unique identifier13of the user10and/or user device10may include, but is not limited to, one or more of the following anonymized and/or non-anonymized information13of and/or pertaining to the user10and/or user device10: any form of personal identifiable information (PII)13of the user10; legal name13or identity13of the user10; a unique user ID13; a unique user login name13; a government-issued identification number13of the user10(e.g., national identification number13, citizenship number13, driver license number13, passport number13, etc.); a mobile phone number13for the user device10; a device ID number for the user device10; an email address13of the user10; a unique social media name or handle of the user10; other personal information13of the user10(e.g., date of birth, city/country of birth, citizenship, etc.); a residential address13for the user10; employment status13, information13, or history13of the user10; family members13; marital status13of the user10; household members13of the user10; unique series of characters13assigned to the user10; one or more forms of biometrics13of the user10, such as fingerprint scan, retina scan, facial scan, partial facial scan (e.g., with mask); any one or combination of information other than PII that is unique to a user10; etc.

In an example embodiment, the unique identifier13for the user10and/or user device10may be anonymized by hashing (e.g., via any hashing algorithm including, but not limited to, SHA-256, SHA-3, etc.) one or more of the above information13of the user10and/or user device10. Alternatively or in addition, the unique identifier13for the user10and/or user device may be anonymized in other ways, including encryption, digital signatures, etc., and/or stored in a DLT (e.g., blockchain). In this regard, the user10, user device10, and/or mobile application installed on the user device10may be configurable or configured to generate such anonymized unique identifier13and also de-anonymize such anonymized unique identifier13(i.e., to uncover information of the user10and/or user device10). Alternatively or in addition, the processor200, an administrator40, and/or a trusted authority40may have the private key (or decryption key, etc.) and/or access to a system/processor for de-anonymizing the anonymized unique identifier13(e.g., in emergency situations, such as widespread, quickly spreading viruses, global pandemics, etc.). In example embodiments, a mobile application, or the like, is installed on user devices10to generate and send information sets15for the user10and/or user device10and receive notifications from the processor200. For such mobile applications, the anonymized unique identifier13for the user10and/or user device10may be stored in, embedded in, linked to, associated with, and/or used by the mobile application to enable anonymous communications with the processor200(e.g., the processor200only knows that it is communicating with an anonymized unique identifier13, but has no knowledge of, access of, and/or ability to derive the identity and/or personal information (e.g., personal identifiable information, or PII) of the user10and/or user device10; communications include receiving generated information sets15, receiving candidate contact instances16(if generated by the user10and/or user device10), and sending notifications of risks of physical exposure, etc.). As privacy and strong protections of personal information are becoming increasingly important around the world, it is recognized in the present disclosure that anonymization of information should be maximized and the types of information obtained (or collected, pulled, received, secured, retained, etc.) from users10and/or user devices10should be kept at a minimum regardless of whether or not example embodiments of managing contact information are applied as an opt-in service (e.g., mobile application), required service (e.g., in order to use or enter into certain facilities and/or have certain rights), or mandatory service (e.g., required by all citizens, residents, visitors, members, and/or employees). In this regard, although example embodiments described herein are directed to collecting only geolocation, temporal, and unique identification/identifier13of each user10, it is recognized in the present disclosure that other information for each user10may also be collected (and one or more such other/additional information may correspondingly be anonymized, such as via linking and/or associating to an anonymized unique identifier13of the user10and/or user device10instead of any personal information of the user10) and included in a user information set15without departing from the teachings of the present disclosure. For example, information generated and/or derivable by the user device10from readings/measurements of accelerometers, or the like, pertaining to user movements, steps, and/or speed (and/or instantaneous or average measurement, rate, reading, etc.) may be included for each geolocation11in the user information set15. As another example, information from other applications, such as ride-hailing application, public transportation application, air travel application, train travel application, boat/cruise ship application, etc. may also be used to identify whether the user10is in a transportation vehicle and/or to identify other users10(e.g., driver(s)10, workers, and/or other passengers10) who may be in contact with and possibly being physically exposed to the user10. In this regard, such information may be used in example embodiments of the non-contact processor240to generate non-contact scores and/or risks/likelihoods of physical exposure. As another example, information from sports or fitness-related applications (e.g., Fitbit, Apple Health, Nike Run Club, etc.) may also be included to identify an activity being conducted by the user10(e.g., stationery, walking, and/or exercising). As another example, information from map applications (e.g., Google Maps, Apple Maps, etc.), social media applications, shopping applications, photo album applications, etc. may also be included in each user information set15. As used in the present disclosure, a reference to a geolocation11, timestamp12, unique identifier13, and/or information set15for a user10may also include references to a geolocation11, timestamp12, unique identifier13, and/or information set15for a user device10, and vice versa.

As illustrated inFIG.1C, the information set processor210may also receive and/or generate information sets15′ for particular locations11′ (e.g., address, building name, landmark, business name, particular airplane, particular train or train car, particular bus, boat, taxi, or other vehicles, set of geolocations, etc.). For example, in situations where a particular location11′ is identified as having been contaminated (and/or visited) by one or more particular users10, viruses, bacteria, other infectious agents or contagions, radiation, etc., an example embodiment of the information set processor210is configurable or configured to receive (e.g., from a designated device installed at the particular location11′) and/or generate one or more particular location information set15′ and perform location-based contact tracing (i.e., contact tracing of users10who have visited the particular location11′ during a particular date/time range12′). It is to be understood in the present disclosure that particular location information sets15′ may also be generated for any location11′, including particular locations11′ that have not yet been confirmed as having been contaminated (and/or visited) by one or more particular users10, viruses, bacteria, other infectious agents or contagions, radiation, etc. (e.g., in situations where the processor200is identifying which locations a recently confirmed particular user10has visited so as to identify such locations as particular locations, as described in the present disclosure). Referring toFIG.1C, the particular location information set15′ for the particular location11′ may include location-related information including, but not limited to, an address11′, a building name11′, a landmark name11′, a business name11′, a particular room11′ or floor/level11′, a section11′ of a building or property/compound, a demarcation or boundary11′, a set of geolocation(s)11′, etc., which may be used in example embodiments to perform contact tracing of any users10who have visited the particular location11′ within a particular date/time range. The particular location information set15′ for the particular location11′ may also include temporal information12′, including an associated timestamp12′ (e.g., starting date) and/or date/time range12′ (e.g., range of dates/times starting on a date/time when the one or more particular users10visited the particular location11′ until a date/time when the particular location11′ was closed, cleaned, disinfected, etc. (or no end date/time if still ongoing)). The particular location information set15′ for the particular location11′ may also include unique identifier(s)13′ (anonymized and/or non-anonymized) of one or more of the particular users10(and/or potential particular users10) who have visited the particular location11′ during a relevant date/time range12′ or specific dates/times12′.

It is recognized in the present disclosure that such unique identifier information13for users10in the particular location information set15′ may be further applied in example embodiments to perform further contact tracing based on geolocation11and temporal information12of such users10. For example, based on the particular location information set15′, the processor200may first compare the particular location information11′ and temporal information12′ of the particular location information set15′ with geolocation11and temporal information12of user information sets15of a plurality of users10to identify those users10who may have a risk of being physically exposed to a virus, bacteria, infectious agent, contagion, radiation, etc. (or “at-risk users”10). Thereafter, the information set processor210may be configurable or configured to amend or supplement each such particular location information set15′ to include a unique identifier13of such at-risk users10. In addition to or alternatively, as described in the present disclosure, one or more elements of the processor200may perform contact tracing using the geolocation and temporal information12of such at-risk users10to identify other at-risk users10who may have a risk of being physically exposed to the at-risk user10(e.g., after the at-risk user10visited the particular location11′). And if such other at-risk users10are identified by the processor200as having a risk of being physically exposed to the at-risk user10, the processor200may perform contact tracing using the geolocation and temporal information121of such other at-risk users10to identify other further at-risk users10who may have a risk of being physically exposed to such other at-risk users10. And so on. Furthermore, for each at-risk user10(including the at risk user10, the other at-risk user10, the other further at-risk user10, and so on), the processor200may perform location-based contact tracing to identify particular locations (e.g., address, building name, landmark, business name, set of geolocations, etc.) where such at-risk users10have visited (e.g., based on the geolocation and temporal information of such users10) and perform contact tracing based on such identified particular locations and date/time of visit of the at-risk user10. And so on. In an example embodiment, the particular location information sets15′ may be generated by the processor200, an administrator40, and/or a trusted authority40. In some example embodiments, the particular location information sets15′ may also be generated by users10and submitted to the processor200, administrator40, and/or trusted authority40for verification, confirmation, and/or approval.

The information set processor210may receive information sets15from each user10and/or user device10(and/or particular location information sets15′) in a variety of ways and frequencies, including periodic, intermittent, continuous, after meeting a certain threshold condition, etc. For example, the processor200may receive information sets15from each user10and/or user device10every 1 or 2 seconds (or other amount), where each information set15includes unique identifier13of the user10, a geolocation11of the user10, and timestamp12(or time since last information set15, time since a certain information set15, etc.) for the geolocation11(e.g., information set15for geolocation11of the user10at 5:15:00 pm (which is the corresponding timestamp12for the geolocation11), another information set15for geolocation11of the user10at 5:15:02 pm (which is the timestamp12for the geolocation11), another information set15for geolocation11of the user10at 5:15:04 pm (which is the timestamp12for the geolocation11), another information set15for geolocation11of the user10at 5:15:06 pm (which is the timestamp12for the geolocation11), and so on). As another example, the processor200may receive a plurality of information sets15(e.g.,60information sets) from each user10and/or user device10every 1 minute (other amount), where each information set15includes unique identifier13of the user10, a geolocation11of the user10, and timestamp12for the geolocation11that is separated by 1 seconds (or other amount) (e.g., information set15for geolocation11of the user10at 12:08:00 pm, another information set15for geolocation11of the user10at 12:08:01 pm, another information set15for geolocation11of the user10at 12:08:02 pm, another information set15for geolocation11of the user10at 12:08:03 pm, and so on). As another example, the processor200may receive a plurality of information sets15(e.g.,1800information sets) from each user10and/or user device10every 1 hour (other amount), where each information set15includes unique identifier13of the user10, a geolocation11of the user10, and timestamp12for the geolocation11that is separated by 2 seconds (or other amount) (e.g., information set15for geolocation11of the user10at 9:22:00 am, another information set15for geolocation11of the user10at 9:22:02 am, another information set15for geolocation11of the user10at 9:22:04 am, another information set15for geolocation11of the user10at 9:22:06 am, and so on). As another example, the processor200may receive a plurality of information sets15from each user10and/or user device10each time the user10and/or user device10has access to a WiFi network, where each information set15includes unique identifier13of the user10, geolocation11of the user10, and timestamp12for the geolocation11that is separated by 1 seconds (or other amount) (e.g., information set15for geolocation11of the user10at 6:02:00 pm, another information set15for geolocation11at 6:02:01 pm, another information set15for geolocation11of the user10at 6:02:02 pm, another information set15for geolocation11of the user10at 6:02:03 pm, and so on). As another example, the processor200may receive a plurality of information sets15(e.g.,60information sets) from each user10and/or user device10each time the user device10detects a movement of the user device10, where each information set15includes unique identifier13of the user10, a geolocation11of the user10, and timestamp12for the geolocation11that is separated by 0.5 seconds (or other amount) (e.g., information set15for geolocation11of the user10at 5:16:00.5 pm, another information set15for geolocation11of the user10at 5:16:01.0 pm, another information set15for geolocation11of the user10at 5:16:01.05 pm, another information set15for geolocation11of the user10at 5:16:02.0 μm, and so on). Other frequencies for generating information sets15(e.g., when to record/obtain geolocation11of the user10and/or user device10) and when information sets15should be sent to (or retrieved by) the processor200are also contemplated without departing from the teachings of the present disclosure.

The information set processor210is then configurable or configured to provide the information sets15,15′ (including user information sets15, particular information sets15′, interpolated information sets15, and special information sets15; also referred to as “candidate information sets”15,15′) to one or more elements of the processor200, including the candidate contact processor220(e.g., information set selector222).

The Threshold Generator (e.g., Element202).

As illustrated inFIG.2, an example embodiment of the processor200includes one or more threshold generators (e.g., threshold generator202). The threshold generator202is configurable or configured to generate threshold values for one or more elements of the processor200. For example, as illustrated inFIG.3, the threshold generator202may include a main threshold processor202′. The main threshold processor202′ may receive information and/or communicate with one or more elements of the system100including, but not limited to, databases30, administrators40, trusted authorities40, the main interface201, the candidate contact processor220, the physical exposure assessment processor230, the non-contact processor240, and/or the contact instance notification processor250. The threshold generator202may also include one or more threshold distance generators203. As illustrated inFIG.4, the threshold distance generator203may be configurable or configured to generate threshold distance values for the candidate contact processor220. The threshold generator202may also include one or more threshold time generators204. As illustrated inFIG.4, the threshold time generator204may be configurable or configured to generate threshold time values for the candidate contact processor220. The threshold generator202may also include one or more threshold inaccuracy generators205. As illustrated inFIG.5, the threshold inaccuracy generator205may be configurable or configured to generate threshold inaccuracy values for the inaccuracy processor234. The threshold generator202may also include one or more threshold non-contact generators206, one or more threshold physical barrier generators206a, one or more threshold vehicular separation generators206b, one or more threshold transport mode generators206c, and/or one or more threshold different level generators206d(herein also collectively referred to as the threshold non-contact generators206,206a-d). As illustrated inFIG.5, the threshold non-contact generators206,206a-dmay be configurable or configured to generate threshold non-contact values (including threshold physical barrier threshold values, threshold vehicular separation values, threshold transport mode values, and/or threshold different level values) for the non-contact processor240. The threshold generator202may also include one or more threshold physical exposure generators207. As illustrated inFIG.5, the threshold physical exposure generator207may be configurable or configured to generate threshold physical exposure values for the contact instance selector236.

The threshold generator202is configurable or configured to generate one or more threshold values, as described above and in the present disclosure, for and/or in cooperation with one or more other elements of the processor200.

The Candidate Contact Processor (e.g., Element220).

As illustrated inFIG.2, an example embodiment of the processor200includes one or more candidate contact processors (e.g., candidate contact processor220). The candidate contact processor220is configurable or configured to receive information sets15,15′ (including user information sets15, particular information sets15′, interpolated information sets15, and special information sets15) from the information set processor210. The candidate contact processor220is then configurable or configured to select one or more information sets15,15′. The candidate contact processor220is then configurable or configured to generate one or more candidate contact instances16based on the information sets15,15′ selected by the candidate contact processor220. After the candidate contact processor220generates the candidate contact instances16, the candidate contact processor220provides the candidate contact instances16to the physical exposure assessment processor230for further processing.

To perform these processes and/or methods, example embodiments of the candidate contact processor220include one or more elements. For example, as illustrated inFIG.4, the candidate contact processor220includes one or more information set selectors222. The candidate contact processor220also includes one or more candidate contact instance generators224. Although the figures may illustrate one information set selector222and one candidate contact instance generator224, it is to be understood in the present disclosure that the candidate contact processor220may include more or less than one information set selector222and more or less than one candidate contact instance generator224without departing from the teachings of the present disclosure. It is also to be understood in the present disclosure that, although the functions and/or processes performed by the candidate contact processor220are described in the present disclosure as being performed by particular elements of the candidate contact processor220, the functions and/or processes performed by a particular element of the candidate contact processor220may also be performed by one or more other elements and/or cooperatively performed by more than one element of the processor200without departing from the teachings of the present disclosure. It is also to be understood that, although the functions and/or processes performed by the candidate contact processor220are described in the present disclosure as being performed by particular elements of the candidate contact processor220, the functions and/or processes performed by two or more particular elements of the candidate contact processor220may be combined and performed by one element of the processor200without departing from the teachings of the present disclosure.

These elements of the candidate contact processor220will now be further described with reference to the accompanying figures.

The Information Set Selector (e.g., Element222).

As illustrated inFIG.4, an example embodiment of the candidate contact processor220includes one or more information set selectors (e.g., information set selector222). The information set selector222is configurable or configured to receive candidate information sets15,15′ (including candidate user information sets15, candidate particular information sets15′, candidate interpolated information sets15, and candidate special information sets15) from the information set processor210. The information set selector222is then configurable or configured to select candidate information sets15,15′ from among the plurality of candidate information sets15,15′ received from the information set processor210. In an example embodiment, the candidate information sets15,15′ selected by the information set selector222are those candidate information sets15,15′ that satisfy at least the following conditions: a distance between a geolocation11in a candidate information set15for a first user10(e.g., a first candidate first user information set15) and a geolocation11in a candidate information set15for a second user10(e.g., a first candidate second user information set15) is less than a threshold distance value; and an amount of time between a timestamp12in the first candidate first user information set15and a timestamp12in the first candidate second user information set15is less than a threshold time value. Although example embodiments described in the present disclosure are directed to selecting a candidate information set15from one user10(e.g., a first user10) and selecting another candidate information set15from another user (e.g., a second user10) based on the above two conditions (i.e., difference in distance between geolocations11are within a threshold distance value, and difference in time between timestamps12are within a threshold time value), it is recognized in the present disclosure that the candidate contact processor220may also select candidate information sets from more than two different users10without departing from the teachings of the present disclosure. For example, the candidate contact processor220may select a candidate information set15for a first user10, a candidate information set15for a second user10, and a candidate information set15for a third user10, so long as the three candidate information sets15all satisfy the same conditions described above (i.e., difference in distance between geolocations11in all three candidate information sets15are within a threshold distance value, and difference in time between timestamps12in all three candidate information sets15are within a threshold time value).

The candidate information sets15,15′ selected by the information set selector222are then provided to the candidate contact instance generator224.

The Candidate Contact Instance Generator (e.g., Element224).

In an example embodiment, the candidate contact processor220includes one or more candidate contact instance generators (e.g., candidate contact instance generator224). The candidate contact instance generator224is configurable or configured to receive selected candidate information sets15,15′ (including candidate user information sets15, candidate particular information sets15′, candidate interpolated information sets15, and candidate special information sets15) from the information set selector222. The candidate contact instance generator224is then configurable or configured to generate one or more candidate instances16. An example contact instance16is illustrated inFIG.1D.

In an example embodiment, the candidate contact instance16includes a selected candidate information set15of a first user10(e.g., a first candidate first user information set15, which may be the particular user10who has been confirmed as having a contagious disease) and a selected candidate information set15of a second user10(e.g., a first candidate second user information set15, or a first candidate first other user information set15). The candidate contact instance generator224cooperates with the information set selector22to generate each candidate contact instance16based on at least the conditions described above and in the present disclosure for the information set selector222, including: a distance between a geolocation11in the first candidate first user information set15and a geolocation11in the first candidate second user information set15is less than a threshold distance value; and an amount of time between a timestamp12in the first candidate first user information set15and a timestamp12in the first candidate second user information set15is less than a threshold time value.

It is to be understood in the present disclosure that a candidate contact instance16may also be generated by user devices10and/or other devices (e.g., designated devices at particular locations11,11′). For example, in situations where user devices10have Bluetooth (or WiFi or any other form of wireless communications) so as to communicate with other user devices10(and/or designated devices), example embodiments may configure user devices10(and/or designated devices) to receive user information sets15from other user devices10(and/or location-based information sets15′ from devices installed at particular locations11′) via Bluetooth (or WiFi or any other form of wireless communications) so as to generate candidate contact instances16(either generate the candidate contact instances16by the user device10or send information to the processor200for the processor200to generate the candidate contact instances16). For example, if or when a user10and another user10are in Bluetooth communication range of one another, the user device10and the other user device10are configured to exchange (or one device sends to another device) candidate user information sets15. In addition to or alternatively, example embodiments may configure user devices10to send/transmit/exchange candidate user information sets15to or with other user devices10(and/or location-based information sets15′ from devices installed at particular locations11′) via Bluetooth (or WiFi or any other form of wireless communications) so as to generate candidate contact instances16(either generate the candidate contact instances16by the other user device10or have the other user device send information to the processor200for the processor200to generate the candidate contact instances16).

The Physical Exposure Processor (e.g., Element230).

As illustrated inFIG.2, an example embodiment of the processor200includes one or more physical exposure processors (e.g., physical exposure processors230). The physical exposure processor230is configurable or configured to receive candidate contact instances16generated by the candidate contact instance generator224(and/or generated by user devices10and/or other devices, such as designated devices at particular locations11,11′, as described above and in the present disclosure). For each received candidate contact instance16(e.g., which, as described in the present disclosure, includes a candidate first user information set15for a first user10and a candidate second user information set15for a second user10; and may also include one or more candidate other user information sets15for one or more other users10, as described above and in the present disclosure), the physical exposure processor230is configurable or configured to perform an assessment of a likelihood that one or more of the users10(e.g., the second user10) was physically exposed to a particular user10(e.g., the first user10) during the candidate contact instance16. It is to be understood in the present disclosure that references to an action or event (e.g., a physical exposure) occurring “during the candidate contact instance”, or the like, include references to the action or event (e.g., the physical exposure) occurring at the geolocation11and time12indicated in the candidate contact instance16. It is also to be understood that the physical exposure processor230is configurable or configured to perform an assessment of a likelihood that one or more of the users10(e.g., the second user10) was not physically exposed to a particular user10without departing from the teachings of the present disclosure.

In performing an analysis or assessment of a likelihood that a user10(e.g., the second user10) was physically exposed to a particular user10(e.g., the first user10) during a candidate contact instance16, the physical exposure processor230is configurable or configured to derive an inaccuracy score for the candidate contact instance16and/or a non-contact score for the candidate contact instance16.

In an example embodiment, the inaccuracy score for a candidate contact instance16represents a likelihood that the candidate contact instance16is inaccurate or incorrect (e.g., a likelihood that the distance between the geolocation11in the candidate first user information set15(for the first user10) and the geolocation11in the candidate second user information set15(for the second user10) is not less than the threshold distance value; a likelihood that the time between the timestamp12in the candidate first user information set15(for the first user10) and the timestamp12in the candidate second user information set15(for the second user10) is not less than the threshold time value).

In an example embodiment, the non-contact score for a candidate contact instance16represents a likelihood that the second user10was not physically exposed to the first user10during the candidate contact instance16. The non-contact score may be derived based on one or more analyses. For example, the non-contact score may be derived based on a layout analysis (e.g., an analysis, based on one or more floor layouts, or the like, of a likelihood of a presence of a physical barrier, or the like, between the first user10and the second user10during the candidate contact instance15). As used in the present disclosure, a “physical barrier” may be any part of any building, object, fixture, plant, or the like, that, if positioned between two users10, may reduce a likelihood of a physical exposure (e.g., a physical exposure of viruses, bacteria, germs, airborne particles, liquid particles, radiation, contaminants, infectants, and/or the like) between the two users10, and may include, but is not limited to, a wall, window, door, partition, screen, bookshelf, column/pillar, tree or plant, aquarium/water tank, curtain, vehicle, floor, ceiling, etc. Regarding the layout analysis, example embodiments include establishing, setting up, and/or configuring one or more floor layout databases and/or platforms30, or the like, having floor layouts for buildings (e.g., office buildings, shopping malls, department stores, retail shops, restaurants, supermarkets, markets, sports complexes, sporting facilities, entertainment facilities, movie theatres, museums, residential homes, apartments, condominiums, places of worship, dormitories, etc.), transportation areas and/or hubs (e.g., train stations, bus stations/stops, taxi queues, airports, boat ports, streets, etc.), strip malls, neighborhoods, blocks, regions, parks, sporting facilities, playgrounds, other public places (e.g., squares, government centres, piazzas, etc.), public transportation vehicles (e.g., trains, street cars, buses, shuttles, airplanes, boats, etc.), etc. Such floor layout databases and/or platforms30may be similar to and/or be included/incorporated in map databases and/or platforms30(e.g., Google Maps, Apple Maps, etc.) so as to allow one or more elements of the processor200to perform searches for a floor layout (or several floor layouts) based on geolocation of users10. Example embodiments of the layout analysis processor242(and/or one or more other elements of the processor200, including processors244-247) are then configurable or configured to perform an analysis (e.g., layout analysis, etc.) by first searching in the layout database30for one or more floor layouts having geolocations of the first and second users10(pursuant to the candidate contact instance15), followed by deriving a non-contact score (e.g., based on a first physical barrier likelihood, etc.). Alternatively or in addition, the physical exposure processor230is configurable or configured to perform a map analysis (e.g., analysis, based on one or more maps, of a likelihood of a presence of a physical barrier (e.g., a wall, window, door, screen, floor, etc.), or the like, between the first user10and the second user10during the candidate contact instance16). Alternatively or in addition, the physical exposure processor230is configurable or configured to perform a first transportation-based separation analysis (e.g., analysis, based on one or more maps, of a likelihood that the first user10was in a vehicle and/or the second user10was in a vehicle during the candidate contact instance16). Alternatively or in addition, the physical exposure processor230is configurable or configured to perform a second transportation-based separation analysis (e.g., analysis, based on travel speeds of the first user10and the second user10, of a likelihood that the first user10and the second user10were not traveling using the same transport mode during the candidate contact instance16). Alternatively or in addition, the physical exposure processor230is configurable or configured to perform a third transportation-based separation analysis (e.g., analysis, based on travel directions of the first user10and second user10, of a likelihood that the first user10was in a vehicle and/or the second user10was in a vehicle during the candidate contact instance16). The physical exposure processor230is then configurable or configured to select one or more contact instances16from among the candidate contact instance16based on the derived non-contact score and/or derived inaccuracy score.

To perform these processes and/or methods, example embodiments of the physical exposure processor230include one or more elements. For example, as illustrated inFIG.5, the physical exposure processor230includes one or more assessment interfaces232. The physical exposure processor230also includes one or more inaccuracy processors234. The physical exposure processor230also includes one or more non-contact processors240. The physical exposure processor230also includes one or more contact instance selectors236. Although the figures may illustrate one assessment interface232, one inaccuracy processor234, one non-contact processor240, and one contact instance selector236, it is to be understood in the present disclosure that the physical exposure processor230may include more or less than one assessment interface232, more or less than one inaccuracy processor234, more or less than one non-contact processor240, and more or less than one contact instance selector236without departing from the teachings of the present disclosure. It is also to be understood in the present disclosure that, although the functions and/or processes performed by the physical exposure processor230are described in the present disclosure as being performed by particular elements of the physical exposure processor230, the functions and/or processes performed by a particular element of the physical exposure processor230may also be performed by one or more other elements and/or cooperatively performed by more than one element of the processor200without departing from the teachings of the present disclosure. It is also to be understood in the present disclosure that, although the functions and/or processes performed by the physical exposure processor230are described in the present disclosure as being performed by particular elements of the physical exposure processor230, the functions and/or processes performed by two or more particular elements of the physical exposure processor230may be combined and performed by one element of the processor200without departing from the teachings of the present disclosure.

These elements of the physical exposure processor230will now be further described with reference to the accompanying figures.

The Assessment Interface (e.g., Element232).

As illustrated inFIG.5, an example embodiment of the physical exposure processor230includes one or more assessment interfaces (e.g., assessment interface232). The assessment interface232is configurable or configured to act as a communication interface for the physical exposure assessment processor230and obtain, request, and/or receive information from elements of the processor200and system100. For example, the assessment interface232is configurable or configured to receive candidate contact instances16from the candidate contact instance generator224. The assessment interface232is then configurable or configured to provide the candidate contact instances16to the inaccuracy processor234, which performs an analysis of a likelihood that the candidate contact instance16is inaccurate or incorrect (e.g., a likelihood that the distance between the geolocation11in the candidate first user information set15(for the first user10) and the geolocation11in the candidate second user information set15(for the second user10) is not less than the threshold distance value; a likelihood that the time between the timestamp12in the candidate first user information set15(for the first user10) and the timestamp12in the candidate second user information set15(for the second user10) is not less than the threshold time value). To perform such an inaccuracy analysis, the assessment interface232is configurable or configured to obtain, request, and/or receive one or more threshold values for the inaccuracy processor234(e.g., threshold distance values from the threshold distance generator203, threshold time values from the threshold time generator204, and threshold inaccuracy values from the threshold inaccuracy generator205).

The assessment interface232is also configurable or configured to provide the candidate contact instances16to the non-contact processor240, which performs an analysis of a likelihood that a user10(e.g., the second user10) was not physically exposed to one or more other users10(e.g., the first user10) during the candidate contact instance16. To perform such a non-contact analysis, the assessment interface232is configurable or configured to obtain, request, and/or receive one or more threshold values for the non-contact generator240(e.g., threshold physical barrier values from the threshold physical barrier generator206a, threshold vehicular separation values from the threshold vehicular separation generator206b, threshold transport mode values from the threshold transport mode generator206c, threshold different level values from the threshold different level generator206d, and threshold non-contact values from the threshold non-contact generator206), one or more other user information sets15, one or more other particular location information sets15′, one or more other candidate contact instances16, information from databases30, and/or information from other elements of the processor200and/or other processors200.

The assessment interface232is also configurable or configured to provide the candidate contact instances16to the databases30, obtain, request, and/or receive information from the databases30and/or networks20, and/or obtain, request, and/or receive instructions and/or information from administrators40and/or trusted authorities40. The assessment interface232is also configurable or configured to obtain, request, and/or receive one or more threshold values for the contact instance selector236(e.g., threshold physical exposure values from the threshold physical exposure generator207).

The Inaccuracy Processor (e.g., Element234).

As illustrated inFIG.5, an example embodiment of the physical exposure processor230includes one or more inaccuracy processors (e.g., inaccuracy processor234). The inaccuracy processor234is configurable or configured to receive candidate contact instances16from the assessment interface232, as well as other information from one or more elements of the processor200and/or system100including, but not limited to, information sets15from the candidate contact processor220(e.g., information sets15before and/or after the geolocations11and/or timestamps12in the candidate contact instances16), information from one or more other elements of the processor200(e.g., threshold values from the generator202), and/or other information from databases30, networks20, administrators40, trusted authorities40.

For each candidate contact instance16(including candidate contact instances16generated by the candidate contact processor220and/or user devices10), the inaccuracy processor234is configurable or configured to derive/generate an inaccuracy score for each candidate contact instance16based on such received information. The inaccuracy score for each candidate contact instance represents a likelihood that the candidate contact instance16is inaccurate or incorrect.

In deriving an inaccuracy score for each candidate contact instance16, the inaccuracy processor234is configurable or configured to derive a likelihood that the distance between the geolocation11in the candidate first user information set15(for the first user10) and the geolocation11in the candidate second user information set15(for the second user10), as derived by the candidate contact processor220, is inaccurate and/or incorrect. For example, if the geolocation11for one or more of the users10in the candidate contact instance16was generated by the user device10based on a weaker signal and/or had a certain tolerance or error, then such uncertainty, tolerance, and/or error of the geolocation11for the one or more users10may increase the inaccuracy score for the candidate contact instance16(and/or result in the distance between the geolocations11for the users10to be a range of distance values instead of a single distance value). As another example, if a first geolocation11for a user10in the candidate contact instance16(which includes the first geolocation11for the user10and a first timestamp12for the user10) deviates from and/or does not follow an expected/predicted path/pattern of other geolocations11for the user10(e.g., geolocations11for the user10before and/or after the candidate contact instance16, that is before and/or after the first timestamp12), then such deviated and/or unexpected/unpredicted first geolocation11for the user10may increase the inaccuracy score for the candidate contact instance16(and/or result in the distance between the geolocations11for the users10to be a range of distance values instead of a single distance value).

In addition or alternatively, the inaccuracy processor234is configurable or configured to derive a likelihood that the distance between the geolocation11in the candidate first user information set15(for the first user10) and geolocation11in the candidate second user information set15(for the second user10) is not less than a threshold distance value. The threshold distance value used to determine such likelihood may be dynamically generated by the threshold distance generator203for each candidate contact instance16. Alternatively, the threshold distance generator203may provide a default or pre-selected threshold distance value to determine such likelihood.

In addition to or alternatively, the inaccuracy processor234is configurable or configured to derive a likelihood that the time between the timestamp12in the candidate first user information set15(for the first user10) and the timestamp12in the candidate second user information set15(for the second user10), as derived by the candidate contact processor220, is inaccurate and/or incorrect. For example, if the timestamp12for one or more of the users10in the candidate contact instance16was generated by the user device10and such timestamp12deviates from a receipt time (e.g., time when the main interface201and/or one or more other elements of the processor200received the information set for the user10), then such uncertainty, deviation, and/or error of the timestamp12for the one or more users10may increase the inaccuracy score for the candidate contact instance16(and/or result in the time between the timestamps12for the users10to be a range of time values instead of a single time value). As another example, if a first timestamp12for a user10in the candidate contact instance16(which includes a first geolocation11for the user10and the first timestamp12for the user10) deviates from and/or does not follow an expected/predicted path/pattern of other timestamps12for the user10(e.g., timestamps12for the user10before and/or after the candidate contact instance16, that is before and/or after the first timestamp12), then such deviated and/or unexpected/unpredicted first timestamp12for the user10may increase the inaccuracy score for the candidate contact instance16(and/or result in the time between timestamps12for the users10to be a range of distance time instead of a single time value).

In addition to or alternatively, the inaccuracy processor234is configurable or configured to derive a likelihood that the time between the timestamp12in the candidate first user information set15(first user10) and timestamp12in the candidate second user information set15(second user10) is not less than a threshold time value. The threshold time value used to determine such likelihood may be dynamically generated by the threshold time generator204for each candidate contact instance16. Alternatively, the threshold time generator204may provide a default or pre-selected threshold time value to determine such likelihood.

The inaccuracy score for each candidate contact instance16is then generated by the inaccuracy processor234based on one or more of the above likelihoods, including: the likelihood that the distance between the geolocation11in the candidate first user information set15(for the first user10) and the geolocation11in the candidate second user information set15(for the second user10), as derived by the candidate contact processor220, is inaccurate and/or incorrect; the likelihood that the distance between the geolocation11in the candidate first user information set15(for the first user10) and the geolocation11in the candidate second user information set15(for the second user10), as derived by the candidate contact processor220, is not less than the threshold distance value; the likelihood that the time between the timestamp12in the candidate first user information set15(for the first user10) and the timestamp12in the candidate second user information set15(for the second user10), as derived by the candidate contact processor220, is inaccurate and/or incorrect; and/or the likelihood that the time between the timestamp12in the candidate first user information set15(for the first user10) and the timestamp12in the candidate second user information set15(for the second user10), as derived by the candidate contact processor220, is not less than the threshold time value.

Once the inaccuracy score for each candidate contact instance16is derived/generated, the inaccuracy score is then provided to the contact instance selector236for use, in addition to or in replacement of the non-contact score of the candidate contact instance16generated by the non-contact processor240(as described below and in the present disclosure), to determine whether or not the candidate contact instance16should be selected for further processing by the contact instance notification processor250.

As illustrated inFIG.5, an example embodiment of the physical exposure processor230includes one or more non-contact processors (e.g., non-contact processor240). The non-contact processor240is configurable or configured to receive candidate contact instances16from the assessment interface232, as well as other information from one or more elements of the processor200and/or system100including, but not limited to, information sets15from the candidate contact processor220(e.g., information sets15before and/or after geolocations11and/or timestamps12in the candidate contact instances16), information from one or more other elements of the processor200(e.g., threshold values from generator202), and/or other information from databases30, networks20, administrators/trusted authorities40.

For each candidate contact instance16(including candidate contact instances16generated by the candidate contact processor220and/or user devices10), the non-contact processor240is configurable or configured to derive/generate a non-contact score for the candidate contact instance16. The non-contact score for a candidate contact instance16represents a likelihood that a user10(e.g., the second user10) was not physically exposed to another user10(e.g., the first user10) during the candidate contact instance16. Alternatively or in addition, the non-contact processor240may also derive/generate a contact score for each candidate contact instance16, which represents a likelihood that the second user was physically exposed to the first user during the candidate contact instance16. In such example embodiments, if the non-contact score is in the form of a percentage probability of not being physically exposed (e.g., 25%), then the contact score will be a percentage probability of being physically exposed (e.g., 100%−25%, or 75%).

In an example embodiment, the likelihood that a user10(e.g., the second user10) was physically exposed to another user10(e.g., the first user10) during the candidate contact instance16is based on the non-contact score (or the contact score; and may also include a consideration of the inaccuracy score), and the non-contact score is derived based on at least one or more of the following: a layout analysis (e.g., an analysis, based on one or more floor layouts, of a likelihood of a presence of a physical barrier (e.g., a wall, window, door, screen, floor, etc.), or the like, between the first user10and the second user10during the candidate contact instance16); and/or a map analysis (e.g., an analysis, based on one or more maps, of a likelihood of a presence of a physical barrier (e.g., a wall, window, door, screen, floor, etc.), or the like, between the first user10and the second user10during the candidate contact instance16); and/or a first transportation-based separation analysis (e.g., an analysis, based on one or more maps, of a likelihood that the first user10was in a vehicle and/or the second user10was in a vehicle during the candidate contact instance16); and/or a second transportation-based separation analysis (e.g., an analysis, based on travel speeds of the first user10and the second user10, of a likelihood that the first user10and the second user10were not traveling using the same transport mode during the candidate contact instance16); and/or a third transportation-based separation analysis (e.g., an analysis, based on travel directions of the first user10and the second user10, of a likelihood that the first user10was in a vehicle and/or the second user10was in a vehicle during the candidate contact instance16); and/or a different level analysis (e.g., an analysis, based on one or more floor layouts, a likelihood that the first user10and the second user10were on different levels/floors (e.g., different levels/floors of a building) during the candidate contact instance16).

To perform these processes and/or methods, example embodiments of the non-contact processor240include one or more elements. For example, as illustrated inFIG.6, the non-contact processor240includes one or more analysis selectors241. The non-contact processor240also includes one or more layout analysis processors242. The non-contact processor240also includes one or more map analysis processors243. The non-contact processor240also includes one or more first transportation-based analysis processors244. The non-contact processor240also includes one or more second transportation-based analysis processors245. The non-contact processor240also includes one or more third transportation-based analysis processors246. The non-contact processor240also includes one or more different levels analysis processors247. The non-contact processor240also includes one or more non-contact score generators248. Although the figures may illustrate one analysis selector241, one layout analysis processor242, one map analysis processor243, one first transportation-based analysis processor244, one second transportation-based analysis processor245, one third transportation-based analysis processor246, one different levels analysis processor247, and one non-contact score generator248, it is to be understood in the present disclosure that the non-contact processor240may include more or less than one analysis selector241, more or less than one layout analysis processor242, more or less than one map analysis processor243, more or less than one first transportation-based analysis processor244, more or less than one second transportation-based analysis processor245, more or less than one third transportation-based analysis processor246, more or less than one different levels analysis processor247, and more or less than one non-contact score generator248without departing from the teachings of the present disclosure. It is also to be understood in the present disclosure that, although the functions and/or processes performed by the non-contact processor240are described in the present disclosure as being performed by particular elements of the non-contact processor240, the functions and/or processes performed by a particular element of the non-contact processor240may also be performed by one or more other elements and/or cooperatively performed by more than one element of the processor200without departing from the teachings of the present disclosure. It is also to be understood in the present disclosure that, although the functions and/or processes performed by the non-contact processor240are described in the present disclosure as being performed by particular elements of the non-contact processor240, the functions and/or processes performed by two or more particular elements of the physical exposure processor230may be combined and performed by one element of the processor200without departing from the teachings of the present disclosure.

These elements of the non-contact processor240will now be further described with reference to the accompanying figures.

As illustrated inFIG.6, an example embodiment of the non-contact processor240includes one or more analysis selectors (e.g., analysis selector241). The analysis selector241is configurable or configured to receive candidate contact instances16from the assessment interface232, as well as other information from one or more elements of the processor200and/or system100including, but not limited to, information sets15from the candidate contact processor220(e.g., information sets15before and/or after the geolocations11and/or timestamps12in the candidate contact instances16), information from one or more other elements of the processor200(e.g., threshold values from the generator202), and/or other information from databases30, networks20, administrators40, trusted authorities40.

The analysis selector241is then configurable to select one or more forms of analysis to perform on each of the received candidate contact instances16including, but not limited to: (1) a layout analysis by the layout analysis processor242(e.g., an analysis, based on one or more floor layouts, of a likelihood of a presence of a physical barrier (e.g., a wall, window, door, screen, floor, etc.), or the like, between a user10(e.g., the first user10) and another user10(e.g., the second user10) during the candidate contact instance16); and/or (2) a map analysis by the map analysis processor243(e.g., an analysis, based on one or more maps, of a likelihood of a presence of a physical barrier (e.g., a wall, window, door, screen, floor, etc.), or the like, between a user10(e.g., the first user10) and another user10(e.g., the second user10) during the candidate contact instance16); and/or (3) a first transportation-based separation analysis by the first transportation-based separation analysis processor244(e.g., an analysis, based on one or more maps, of a likelihood that a user10(e.g., the first user10) was in a transportation-related vehicle and/or another user10(e.g., the second user10) was in a transportation-related vehicle (and/or a different vehicle than the first user10) during the candidate contact instance16); and/or (4) a second transportation-based separation analysis by the second transportation-based separation analysis processor245(e.g., an analysis, based on travel speeds of a user10(e.g., the first user10) and another user10(e.g., the second user10), of a likelihood that the first user10and the second user10were not traveling using the same transport mode during the candidate contact instance16and/or a likelihood that the first user10was in a vehicle and/or the second user10was in a vehicle (and/or a different vehicle than the first user10) during the candidate contact instance16); and/or (5) a third transportation-based separation analysis by the third transportation-based separation analysis processor246(e.g., an analysis, based on travel directions of a user10(e.g., the first user10) and another user10(e.g., the second user10), of a likelihood that the first user10and the second user10were not traveling using the same transport mode during the candidate contact instance16and/or a likelihood that the first user10was in a vehicle and/or the second user10was in a vehicle (and/or different vehicle than the first user10) during the candidate contact instance16); and/or (6) a different level analysis by the different levels analysis processor247(e.g., an analysis, based on one or more floor layouts and/or maps, of a likelihood that a user10(e.g., the first user10) and another user10(e.g., the second user10) were on different levels/floors (e.g., different levels or floors of a building, such as a first floor vs a second floor of a shopping ball or office building) during the candidate contact instance16).

For the one or more forms of analysis selected by the analysis selector241to perform on each of the received candidate contact instances16, the analysis selector241(and/or the assessment interface232and/or other elements of the processor200) is/are configurable or configured to provide the candidate contact instances16and other information to the processors242,243,244,245,246, and/or247responsible for such selected analysis.

ii. The Layout Analysis Processor (e.g., Element242).

As illustrated inFIG.6, an example embodiment of the non-contact processor240includes one or more layout analysis processors (e.g., layout analysis processor242). The layout analysis processor242is configurable or configured to receive candidate contact instances16and other information from the analysis selector241(and/or the assessment interface232and/or other elements of the processor200). Each candidate contact instance16received by the layout analysis processor242includes a candidate information set15(for a user10, which includes a geolocation11and timestamp12for the geolocation11) and another candidate information set15(for another user10, which includes a geolocation11and timestamp12for the geolocation11). For example, the layout analysis processor242may receive a first candidate contact instance16having a candidate first user information set15(for a first user10, which includes a first geolocation11for the first user10and first timestamp12for the first geolocation11) and a candidate second user information set15(for a second user10, which includes a second geolocation11for the second user10and second timestamp12for the second geolocation11).

For each first candidate contact instance16, the layout analysis processor242is configurable or configured to derive/generate a likelihood of a presence of a physical barrier between a first geolocation11(i.e., geolocation for a first user10) and a second geolocation11(i.e., geolocation for a second user10) during the first candidate contact instance16(e.g., at a time of a first timestamp12(i.e., timestamp for the first geolocation11), at a time of a second timestamp12(i.e., timestamp for the second geolocation11), and/or at one or more times before, between, and/or after the first timestamp12and/or the second timestamp12) (referred to herein as the “first physical barrier likelihood”). As described above and in the present disclosure, the physical barrier may be and/or include any part of a building, object, fixture, living being or thing, naturally occurring thing, man-made thing, non-man-made thing, etc.; and such a physical barrier, if present during the first candidate contact instance16at a location (referred to herein as a “physical barrier location”, or the like) that corresponds to any location between the first user10(first geolocation11) and second user10(second geolocation11), would result in a reduced, lowered, and/or diminished likelihood of a physical exposure (e.g., a physical exposure of viruses, bacteria, germs, airborne particles, liquid particles, radiation, contaminants, infectants, contagions, etc.) between the first user10and second user10. In an example embodiment, such a reduced likelihood refers to a reduced, lowered, or diminished likelihood when compared to a likelihood of physical exposure between the first user10and second user10in an alternative situation in which there was no physical barrier (or different physical barrier) present between the first user10(first geolocation11) and second user10(second geolocation11) during the first candidate contact instance16. Examples of a physical barrier include, but are not limited to, a wall, window, door, elevator, elevator door, escalator, partition, screen, statue, bookshelf, column/pillar, tree, plant, rock formations, aquarium/water tank, curtain, vehicle, vehicle part (e.g., car door), animal (e.g., horse, etc.), one or more other users10(e.g., a third user10is standing between the first user10and the second user10), floor, ceiling, etc. For example, a likelihood of physical exposure between the first user10(at the first geolocation11) and the second user10(at the second geolocation11) when a wall, window, and/or other physical barrier is located between the first user10(at the first geolocation11) and the second user10(at the second geolocation11) would be less than a likelihood of physical exposure between the first user10(at the first geolocation11) and the second user10(at the second geolocation11) if no wall, window, or any other physical barrier is located between the first user10(at the first geolocation11) and the second user10(at the second geolocation11).

The layout analysis processor242is configurable or configured to derive the first physical barrier likelihood by performing, among other things, an example embodiment of a layout analysis.

In an example embodiment, the layout analysis performed by the layout analysis processor242includes searching, in one or more databases30(e.g., a floor layout database30, one or more sources on the internet (e.g., an internet-accessible repository of floor layouts), other information sources, etc.), for one or more floor layouts/floor plans (and/or maps and/or other information, including those described below and in the present disclosure), or the like, that cover the first geolocation11(for the first user10) and the second geolocation11(for the second user10) (or put differently, cover a geographic area or region that includes the first geolocation11and the second geolocation11). As used in the present disclosure, a floor layout includes, but is not limited to, a drawing illustrating a layout view (or aerial view or view from the top) of rooms, sections, regions/areas, hallways/walkways, physical barriers (e.g., walls, windows, doors, columns, stairs, elevators, escalators, etc.), occupiable or walkable spaces, non-occupiable or non-walkable spaces, fixtures, furniture, and/or other physical features and/or objects; and such drawings are normally to scale. A floor layout may be in any form, format, file type, etc. including, but not limited to, the following file types: DWG, DXF, WMF, EMF, PNG, SVG, BMP, JPG, PDF, etc. For example, one or more parts of each floor layout may include geolocation information, labels, symbols, shapes, references, or the like, that enable the layout analysis processor242to determine whether or not the geographic area/region covered by the floor layout includes the first geolocation11and/or the second geolocation11(e.g., specific points on the floor layout may include geolocations (e.g., coordinates, or the like) and serve as reference points, or the like). Alternatively or in addition, the layout analysis processor242may be configurable or configured to: search, in one or more map databases30, for one or more maps that include or cover the first geolocation11and second geolocation11(and/or a geographic area or region that includes the first geolocation11and second geolocation11); search, in one or more floor layout databases30, for one or more corresponding floor layouts that cover one or more geographic areas or regions in the one or more maps; and overlay, compare, and/or correlate the one or more floor layout(s) over or against (as applicable) the one or more map(s) (or vice versa) to determine and/or confirm the locations of the first geolocation11and second geolocation11on or within the floor layout(s). Alternatively or in addition, the layout analysis processor242may be configurable or configured to: search, in one or more floor layout databases30, for one or more floor layouts; search, in one or more map databases30, for one or more corresponding maps that include or cover the first geolocation11and second geolocation (and/or a geographic area or region that includes the first geolocation11and the second geolocation11); and overlay, compare, and/or correlate the one or more floor layout(s) over or against (as applicable) the one or more map(s) (or vice versa) to determine and/or confirm the locations of the first geolocation11and second geolocation11on or within the floor layout(s). In example embodiments when more than one version, amendment, copy, etc. of a floor layout is found in the searches (e.g., changes to a floor layout), the search may include a consideration of date/time stamps, validity dates, revision/modification/update dates, etc. of the floor layouts in view of the first and second timestamps12to ensure appropriate floor layouts are selected.

It is to be understood in the present disclosure that the searches performed by the layout analysis processor242(and other elements of the non-contact processor240) may also include searching for other information or using other ways (in addition to or alternatively to searches for floor layouts and/or maps) to determine whether or not a physical barrier is present at the physical barrier location. For example, example embodiments of the layout analysis processor242are also configurable or configured to search for image-related information (including video-related information) for one or more geographic areas or regions covering the first geolocation11(for the first user10) and/or the second geolocation11(for the second user10) including, but not limited to, CCTV videos of some or all parts of such geographic areas or regions, photos/images of such geographic areas or regions (e.g., photos/images searchable on the internet, photos/images tagged or linked to one or more geolocations in such geographic area (e.g., photos/images available in map applications, such as Google Maps), photos/images stored on or by a device of the first user10and/or second user10(e.g., provided the first user10and/or second user10provide authorization to search and/or access such photos/images), etc.), satellite images, etc. As used in the present disclosure, a floor layout may include, but is not limited to, conventional floor layouts and floor plans, floor layouts developed for the layout analysis processor242to more easily search and/or analyze, and/or other information (e.g., image-related information, etc. as described above and in the present disclosure).

After obtaining the one or more floor layouts (e.g., a first floor layout), the layout analysis performed by the layout analysis processor242further includes deriving, based on the one or more first floor layouts, a first physical barrier likelihood for the first candidate contact instance16(i.e., a likelihood that a physical barrier is present at a physical barrier location). The first physical barrier likelihood for the first candidate contact instance16is derived by first identifying a first location on the first floor layout. The first location on the first floor layout represent the first geolocation11of the first user10. The layout analysis processor242then identifies a second location on the first floor layout. The second location on the first floor layout represent the second geolocation11of the second user10. The layout analysis processor242then derives, based on the first and second locations on the first floor layout, a likelihood that a physical barrier is present between the first and second locations on the first floor layout. In this regard, the layout analysis processor242is configurable or configured to perform one or more of a plurality of analysis including, but not limited to, image recognition to identify lines, shapes, etc. that may correspond to physical barriers on the first floor layout (e.g., a wall, window, door, elevator, stairs, etc.), character recognition (e.g., OCR) to identify textual descriptions and/or labels for physical barriers on the first floor layout, etc. For example, the layout analysis processor242may include and/or cooperate with one or more forms of artificial intelligence (AI) (e.g., machine learning or deep learning via convolution neural networks for image recognition, etc.) to determine the likelihood that lines, shapes, figures, characters, symbols, etc. found in the first floor layout represent and/or refer to physical barriers. After performing such analysis to identify one or more physical barriers on the first floor layout, the layout analysis processor242then derives/generates the first physical barrier likelihood, which includes one or more of the following likelihood components: a likelihood that the physical barrier identified by such analysis is indeed a physical barrier; a likelihood that the physical barrier identified by such analysis is not located at the physical barrier location (i.e., not at a location between the first geolocation11and the second geolocation11); a likelihood that the first floor layout is not an accurate or correct floor layout; a likelihood that the location of the physical barrier, the first geolocation11of the first user10, the second geolocation11of the second user10, and/or the physical barrier location is/are inaccurate and/or not correct. In an example embodiment, the likelihood components may have equal or different weighting or value.

FIG.7Aillustrates some examples of first locations (i.e., first geolocation11for the first user10) and second locations (i.e., second geolocation11for the second user10) on a first floor layout. In a first example, first location10a(i.e., the first user) and second location10b(i.e., the second user) are identified on the first floor layout without any physical barrier between the first location10aand the second location10b. In this first example, the first physical barrier likelihood will be very low (or zero), the non-contact score for the first contact instance16will be very low (or zero), and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very high. In a second example, first location10c(i.e., the first user) and second location10d(i.e., the second user) are identified on the first floor layout without any physical barrier between the first location10cand the second location10d. However, the first and second locations10cand10dare closer to a wall50cas compared to the first example. In this second example, the first physical barrier likelihood will be low (but slightly higher than the first example because the locations10c,10dare closer to a physical barrier (wall) than the locations10a,10b), the non-contact score for the first contact instance16will be low (also slightly higher than the first example), and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be high (but lower than the first example). In a third example, first location10e(i.e., the first user) and second location10f(i.e., the second user) are identified on the first floor layout with physical barrier50bbetween the first location10aand the second location10b. In this third example, the first physical barrier likelihood will be very high, the non-contact score for the first contact instance16will be very high, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very low. In a fourth example, first location10g(i.e., the first user) and second location10h(i.e., the second user) are identified on the first floor layout without any physical barrier between the first location10gand the second location10h. However, the first and second locations10gand10hare closer to a wall50aas compared to the first and second examples. In this fourth example, the first physical barrier likelihood will be low (but slightly higher than the second example because a distance from the locations10g,10hto the physical barrier (wall)50ais closer than a distance from the locations10c,10dto the physical barrier (wall)50c), the non-contact score for the first contact instance16will be low (slightly higher than the second example), and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be high (lower than the second example).

After the first physical barrier likelihood is derived/generated, the layout analysis processor242is configurable or configured to obtain a threshold physical barrier value from the threshold physical barrier generator206a(e.g., via the main threshold processor202′). The threshold physical barrier value may be dynamically generated by the threshold physical barrier generator206abased on one or more considerations including, but not limited to, one or more of the likelihood components for the first physical barrier likelihood, one or more aspects of the first candidate contact instance16, etc. Alternatively or in addition, the threshold physical barrier value may be a default or predetermined threshold value (or selected from one or more default and/or predetermined threshold values). The layout analysis processor242is then configurable or configured to compare the first physical barrier likelihood with the threshold physical barrier value.

In an example embodiment, the layout analysis processor242is then configurable or configured to provide the first physical barrier likelihood for the first candidate contact instance16to the non-contact score generator248for use in deriving the non-contact score for the first candidate contact instance16(e.g., along with one or more results from other elements of the non-contact processor240, including the map analysis processor243, the first transportation-based analysis processor244, the second transportation-based analysis processor245, the third transportation-based analysis processor246, and/or the different levels analysis processor247). In example embodiments, the layout analysis processor242provides the first physical barrier likelihood to the non-contact score generator248based on a comparison of the first physical barrier likelihood with the threshold physical barrier value. For example, the layout analysis processor242provides the first physical barrier likelihood to the non-contact score generator248when the first physical barrier likelihood is greater than or equal to the threshold physical barrier value.

iii. The Map Analysis Processor (e.g., Element243).

As illustrated inFIG.6, an example embodiment of the non-contact processor240includes one or more map analysis processors (e.g., map analysis processor243). The map analysis processor243is configurable or configured to receive candidate contact instances16and other information from the analysis selector241(and/or the assessment interface232and/or other elements of the processor200). Each candidate contact instance16received by the map analysis processor243includes a candidate information set15(for a user10, which includes a geolocation11and a timestamp12for the geolocation11) and another candidate information set15(for another user10, which includes a geolocation11and a timestamp12for the geolocation11). For example, the map analysis processor243may receive a first candidate contact instance16having a candidate first user information set15(for a first user10, which includes a first geolocation11for the first user10and a first timestamp12for the first geolocation11) and a candidate second user information set15(for a second user10, which includes a second geolocation11for the second user10and a second timestamp12for the second geolocation11).

For each first candidate contact instance16, the map analysis processor243is configurable or configured to derive/generate a likelihood of a presence of a physical barrier between a first geolocation11(i.e., geolocation for a first user10) and a second geolocation11(i.e., geolocation for a second user10) during the first candidate contact instance16(e.g., at a time of a first timestamp12(i.e., timestamp for the first geolocation11), at a time of a second timestamp12(i.e., timestamp for the second geolocation11), and/or at one or more times before, between, and/or after the first timestamp12and/or second timestamp12) (referred to herein as the “second physical barrier likelihood”). In example embodiments, the map analysis processor243may also derive the second physical barrier likelihood by searching and analyzing not just floor layouts, but also maps.

The map analysis processor243is configurable or configured to derive the second physical barrier likelihood by performing, among other things, an example embodiment of a map analysis.

In an example embodiment, the map analysis performed by the map analysis processor243includes searching, in one or more databases30(e.g., a map database30, one or more sources on the internet (e.g., an internet-accessible repository of maps), other information sources, etc.), for one or more maps (and/or floor layouts and/or other information, including those described below and in the present disclosure; referred to herein as a “map”, or the like), or the like, that cover the first geolocation11(for the first user10) and the second geolocation11(for the second user10) (or put differently, cover a geographic area or region that includes the first geolocation11and the second geolocation11). For example, one or more parts of each map may include geolocation information, labels, symbols, references, or the like, that enable the map analysis processor243to determine whether or not the geographic area/region covered by the map includes the first geolocation11and/or the second geolocation11(e.g., specific points on the map may include geolocations (e.g., coordinates, or the like) and serve as reference points, or the like). Alternatively or in addition, the map analysis processor243may be configurable or configured to: search, in one or more map databases30, for one or more maps that include or cover the first geolocation11and the second geolocation (and/or a geographic area or region that includes the first geolocation11and the second geolocation11); search, in one or more floor layout databases30, for one or more corresponding floor layouts that cover one or more geographic areas or regions in the one or more maps; and overlay, compare, and/or correlate the one or more floor layout(s) over or against (as applicable) the one or more map(s) (or vice versa) to determine and/or confirm the locations of the first geolocation11and second geolocation11on or within the floor layout(s). Alternatively or in addition, the map analysis processor243may be configurable or configured to: search, in one or more floor layout databases30, for one or more floor layouts; search, in one or more map databases30, for one or more corresponding maps that include or cover the first geolocation11and the second geolocation (and/or a geographic area or region that includes the first geolocation11and the second geolocation11); and overlay, compare, and/or correlate the one or more floor layout(s) over or against (as applicable) the one or more map(s) (or vice versa) to determine and/or confirm the locations of the first geolocation11and second geolocation11on or within the floor layout(s). In example embodiments when more than one version, amendment, copy, etc. of a map is found in the searches (e.g., changes to a map), the search may include a consideration of date/time stamps, validity dates, revision/modification/update dates, etc. of the map in view of the first and second timestamps12to ensure appropriate maps are selected.

It is to be understood in the present disclosure that the searches performed by the map analysis processor243(and other elements of the non-contact processor240) may also include searching for other information or using other ways (in addition to or alternatively to searches for floor layouts and/or maps) to determine whether or not a physical barrier is present at the physical barrier location. For example, example embodiments of the map analysis processor243are also configurable or configured to search for image-related information (including video-related information) for one or more geographic areas or regions covering the first geolocation11(for the first user10) and/or second geolocation11(for the second user10), as described above for the layout analysis processor242. As used in the present disclosure, a map may include conventional maps (e.g., Google Maps, Apple Maps, etc.), maps developed for the map analysis processor243to more easily search and/or analyze, satellite maps, simplified maps, and/or other information (e.g., image-related information, etc. as described above and in the present disclosure).

After obtaining the one or more maps (e.g., a first map), the map analysis performed by the map analysis processor243further includes deriving, based on the one or more first map layouts, the second physical barrier likelihood for the first candidate contact instance16(i.e., a likelihood that a physical barrier is present at the physical barrier location). The second physical barrier likelihood for the first candidate contact instance16is derived by first identifying a first location on the first map. The first location on the first map represent the first geolocation11of the first user10. The map analysis processor243then identifies a second location on the first map. The second location on the first map represent the second geolocation11of the second user10. The map analysis processor243then derives, based on the first and second locations on the first map, a likelihood that a physical barrier is present between the first and second locations on the first map. In this regard, the map analysis processor243is configurable or configured to perform one or more of a plurality of analysis including, but not limited to, image recognition to identify lines, shapes, etc. that may correspond to physical barriers on the first map (e.g., a wall, window, door, elevator, stairs, etc.), character recognition (e.g., OCR) to identify textual descriptions and/or labels for physical barriers on the first map, etc. For example, the map analysis processor243may include and/or cooperate with one or more forms of artificial intelligence (AI) (e.g., machine learning or deep learning via convolution neural networks for image recognition, etc.) to determine the likelihood that lines, shapes, figures, characters, symbols, etc. found in the first map represent and/or refer to physical barriers. After performing such analysis to identify one or more physical barriers on the first map, the map analysis processor243then derives/generates the second physical barrier likelihood, which includes one or more of the following likelihood components: a likelihood that the physical barrier identified by such analysis is indeed a physical barrier; a likelihood that the physical barrier identified by such analysis is not located at the physical barrier location (i.e., not at a location between the first geolocation11and the second geolocation11); a likelihood that the first map is not an accurate or correct map; a likelihood that the location of the physical barrier, the first geolocation11of the first user10, the second geolocation11of the second user10, and/or the physical barrier location is/are inaccurate and/or not correct. In an example embodiment, the likelihood components may have equal or different weighting or value.

FIG.7Billustrates some examples of first locations (i.e., first geolocation11for the first user10) and second locations (i.e., second geolocation11for the second user10) on a first map. In a first example, first location10a(i.e., the first user) and second location10b(i.e., the second user) are identified on the first map without any physical barrier between the first location10aand the second location10b. In this first example, the first physical barrier likelihood will be very low (or zero), the non-contact score for the first contact instance16will be very low (or zero), and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very high. In a second example, first location10c(i.e., the first user) and second location10d(i.e., the second user) are identified on the first floor layout without any physical barrier between the first location10cand the second location10d. However, the first and second locations10cand10dare closer to physical barrier (building wall)50cas compared to the first example. In this second example, the first physical barrier likelihood will be low (but slightly higher than the first example because the locations10c,10dare closer to a physical barrier (building wall) than the locations10a,10b), the non-contact score for the first contact instance16will be low (also slightly higher than the first example), and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be high (but lower than the first example). In a third example, first location10e(i.e., the first user) and second location10f(i.e., the second user) are identified on the first floor layout with physical barrier (building wall)50cbetween the first location10aand the second location10b. In this third example, the first physical barrier likelihood will be very high, the non-contact score for the first contact instance16will be very high, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very low. In a fourth example, first location10g(i.e., the first user) and second location10h(i.e., the second user) are identified on the first floor layout without any physical barrier between the first location10gand the second location10h. However, the first and second locations10gand10hare closer to a physical barrier (building wall)50cas compared to the first example. In this fourth example, the first physical barrier likelihood will be low (but slightly higher than the first example because a distance from the locations10g,10hto the physical barrier (building wall)50cis closer than a distance from the locations10a,10bto the physical barrier (building wall)50c), the non-contact score for the first contact instance16will be low (also slightly higher than the first example), and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be high (but lower than the first example).

After the second physical barrier likelihood is derived/generated, the map analysis processor243is configurable or configured to obtain a threshold physical barrier value from the threshold physical barrier generator206a(e.g., via main threshold processor202′), as described above for the layout analysis processor242. The map analysis processor243is then configured to compare the second physical barrier likelihood with the threshold physical barrier value.

In an example embodiment, the map analysis processor243is then configurable or configured to provide the second physical barrier likelihood for the first candidate contact instance16to the non-contact score generator248for use in deriving the non-contact score for the first candidate contact instance16(e.g., along with one or more results from other elements of the non-contact processor240, including the layout analysis processor242, the first transportation-based analysis processor244, the second transportation-based analysis processor245, the third transportation-based analysis processor246, and/or the different levels analysis processor247). In example embodiments, the map analysis processor243provides the second physical barrier likelihood to the non-contact score generator248based on a comparison of the second physical barrier likelihood with the threshold physical barrier value. For example, the map analysis processor243provides the second physical barrier likelihood to the non-contact score generator248when the second physical barrier likelihood is greater than or equal to the threshold physical barrier value.

As illustrated inFIG.6, an example embodiment of the non-contact processor240includes one or more first transportation-based analysis processors (e.g., first transportation-based analysis processor244). The first transportation-based analysis processor244is configurable or configured to receive candidate contact instances16and other information from the analysis selector241(and/or the assessment interface232and/or other elements of the processor200). Each candidate contact instance16received by the map analysis processor243includes a candidate information set15(for a user10, which includes a geolocation11and a timestamp12for the geolocation11) and another candidate information set15(for another user10, which includes a geolocation11and a timestamp12for the geolocation11). For example, the first transportation-based analysis processor244may receive a first candidate contact instance16having a candidate first user information set15(for a first user10, which includes a first geolocation11for the first user10and a first timestamp12for the first geolocation11) and a candidate second user information set15(for a second user10, which includes a second geolocation11for the second user10and a second timestamp12for the second geolocation11).

For each first candidate contact instance16, the first transportation-based analysis processor244is configurable or configured to derive/generate a likelihood that: the first user10was in a vehicle (e.g., car, SUV, truck, RV, bus, airplane, train, boat, hyperloop, or other vehicles) at a time and/or location indicated in the candidate first user information set15(i.e., at a time corresponding to the first timestamp12; and when the first geolocation11was recorded); and/or the second user10was in a vehicle (e.g., car, SUV, truck, RV, bus, airplane, train, boat, hyperloop, or other vehicles) at a time and/or location indicated in the candidate second user information set15(i.e., at a time corresponding to the second timestamp12; and when the second geolocation11was recorded); and/or at one or more times and/or locations before and/or after the aforementioned first timestamp12, second timestamp12, first geolocation11, and/or second geolocation11(referred to herein as the “vehicular separation likelihood”).

The first transportation-based analysis processor244is configured to derive the vehicular separation likelihood by performing, among other things, an example embodiment of a first transportation-based separation analysis (or first transportation-based analysis).

In an example embodiment, the first transportation-based separation analysis performed by the first transportation-based analysis processor244includes searching, in one or more databases30(e.g., a map database30, one or more sources on the internet (e.g., an internet-accessible repository of maps), other information sources, etc.), for one or more maps (and/or city plans and/or other information, including those described below and in the present disclosure), or the like, that cover the first geolocation11(for the first user10) and the second geolocation11(for the second user10) (or put differently, cover a geographic area or region that includes the first geolocation11and the second geolocation11). For example, one or more parts of each map may include geolocation information, labels, symbols, references, or the like, that enable the first transportation-based analysis processor244to determine whether or not the geographic area/region covered by the map includes the first geolocation11and/or the second geolocation11(e.g., specific points on the map may include geolocations (e.g., coordinates, or the like) and serve as reference points, or the like). Alternatively or in addition, the first transportation-based analysis processor244may be configurable or configured to: search, in one or more map databases30, for one or more maps that include or cover the first geolocation11and the second geolocation (and/or a geographic area or region that includes the first geolocation11and the second geolocation11); search, in one or more satellite image or vehicular traffic databases30, for one or more corresponding satellite and/or vehicle traffic images (e.g., images indicating the amount of traffic on roads and other pathways intended for vehicular travel) that cover one or more geographic areas or regions in the one or more maps; and overlay, compare, and/or correlate the one or more satellite and/or vehicle traffic images over or against (as applicable) the one or more map(s) (or vice versa) to determine and/or confirm the locations of the first geolocation11and second geolocation11on or within the satellite and/or vehicle traffic images. Alternatively or in addition, the first transportation-based analysis processor244may be configurable or configured to: search, in one or more satellite and/or vehicle traffic databases30, for one or more satellite and/or vehicle traffic images; search, in one or more map databases30, for one or more corresponding maps that include or cover the first geolocation11and the second geolocation (and/or a geographic area or region that includes the first geolocation11and the second geolocation11); and overlay, compare, and/or correlate the one or more satellite and/or vehicle traffic images over or against (as applicable) the one or more map(s) (or vice versa) to determine and/or confirm the locations of the first geolocation11and second geolocation11on or within the satellite and/or vehicle traffic images. In example embodiments when more than one version, amendment, copy, etc. of a map, satellite image, and/or vehicle traffic image is found in the searches (e.g., changes, updates, etc.), the search may include a consideration of date/time stamps, validity dates, revision/modification/update dates, etc. of the image in view of the first and second timestamps12to ensure appropriate images are selected.

It is to be understood in the present disclosure that the searches performed by the first transportation-based analysis processor244(and other elements of the non-contact processor240) may also include searching for other information or using other ways (in addition to or alternatively to searches for maps, satellite images, and/or vehicle traffic images) to determine whether or not the first user10was in a vehicle and/or the second user10was in a transportation vehicle during the first contact instance16. For example, example embodiments of the first transportation-based analysis processor244are also configurable or configured to search for image-related information (including video-related information) for one or more geographic areas or regions covering the first geolocation11(for first user10) and/or the second geolocation11(for second user10), as described above for the layout analysis processor242.

After obtaining the one or more maps (e.g., a first map), the first transportation-based separation analysis performed by the first transportation-based analysis processor244further includes deriving, based on the one or more first map layouts, the vehicular separation likelihood for the first candidate contact instance16(i.e., a likelihood that the first user10was in a vehicle and/or the second user10was in a vehicle during the first contact instance16). The vehicular separation likelihood for the first candidate contact instance16is derived by first identifying a first location on the first map. The first location on the first map represent the first geolocation11of the first user10. The first transportation-based analysis processor244then identifies a second location on the first map. The second location on the first map represent the second geolocation11of the second user10. The first transportation-based analysis processor244then derives, based on the first location on the first map, a likelihood that the first location is within a first transport area on the first map. The first transportation-based analysis processor244also derives, based on the second location on the first map, a likelihood that the second location is within a second transport area on the first map. As used in the present disclosure, a transport area on a map is an area on the map intended as a vehicle transportation area, and includes, but is not limited to, a road, street, avenue, boulevard, highway, freeway, tollway, parking lot, alley, drive-thru (e.g., for a restaurant, supermarket, pharmacy, ATM, disease or virus testing facility, or the like), car wash, etc. Accordingly, a “first transport area” and “second transport area” on the first map will refer to areas on the first map intended as a vehicle transportation area. When needed, the first transportation-based analysis processor244may perform one or more analyses including, but not limited to, image recognition to identify lines, shapes, patterns, etc. that may correspond to vehicle transportation areas on the first map, character recognition (e.g., OCR) to identify textual descriptions and/or labels for vehicle transportation areas on the first map, etc. As example, the first transportation-based analysis processor244may include and/or cooperate with one or more forms of artificial intelligence (AI) (e.g., machine learning or deep learning via convolution neural networks for image recognition, etc.), or the like, that are trained (via maps) and applied to identify regions in a map intended for transportation (e.g., roads, highways, railroad tracks, subway tracks, canals/rivers, etc.), or the like, from lines, shapes, symbols, markings, figures, characters, or the like, found in maps. After performing such analysis to identify one or more vehicle transportation areas on the first map, the first transportation-based analysis processor244then derives/generates the vehicular separation likelihood, which includes one or more of the following likelihood components: a likelihood that the first location is in or within a first transport area; a likelihood that the first user10was in a vehicle during the first contact instance16; a likelihood that the second location is in or within a second transport area; a likelihood that the second user10was in a vehicle during the first contact instance16; a likelihood that the first user10and second user10were in different vehicles during the first user contact instance16; a likelihood that the first user10and the second user10were in the same vehicle during the first user contact instance16; a likelihood that the first map is not an accurate or correct map; a likelihood that the location of the first transport area, the second transport area, the first geolocation11of the first user10, and/or the second geolocation11of the second user10is/are inaccurate and/or not correct. In an example embodiment, the likelihood components may have equal or different weighting or value.

Referring back toFIG.7B, which illustrates some examples of first locations (i.e., first geolocation11for the first user10) and second locations (i.e., second geolocation11for the second user10) on the first map. In a first example for the first transportation-based analysis processor244, first location10i(i.e., the first user) is identified on the first map as being within first transport area51aand second location10j(i.e., the second user) is identified on the first map as being within second transport area51b. In this first example, the vehicular separation likelihood will be high (there is a very high likelihood that the first user is in a vehicle; there is a very high likelihood the second user is in a vehicle; there is a high likelihood that the first and second users are in different vehicles since they are on different lanes (but the lanes are in the same direction, which leaves open a possibility that the first and second users are in the same vehicle and the vehicle is changing lanes)), the non-contact score for the first contact instance16will be high, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be low. In a second example for the first transportation-based analysis processor244, first location10j(i.e., the first user) is identified on the first map as being within first transport area51band second location10k(i.e., the second user) is identified on the first map as not being within any transport area (since the second user is identified as being on a sidewalk and not a vehicular transportation area; which may be determined by also identifying boundary50a). In this second example, the vehicular separation likelihood will be very high (there is a very high likelihood that the first user is in a vehicle; there is a very low likelihood the second user is in a vehicle; and there is a very high likelihood that the first and second users are not in the same vehicle), the non-contact score for the first contact instance16will be very high, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very low. In a third example for the first transportation-based analysis processor244, first location10l(i.e., the first user) is identified on the first map as being within third transport area52aand second location10m(i.e., the second user) is identified on the first map as also being within third transport area52a. In this third example, the vehicular separation likelihood will be medium (there is a very high likelihood that the first user is in a vehicle; there is a very high likelihood the second user is in a vehicle; there is a medium likelihood that the first and second users are in separate vehicles, but also a medium likelihood that the first and second users are in a same vehicle (e.g., a van or bus)), the non-contact score for the first contact instance16will be medium, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be medium. In a fourth example for the first transportation-based analysis processor244, first location10n(i.e., the first user) is identified on the first map as being within fourth transport area52band second location10p(i.e., the second user) is identified on the first map as being within fifth transport area53a. In this fourth example, the vehicular separation likelihood will be very high (there is a very high likelihood that the first user is in a vehicle; there is a very high likelihood the second user is in a vehicle; there is a very high likelihood that the first and second users are in different vehicles since they are on different lanes (which are lanes in the opposite direction)), the non-contact score for the first contact instance16will be very high, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very low. In a fifth example for the first transportation-based analysis processor244, first location10q(i.e., the first user) is identified on the first map as being within fifth transport area53aand second location10r(i.e., the second user) is identified on the first map as being within fifth transport area53a. In this fifth example, the vehicular separation likelihood will be very low (there is a very high likelihood that the first user is in a vehicle; there is a very high likelihood the second user is in a vehicle; but there is a very low likelihood that the first and second users are in different vehicles since they both in the same lane), the non-contact score for the first contact instance16will be very low, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very high.

After the vehicular separation likelihood is derived/generated, the first transportation-based analysis processor244is configurable or configured to obtain a threshold vehicular separation value from the threshold vehicular separation generator206b(e.g., via main threshold processor202′). The threshold vehicular separation value may be dynamically generated by the threshold vehicular separation generator206bbased on one or more considerations including, but not limited to, one or more of the likelihood components for the vehicular separation likelihood, one or more aspects of the first candidate contact instance16, etc. Alternatively or in addition, the threshold vehicular separation value may be a default or predetermined threshold value (or selected from one or more default and/or predetermined threshold values). The first transportation-based analysis processor244is then configured to compare the vehicular separation likelihood with the threshold vehicular separation value.

In an example embodiment, the first transportation-based analysis processor244is then configurable or configured to provide the vehicular separation likelihood for the first candidate contact instance16to the non-contact score generator248for use in deriving the non-contact score for the first candidate contact instance16(e.g., along with one or more results from other elements of the non-contact processor240, including the layout analysis processor242, the map analysis processor243, the second transportation-based analysis processor245, the third transportation-based analysis processor246, and/or the different levels analysis processor247). In example embodiments, the first transportation-based analysis processor244provides the vehicular separation likelihood to the non-contact score generator248based on a comparison of the vehicular separation likelihood with the threshold vehicular separation value. For example, the first transportation-based analysis processor244provides the vehicular separation likelihood to the non-contact score generator248when the vehicular separation likelihood is greater than or equal to the threshold vehicular separation value.

As illustrated inFIG.6, an example embodiment of the non-contact processor240includes one or more second transportation-based analysis processors (e.g., second transportation-based analysis processor245). The second transportation-based analysis processor245is configurable or configured to receive candidate contact instances16and other information from the analysis selector241(and/or the assessment interface232and/or other elements of the processor200). Each candidate contact instance16received by the second transportation-based analysis processor245includes a candidate information set15(for a user10, which includes a geolocation11and a timestamp12for the geolocation11) and another candidate information set15(for another user10, which includes a geolocation11and a timestamp12for the geolocation11). For example, the second transportation-based analysis processor245may receive a first candidate contact instance16having a candidate first user information set15(for a first user10, which includes a first geolocation11for the first user10and a first timestamp12for the first geolocation11) and a candidate second user information set15(for a second user10, which includes a second geolocation11for the second user10and a second timestamp12for the second geolocation11).

For each first candidate contact instance16, the second transportation-based analysis processor245is configurable or configured to derive/generate a likelihood that a user10(e.g., the first user10) and another user10(e.g., the second user10) were not traveling using the same transport mode (e.g., not traveling using a common transport mode; traveling using different transport modes; one of the users10traveling using one transport mode and the other user10not traveling (stationary); etc.) (such likelihood referred to herein as the “first different transport mode likelihood”). As used in the present disclosure, a “transport mode”, or the like, for a user10may refer to any mode of transportation for the user10including, but not limited to, traveling by foot (e.g., walking, jogging, running, etc.) and traveling via some form of transportation vehicle or device (e.g., bicycle, scooter, car, taxi, bus, train, boat, airplane, etc.). In this regard, the first and second users10may be considered as traveling using the same transport mode when the first and second users10are both walking, both in the same vehicle, etc. Similarly, the first and second users10may be considered as not traveling using the same transport mode when the first user10is walking and the second user10is traveling by car; the first user10is walking and the second user10is jogging or cycling; the first user10is traveling in a first car and the second user is traveling in a second car different from the first car; the first user10is walking and the second user10is stationary (not moving); etc.

The second transportation-based analysis processor245is configured to derive the first different transport mode likelihood by performing, among other things, an example embodiment of a second transportation-based separation analysis (or second transportation-based analysis).

In an example embodiment, the second transportation-based separation analysis performed by the second transportation-based analysis processor245includes receiving one or more previous information sets15for the first user10(each referred to herein as a “previous first user information set”, “previous candidate first user information set”, or the like) and/or one or more previous information sets15for the second user10(each referred to herein as a “previous second user information set”, “previous candidate first user information set”, or the like) from the information set processor210(and/or the analysis selector241, the assessment interface232, other elements of the processor200, and/or databases30). Each previous first user information set15received by the second transportation-based analysis processor245includes a first previous geolocation11for the first user10and a first previous timestamp12for the first previous geolocation11(where each first previous timestamp12is a timestamp for a time before the first timestamp12(in the candidate first user information set15); and accordingly, each first previous geolocation11represents a geolocation for the first user10at the first previous timestamp12). Furthermore, each previous second user information set15includes a second previous geolocation11for the second user10and a second previous timestamp12for the second previous geolocation11(where each second previous timestamp12is a timestamp for a time before the second timestamp12(in the candidate second user information set15); and accordingly, each second previous geolocation11represents a geolocation for the second user10at the second previous timestamp12). For example, if the first timestamp12(in the candidate first user information set15) is a timestamp of 10:10:30 am on 2 Feb. 2020, then the first previous timestamps12may be timestamps of 10:10:28 am on 2 Feb. 2020, 10:10:26 am on 2 Feb. 2020, 10:10:24 am on 2 Feb. 2020, 10:10:22 am on 2 Feb. 2020, 10:10:20 am on 2 Feb. 2020, and so on. As another example, if the first timestamp12is a timestamp of 10:10:30 am on 2 Feb. 2020, then the first previous timestamps12may be timestamps of 10:10:29 am on 2 Feb. 2020, 10:10:28 am on 2 Feb. 2020, 10:10:27 am on 2 Feb. 2020, 10:10:26 am on 2 Feb. 2020, 10:10:25 am on 2 Feb. 2020, and so on.

In addition or alternatively to receiving the one or more previous first user information sets15and/or the one or more previous second user information sets15, the second transportation-based separation analysis performed by the second transportation-based analysis processor245may also include receiving one or more subsequent information sets15for the first user10(each referred to herein as a “subsequent first user information set”, “subsequent candidate first user information set”, or the like) and/or one or more subsequent information sets15for the second user10(each referred to herein as a “subsequent second user information set”, “subsequent candidate second user information set”, or the like) from the information set processor210(and/or the analysis selector241, the assessment interface232, other elements of the processor200, and/or databases30). Each subsequent first user information set15includes a first subsequent geolocation11for the first user10and a first subsequent timestamp12for the first subsequent geolocation11(where each first subsequent timestamp12is a timestamp for a time after the first timestamp12(in the candidate first user information set15); and accordingly, each first subsequent geolocation11represents a geolocation for the first user10at the first subsequent timestamp12). Furthermore, each subsequent second user information set15includes a second subsequent geolocation11for the second user10and a second subsequent timestamp12for the second subsequent geolocation11(where each second subsequent timestamp12is a timestamp for a time after the second timestamp12(in the candidate second user information set15); and accordingly, each second subsequent geolocation11represents a geolocation for the second user10at the second subsequent timestamp12). For example, if the first timestamp12is a timestamp of 10:10:30 am on 2 Feb. 2020, then the first subsequent timestamps12may be timestamps of 10:10:32 am on 2 Feb. 2020, 10:10:34 am on 2 Feb. 2020, 10:10:36 am on 2 Feb. 2020, 10:10:38 am on 2 Feb. 2020, 10:10:40 am on 2 Feb. 2020, and so on. As another example, if the first timestamp12is a timestamp of 10:10:30 am on 2 Feb. 2020, then the first subsequent timestamps12may be timestamps of 10:10:31 am on 2 Feb. 2020, 10:10:32 am on 2 Feb. 2020, 10:10:33 am on 2 Feb. 2020, 10:10:34 am on 2 Feb. 2020, 10:10:35 am on 2 Feb. 2020, and so on.

In situations where a user10carries more than one device (e.g., two or more of any of these: a mobile smart phone, another mobile smart phone, a tablet, a smart watch capable of obtaining geolocations, a pair of smart glasses, etc.), an example embodiment is configurable or configured to associate, link, connect, unify, combine, team, etc. the devices together in such a way that the devices cooperate to gather, record, obtain, generate, and/or send information sets15(including candidate information sets15(e.g., first candidate information set15, second candidate information set15, first candidate first user information set15, second candidate first user information set15, first candidate second user information set15, second candidate second user information set15, etc.), previous information sets15(e.g., previous first user information sets15, previous second user information sets15, etc.), subsequent information sets15(e.g., subsequent first user information sets15, subsequent second user information sets15, etc.), etc., as described above and in the present disclosure). For example, in addition or alternatively to having a single user device generate an information set15every 2 seconds, a user10with two devices (e.g., a mobile phone and a smart watch; or two mobile phones) may cooperate to collectively generate information sets15every 2 seconds by having each device share the responsibility of generating information sets15(e.g., in an alternating or staggered manner where devices take turns generating information sets15every 4 seconds; in a shift or periodic manner where devices take turns generating information sets15every 2 seconds for a certain period, such as 1 minute, 5 minutes, 1 hour, etc.; etc.). The processor200is then configurable or configured to identify information sets15coming from different devices of the same user10, in which case all of the information sets15are then stored in databases30and/or provided for further processing by elements of the processor200(as described in the present disclosure) for the user10(e.g., based on the user10and not based on the device; and/or as if the information sets15were generated by one device). Example embodiments may configure the two or more devices to cooperate together in generating the information sets15based on one or more considerations. For example, the two or more devices may cooperate in generating information sets15only when the devices have been confirmed, by one or more of the devices and/or the processor200, to be “together” (e.g., to avoid situations where the user10carries his/her mobile smart phone but leave his/her iPad in his/her car, in which case the devices are not together). Such confirmations that the devices are “together” (i.e., devices are with the user10) may be performed in one or more ways, including, but not limited to, implementing a “handshake” or communication between the devices (e.g., via Bluetooth signals, WiFi signals, NFC signals, etc.); comparing recent and/or current information sets15generated by each device to determine whether the geolocations11are consistent with the devices being together with the user10; and/or comparing information from other sources and/or applications (e.g., a fitness application installed on the devices; an application that tracks geolocation, such as a map application, installed on the devices; in which case, to protect privacy of users, such a comparison may compare the information from such applications and return a comparison outcome only (e.g., yes or no) without using the information for any other purposes). It is recognized in the present disclosure that having user devices cooperate in generating information sets15may enable distributing of processing among more than one device, reducing of processing requirements per device, reducing of power consumption per device, reducing of communication requirements (sending information sets15to the processor200) per device, etc.

After receiving the first candidate contact instance16(including the candidate first user information set15(for the first user10, which includes the first geolocation11for the first user10and the first timestamp12for the first geolocation11) and the candidate second user information set15(for the second user10, which includes the second geolocation11for the second user10and the second timestamp12for the second geolocation11)), the one or more previous first user information sets15, the one or more previous second user information sets15, the one or more subsequent first user information sets15, and/or the one or more subsequent second user information sets15, the second transportation-based separation analysis performed by the second transportation-based analysis processor245further includes deriving the first different transport mode likelihood for the first candidate contact instance16(i.e., a likelihood that the first user10and the second user10were not traveling using the same transport mode during the first contact instance16). The first different transport mode likelihood for the first candidate contact instance16is derived by first deriving a travel speed of the first user10. The travel speed of the first user10is derived based on two or more information sets15for the first user10. For example, the travel speed of the first user10may be derived based on two or more previous first user information sets15prior to the first timestamp12. As another example, the travel speed of the first user10may be derived based on the candidate first user information set15and one or more previous first user information sets15. As another example, the travel speed of the first user10may be derived based on two or more subsequent first user information sets15. As another example, the travel speed of the first user10may be derived based on the candidate first user information set15and one or more subsequent first user information sets15. As another example, the travel speed of the first user10may be derived based on one or more previous first user information sets15and one or more subsequent first user information sets15. As another example, the travel speed of the first user10may be derived based on the candidate first user information set15, one or more previous first user information sets15, and one or more subsequent first user information sets15. For each of these examples, the travel speed of the first user10can be derived by determining a distance travelled (e.g., distance between geolocations11) divided by the time taken to travel (e.g., time between timestamps12). As a more specific example, the second transportation-based analysis processor245may receive a previous first user information set15having a first previous geolocation11and a first previous timestamp12. The second transportation-based analysis processor245may also receive a candidate first user information set15having a first geolocation11and a first timestamp12. To derive a travel speed for the first user10, the second transportation-based analysis processor245first determines a distance between the first previous geolocation11and the first geolocation11, followed by a time between the first previous timestamp12and the first timestamp12, followed by dividing the distance by the time.

The second transportation-based analysis processor245then derives a travel speed of the second user10. The travel speed of the second user10is derived based on two or more information sets15of the second user10. For example, the travel speed of the second user10may be derived based on two or more previous second user information sets15prior to the second timestamp12. As another example, the travel speed of the second user10may be derived based on the candidate second user information set15and one or more previous second user information sets15. As another example, the travel speed of the second user10may be derived based on two or more subsequent second user information sets15. As another example, the travel speed of the second user10may be derived based on the candidate second user information set15and one or more subsequent second user information sets15. As another example, the travel speed of the second user10may be derived based on one or more previous second user information sets15and one or more subsequent second user information sets15. As another example, the travel speed of the second user10may be derived based on the candidate second user information set15, one or more previous second user information sets15, and one or more subsequent second user information sets15. For each of these examples, the travel speed of the second user10can be derived by determining a distance travelled (e.g., distance between geolocations11) divided by the time taken to travel (e.g., time between timestamps12). As a more specific example, the second transportation-based analysis processor245may receive a previous second user information set15having a second previous geolocation11and a second previous timestamp12. The second transportation-based analysis processor245may also receive a candidate second user information set15having a second geolocation11and a second timestamp12. To derive a travel speed for the second user10, the second transportation-based analysis processor245first determines a distance between the second previous geolocation11and the second geolocation11, followed by a time between the second previous timestamp12and the second timestamp12, followed by dividing the distance by the time. In an example embodiment, the previous second user information set15and the candidate second user information set15should be selected for the same or as close as possible to the first previous timestamp12and the first timestamp12used in deriving the travel speed for the first user10.

The second transportation-based analysis processor245then derives, based on a comparison of the travel speed of the first user10and the travel speed of the second user10, a likelihood that the first user10and second user10were not traveling using the same transport mode (i.e., the first different transport mode likelihood). In this regard, if the travel speed of the first user10is the same as the travel speed of the second user10, then the first different transport mode likelihood will be low. If, on the other hand, the travel speed of the first user10is significantly different from the travel speed of the second user10, then the first different transport mode likelihood will be high.

FIG.7Cillustrates some examples of geolocations11of the first user10(which may be first geolocations11, first previous geolocations11, and/or first subsequent geolocations11of the first user11; each of which may be referred to as “first geolocations”11for the examples ofFIG.7C) and geolocations11of the second user10(which may be second geolocations11, second previous geolocations11, and/or second subsequent geolocations11; each of which may be referred to as “second geolocations”11for the examples ofFIG.7C). In a first example, first geolocation10c1(i.e., for the first user10) and second geolocation10d1(i.e., for the second user10) have the same timestamps12. Similarly, first geolocation10c2(i.e., for the first user10) and second geolocation10d2(i.e., for the second user10) have the same timestamps12; first geolocation10c3(i.e., for the first user10) and second geolocation10d3(i.e., for the second user10) have the same timestamps12; first geolocation10c4(i.e., for the first user10) and second geolocation10d4(i.e., for the second user10) have the same timestamps12; and first geolocation10c5(i.e., for the first user10) and second geolocation10d5(i.e., for the second user10) have the same timestamps12. As the distance between any of the two geolocations of the first user10is about the same as the distance between any two corresponding geolocations of the second user10, the second transportation-based analysis processor245will derive the travel speed for the first user10to be about the same as the travel speed for the second user. In this first example, the first different transport mode likelihood will be very low, the non-contact score for the first contact instance16will be very low, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very high. In a second example, first geolocation10g2(i.e., for the first user10) and second geolocation10h2(i.e., for the second user10) have the same timestamps12. Similarly, first previous geolocation10g1(i.e., for the first user10) and second previous geolocation10h1(i.e., for the second user10) have the same timestamps12; first subsequent geolocation10g3(i.e., for the first user10) and second subsequent geolocation10h3(i.e., for the second user10) have the same timestamps12; and first subsequent geolocation10g4(i.e., for the first user10) and second subsequent geolocation10h4(i.e., for the second user10) have the same timestamps12. In this second example, the travel speed for the first user10will be significantly different from the travel speed for the second user10. In this second example, the first different transport mode likelihood will be very high, the non-contact score for the first contact instance16will be very high, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very low. In a third example, first geolocation10a1(i.e., for the first user10) and second geolocation10b1(i.e., for the second user10) have the same timestamps12. Similarly, first subsequent geolocation10a2(i.e., for the first user10) and second subsequent geolocation10b2(i.e., for the second user10) have the same timestamps12; first subsequent geolocation10a3(i.e., for the first user10) and second subsequent geolocation10b3(i.e., for the second user10) have the same timestamps12; first subsequent geolocation10b4(i.e., for the first user10) and second subsequent geolocation10b4(i.e., for the second user10) have the same timestamps12; and first subsequent geolocation10b5(i.e., for the first user10) and second subsequent geolocation10b5(i.e., for the second user10) have the same timestamps12. In this third example, the travel speed for the first user10will be significantly different from the travel speed for the second user10(which will be zero since the second user10is stationary or not moving). In this third example, the first different transport mode likelihood will be very high, the non-contact score for the first contact instance16will be very high, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very low. In a fourth example, first geolocation10e1(i.e., for the first user10) and second geolocation10f1(i.e., for the second user10) have the same timestamps12. Similarly, first geolocation10e2(i.e., for the first user10) and second geolocation10f2(i.e., for the second user10) have the same timestamps12; first geolocation10e3(i.e., for the first user10) and second geolocation10f3(i.e., for the second user10) have the same timestamps12; first geolocation10e4(i.e., for the first user10) and second geolocation10f4(i.e., for the second user10) have the same timestamps12; and first geolocation10e5(i.e., for the first user10) and second geolocation10f5(i.e., for the second user10) have the same timestamps12. As the distance between any of the two geolocations of the first user10is about the same as the distance between any two corresponding geolocations of the second user10, the second transportation-based analysis processor245will derive the travel speed for the first user10to be about the same as the travel speed for the second user. In this fourth example, the first different transport mode likelihood will be very low, the non-contact score for the first contact instance16will be very low, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very high. However, when the first different transport mode likelihood is combined and/or considered with the first physical barrier likelihood and/or the second physical barrier likelihood, the non-contact score for the first contact instance16for the fourth example will be adjusted to be very high despite the first different transport mode likelihood being very low. Furthermore, the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very low despite the first different transport mode likelihood being very low. It is recognized in this example that the weighting, value, and/or relevance of the results of any given analysis by the non-contact processor240may vary and be based on the results of another analysis by the non-contact processor240.

After the first different transport mode likelihood is derived/generated, the second transportation-based analysis processor245is configurable or configured to obtain a threshold transport mode value from the threshold transport mode generator206c(e.g., via the main threshold processor202′). The threshold transport mode value may be dynamically generated by the threshold transport mode generator206cbased on one or more considerations including, but not limited to, the travel speed of the first user10, the travel speed of the second user10, the difference between the travel speed of the first user10and travel speed of the second user10, one or more aspects of the first candidate contact instance16, etc. Alternatively or in addition, the threshold transport mode value may be a default or predetermined threshold value (or selected from one or more default and/or predetermined threshold values). The second transportation-based analysis processor245is then configurable or configured to compare the first different transport mode likelihood with the threshold transport mode value.

In an example embodiment, the second transportation-based analysis processor245is then configurable or configured to provide the first different transport mode likelihood for the first candidate contact instance16to the non-contact score generator248for use in deriving the non-contact score for the first candidate contact instance16(e.g., along with one or more results from other elements of the non-contact processor240, including the layout analysis processor242, the map analysis processor243, the first transportation-based analysis processor244, the third transportation-based analysis processor246, and/or the different levels analysis processor247). In example embodiments, the second transportation-based analysis processor245provides the first different transport mode likelihood to the non-contact score generator248based on a comparison of the first different transport mode likelihood with the threshold transport mode value. For example, the second transportation-based analysis processor245provides the first different transport mode likelihood to the non-contact score generator248when the first different transport mode likelihood is greater than or equal to the threshold transport mode value.

As illustrated inFIG.6, an example embodiment of the non-contact processor240includes one or more third transportation-based analysis processors (e.g., third transportation-based analysis processor246). The third transportation-based analysis processor246is configurable or configured to receive candidate contact instances16and other information from the analysis selector241(and/or the assessment interface232and/or other elements of the processor200). Each candidate contact instance16received by the third transportation-based analysis processor246includes a candidate information set15(for a user10, which includes a geolocation11and a timestamp12for the geolocation11) and another candidate information set15(for another user10, which includes a geolocation11and a timestamp12for the geolocation11). For example, the third transportation-based analysis processor246may receive a first candidate contact instance16having a candidate first user information set15(for a first user10, which includes a first geolocation11for the first user10and a first timestamp12for the first geolocation11) and a candidate second user information set15(for a second user10, which includes a second geolocation11for the second user10and a second timestamp12for the second geolocation11).

For each first candidate contact instance16, the third transportation-based analysis processor246is configurable or configured to derive/generate a likelihood that a user10(e.g., the first user10) and another user10(e.g., the second user10) were not traveling using the same transport mode (e.g., not traveling using a common transport mode; traveling using different transport modes; one of the users10traveling using one transport mode and the other user10not traveling (stationary); etc.) (such likelihood referred to herein as the “second different transport mode likelihood”).

The third transportation-based analysis processor246is configurable or configured to derive the second different transport mode likelihood by performing, among other things, an example embodiment of a third transportation-based separation analysis (or third transportation-based analysis).

In an example embodiment, the third transportation-based separation analysis performed by the third transportation-based analysis processor246includes receiving one or more previous first user information sets15for the first user10and/or one or more previous second user information sets15for the second user10from the information set processor210(and/or the analysis selector241, the assessment interface232, other elements of the processor200, and/or databases30). Each previous first user information set15received by the third transportation-based analysis processor246includes a first previous geolocation11for the first user10and a first previous timestamp12for the first previous geolocation11(where each first previous timestamp12is a timestamp for a time before the first timestamp12(in the candidate first user information set15); and accordingly, each first previous geolocation11represents a geolocation for the first user10at the first previous timestamp12). Furthermore, each previous second user information set15includes a second previous geolocation11for the second user10and a second previous timestamp12for the second previous geolocation11(where each second previous timestamp12is a timestamp for a time before the second timestamp12(in the candidate second user information set15); and accordingly, each second previous geolocation11represents a geolocation for the second user10at the second previous timestamp12). For example, if the first timestamp12(in the candidate first user information set15) is a timestamp of 10:10:30 am on 2 Feb. 2020, then the first previous timestamps12may be timestamps of 10:10:27 am on 2 Feb. 2020, 10:10:24 am on 2 Feb. 2020, 10:10:21 am on 2 Feb. 2020, 10:10:18 am on 2 Feb. 2020, 10:15:20 am on 2 Feb. 2020, and so on. As another example, if the first timestamp12is a timestamp of 10:10:30 am on 2 Feb. 2020, then the first previous timestamps12may be timestamps of 10:10:26 am on 2 Feb. 2020, 10:10:22 am on 2 Feb. 2020, 10:10:18 am on 2 Feb. 2020, 10:10:14 am on 2 Feb. 2020, 10:10:10 am on 2 Feb. 2020, and so on.

In addition or alternatively to receiving the one or more previous first user information sets15and/or the one or more previous second user information sets15, the third transportation-based separation analysis performed by the third transportation-based analysis processor246may also include receiving one or more subsequent information sets15for the first user10and/or one or more subsequent information sets15for the second user10from the information set processor210(and/or the analysis selector241, the assessment interface232, other elements of the processor200, and/or databases30). Each subsequent first user information set15includes a first subsequent geolocation11for the first user10and a first subsequent timestamp12for the first subsequent geolocation11(where each first subsequent timestamp12is a timestamp for a time after the first timestamp12(in the candidate first user information set15); and accordingly, each first subsequent geolocation11represents a geolocation for the first user10at the first subsequent timestamp12). Furthermore, each subsequent second user information set15includes a second subsequent geolocation11for the second user10and a second subsequent timestamp12for the second subsequent geolocation11(where each second subsequent timestamp12is a timestamp for a time after the second timestamp12(in the candidate second user information set15); and accordingly, each second subsequent geolocation11represents a geolocation for the second user10at the second subsequent timestamp12). For example, if the first timestamp12is a timestamp of 10:10:30 am on 2 Feb. 2020, then the first subsequent timestamps12may be timestamps of 10:10:31.5 am on 2 Feb. 2020, 10:10:33 am on 2 Feb. 2020, 10:10:34.5 am on 2 Feb. 2020, 10:10:36 am on 2 Feb. 2020, 10:10:37.5 am on 2 Feb. 2020, and so on. As another example, if the first timestamp12is a timestamp of 10:10:30 am on 2 Feb. 2020, then the first subsequent timestamps12may be timestamps of 10:10:31 am on 2 Feb. 2020, 10:10:32 am on 2 Feb. 2020, 10:10:33 am on 2 Feb. 2020, 10:10:34 am on 2 Feb. 2020, 10:10:35 am on 2 Feb. 2020, and so on.

In situations where a user10carries more than one device (e.g., two or more of any of these: a mobile smart phone, another mobile smart phone, a tablet, a smart watch capable of obtaining geolocations, a pair of smart glasses, etc.), an example embodiment is configurable or configured to associate, link, connect, unify, combine, team, etc. the devices together in such a way that the devices cooperate to gather, record, obtain, generate, and/or send information sets15(including candidate information sets15(e.g., first candidate information set15, second candidate information set15, first candidate first user information set15, second candidate first user information set15, first candidate second user information set15, second candidate second user information set15, etc.), previous information sets15(e.g., previous first user information sets15, previous second user information sets15, etc.), subsequent information sets15(e.g., subsequent first user information sets15, subsequent second user information sets15, etc.), etc., as described above and in the present disclosure).

The third transportation-based analysis processor246then derives, based on a comparison of the travel direction of the first user10and the travel direction of the second user10, a likelihood that the first user10and second user10were not traveling using the same transport mode (i.e., the second different transport mode likelihood). In this regard, if the travel direction of the first user10is the same as the travel direction of the second user10, then the second different transport mode likelihood will be low. If, on the other hand, the travel direction of the first user10is significantly different from the travel direction of the second user10, then the second different transport mode likelihood will be high.

FIG.7Dillustrates some examples of geolocations11of the first user10(which may be first geolocations11, first previous geolocations11, and/or first subsequent geolocations11of the first user11; each of which may be referred to as “first geolocations”11for the examples ofFIG.7D) and geolocations11of the second user10(which may be second geolocations11, second previous geolocations11, and/or second subsequent geolocations11; each of which may be referred to as “second geolocations”11for the examples ofFIG.7D). In a first example, first geolocation10a1(i.e., for the first user10) and second geolocation10b1(i.e., for the second user10) have the same timestamps12. Similarly, first geolocation10a2(i.e., for the first user10) and second geolocation10b2(i.e., for the second user10) have the same timestamps12; first geolocation10a3(i.e., for the first user10) and second geolocation10b3(i.e., for the second user10) have the same timestamps12; first geolocation10a4(i.e., for the first user10) and second geolocation10b4(i.e., for the second user10) have the same timestamps12; and first geolocation10a5(i.e., for the first user10) and second geolocation10b5(i.e., for the second user10) have the same timestamps12. As a direction of a line drawn between any of the two geolocations of the first user10is about the same direction as a line drawn between any two corresponding geolocations of the second user10(i.e., with same timestamps12), the third transportation-based analysis processor246will derive the travel direction for the first user10to be about the same as the travel direction for the second user10. In this first example, the second different transport mode likelihood will be very low, the non-contact score for the first contact instance16will be very low, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very high. In a second example, first geolocation10c1(i.e., for the first user10) and second geolocation10d1(i.e., for the second user10) have the same timestamps12. Similarly, first geolocation10c2(i.e., for the first user10) and second geolocation10d2(i.e., for the second user10) have the same timestamps12; first geolocation10c3(i.e., for the first user10) and second geolocation10d3(i.e., for the second user10) have the same timestamps12; first geolocation10c4(i.e., for the first user10) and second geolocation10d4(i.e., for the second user10) have the same timestamps12; and first geolocation10c5(i.e., for the first user10) and second geolocation10d5(i.e., for the second user10) have the same timestamps12. As a direction of a line drawn between any of the two geolocations of the first user10is in a different direction as a line drawn between any two corresponding geolocations of the second user10(i.e., with same timestamps12), the third transportation-based analysis processor246will derive the travel direction for the first user10to be different from the travel direction for the second user10. In this second example, the second different transport mode likelihood will be high, the non-contact score for the first contact instance16will be high, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be very low. In a third example, first geolocation10e3(i.e., for the first user10) and second geolocation10f3(i.e., for the second user10) have the same timestamps12. Similarly, first subsequent geolocation10e4(i.e., for the first user10) and second subsequent geolocation10f4(i.e., for the second user10) have the same timestamps12; first subsequent geolocation10e5(i.e., for the first user10) and second subsequent geolocation10f5(i.e., for the second user10) have the same timestamps12; first previous geolocation10e2(i.e., for the first user10) and second previous geolocation10e2(i.e., for the second user10) have the same timestamps12; and first previous geolocation10e1(i.e., for the first user10) and second previous geolocation10e1(i.e., for the second user10) have the same timestamps12. As a direction of a line drawn between any of the two geolocations of the first user10is in a different direction (i.e., directly opposite direction) as a line drawn between any two corresponding geolocations of the second user10(i.e., with same timestamps12), the third transportation-based analysis processor246will derive the travel direction for the first user10to be different from the travel direction for the second user10. In this third example, the different transport mode likelihood will be high, the non-contact score for the first contact instance16will be high, and the risk or likelihood of the second user being physically exposed to the first user (or vice versa) will be low.

After the second different transport mode likelihood is derived/generated, the third transportation-based analysis processor246is configurable or configured to obtain a second threshold transport mode value from the threshold transport mode generator206c(e.g., via the main threshold processor202′). The second threshold transport mode value may be dynamically generated by the threshold transport mode generator206cbased on one or more considerations including, but not limited to, the travel direction of the first user10, the travel direction of the second user10, the difference between the travel direction of the first user10and travel direction of the second user10(e.g., difference between the angles of the directions); or angle between the two directions), one or more aspects of the first candidate contact instance16, etc. Alternatively or in addition, the second threshold transport mode value may be a default or predetermined threshold value (or selected from one or more default and/or predetermined threshold values). The third transportation-based analysis processor246is then configurable or configured to compare the second different transport mode likelihood with the second threshold transport mode value.

In an example embodiment, the third transportation-based analysis processor246is then configurable or configured to provide the second different transport mode likelihood for the first candidate contact instance16to the non-contact score generator248for use in deriving the non-contact score for the first candidate contact instance16(e.g., along with one or more results from other elements of the non-contact processor240, including the layout analysis processor242, the map analysis processor243, the first transportation-based analysis processor244, the third transportation-based analysis processor246, and/or the different levels analysis processor247). In example embodiments, the third transportation-based analysis processor246provides the second different transport mode likelihood to the non-contact score generator248based on a comparison of the second different transport mode likelihood with the second threshold transport mode value. For example, the third transportation-based analysis processor246provides the second different transport mode likelihood to the non-contact score generator248when the second different transport mode likelihood is greater than or equal to the second threshold transport mode value.

vii. The Different Levels Analysis Processor (e.g., Element247).

As illustrated inFIG.6, an example embodiment of the non-contact processor240includes one or more different levels analysis processors (e.g., different levels analysis processor247or different level analysis processor247). The different levels analysis processor247is configurable or configured to receive candidate contact instances16and other information from the analysis selector241(and/or the assessment interface232and/or other elements of the processor200). Each candidate contact instance16received by the different levels analysis processor247includes a candidate information set15(for a user10, which includes a geolocation11and a timestamp12for the geolocation11) and another candidate information set15(for another user10, which includes a geolocation11and a timestamp12for the geolocation11). For example, the different levels analysis processor247may receive a first candidate contact instance16having a candidate first user information set15(for a first user10, which includes a first geolocation11for the first user10and a first timestamp12for the first geolocation11) and a candidate second user information set15(for a second user10, which includes a second geolocation11for the second user10and a second timestamp12for the second geolocation11).

For each first candidate contact instance16, the different levels analysis processor247is configurable or configured to derive/generate a likelihood that the first user10and the second user10were on different levels (or floors) during the first contact instance16(referred to herein as the “different level likelihood” or “different levels likelihood”). The deriving/generating of the different level likelihood includes, but is not limited to, deriving/generating one or more of the following (each of which also referred to herein as a component or consideration for the different level likelihood): (1) a likelihood of a physical barrier between a first previous geolocation11(i.e., a geolocation for the first user10with a timestamp12prior to or before the first timestamp12) and another first previous geolocation11(e.g., a geolocation for the first user10with a timestamp12prior to or before the timestamp12of the first previous geolocation11) (referred to herein as the “first first user previous different level likelihood”); and/or (2) a likelihood of a physical barrier between a first previous geolocation11(i.e., a geolocation for the first user10with a timestamp12prior to or before the first timestamp12) and the first geolocation11(referred to herein as the “second first user previous different level likelihood”); and/or (3) a likelihood of a physical barrier between the first geolocation11and a first subsequent geolocation11(i.e., a geolocation for the first user10with a timestamp12subsequent to or after the first timestamp12) (referred to herein as the “first first user subsequent different level likelihood”); and/or (4) a likelihood of a physical barrier between a first subsequent geolocation11(i.e., a geolocation for the first user10with a timestamp12subsequent to or after the first timestamp12) and another first subsequent geolocation (e.g., a geolocation for the first user10with a timestamp12subsequent to or after the timestamp12of the first subsequent geolocation11) (referred to herein as the “second first user subsequent different level likelihood”); and/or (5) a likelihood of a physical barrier between a second previous geolocation11(i.e., a geolocation for the second user10with a timestamp12prior to or before the second timestamp12) and another second previous geolocation11(e.g., a geolocation for the second user10with a timestamp12prior to or before the timestamp12of the second previous geolocation11) (referred to herein as the “first second user previous different level likelihood”); and/or (6) a likelihood of a physical barrier between a second previous geolocation11(i.e., a geolocation for the second user10with a timestamp12prior to or before the second timestamp12) and the second geolocation11(referred to herein as the “second second user previous different level likelihood”); and/or (7) a likelihood of a physical barrier between the second geolocation11and a second subsequent geolocation11(i.e., a geolocation for the second user10with a timestamp12subsequent to or after the second timestamp12) (referred to herein as the “first second user subsequent different level likelihood”); and/or (8) a likelihood of a physical barrier between a second subsequent geolocation11(i.e., a geolocation for the second user10with a timestamp12subsequent to or after the second timestamp12) and another second subsequent geolocation (e.g., a geolocation for the second user10with a timestamp12subsequent to or after the timestamp12of the second subsequent geolocation11) (referred to herein as the “second second user subsequent different level likelihood”). As described above and in the present disclosure, the physical barrier may be and/or include any part of a building, object, fixture, living being or thing, naturally occurring thing, man-made thing, non-man-made thing, etc.; and such a physical barrier, if present during the first candidate contact instance16at a physical barrier location that corresponds to any location between the first user10(first geolocation11, one or more first previous geolocations11, and/or one or more first subsequent geolocations11) and second user10(second geolocation11, one or more second previous geolocations, and/or one or more second subsequent geolocations11), would result in a reduced, lowered, and/or diminished likelihood of a physical exposure between the first user10and second user10.

The different levels analysis processor247is configurable or configured to derive the different level likelihood, including the first first user previous different level likelihood, the second first user previous different level likelihood, the first first user subsequent different level likelihood, the second first user subsequent different level likelihood, the first second user previous different level likelihood, the second second user previous different level likelihood, the first second user subsequent different level likelihood, and the second second user subsequent different level likelihood, by performing, among other things, an example embodiment of a different level analysis (or different levels analysis).

The different level analysis performed by the different levels analysis processor247includes performing a search, using the first geolocation11and/or the second geolocation11(and/or one or more first previous geolocations11, one or more first subsequent geolocations11, one or more second previous geolocations11, and/or one or more second subsequent geolocations11), for information regarding the first geolocation11and/or second geolocation11(and/or one or more first previous geolocations11, one or more first subsequent geolocations11, one or more second previous geolocations11, and/or one or more second subsequent geolocations11). Such information regarding the first geolocation11and/or second geolocation11(and/or one or more first previous geolocations11, one or more first subsequent geolocations11, one or more second previous geolocations11, and/or one or more second subsequent geolocations11) may include, but is not limited to, information pertaining to, related to, surrounding, associated with, attached to, linked to, encompassing, matching, etc. the first geolocation11and/or second geolocation11(and/or one or more first previous geolocations11, one or more first subsequent geolocations11, one or more second previous geolocations11, and/or one or more second subsequent geolocations11).

For example, the different level analysis may include searching, based on the first geolocation11and/or the second geolocation11, for one or more of the following that include, cover, and/or occupy an area or space in which the first geolocation11and/or second geolocation11are located: one or more addresses (e.g., postal or street address, etc.); one or more building types (e.g., single level building or multi-level building, such as a single level residential home (or bungalow), multi-level residential home, single level office building, multi-level office building, single level retail shop, multi-level retail shop, single level restaurant, multi-level restaurant, single level parking lot, multi-level parking lot, not in a building at all, etc.) and/or building names; one or more building intended purposes (e.g., residential, office, retail, restaurant, etc.); one or more business types and/or business names (if applicable); etc. that includes the first geolocation11and/or second geolocation. With one or more such information, the different level analysis may then identify whether the first geolocation11and/or the second geolocation11is/are in a multi-level building, a single level building, or not in a building at all (e.g., walking outdoors). For example, the different level analysis may search for and determine that the first geolocation11is located within a particular room of a single level retail store (e.g., an Audemars Piguet boutique store; a Lululemon store; a Guardian pharmacy store; etc.). As another example, the different level analysis may search for and determine that the first geolocation11and second geolocation11are located in a multi-level office building (e.g., Marina Bay Financial Centre Tower1, etc.). As another example, the different level analysis may search for and determine that the first geolocation11and second geolocation11are both located outdoors (e.g., Labrador Park, sidewalk along Sukhumvit Road, etc.).

The different level analysis further includes performing an analysis to determine whether or not the first geolocation11and/or the second geolocation11are in a multi-level building, or the like (e.g., a building having multiple levels or floors; any other structure other than a building having multiple levels or floors that allow users10to walk or travel through each level; an underground structure, such as those in a subway or metro train systems (e.g., each station of an MRT system in Singapore, MTR system in Hong Kong, BTS system in Bangkok, TTC system in Toronto, etc.); etc.). In an example embodiment, the different level analysis may determine the first geolocation11and/or the second geolocation11is/are in a multi-level building based on a search of a floor layout database or platform30(as described in the present disclosure). In such an example, if a geographical region covering the first and second geolocations11is found to have more than one floor layout based on such a search, then the different level analysis may determine that the first geolocation11and/or the second geolocation11is/are in a multi-level building. If the different level analysis determines that the first geolocation11and second geolocation11are not in a multi-level building (e.g., a single level retail shop; outdoors; etc.), then the different level likelihood will be low or zero. If, on the other hand, the different level analysis determines that the first geolocation11and second geolocation11are in a multi-level building, then the different level likelihood will be high.

After the different level analysis searches for more information regarding the first geolocation11and the second geolocation11(as described above and in the present disclosure) and determines that the first geolocation11and/or second geolocation11is/are in a multi-level building, or the like, the different level analysis performs a search, in one or more databases or platforms30(e.g., a floor layout database or platform30, one or more sources on the internet (e.g., an internet-accessible repository of floor layouts), other information sources, etc.), for floor layouts, or the like, of the multi-level building that may cover or include the first and second geolocations11(e.g., since, in general, use of geolocation information (e.g., first geolocation11and second geolocation11) alone is presently unable to accurately determine which level the first user10and second user10are located within a multi-level building). Such a search (if not already performed earlier to determine whether or not the first and second geolocations11are in a multi-level building) may include searching for and obtaining a floor layout for some or all of the levels of the multi-level building. Alternatively or in addition, the different levels analysis processor247may be configurable or configured to: search, in one or more map databases or platforms30, for one or more maps that include or cover the first geolocation11and the second geolocation11(and/or a geographic area or region that includes the first geolocation11and the second geolocation11); search, in one or more floor layout databases or platforms30, for corresponding floor layouts of the multi-level building that include or cover one or more geographic areas or regions in the one or more maps; and overlay, compare, and/or correlate the floor layouts of the multi-level building over or against (as applicable) the one or more map(s) (or vice versa) to determine and/or confirm the locations of the first geolocation11and second geolocation11on or within each of the floor layouts. Alternatively or in addition, the different levels analysis processor247may be configurable or configured to: search, in one or more floor layout databases or platforms30, for floor layouts of the multi-level building; search, in one or more map databases or platforms30, for one or more corresponding maps that include or cover the first geolocation11and the second geolocation11(and/or a geographic area or region that includes the first geolocation11and the second geolocation11); and overlay, compare, and/or correlate the floor layouts of the multi-level building over or against (as applicable) the one or more map(s) (or vice versa) to determine and/or confirm the locations of the first geolocation11and second geolocation11on or within the floor layout(s). In example embodiments when more than one version, amendment, copy, etc. of a floor layout is found in the searches (e.g., changes to a floor layout), the search may include a consideration of date/time stamps, validity dates, revision/modification/update dates, etc. of the floor layouts in view of the first and second timestamps12to ensure appropriate floor layouts are selected.

After obtaining the floor layouts for the multi-level building (e.g., a first floor layout for one floor of the multi-level building and second floor layout for another floor of the multi-level building), the different level analysis performed by the different levels analysis processor247further includes identifying, for each obtained floor layout of the multi-level building, a first location on the floor layout. The first location on each floor layout represents the first geolocation11of the first user10(e.g., location of a user10provided on a map, such as Google Maps, Apple Maps, etc.). The different levels analysis processor247then identifies, for each floor layout of the multi-level building, a second location on the floor layout. The second location on each floor layout represents the second geolocation11of the second user10.

The different level analysis performed by the different levels analysis processor247further includes identifying, for each floor layout of the multi-level building, one or more previous first locations on the floor layout. Each previous first location on each floor layout represents a first previous geolocation11of the first user10. The different levels analysis processor247then identifies, for each floor layout of the multi-level building, one or more previous second locations on the floor layout. Each previous second location on each floor layout represents a second previous geolocation11of the second user10.

The different level analysis performed by the different levels analysis processor247further includes identifying, for each floor layout of the multi-level building, one or more subsequent first locations on the floor layout. Each subsequent first location on each floor layout represents a first subsequent geolocation11of the first user10. The different levels analysis processor247then identifies, for each floor layout of the multi-level building, one or more subsequent second locations on the floor layout. Each subsequent second location on each floor layout represents a second subsequent geolocation11of the second user10.

For each floor layout of the multi-level building, the different level analysis performed by the different levels analysis processor247includes deriving/generating, based on a plurality of previous first locations (e.g., for 2-10 previous first locations, or more or less), a likelihood that a physical barrier is present between any two of the previous first locations (i.e., the first first user previous different level likelihood). As described above and in the present disclosure (e.g., for the layout analysis processor242), a physical barrier may be determined between any two of the previous first locations using, among other things, image recognition to identify lines, shapes, etc. that may correspond to physical barriers on the floor layout (e.g., a wall, window, door, elevator, stairs, etc.), character recognition (e.g., OCR) to identify textual descriptions and/or labels for physical barriers on the floor layout, etc. For example, the different levels analysis processor247may include and/or cooperate with one or more forms of artificial intelligence (AI) (e.g., machine learning or deep learning via convolution neural networks for image recognition, etc.) to determine the likelihood that lines, shapes, figures, characters, symbols, etc. found in each floor layout represent and/or refer to physical barriers. If a physical barrier is unlikely to be present between any and all of the previous first locations, then the first first user previous different level likelihood for that particular floor layout is low. If, on the other hand, a physical barrier is likely to be present between any two previous first locations, then the first first user previous different level likelihood for that particular floor layout is high. An overall first first user previous different level likelihood (i.e., for all floor layouts for the multi-level building) is then derived/generated based on the first first user previous different level likelihoods for all the floor layouts for the multi-level building. For example, the overall first first user previous different level likelihood will be: high (when the analysis determines that, for most or all of the floor layouts of the multi-level building, a physical barrier is present (e.g., 60-100%)); medium (when the analysis determined that, for about half of the floor layouts of the multi-level building, a physical barrier is present (e.g., 41-59%)); low (when the analysis determines that, for some of the floor layouts of the multi-level building, a physical barrier is present (e.g., 1-40%)); or undeterminable (when the analysis determines that, for none of the floor layouts of the multi-level building, a physical barrier is present (e.g., 0%)).

Alternatively or in addition, for each floor layout of the multi-level building, the different level analysis performed by the different levels analysis processor247may derive/generate, based on the first location and one or more previous first locations (e.g., for 1-10 previous first locations, or more or less), a likelihood that a physical barrier is present between any two such locations (i.e., the second first user previous different level likelihood). As described above and in the present disclosure (e.g., for the layout analysis processor242), a physical barrier may be determined between any two such locations using, among other things, image recognition to identify lines, shapes, etc. that may correspond to physical barriers on the floor layout (e.g., a wall, window, door, elevator, stairs, etc.), character recognition (e.g., OCR) to identify textual descriptions and/or labels for physical barriers on the floor layout, etc. If a physical barrier is unlikely to be present between any and all such locations, then the second first user previous different level likelihood for that particular floor layout is low. If, on the other hand, a physical barrier is likely to be present between any two such locations, then the second first user previous different level likelihood for that particular floor layout is high. An overall second first user previous different level likelihood (i.e., for all floor layouts for the multi-level building) is then derived/generated based on the second first user previous different level likelihoods for all the floor layouts for the multi-level building. For example, the overall second first user previous different level likelihood will be: high (when the analysis determines that, for most or all of the floor layouts of the multi-level building, a physical barrier is present (e.g., 60-100%)); medium (when the analysis determined that, for about half of the floor layouts of the multi-level building, a physical barrier is present (e.g., 41-59%)); low (when the analysis determines that, for some of the floor layouts of the multi-level building, a physical barrier is present (e.g., 1-40%)); or undeterminable (when the analysis determines that, for none of the floor layouts of the multi-level building, a physical barrier is present (e.g., 0%)).

Alternatively or in addition, for each floor layout of the multi-level building, the different level analysis performed by the different levels analysis processor247may derive/generate, based on a plurality of subsequent first locations (e.g., for 2-10 subsequent first locations, or more or less), a likelihood that a physical barrier is present between any two of the subsequent first locations (i.e., the first first user subsequent different level likelihood). As described above and in the present disclosure (e.g., for the layout analysis processor242), a physical barrier may be determined between any two of the subsequent first locations using, among other things, image recognition to identify lines, shapes, etc. that may correspond to physical barriers on the floor layout (e.g., a wall, window, door, elevator, stairs, etc.), character recognition (e.g., OCR) to identify textual descriptions and/or labels for physical barriers on the floor layout, etc. If a physical barrier is unlikely to be present between any and all of the subsequent first locations, then the first first user subsequent different level likelihood for that particular floor layout is low. If, on the other hand, a physical barrier is likely to be present between any two subsequent first locations, then the first first user subsequent different level likelihood for that particular floor layout is high. An overall first first user subsequent different level likelihood (i.e., for all floor layouts for the multi-level building) is then derived/generated based on the first first user subsequent different level likelihoods for all the floor layouts for the multi-level building. For example, the overall first first user subsequent different level likelihood will be: high (when the analysis determines that, for most or all of the floor layouts of the multi-level building, a physical barrier is present (e.g., 60-100%)); medium (when the analysis determined that, for about half of the floor layouts of the multi-level building, a physical barrier is present (e.g., 41-59%)); low (when the analysis determines that, for some of the floor layouts of the multi-level building, a physical barrier is present (e.g., 1-40%)); or undeterminable (when the analysis determines that, for none of the floor layouts of the multi-level building, a physical barrier is present (e.g., 0%)).

Alternatively or in addition, for each floor layout of the multi-level building, the different level analysis performed by the different levels analysis processor247may derive/generate, based on the first location and one or more subsequent first locations (e.g., for 1-10 subsequent first locations, or more or less), a likelihood that a physical barrier is present between any two such locations (i.e., the second first user subsequent different level likelihood). As described above and in the present disclosure (e.g., for the layout analysis processor242), a physical barrier may be determined between any two such locations using, among other things, image recognition to identify lines, shapes, etc. that may correspond to physical barriers on the floor layout (e.g., a wall, window, door, elevator, stairs, etc.), character recognition (e.g., OCR) to identify textual descriptions and/or labels for physical barriers on the floor layout, etc. If a physical barrier is unlikely to be present between any and all such locations, then the second first user subsequent different level likelihood for that particular floor layout is low. If, on the other hand, a physical barrier is likely to be present between any two such locations, then the second first user subsequent different level likelihood for that particular floor layout is high. An overall second first user subsequent different level likelihood (i.e., for all floor layouts for the multi-level building) is then derived/generated based on the second first user subsequent different level likelihoods for all the floor layouts for the multi-level building. For example, the overall second first user subsequent different level likelihood will be: high (when the analysis determines that, for most or all of the floor layouts of the multi-level building, a physical barrier is present (e.g., 60-100%)); medium (when the analysis determined that, for about half of the floor layouts of the multi-level building, a physical barrier is present (e.g., 41-59%)); low (when the analysis determines that, for some of the floor layouts of the multi-level building, a physical barrier is present (e.g., 1-40%)); or undeterminable (when the analysis determines that, for none of the floor layouts of the multi-level building, a physical barrier is present (e.g., 0%)).

Alternatively or in addition, for each floor layout of the multi-level building, the different level analysis performed by the different levels analysis processor247may derive/generate, based on a plurality of previous second locations (e.g., for 2-10 previous second locations, or more or less), a likelihood that a physical barrier is present between any two of the previous second locations (i.e., the first second user previous different level likelihood). As described above and in the present disclosure (e.g., for the layout analysis processor242), a physical barrier may be determined between any two of the previous second locations using, among other things, image recognition to identify lines, shapes, etc. that may correspond to physical barriers on the floor layout (e.g., a wall, window, door, elevator, stairs, etc.), character recognition (e.g., OCR) to identify textual descriptions and/or labels for physical barriers on the floor layout, etc. If a physical barrier is unlikely to be present between any and all of the previous second locations, then the first second user previous different level likelihood for that particular floor layout is low. If, on the other hand, a physical barrier is likely to be present between any two previous second locations, then the first second user previous different level likelihood for that particular floor layout is high. An overall first second user previous different level likelihood (i.e., for all floor layouts for the multi-level building) is then derived/generated based on the first second user previous different level likelihoods for all the floor layouts for the multi-level building. For example, the overall first second user previous different level likelihood will be: high (when the analysis determines that, for most or all of the floor layouts of the multi-level building, a physical barrier is present (e.g., 60-100%)); medium (when the analysis determined that, for about half of the floor layouts of the multi-level building, a physical barrier is present (e.g., 41-59%)); low (when the analysis determines that, for some of the floor layouts of the multi-level building, a physical barrier is present (e.g., 1-40%)); or undeterminable (when the analysis determines that, for none of the floor layouts of the multi-level building, a physical barrier is present (e.g., 0%)).

Alternatively or in addition, for each floor layout of the multi-level building, the different level analysis performed by the different levels analysis processor247may derive/generate, based on the second location and one or more previous second locations (e.g., for 1-10 previous second locations, or more or less), a likelihood that a physical barrier is present between any two such locations (i.e., the second second user previous different level likelihood). As described above and in the present disclosure (e.g., for the layout analysis processor242), a physical barrier may be determined between any two such locations using, among other things, image recognition to identify lines, shapes, etc. that may correspond to physical barriers on the floor layout (e.g., a wall, window, door, elevator, stairs, etc.), character recognition (e.g., OCR) to identify textual descriptions and/or labels for physical barriers on the floor layout, etc. If a physical barrier is unlikely to be present between any and all such locations, then the second second user previous different level likelihood for that particular floor layout is low. If, on the other hand, a physical barrier is likely to be present between any two such locations, then the second second user previous different level likelihood for that particular floor layout is high. An overall second second user previous different level likelihood (i.e., for all floor layouts for the multi-level building) is then derived/generated based on the second second user previous different level likelihoods for all the floor layouts for the multi-level building. For example, the overall second second user previous different level likelihood will be: high (when the analysis determines that, for most or all of the floor layouts of the multi-level building, a physical barrier is present (e.g., 60-100%)); medium (when the analysis determined that, for about half of the floor layouts of the multi-level building, a physical barrier is present (e.g., 41-59%)); low (when the analysis determines that, for some of the floor layouts of the multi-level building, a physical barrier is present (e.g., 1-40%)); or undeterminable (when the analysis determines that, for none of the floor layouts of the multi-level building, a physical barrier is present (e.g., 0%)).

Alternatively or in addition, for each floor layout of the multi-level building, the different level analysis performed by the different levels analysis processor247may derive/generate, based on a plurality of subsequent second locations (e.g., for 2-10 subsequent second locations, or more or less), a likelihood that a physical barrier is present between any two of the subsequent second locations (i.e., the first second user subsequent different level likelihood). As described above and in the present disclosure (e.g., for the layout analysis processor242), a physical barrier may be determined between any two of the subsequent first locations using, among other things, image recognition to identify lines, shapes, etc. that may correspond to physical barriers on the floor layout (e.g., a wall, window, door, elevator, stairs, etc.), character recognition (e.g., OCR) to identify textual descriptions and/or labels for physical barriers on the floor layout, etc. If a physical barrier is unlikely to be present between any and all of the subsequent second locations, then the first second user subsequent different level likelihood for that particular floor layout is low. If, on the other hand, a physical barrier is likely to be present between any two subsequent second locations, then the first second user subsequent different level likelihood for that particular floor layout is high. An overall first second user subsequent different level likelihood (i.e., for all floor layouts for the multi-level building) is then derived/generated based on the first second user subsequent different level likelihoods for all the floor layouts for the multi-level building. For example, the overall first second user subsequent different level likelihood will be: high (when the analysis determines that, for most or all of the floor layouts of the multi-level building, a physical barrier is present (e.g., 60-100%)); medium (when the analysis determined that, for about half of the floor layouts of the multi-level building, a physical barrier is present (e.g., 41-59%)); low (when the analysis determines that, for some of the floor layouts of the multi-level building, a physical barrier is present (e.g., 1-40%)); or undeterminable (when the analysis determines that, for none of the floor layouts of the multi-level building, a physical barrier is present (e.g., 0%)).

Alternatively or in addition, for each floor layout of the multi-level building, the different level analysis performed by the different levels analysis processor247may derive/generate, based on the second location and one or more subsequent second locations (e.g., for 1-10 subsequent second locations, or more or less), a likelihood that a physical barrier is present between any two such locations (i.e., the second second user subsequent different level likelihood). As described above and in the present disclosure (e.g., for the layout analysis processor242), a physical barrier may be determined between any two such locations using, among other things, image recognition to identify lines, shapes, etc. that may correspond to physical barriers on the floor layout (e.g., a wall, window, door, elevator, stairs, etc.), character recognition (e.g., OCR) to identify textual descriptions and/or labels for physical barriers on the floor layout, etc. If a physical barrier is unlikely to be present between any and all such locations, then the second second user subsequent different level likelihood for that particular floor layout is low. If, on the other hand, a physical barrier is likely to be present between any two such locations, then the second second user subsequent different level likelihood for that particular floor layout is high. An overall second second user subsequent different level likelihood (i.e., for all floor layouts for the multi-level building) is then derived/generated based on the second second user subsequent different level likelihoods for all the floor layouts for the multi-level building. For example, the overall second second user subsequent different level likelihood will be: high (when the analysis determines that, for most or all of the floor layouts of the multi-level building, a physical barrier is present (e.g., 60-100%)); medium (when the analysis determined that, for about half of the floor layouts of the multi-level building, a physical barrier is present (e.g., 41-59%)); low (when the analysis determines that, for some of the floor layouts of the multi-level building, a physical barrier is present (e.g., 1-40%)); or undeterminable (when the analysis determines that, for none of the floor layouts of the multi-level building, a physical barrier is present (e.g., 0%)).

In deriving the different level likelihood, including one or more of the components or considerations of the different level likelihood, the different level analysis processor247may assess one or more of the following: a likelihood that the physical barrier identified by such analysis is indeed a physical barrier; a likelihood that the physical barrier identified by such analysis is not located at the physical barrier location (i.e., not at a location between such locations); a likelihood that the floor layout is not an accurate or correct floor layout; a likelihood that the location of the physical barrier, geolocations11, and/or physical barrier locations are inaccurate and/or not correct.

As an illustrative example, the different level analysis processor247may determine, based on a first geolocation11and a second geolocation11of a first candidate contact instance16, that the first geolocation11and second geolocation are in a multi-level building (e.g., 2 level building), such as based on a search for an address, map(s), and/or floor layout(s), and/or search in other sources30. The different level analysis processor247then obtains a first floor layout (i.e., a floor layout for one of the levels of the multi-level building, such as the floor layout for floor 1F) and a second floor layout (i.e., a floor layout for another one of the levels of the multi-level building, such as the floor layout for floor 2F).FIG.7Eillustrates some examples of first locations (i.e., first geolocation11for the first user10), previous first locations (i.e., first previous geolocations11for the first user10), subsequent first locations (i.e., first subsequent geolocations11for the first user10), second locations (i.e., second geolocation11for the second user10), previous second locations (i.e., second previous geolocations11for the second user10), and subsequent second locations (i.e., second subsequent geolocations11for the second user10) on the first floor layout of the multi-level building, andFIG.7Fillustrates the same first locations, previous first locations, subsequent first locations, second locations, previous second locations, and subsequent second locations on the second floor layout of the multi-level building.

In a third example, a different level analysis is first performed on the first floor layout (e.g., floor 1F) illustrated inFIG.7Eand second floor layout (e.g., floor 2F) illustrated inFIG.7Ffor first location10c3(i.e., first geolocation11for the first user) and second location10d3(i.e., second geolocation11for the second user). The different level analysis includes deriving a first first user previous different level likelihood (first floor layout) for previous first location10c1and previous first location10c2. In doing so, the different level analysis determines that a physical barrier is very unlikely to be present between the previous first locations10c1and10c2on the first floor layout and therefore the first first user previous different level likelihood (first floor layout) for previous first locations10c1and10c2is very low. The different level analysis then derives, based on the second floor layout, a first first user previous different level likelihood (second floor layout) for previous first locations10c1and10c2. In doing so, the different level analysis determines that a physical barrier is very unlikely to be present between previous first locations10c1and10c2on the second floor layout and therefore the first first user previous different level likelihood (second floor layout) for previous first locations10c1and10c2is very low. Based on the first first user previous different level likelihood for all of the floor layouts (e.g., the first floor layout and the second floor layout), an overall first first user previous different level likelihood for previous first locations10c1and10c2is determined to be very low. The different level analysis then derives a second first user previous different level likelihood (first floor layout) for previous first location10c2and first location10c3. In doing so, the different level analysis determines that a physical barrier is very unlikely to be present between the previous first location10c2and first location10c3on the first floor layout and therefore the second first user previous different level likelihood (first floor layout) for previous first location10c2and first location10c3is very low. The different level analysis then derives, based on the second floor layout, a second first user previous different level likelihood (second floor layout) for previous first location10c2and first location10c3. In doing so, the different level analysis determines that a physical barrier is very likely to be present between previous first location10c2and first location10c3on the second floor layout and therefore the second first user previous different level likelihood (second floor layout) for previous first location10c2and first location10c3is very high. For the second user10, the different level analysis determines the first second user previous different level likelihood (first floor layout) for previous second locations10d1and10d2to be very low (i.e., second user stationary or not moving) and the second second user previous different level likelihood (second floor layout) for previous second location10d2and second location10d3to be very low (i.e., second user stationary or not moving). However, the different level analysis will determine the second second subsequent different level likelihood (first floor layout) for the subsequent second locations10d4and10d5to be very high based on a determination that a physical barrier is identified between the subsequent second locations10d4and10d5. In this regard, since the movement from the first previous location10c2to first location10c3for the first user10is not possible in the second floor layout (i.e., physical barrier), the movement from the second previous location10d2to second location10d3for the second user10is possible (i.e., stationary or not moving) in the second floor layout, the movement from the second subsequent location10d4to second subsequent location10d5for the second user10is not possible in the first floor layout (i.e., physical barrier), and the movement from the second subsequent location10d4to second subsequent location10d5for the second user10is possible in the second floor layout, the only possible floor layout that allows for movements for the first user10is the first floor layout and the only possible floor layout that allows for movements for the second user10is the second floor layout. Put differently, the first user10is identified to be on floor 1F and the second user10is identified to be on floor 2F. Accordingly, the different level likelihood for the first candidate contact instance16is determined to be very high, the non-contact score for the first contact instance16is determined to be very high, and the risk or likelihood of the second user10being physically exposed to the first user10(or vice versa) is determined to be very low.

As another example (not shown), the different level analysis processor247may determine, based on a first geolocation11(for a first user10) and a second geolocation11(for a second user10) of a first candidate contact instance16, that the first geolocation11and second geolocation are in a multi-level building (e.g., 10 level or floor building). The different level analysis processor247then obtains floor layouts for all 10 floors of the multi-level building. For each of the floor layouts, the different level analysis processor247performs processing (e.g., based on previous first geolocations11in previous first user information sets15for the first user10, the first geolocation11for the first user10, and/or subsequent first geolocations11in subsequent first user information sets15for the first user10, and such processing may include deriving first first user previous different level likelihood, second first user previous different level likelihood, first first user subsequent different level likelihood, second first user subsequent different level likelihood, and/or one or more other information described above and in the present disclosure) to identify, from among the 10 floor layouts, which of the floor layouts have a likelihood (exceeding a threshold value) that the first user10was on the floor/level corresponding to that floor layout during the first candidate contact instance16. For example, based on the processing of the 10 floor layouts, the different level analysis processor247may identify that there is a likelihood (e.g., exceeding a threshold value) that the first user10was on floors/levels 2, 3, and 5 (i.e., floor layouts for floors/levels 2, 3, and 5 were identified as being likely) during the first candidate contact instance16. Similarly, for each of the floor layouts, the different level analysis processor247performs processing (e.g., based on previous second geolocations11in previous second user information sets15for the second user10, the second geolocation11for the second user10, and/or subsequent second geolocations11in subsequent second user information sets15for the second user10, and such processing may include deriving first second user previous different level likelihood, second second user previous different level likelihood, first second user subsequent different level likelihood, second second user subsequent different level likelihood, and/or one or more other information described above and in the present disclosure) to identify, from among the 10 floor layouts, which of the floor layouts have a likelihood (exceeding a threshold value) that the second user10was on the floor/level corresponding to that floor layout during the first candidate contact instance16. For example, based on the processing of the 10 floor layouts, the different level analysis processor247may identify that there is a likelihood (e.g., exceeding a threshold value) that the second user10was on floors/levels 4, 5, 8, and 10 (i.e., floor layouts for floors/levels 4, 5, 8, and 10 were identified as being likely) during the first candidate contact instance16. In this particular example, there may be at least 12 possible scenarios for the first and second users (e.g., first user10is on floor/level 2 and second user10is on floor/level 4, first user10is on floor/level 2 and second user10is on floor/level 5, first user10is on floor/level 2 and second user10is on floor/level 8, first user10is on floor/level 2 and second user10is on floor/level 10, first user10is on floor/level 3 and second user10is on floor/level 4, first user10is on floor/level 3 and second user10is on floor/level 5, first user10is on floor/level 3 and second user10is on floor/level 8, first user10is on floor/level 3 and second user10is on floor/level 10, first user10is on floor/level 5 and second user10is on floor/level 4, first user10is on floor/level 5 and second user10is on floor/level 5, first user10is on floor/level 5 and second user10is on floor/level 8, and first user10is on floor/level 5 and second user10is on floor/level 10). In this particular example, since there may only be one scenario from among the at least 12 possible scenarios in which both first and second users10are on the same floor/level (i.e., first and second users10are on floor/level 5), the different level likelihood for the first candidate contact instance16may be determined to be very high (e.g.,1in 12 or 8.33% chance of being on same level/floor, or11in 12 or 91.67% chance of being on different levels/floors), the non-contact score for the first contact instance16is determined to be very high, and the risk or likelihood of the second user10being physically exposed to the first user10(or vice versa) is determined to be very low. The layout analysis processor242may also be used to assess a first physical barrier likelihood for floor/level 5 to further refine the non-contact score.

In a similar example to the one above, the different level analysis processor247may determine, based on a first geolocation11(for a first user10) and a second geolocation11(for a second user10) of a first candidate contact instance16, that the first geolocation11and second geolocation are in a multi-level building (e.g., 10 level or floor building). Based on the processing of the 10 floor layouts, the different level analysis processor247may identify that there is a likelihood (exceeding a threshold value) that the first user10was on floors/levels 2, 4, 5, and 8 (i.e., floor layouts for floors/levels 2, 4, 5, and 8 were identified as being likely) during the first candidate contact instance16. The different level analysis processor247may also identify that there is a likelihood (exceeding a threshold value) that the second user10was on floors/levels 4, 5, 8, and 10 (i.e., floor layouts for floors/levels 4, 5, 8, and 10 were identified as being likely) during the first candidate contact instance16. In this particular example, there may be at least 16 possible scenarios for the first and second users (e.g., first user10is on floor/level 2 and second user10is on floor/level 4, first user10is on floor/level 2 and second user10is on floor/level 5, first user10is on floor/level 2 and second user10is on floor/level 8, first user10is on floor/level 2 and second user10is on floor/level 10, first user10is on floor/level 4 and second user10is on floor/level 4, first user10is on floor/level 4 and second user10is on floor/level 5, first user10is on floor/level 4 and second user10is on floor/level 8, first user10is on floor/level 4 and second user10is on floor/level 10, first user10is on floor/level 5 and second user10is on floor/level 4, first user10is on floor/level 5 and second user10is on floor/level 5, first user10is on floor/level 5 and second user10is on floor/level 8, first user10is on floor/level 5 and second user10is on floor/level 10, first user10is on floor/level 8 and second user10is on floor/level 4, first user10is on floor/level 8 and second user10is on floor/level 5, first user10is on floor/level 8 and second user10is on floor/level 8, and first user10is on floor/level 8 and second user10is on floor/level 10). In this particular example, since there may be three scenario from among the at least 16 possible scenarios in which both first and second users10are on the same floor/level (i.e., first and second users10are both on floors/levels 4, 5, or 8), the different level likelihood for the first candidate contact instance16may be determined to be high (e.g.,3in 16 or 18.75% chance of being on same level/floor, or 13 in 16 or 81.25% chance of being on different levels/floors), the non-contact score for the first contact instance16is determined to be high, and the risk or likelihood of the second user10being physically exposed to the first user10(or vice versa) is determined to be low. The layout analysis processor242may also be used to assess a first physical barrier likelihood for floor/level 5 to further refine the non-contact score.

After the different level likelihood is derived/generated (including one or more of the components or considerations of the different level likelihood, as described above and in the present disclosure), the different level analysis processor247is configurable or configured to obtain a threshold different level value from the threshold different level generator206d(e.g., via the main threshold processor202′). The threshold different level value may be dynamically generated by the threshold different level generator206dbased on one or more considerations including, but not limited to, one or more of the components or considerations of the different level likelihood, one or more aspects of the first candidate contact instance16, etc. Alternatively or in addition, the threshold different level value may be a default or predetermined threshold value (or selected from one or more default and/or predetermined threshold values). The different level analysis processor247is then configurable or configured to compare the different level likelihood with the threshold different level value.

In an example embodiment, the different level analysis processor247is then configurable or configured to provide the different level likelihood for the first candidate contact instance16to the non-contact score generator248for use in deriving the non-contact score for the first candidate contact instance16(e.g., along with one or more results from other elements of the non-contact processor240, including the layout analysis processor242, map analysis processor243, the first transportation-based analysis processor244, the second transportation-based analysis processor245, and/or the third transportation-based analysis processor246). In example embodiments, the different level analysis processor247provides the different level likelihood to the non-contact score generator248based on a comparison of the different level likelihood with the threshold different level value. For example, the different level analysis processor247provides the different level likelihood to the non-contact score generator248when the different level likelihood is greater than or equal to the threshold different level value.

As illustrated inFIG.6, an example embodiment of the non-contact processor240includes one or more non-contact score generators (e.g., non-contact score generators248). The non-contact score generators248is configurable or configured to receive results from one or more elements of the non-contact processor240. For example, for each candidate contact instance16, the non-contact score generators248may receive a first physical barrier likelihood and/or other information from the layout analysis processor242. Alternatively or in addition, for each candidate contact instance16, the non-contact score generators248may also receive a second physical barrier likelihood and/or other information from the map analysis processor243. Alternatively or in addition, for each candidate contact instance16, the non-contact score generators248may also receive a vehicular separation likelihood and/or other information from the first transportation-based analysis processor244. Alternatively or in addition, for each candidate contact instance16, the non-contact score generators248may also receive a first different transport mode likelihood and/or other information from the second transportation-based analysis processor245. Alternatively or in addition, for each candidate contact instance16, the non-contact score generators248may also receive a second different transport mode likelihood and/or other information from the second transportation-based analysis processor246. Alternatively or in addition, for each candidate contact instance16, the non-contact score generators248may also receive a different level likelihood and/or other information from the different levels analysis processor247.

Based on the one or more likelihoods received by the non-contact score generator248, as described above and in the present disclosure, the non-contact score generator248is then configurable or configured to generate a non-contact score for each candidate contact instance16. For each candidate contact instance16, a high non-contact score represents a high likelihood that the candidate contact instance16did not result in a physical exposure between the users10(i.e., the first user10and second user10in the candidate contact instance16). For each candidate contact instance16, a low non-contact score represents a low likelihood the candidate contact instance16did not result in a physical exposure between the users10(i.e., the first user10and the second user10in the candidate contact instance16); or put differently, a high likelihood the candidate contact instance16resulted in a physical exposure between the users10.

The results of the non-contact score generator, including the non-contact score for each candidate contact instance16, is then provided to the contact instance selector236.

The Contact Instance Selector (e.g., Element236).

As illustrated inFIG.5, an example embodiment of the physical exposure processor230includes one or more contact instance selectors (e.g., contact instance selectors236). The contact instance selector236is configurable or configured to receive candidate contact instances16. The contact instance selector236is also configurable or configured to receive non-contact scores for each candidate contact instance16from the non-contact processor240. The contact instance selector236may also receive inaccuracy scores for each candidate contact instance16from the inaccuracy processor234. The contact instance selector236is also configurable or configured to receive threshold physical exposure values for each candidate contact instance16from the threshold physical exposure generator207(e.g., via the main threshold processor202′).

In an example embodiment, the threshold physical exposure value may be dynamically generated by the threshold physical exposure generator207based on one or more considerations including, but not limited to, whether the non-contact score and/or the inaccuracy score is being used, one or more results from the various elements of the non-contact processor240, one or more aspects of the candidate contact instance16, etc. Alternatively or in addition, the threshold physical exposure value may be a default or predetermined threshold value (or selected from one or more default and/or predetermined threshold values).

The contact instance selector236is then configurable or configured to select, from among the candidate contact instances16received, selected contact instances. In an example embodiment, the contact instance selector236selects a candidate contact instance16to be a selected contact instance based on a comparison of the non-contact score for the candidate contact instance16and the threshold physical exposure value for the candidate contact instance16. For example, the contact instance selector236selects a candidate contact instance16to be a selected contact instance when the non-contact score for the candidate contact instance16is greater or equal to the threshold physical exposure value for the candidate contact instance16. In another example embodiment, the contact instance selector236selects a candidate contact instance16to be a selected contact instance based on a comparison of the inaccuracy score for the candidate contact instance16and the threshold physical exposure value for the candidate contact instance16. For example, the contact instance selector236selects a candidate contact instance16to be a selected contact instance when the inaccuracy score for the candidate contact instance16is greater or equal to the threshold physical exposure value for the candidate contact instance16. In another example embodiment, the contact instance selector236selects a candidate contact instance16to be a selected contact instance based on a comparison of the non-contact score and the inaccuracy score for the candidate contact instance16and the threshold physical exposure value for the candidate contact instance16. For example, the contact instance selector236selects a candidate contact instance16to be a selected contact instance when the non-contact score and the inaccuracy score for the candidate contact instance16are greater or equal to the threshold physical exposure value for the candidate contact instance16.

Selected contact instances selected by the contact instance selector236are then provided to the contact instance notification processor250.

The Contact Instance Notification Processor (e.g., Element250).

As illustrated inFIG.2, an example embodiment of the processor200includes one or more contact instance notification processors (e.g., contact instance notification processors250). The contact instance notification processor250(and/or the main interface201) is configurable or configured to send information and/or notifications to users10, designated devices installed at particular locations11′, the network20, databases30, and/or administrators40and/or trusted authorities40.

For selected contact instances selected by the contact instance selector236(i.e., candidate contact instances16in which the second user10is identified as having a risk of being physically exposed to the first user10(e.g., when the non-contact score for the candidate contact instance16for the second user10and the first user10is equal to or below a threshold non-contact score)), the contact instance notification processor250is configurable or configured to perform, among other things, one or more of the following: send a notification to an administrator40and/or trusted authority40(e.g., government entity) regarding the risk of physical exposure between a first user10and a second user10(e.g., when the first user10has been identified as a particular user, or vice versa); send a notification to the second user10to inform the second user10of his/her risk of being physically exposed to the first user10(who is a particular user) (the identity of the first user10may or may not be disclosed; in preferred embodiments, the identity of the first user10may remain anonymized from the perspective of the second user10), and such notification may also include other information such as instructions on what to do, where to seek treatment, how to self-isolate, possible symptoms (in some example embodiments, such a notification, when received by a user10, results in an indication or status for the user10(e.g., in a specialized mobile application on the user's mobile phone, such as one required by a governmental entity and/or one that is optional but may be required to be shown before entry by certain entities or companies (such as employers, office buildings, restaurants, businesses, etc.)) that can only be cleared or changed by an administrator40and/or trusted authority40(which may only occur if the user10has received testing and/or treatment or performed required self-isolation and/or quarantine)); send a notification to the first user10to inform the first user10that he/she may have infected another user10(the identity of the second user10may or may not be disclosed; in preferred embodiments, the identity of the second user10may remain anonymized from the perspective of the first user10); generate a location-based information set15′ (similar to a user information set15, but for a location and not for a particular user10) for a particular location11′ (e.g., address, building name, landmark, business name, set of geolocations, etc.) matching or including the geolocations11of the candidate first user information set15and the candidate second user information set15; etc.

In example embodiments where the unique identifier13for a user10(e.g., the first user10, the second user10, etc.) is anonymized in an information set15and/or contact instance16(e.g., anonymized via hashing, encryption, etc.), the contact instance notification processor250is configurable or configured to send information and/or notifications (as described above and in the present disclosure), including the notifications to users10(e.g., the first user10, the second user10, other users10, etc.) and/or notifications to administrator40and/or trusted authority40(e.g., government entity) in one or more ways, including, but not limited to: de-anonymize and/or cooperate with an administrator40and/or trusted authority40to de-anonymize the anonymized unique identifier13(e.g., an administrator40and/or trusted authority40possesses and/or has access to encryption keys, private keys, passwords, etc.); access and/or cooperate with an administrator40and/or trusted authority40to access a secure database30, blockchain30, or the like, that cross-references and/or links the anonymized unique identifier13to a user contact information (e.g., email address, user ID for a dedicated mobile application installed on each user device, mobile number, dedicated address or identifier for a dedicated mobile application installed on each user device, etc.; including an anonymized version of one or more of these); etc.

For example, as referred to herein, a controller, processor, and/or device may be any computing device or communication device, and may include a virtual machine, computer, node, instance, host, or machine in a networked computing environment. Also as referred to herein, a network or cloud may be a collection of machines connected by communication channels that facilitate communications between machines and allow for machines to share resources. Network may also refer to a communication medium between processes on the same machine. Also as referred to herein, a network element, node, or server may be a machine deployed to execute a program operating as a socket listener and may include software instances.

Memory (or storage or database) may comprise any collection and arrangement of volatile and/or non-volatile components suitable for storing data. For example, memory may comprise random access memory (RAM) devices, read-only memory (ROM) devices, magnetic storage devices, optical storage devices, and/or any other suitable data storage devices. In particular embodiments, memory may represent, in part, computer-readable storage media on which computer instructions and/or logic are encoded. Memory may represent any number of memory components within, local to, and/or accessible by a processor.

Various terms used herein have special meanings within the present technical field. Whether a particular term should be construed as such a “term of art” depends on the context in which that term is used. Terms are to be construed in light of the context in which they are used in the present disclosure and as one of ordinary skill in the art would understand those terms in the disclosed context. Definitions provided herein are not exclusive of other meanings that might be imparted to those terms based on the disclosed context.

Words of comparison, measurement, and timing such as “at the time”, “equivalent”, “during”, “complete”, and the like should be understood to mean “substantially at the time”, “substantially equivalent”, “substantially during”, “substantially complete”, etc., where “substantially” means that such comparisons, measurements, and timings are practicable to accomplish the implicitly or expressly stated desired result.

Additionally, the section headings and topic headings herein are provided for consistency with the suggestions under various patent regulations and practice, or otherwise to provide organizational cues. These headings shall not limit or characterize the embodiments set out in any claims that may issue from this disclosure. Specifically, a description of a technology in the “Background” is not to be construed as an admission that technology is prior art to any embodiments in this disclosure. Furthermore, any reference in this disclosure to “invention” in the singular should not be used to argue that there is only a single point of novelty in this disclosure. Multiple inventions may be set forth according to the limitations of the claims issuing from this disclosure, and such claims accordingly define the invention(s), and their equivalents, that are protected thereby. In all instances, the scope of such claims shall be considered on their own merits in light of this disclosure, but should not be constrained by the headings herein.