The present principles generally relate to an apparatus and a method for processing network device activities in a location such as a house or an office building. In one exemplary embodiment, network activities for the devices associated with a location are determined. Devices with correlated periods of network activities are grouped together. The grouped devices are determined to be belonging to the same user and, therefore the population associated with the location can thus be determined.
This section is intended to introduce a reader to various aspects of art, which may be related to various aspects of the present principles that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Today's device rich locations such as households are defined by a group of individuals each possessing a set of network devices. These network devices typically include e.g., smartphones, tablets, and other compute devices such as laptops and desktops. A home gateway or a network based gateway which provides connectivity to a network such as Internet for these devices is typically able to monitor the network activities of these devices associated with the location. Since the network activities of these devices may already be monitored, it is therefore advantageous to be able to make further use of the available information to gain insight into the locations or users associated with the devices.
The present principles recognize that it would be advantageous to be able to determine the population information (e.g., the number of people) associated with a location easily, without having to perform an actual in-person survey, in order to provide a more efficient and less intrusive methodology. The population information associated with a location is valuable since it may be used for, e.g., network management and planning, target marketing or as a form of automated census. As used herewith, a location may be, e.g., a home, an office, a building, a particular networked area served by one or more gateways such as routers, bridges, Wi-Fi access points, and etc. People associated with a particular location may include, e.g., people who live in and/or use the location, and/or people who are connected to a network defined by the location.
Therefore, the present principles recognize that it would be desirable to be able to determine the number of people associated with a location based on the network activities of the devices being monitored. The present principles further recognize that since these devices are uniquely associated with individuals within a location, the network presence or activities of these devices belonging to a single individual is highly correlated. Therefore, if the devices can be grouped together by the correlation of the devices' network activities, the population associated with a location may be determined without much user intervention or manual effort.
The present principles further recognize that having such information may be useful for various applications. For example, a system or content provider may adapt content being delivered to optimize use of available bandwidth or to deliver content of interest and/or appropriate to users in a location and/or appropriate for the devices in use. In addition, the information may be useful for improving the operation of a system such as set top box, digital television or home network. For example, a system providing a user interface may modify or adapt the user interface to improve presentation of information to a user such as presenting information regarding available content in a more effective or personalized manner based on the devices or users present at a location. The system might allow differentiation between types of devices in a particular location such as a home, e.g., devices associated with specific individuals vs. embedded devices that serve a single purpose (e.g., video cameras, Internet of Things (IoT) devices). Single-purpose devices may be on or active all the time and independent of users being present in the home. Security is a significant concern with IoT devices. Knowing that a device may be or is more likely to be an IoT device rather than a personal device may enable a system such as a home network, e.g., via the Internet gateway, to carry out a number of preventive and mitigating actions to protect against issues such as security concerns, e.g., putting such devices on a separate WiFi network, or applying more restrictive security policies. As another example of use of information regarding users and their devices, a system could enable or facilitate improved administration by treating or managing groups of devices. For example, all the devices associated with a single user could be managed en masse. As a specific example, parental control applications require identifying a specific device and then imposing filters and access control lists (web sites that should not be visited, etc.). The system could extend this by applying such policies on _all_ the devices in a group. For example, rather than specifying “Alice's” iPad, one could associate a set of devices with Alice, and then apply the parental control function on all devices identified in accordance with the present principles as being Alice's personal devices.
Accordingly, an exemplary electronic apparatus for estimating a number of network users using a plurality of network devices associated with a location is presented, comprising: a processor configured to monitor a network for producing a plurality of data entries that are applicable to a plurality of time slots, a given data entry applicable to a corresponding time slot and is used to identify a network device exhibiting network activity during the given time slot; the processor is further configured to estimate the number of network users associated with the location wherein the estimation is based on a result of a correlation analysis to the data entries for determining a number of groups of the plurality of network devices, each group comprising a subset of the plurality of network devices, wherein the subset of the plurality of network devices having among them correlated network activity; and wherein the number of groups being indicative of the number of network users associated with the location; and a memory configured to store the estimated number of network users associated with the location.
In another exemplary embodiment, a method performed by an electronic apparatus for estimating a number of network users using a plurality of network devices associated with a location is presented, comprising: monitoring a network, via a processor, for producing a plurality of data entries that are applicable to a plurality of time slots, a given data entry applicable to a corresponding time slot and is used to identify a network device exhibiting network activity during the given time slot; and estimating, via the processor, the number of network users associated with the location wherein the estimating is based on a result of a correlation analysis of the data entries for determining a number of groups of the plurality of network devices, each group comprising a subset of the plurality of network devices, wherein the subset of the plurality of network devices having among them correlated network activity; and wherein the number of groups being indicative of the number of network users associated with the location.
In another exemplary embodiment, a computer program product stored in a non-transitory computer-readable storage medium is presented, comprising computer-executable instructions for estimating a number of network users using a plurality of network devices associated with a location, comprising: monitoring a network, via a processor, for producing a plurality of data entries that are applicable to a plurality of time slots, a given data entry applicable to a corresponding time slot and is used to identify a network device exhibiting network activity during the given time slot; and estimating, via the processor, the number of network users associated with the location wherein the estimating is based on a result of a correlation analysis of the data entries for determining a number of groups of the plurality of network devices, each group comprising a subset of the plurality of network devices, wherein the subset of the plurality of network devices having among them correlated network activity; and wherein the number of groups being indicative of the number of network users associated with the location.
The above-mentioned and other features and advantages of the present principles, and the manner of attaining them, will become more apparent and will be better understood by reference to the following description of embodiments of the present principles taken in conjunction with the accompanying drawings, wherein:
The examples set out herein illustrate exemplary embodiments of the present principles. Such examples are not to be construed as limiting the scope of the present principles in any manner.
The present principles recognize that it would be desirable to determine population information based on the network activities of the devices being monitored. The present principles further recognize that since these devices are uniquely associated with individuals within a location, the network presence or activities of these devices belonging to a single individual is highly correlated. That is, for example, the same individual would turn on and use his or her computer, cellphone, and/or tablet while he or she is at a certain location such as a home or office. Therefore, if the devices associated with that location can be grouped together by the correlation of the devices' network presence and activities, the population information associated with a location may be determined in an automated fashion.
Home internet gateways at home and network gateways at a service provider may monitor and track the network presence of these devices and hence are ideally situated to identify these correlated devices. Therefore, according to the present principles, we present a method to approximately determine the number of individuals in a location such as in e.g., a home. Here, our underlying assumption is that each individual of a household has at least one device that is uniquely owned and operated by them. This may not be true in all cases (e.g., we do not expect infants to have their own device); we only focus on the population that carries at least one networked device. We therefore present an apparatus and method to associate an individual with the devices operated by him or her using the temporal correlation of the network activities of the devices.
The present description illustrates the present principles. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the present principles and are included within its spirit and scope.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the present principles and the concepts contributed by the inventors to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions.
Moreover, all statements herein reciting principles, aspects, and embodiments of the present principles, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
Thus, for example, it will be appreciated by those skilled in the art that the block diagrams presented herein represent conceptual views of illustrative circuitry embodying the present principles. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudocode, and the like represent various processes which may be substantially represented in computer readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (“DSP”) hardware, read-only memory (“ROM”) for storing software, random access memory (“RAM”), and non-volatile storage.
Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
In the claims hereof, any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function. The present principles as defined by such claims reside in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein.
Reference in the specification to “one embodiment”, “an embodiment”, “an exemplary embodiment” of the present principles, or as well as other variations thereof, means that a particular feature, structure, characteristic, and so forth described in connection with the embodiment is included in at least one embodiment of the present principles. Thus, the appearances of the phrase “in one embodiment”, “in an embodiment”, “in an exemplary embodiment”, or as well any other variations, appearing in various places throughout the specification are not necessarily all referring to the same embodiment.
It is to be appreciated that the use of any of the following “/”, “and/or”, and “at least one of”, for example, in the cases of “A/B”, “A and/or B” and “at least one of A and B”, is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of both options (A and B). As a further example, in the cases of “A, B, and/or C” and “at least one of A, B, and C”, such phrasing is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of the third listed option (C) only, or the selection of the first and the second listed options (A and B) only, or the selection of the first and third listed options (A and C) only, or the selection of the second and third listed options (B and C) only, or the selection of all three options (A and B and C). This may be extended, as readily apparent by one of ordinary skill in this and related arts, for as many items listed.
Also shown in
Gateway device 210 is a processor-based device or system and includes one, or more, processors and associated memory (both transitory and non-transitory) as represented by processor 231 and memory 232. In this context, computer programs, or software, (e.g., representing the flow chart of
Also shown in
Additionally, the network gateway device 260 may comprise a processor 261 and a memory 263. The components of the device 260 are interconnected by connections represented by arrows 266 and 267. Device 260 is a processor-based system and includes one, or more, processors and associated memory (both transitory and non-transitory) as represented by processor 261 and memory 263. In this context, computer programs, or software, (e.g., representing the flow chart of
Furthermore, an exemplary system 200 shown in
In accordance with the present principles, a gateway device 210 and/or 260 may implement, e.g., Simple Network Management Protocol (SNMP) to monitor and keep track of network activities or communication traffic on LAN 205. SNMP protocol is a well-known, Internet-standard protocol for monitoring and managing devices on IP networks. Devices that typically support SNMP include routers, switches, servers, workstations, printers, modem racks and more. SNMP is widely used in network management systems to monitor network-attached devices for network activities or conditions that may warrant administrative attention. SNMP is a component of the Internet Protocol Suite as defined by the Internet Engineering Task Force (IETF). It consists of a set of standards for network management and monitoring, including an application layer protocol, a database schema, and a set of data objects. In typical uses of SNMP, one or more administrative computers, called managers, have the task of monitoring or managing a group of hosts or devices on a computer network. Each managed system executes, at all times, a software component called an agent which reports information via SNMP to the manager. Accordingly, an exemplary gateway device 210 and/or an exemplary network server 260 may serve as a SNMP manager to monitor network activities of the devices 221-1 to 221-D in
As shown in
In accordance with an aspect of the present principles, network devices that are active during a given time slot, are statistically more likely to belong to a corresponding group or subset of network devices that are exclusively assigned to an individual associated with the location. In other words, correlated activities among network devices are higher for devices belonging to the same individual than among a mix of network devices belonging to different individuals. This assumption is based on the recognition that the same individual would be most likely to turn on and use at least some or all of her or his devices when, e.g., he or she is at home, while all of his and her devices will have no network activity if the individual is not at home. Therefore, in accordance with the present principles determining the number of individuals associated with the location can be obtained by statistically estimating the number of different highly correlated groups or subsets of the network devices operating in the location, based on their network activities. Although the present principles may be applied to different types of locations as described above, it is recognized that the home environment would probably provide a better result than, e.g., in an office environment. This is because, e.g., most office workers would likely arrive and leave the office at the same time and, therefore, the network activities of some of the devices belonging to different people at an office would probably be inherently more correlated than in a home environment.
According to the present principles and as illustrated in
Continuing with
According to the present principles, an apparatus and method to determine the number of individuals in a home is constructed by finding the number of groups of correlated or highly correlated devices. That is, the devices owned and operated by an individual will be correlated with each other, and less correlated with devices owned by other individuals in the same location. We apply known ways of finding correlations or covariances among a set of variables to the matrix X. One exemplary way is by using Principal Component Analysis (PCA).
As described in the article “Principal Component Analysis for Grouped Data—a Case Study”, Environmentrics, 10, 565-574 (1999), by Thalib, et al., PCA is a statistical technique that provides a linear transformation of an original set of variables into a substantially smaller set of uncorrelated variables, called principal components (PC). PCA represents most of the information in the original set of variables. Much of the variability in the original data can be accounted for by the first few principal components. That is, the first few principal components represent the groups of variables which are highly correlated. Principal component analysis is therefore an analytical technique such that given a data set with p numeric variables, one can compute p principal components. Each principal component is a linear combination of the original variables, with coefficients equal to the eigenvectors of the correlation or covariance matrix. The eigenvectors are customarily taken with unit length. The principal components are sorted by descending order of the eigenvalues, which are equal to the variances of the components.
Also as described in Singular value decomposition and principal component analysis, Ch. 5 of a Practical Approach to Microarray Data Analysis (D. P. Berrar, W. Dubitzky, M. Granzow, eds.) Kluwer: Norwell, Mass., 2003. pp. 91-109. LANL LA-UR-02-4001, one well known way of solving for the principal components of a PCA is to use singular value decomposition (SVD).
Accordingly, to solve the PCA using SVD, we may proceed as follows:
Furthermore, various commercially-available analytical software programs may also be used to solve for the meaningful principal components from the exemplary matrix X 150 shown in
According to the present principles, once a matrix such as the matrix X 150 shown in
where a is, for example, a row vector shown in the matrix X 150 in
According to another exemplary embodiment of the present principles, the clustering of devices in a location as described herewith may be carried out by first filtering out devices that are unlikely to be belonging to an individual, e.g., based on MAC addresses of the network devices. This can be done because MAC addresses are typically assigned in a factory by a manufacturer based on the product type and/or name of the manufacturer. That is, if an MAC address indicates that a device is a 80-inch television made by Sony, it is probably a shared family device and not personal. In addition, the MAC filtering may be carried out either before or after, e.g., the PCA described above is performed.
At step 320 of
As indicated at step 330, the correlation analysis used in step 320 may be, for example, a principal component analysis as previously described. Alternatively, the correlation analysis in step 320 may be by clustering of the network devices based on a distance measurement performed between two rows of the data entries as shown in Equation 1 as previously described, as shown at step 340.
At step 350, MAC addresses of the plurality of network devices may be additionally filtered, at various stages of the process 300, including before and/or after the correlation analysis such as a principal components analysis shown at step 320 and/or step 330. Additionally, a processor capable of executing the exemplary process 300 shown in
The foregoing has provided by way of exemplary embodiments and non-limiting examples a description of the method and systems contemplated by the inventors. It is clear that various modifications and adaptations may become apparent to those skilled in the art in view of the description. However, such various modifications and adaptations fall within the scope of the teachings of the various embodiments described above.
While several embodiments have been described and illustrated herein, those of ordinary skill in the art will readily envision a variety of other means and/or structures for performing the functions and/or obtaining the results and/or one or more of the advantages described herein, and each of such variations and/or modifications is deemed to be within the scope of the present embodiments. More generally, those skilled in the art will readily appreciate that all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and/or configurations will depend upon the specific application or applications for which the teachings herein is/are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific embodiments described herein. It is, therefore, to be understood that the foregoing embodiments are presented by way of example only and that, within the scope of the appended claims and equivalents thereof, the embodiments disclosed may be practiced otherwise than as specifically described and claimed. The present embodiments are directed to each individual feature, system, article, material and/or method described herein. In addition, any combination of two or more such features, systems, articles, materials and/or methods, if such features, systems, articles, materials and/or methods are not mutually inconsistent, is included within the scope of the present embodiment.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 62/407,014, filed Oct. 12, 2016, which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
62407014 | Oct 2016 | US |