Patent Description:
The US Census Bureau defines a household as, "A household includes all the persons who occupy a housing unit. A housing unit is a house, an apartment, a mobile home, a group of rooms, or a single room that is occupied (or if vacant, is intended for occupancy) as separate living quarters. Separate living quarters are those in which the occupants live and eat separately from any other persons in the building and which have direct access from the outside of the building or through a common hall. The occupants may be a single family, one person living alone, two or more families living together, or any other group of related or unrelated persons who share living arrangements. " (See http://quickfacts. gov/gfd/meta/long_HSD310200.

An internet connected household is a household that uses the Internet at home. The US Census Bureau reports there are <NUM>,<NUM>,<NUM> households that use the Internet at home (internet connected households) in the United States. Census Bureau, Current Population Survey, October <NUM>.

An ISP is a company that supplies Internet connectivity to home and business customers. ISPs support one or more forms of Internet access, ranging from modem dial-up to DSL (digital subscriber line) and cable modem broadband service to dedicated T1/T3 lines to satellite or wireless access.

A regional Internet registry (RIR) is an organization that manages the allocation and registration of Internet number resources within a particular region of the world. Internet number resources include IP (internet protocol) addresses and autonomous system (AS) numbers.

The Internet Assigned Numbers Authority (IANA) delegates Internet resources to the RIRs who, in turn, follow their regional policies to delegate resources to their customers, which include Internet service providers and end-user organizations.

Collectively, the RIRs participate in the Number Resource Organization (NRO), formed as a body to represent their collective interests, undertake joint activities, and coordinate their activities globally. The NRO has entered into an agreement with ICANN for the establishment of the Address Supporting Organisation (ASO), which undertakes coordination of global IP addressing policies within the ICANN framework. (See http://en. org/wiki/Regional_Internet_registry).

An IP address is a logical address for a network adapter. Generally speaking, an IP address uniquely identifies computers on a TCP/IP network (transmission control protocol/Internet protocol network).

An IP address can be private - for use on a local area network (LAN) - or public - for use on the Internet or other wide area network (WAN). IP addresses can be determined statically (assigned to a computer by a system administrator) or dynamically (assigned by another device on the network on demand).

Two IP addressing standards are in use today. The IPv4 standard is most familiar to people and supported everywhere on the Internet, but the newer IPv6 standard is planned to replace it and is starting to be deployed.

IPv4 addresses consist of four bytes (<NUM> bits). Each byte of an IP address is known as an octet. Octets can take any value between <NUM> and <NUM>. Various conventions exist for the numbering and use of IP addresses. (See http://compnetworking. com/od/workingwithipaddresses/g/ip-addresses.

TCP/IP is the communication protocol for the Internet. A computer communication protocol is a description of the rules computers must follow to communicate with each other. TCP/IP defines how electronic devices (like computers) should be connected to the Internet, and how data should be transmitted between them. Each computer must have an IP address before it can connect to the Internet and each IP packet must have an address before it can be sent to another computer. (See http://www. com/tcpip/tcpip_intro.

The Hypertext Transfer Protocol provides a standard for Web browsers and servers to communicate. HTTP is an application layer network protocol built on top of TCP. HTTP clients (such as Web browsers) and servers communicate via HTTP request and response messages. (See http://compnetworking. com/od/networkprotocols/g/bldef_http.

<CIT> discloses techniques for transmitting content based on co-location. A computerized method of transmitting content to a first device and a second device includes receiving a first identifier and first location data of the first device, and a second identifier and second location data of the second device. The method includes comparing the first location data with the second location data, and generating a co-location score in response to the comparison. The method includes determining that the co-location score is greater than a threshold, and responsively generating household data indicative of a relationship between the first device and the second device. The method further includes generating and transmitting a report indicating the relationship to a content provider that transmits content to the first device and the second device.

<CIT> discloses a technique for automatically determining relationships between a plurality of mobile devices. For each mobile device in the plurality of mobile devices, characteristics of a user of the mobile device are determined. Based on the characteristics of the users of the mobile devices, a first role of a first user of a first mobile device is determined. Based on the characteristics of the users of the mobile devices, a second role of a second user of a second mobile device is determined. Based on the first role and the second role, a relationship between the first user and the second user is determined. A determination is made that a relationship between the first mobile device and the second mobile device is equal to the relationship between the first user and the second user.

Embodiments of the invention provide for an "Internet Connected Household Identification. " Such an identification is a system for identifying "Households" for use in online media measurement including but not limited to website analytics, consumer interests and profiling, purchase activity, social activity and dynamic content delivery including but not limited to media (music, video, or any multimedia digital streaming format), advertisements, and text/graphic content (articles, links, images, animations, etc.).

The present invention is defined by the independent claim. The dependent claims concern optional elements of some embodiments of the present invention. For the purpose of determining the extent of protection, due account is to be taken of any element which is equivalent to an element specified in the claims.

In the following description, reference is made to the accompanying drawings which form a part hereof, and which is shown, by way of illustration, several embodiments of the present invention. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.

Embodiments of the invention evaluate the IP address associated with a client computer request and determine whether the IP address belongs to an ISP that provides residential internet service. Further determinations are made regarding device activity (from the device associated with the IP address) (e.g., whether it exceeds a threshold level of activity expected from a household), and an IP assignment age (e.g., whether the age of the IP address exceeds a threshold age associated with households). Based on the determinations, a further determination can be made regarding whether the IP address/web request originates from an ICH.

<FIG> is an exemplary hardware and software environment <NUM> used to implement one or more embodiments of the invention. The hardware and software environment includes a computer <NUM> and may include peripherals. Computer <NUM> may be a user/client computer, server computer, or may be a database computer. The computer <NUM> comprises a general purpose hardware processor 104A and/or a special purpose hardware processor 104B (hereinafter alternatively collectively referred to as processor <NUM>) and a memory <NUM>, such as random access memory (RAM). The computer <NUM> may be coupled to, and/or integrated with, other devices, including input/output (I/O) devices such as a keyboard <NUM>, a cursor control device <NUM> (e.g., a mouse, a pointing device, pen and tablet, touch screen, multi-touch device, etc.) and a printer <NUM>. In one or more embodiments, computer <NUM> may be coupled to, or may comprise, a portable or media viewing/listening device <NUM> (e.g., an MP3 player, iPod™, Nook™, portable digital video player, cellular device, personal digital assistant, etc.). In yet another embodiment, the computer <NUM> may comprise a multi-touch device, mobile phone, gaming system, internet enabled television, television set top box, or other internet enabled device executing on various platforms and operating systems.

In one embodiment, the computer <NUM> operates by the general purpose processor 104A performing instructions defined by the computer program <NUM> under control of an operating system <NUM>. The computer program <NUM> and/or the operating system <NUM> may be stored in the memory <NUM> and may interface with the user and/or other devices to accept input and commands and, based on such input and commands and the instructions defined by the computer program <NUM> and operating system <NUM>, to provide output and results.

Output/results may be presented on the display <NUM> or provided to another device for presentation or further processing or action. In one embodiment, the display <NUM> comprises a liquid crystal display (LCD) having a plurality of separately addressable liquid crystals. Alternatively, the display <NUM> may comprise a light emitting diode (LED) display having clusters of red, green and blue diodes driven together to form full-color pixels. Each liquid crystal or pixel of the display <NUM> changes to an opaque or translucent state to form a part of the image on the display in response to the data or information generated by the processor <NUM> from the application of the instructions of the computer program <NUM> and/or operating system <NUM> to the input and commands. The image may be provided through a graphical user interface (GUI) module 118A. Although the GUI module 118A is depicted as a separate module, the instructions performing the GUI functions can be resident or distributed in the operating system <NUM>, the computer program <NUM>, or implemented with special purpose memory and processors.

In one or more embodiments, the display <NUM> is integrated with/into the computer <NUM> and comprises a multi-touch device having a touch sensing surface (e.g., track pod or touch screen) with the ability to recognize the presence of two or more points of contact with the surface. Examples of multi-touch devices include mobile devices (e.g., iPhone™, Nexus S™, Droid™ devices, etc.), tablet computers (e.g., iPad™, HP Touchpad™), portable/handheld game/music/video player/console devices (e.g., iPod Touch™, MP3 players, Nintendo 3DS™ PlayStation Portable™, etc.), touch tables, and walls (e.g., where an image is projected through acrylic and/or glass, and the image is then backlit with LEDs).

Some or all of the operations performed by the computer <NUM> according to the computer program <NUM> instructions may be implemented in a special purpose processor 104B. In this embodiment, some or all of the computer program <NUM> instructions may be implemented via firmware instructions stored in a read only memory (ROM), a programmable read only memory (PROM), or flash memory within the special purpose processor 104B or in memory <NUM>. The special purpose processor 104B may also be hardwired through circuit design to perform some or all of the operations to implement the present invention. Further, the special purpose processor 104B may be a hybrid processor, which includes dedicated circuitry for performing a subset of functions, and other circuits for performing more general functions such as responding to computer program instructions. In one embodiment, the special purpose processor is an application specific integrated circuit (ASIC).

The computer <NUM> may also implement a compiler <NUM> that allows an application program <NUM> written in a programming language such as COBOL, Pascal, C++, FORTRAN, or other language to be translated into processor <NUM> readable code. Alternatively, the compiler <NUM> may be an interpreter that executes instructions/source code directly, translates source code into an intermediate representation that is executed, or that executes stored precompiled code. Such source code may be written in a variety of programming languages such as Java™, Perl™, Basic™, etc. After completion, the application or computer program <NUM> accesses and manipulates data accepted from I/O devices and stored in the memory <NUM> of the computer <NUM> using the relationships and logic that were generated using the compiler <NUM>.

The computer <NUM> also optionally comprises an external communication device such as a modem, satellite link, Ethernet card, or other device for accepting input from, and providing output to, other computers <NUM>.

In one embodiment, instructions implementing the operating system <NUM>, the computer program <NUM>, and the compiler <NUM> are tangibly embodied in a non-transient computer-readable medium, e.g., data storage device <NUM>, which could include one or more fixed or removable data storage devices, such as a zip drive, floppy disc drive <NUM>, hard drive, CD-ROM drive, tape drive, etc. Further, the operating system <NUM> and the computer program <NUM> are comprised of computer program instructions which, when accessed, read and executed by the computer <NUM>, cause the computer <NUM> to perform the steps necessary to implement and/or use the present invention or to load the program of instructions into a memory, thus creating a special purpose data structure causing the computer to operate as a specially programmed computer executing the method steps described herein. Computer program <NUM> and/or operating instructions may also be tangibly embodied in memory <NUM> and/or data communications devices <NUM>, thereby making a computer program product or article of manufacture according to the invention. As such, the terms "article of manufacture," "program storage device," and "computer program product," as used herein, are intended to encompass a computer program accessible from any computer readable device or media.

Of course, those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with the computer <NUM>.

<FIG> schematically illustrates a typical distributed computer system <NUM> using a network <NUM> to connect client computers <NUM> to server computers <NUM>. A typical combination of resources may include a network <NUM> comprising the Internet, LANs (local area networks), WANs ("wide area networks), SNA (systems network architecture) networks, or the like, clients <NUM> that are personal computers or workstations, and servers <NUM> that are personal computers, workstations, minicomputers, or mainframes (as set forth in <FIG>). However, it may be noted that different networks such as a cellular network (e.g., GSM [global system for mobile communications] or otherwise), a satellite based network, or any other type of network may be used to connect clients <NUM> and servers <NUM> in accordance with embodiments of the invention.

A network <NUM> such as the Internet connects clients <NUM> to server computers <NUM>. Network <NUM> may utilize ethernet, coaxial cable, wireless communications, radio frequency (RF), etc. to connect and provide the communication between clients <NUM> and servers <NUM>. Clients <NUM> may execute a client application or web browser and communicate with server computers <NUM> executing web servers <NUM>. Such a web browser is typically a program such as MICROSOFT INTERNET EXPLORER™, MOZILLA FIREFOX™, OPERA™, APPLE SAFARI™, GOOGLE CHROME™, etc. Further, the software executing on clients <NUM> may be downloaded from server computer <NUM> to client computers <NUM> and installed as a plug-in or ACTIVEX™ control of a web browser. Accordingly, clients <NUM> may utilize ACTIVEX™ components/component object model (COM) or distributed COM (DCOM) components to provide a user interface on a display of client <NUM>. The web server <NUM> is typically a program such as MICROSOFT'S INTERNET INFORMATION SERVER™.

Web server <NUM> may host an Active Server Page (ASP) or Internet Server Application Programming Interface (ISAPI) application <NUM>, which may be executing scripts. The scripts invoke objects that execute business logic (referred to as business objects). The business objects then manipulate data in database <NUM> through a database management system (DBMS. Alternatively, database <NUM> may be part of, or connected directly to, client <NUM> instead of communicating/obtaining the information from database <NUM> across network <NUM>. When a developer encapsulates the business functionality into objects, the system may be referred to as a component object model (COM) system. Accordingly, the scripts executing on web server <NUM> (and/or application <NUM>) invoke COM objects that implement the business logic. Further, server <NUM> may utilize MICROSOFT S™ Transaction Server (MTS) to access required data stored in database <NUM> via an interface such as ADO (Active Data Objects), OLE DB (Object Linking and Embedding DataBase), or ODBC (Open DataBase Connectivity).

Generally, these components <NUM>-<NUM> all comprise logic and/or data that is embodied in/or retrievable from device, medium, signal, or carrier, e.g., a data storage device, a data communications device, a remote computer or device coupled to the computer via a network or via another data communications device, etc. Moreover, this logic and/or data, when read, executed, and/or interpreted, results in the steps necessary to implement and/or use the present invention being performed.

Although the terms "user computer", "client computer", and/or "server computer" are referred to herein, it is understood that such computers <NUM> and <NUM> may be interchangeable and may further include thin client devices with limited or full processing capabilities, portable devices such as cell phones, notebook computers, pocket computers, multi-touch devices, and/or any other devices with suitable processing, communication, and input/output capability.

Of course, those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with computers <NUM> and <NUM>.

<FIG> illustrates an additional implementation of a network and communication on such a network in accordance with one or more embodiments of the invention. As consumers/clients <NUM> use the Internet <NUM> to connect with web server(s) <NUM> via HTTP(s), a Public IP address <NUM> is attached to each HTTP request that generates as a result of such web browsing activity.

In a typical scenario, the devices <NUM> inside a household are on a Local Area Network (LAN) <NUM> that is private to the Household <NUM>. The IP address of each device <NUM> (IP addresses <NUM>) within the household <NUM> is assigned by the router <NUM> (or modem <NUM>). The modem <NUM> communicates with and receives Internet access from the ISP <NUM> on a wide area network (WAN) <NUM> that is usually public. The IP address <NUM> assigned to the home's modem <NUM> by the ISP <NUM> is public as it's what is used in communication with an outside web server <NUM>.

In some cases, multiple homes <NUM> will be pooled together and will share the same public IP <NUM>. These are typically in the cases of shared internet (apartment complex, college /university housing, etc).

Furthermore, the public IP addresses <NUM> that the ISP <NUM> assigns to the household's modem <NUM> may be static or dynamic. In either case, the main relevant measure is the "stickiness" or age of the IP assignment. For example, if an IP <NUM> is assigned dynamically, but only on the reset of a modem <NUM>, and the modem <NUM> is only reset once a year, the age of the IP address assignment for the Household <NUM> is one year.

When Household IPs assignment ages exceed a significant number of days, the Household public IP address <NUM> may serve as a unique identifier for all internet connected device <NUM> activity from within the Household <NUM> that are using the Household's ISP internet connection (all devices <NUM> will show the same public IP address <NUM> when they connect to web servers <NUM>).

The system of Household identification (of embodiments of the invention) may use multiple criteria to evaluate each public IP address <NUM>, that an internet entity with web servers <NUM> receives, to determine if each IP address <NUM> belongs to a Household <NUM>.

Every public IP address is registered with a RIR <NUM> (regional internet registry), and in general, most are a part of larger IP range blocks that belong to ISPs <NUM>. This data is publicly available and each organization (ISP) <NUM> can be classified as providing or not providing residential internet service based on publicly available information regarding the company and their offerings.

For example, <FIG> illustrates the publicly available "who-is" information for the IP addresses <NUM>. <NUM>/<NUM> and <NUM>. <NUM>/<NUM> performed using ARIN (American Registry for Internet Numbers). The IP address <NUM>. <NUM>/<NUM> is part of a larger range block of IP addresses (i.e., <NUM>. <NUM>-<NUM>. <NUM>) that is allocated to AKIN (an RIR). Using the information from ARIN, the IP address block ranges assigned to different organizations can be determined. As illustrated, the IP address <NUM>. <NUM>/<NUM> is part of a range block of IP addresses (i.e., <NUM>. <NUM>-<NUM>. <NUM>) that are directly allocated to Windstream Nuvox, Inc. Windstream Nuvox is an ISP that provides residential internet service.

Accordingly, if an IP address <NUM> is registered with an RIR <NUM> (e.g., in a particular region of the world) and is part of an IP range block that belongs to an ISP that provides residential internet service, a determination can be made that the IP address <NUM> may be for an ICH. Similarly, if the ISP for that IP address does not provide residential service, a determination can be made that the IP address is not for an ICH.

By monitoring the activity (devices, users, events) for each IP address over a defined period of time (example <NUM> days), the IP addresses that are used by non-Households (businesses and other organization) are filtered out by the level of activity observed from these IPs over the time period.

For example, if there are <NUM> devices and <NUM><NUM> users that connect from the same IP address, the IP address may be associated with significant activity and is therefore likely that of a business or other (non-Household) organization.

In other words, the activity for each IP address is monitored over a defined period of time. If significant activity is found (i.e., above a threshold level) from a single IP address, it can be determined that the IP address is not for an ICH.

In addition to filtering out business and organizations, such a criteria also provides a method to remove a small percentage of households <NUM> that have a short-lived IP assignment age. In this regard, if the IP is assigned frequently to households <NUM> in the ISP's customer base, the users and devices <NUM> from that IP accumulate and exceed the threshold to be considered a unique household identifier for any substantial period of time.

In order to ensure an IP address is static enough that it can serve as an identifier for a reasonable period of time, the IP "stickiness" or assignment age is used. This is determined by observing the number of connecting IP addresses from the same ISP <NUM> over a defined period of time (e.g., <NUM> days). In other words, a determination is made if multiple different IP addresses are connected to each other and the combined IP assignment age of the "connected" IP addresses are utilized in the comparison to the threshold IP assignment age (i.e., <NUM> days).

A "connection" between two or more IP addresses belonging to the same ISP <NUM> is made when an identified user has generated activity from two IP addresses. For example, if a laptop user is identified (e.g., by a cookie) as user <NUM> and the laptop participates in web browsing from within an ICH with public IP <NUM>. <NUM>, and then two days later the ICH's IP is changed to <NUM>. <NUM> by the ISP <NUM>, then the same user who generated activity behind <NUM>. <NUM> is found generating activity behind IP <NUM>. <NUM> which creates a connection between these two IP addresses. In other words, the same user is identified as belonging to the two IP addresses (e.g., using the cookie) and the activity on the combined connected IP addresses are utilized when determining if the IP assignment age is greater or less than <NUM> days.

Beyond a threshold of allowed connections (from people physically using a device inside another household <NUM> - e.g., visiting a friend), the connection rate and volume will filter short aged IP assignments from being identified as Internet connected households <NUM> for use in measurement and content distribution.

This provides an additional method to remove a small percentage of households <NUM> that have a small IP assignment age as these IPs are assigned frequently to households <NUM> in the ISP's customer base and the users and devices from that IP accumulate and exceed the threshold to be considered a unique household identifier for any substantial period of time.

The application of ICH identification for media includes, but is not limited to, measurement of distribution and dynamic content delivery, optimization and recommendation.

For online/web content owners or distribution/syndication partners, ICH identification provides a method to measure the total ICH's exposure to their content.

For advertiser, website owners, and analytics firms, ICH identification provides a standard measurement of ICH reach/exposure, advertising return on investment (ROI), and de-duplicated visitation statistics.

ICH data can be collected to create data stores that include interests, activities (e.g., ads viewed), actions (e.g., visit to marketer's website). Such data stores can be leveraged to aid in dynamic content selection for content to be delivered to an application or webpage. In addition, it can serve to optimize the placement, order, and display of such content, and provide recommendations to household users for additional content engagement.

<FIG> is a flow chart illustrating the logical flow for identifying an internet connected household in accordance with one or more embodiments of the invention.

At step <NUM>, an IP address is received at an Internet entity. For example, the IP address may be attached to an HTTP request received at a web server.

At step <NUM>, a determination is made regarding whether the IP address belongs to an ISP that provides residential internet service (e.g., referred to herein as the residential internet service status). In this regard, based on information from an RIR, the ISP assigned an IP range block (that includes the IP address) can be identified. Thereafter, based on publicly available information, the ISP can be classified as providing or not providing residential internet service. Accordingly, step <NUM> serves to filter out IP addresses (from further processing) that are from non-residential service based ISPs (e.g., those that solely provide business based services). In one or more embodiments, the publicly available information may be gathered and stored in a database (local or network based). Thus, the database may include ISPs that provide residential service, ISPs that do not provide residential service (and/or both). A simple comparison of the ISP to the list of ISPs in the database may be conducted to determine whether the IP address belongs to an ISP that provides residential internet service.

At step <NUM>, a determination is made regarding whether the device activity from the IP address exceeds a defined activity threshold (e.g., referred to herein as a device activity status). To make such a determination, activity from the IP address may be monitored over a period of time. Further, a "defined activity threshold" for the level of activity for ICHs may be determined. For example, the average level of activity for ICHs may be determined based on monitoring such activity over a period of time. Alternatively, any other method may be used to determine the activity threshold (e.g., a user specified level of activity, an ISP specified level of activity, etc.). Once the defined activity threshold has been determined (e.g., obtained from a database, computed, etc.), the level is compared to the level of activity from the IP address that has been monitored. If the level of activity exceeds the activity threshold, the system assumes that the IP address is not for an ICH, and filters out the IP address from further processing. However, if the level of activity does not exceed the activity threshold, then the IP address is not eliminated from further consideration/processing.

At step <NUM>, a determination is made regarding whether the IP assignment age for the IP address is greater than a defined threshold age (referred to herein as the IP assignment age status). In this regard, step <NUM> is used to ensure that the IP address is static enough that it can serve as an identifier for a reasonable period of time. In other words, to effectively use an IP address for further processing, the IP address must be static enough that it identifies a particular household.

Often times, an IP address is reassigned when a household restarts a modem or for a variety of other reasons. Accordingly, embodiments of the invention may observe a number of connecting IP addresses from the ISP over a defined period of time. As described above, two IP addresses belonging to the same ISP are "connected" when a user has generated activity from both of the two IP addresses (e.g., the user may be identified from a cookie, username, registration, etc.). A large increase in the IP's number of connecting IPs or users indicates the IP may have rotated and the assignment age is set back to zero (<NUM>) days making it invalid to serve as a unique identifier until its assignment age regains maturity.

Once the IP assignment age for the connecting IP addresses is computed, it can be compared to a threshold age (e.g., <NUM> days) to determine if the address is static enough to use for further processing.

At step <NUM>, it may be determined that the IP address corresponds to an ICH (e.g., per steps <NUM>-<NUM>) with sufficient information (e.g. per step <NUM>) to enable additional processing. Thus, based on the residential internet service status, device activity status, and IP assignment age status, a determination can be made regarding whether the IP address is associated with an ICH or not.

If the IP address is associated with/corresponds to an ICH, additional processing may be performed. Such additional processing may measure the ICH's exposure to content from a specific content owner. Alternatively, a data store may be created based on the device activity from the ICH. The data store may be used to store information regarding interests, activity, and actions from the device. Based on the data store, additional content (e.g., advertising or other content) may be dynamically selected and/or delivered to the device.

In addition to the above, step <NUM> may include various additional steps. For example, once an IP address is determined to belong to an ICH, further actions may be performed based on devices utilizing that IP address. For example, once a device is resolved to an IP address of an ICH (e.g., via home wifi), a physical address of the device may be determined. In this regard, the device may offer up a GPS (global positioning system) latitude/longitude coordinates that can be used to coordinate/correspond to a physical address (e.g., <NUM> Main Street). The physical address may be used to create an anonymous ID (based off the address) which can then be used as a universal ID to resolve new IP addresses and other devices back to that address. As an example, once one device associated with an IP address corresponding to an ICH has been determined, and a physical address has been determined, any other IP addresses associated with the ICH may also be assigned to that physical address. Analysis may then be conducted on the different devices having the same physical address (e.g., resulting in demographic information for users at that physical address, access patterns for sub-groups of users at that physical address [and demographic information for such sub-users], etc.).

<FIG> illustrates details for the further processing of step <NUM> in accordance with one or more embodiments of the invention. As described above, prior to step <NUM> (and the steps of <FIG>), an IP address is evaluated for the following criteria: (<NUM>) the public IP address belongs to an ISP offering residential internet service; (<NUM>) the number of devices behind the IP address does not exceed a calculated threshold; and (<NUM>) the IP address assigned to the household must not have changed within a predefined timeframe. If these criteria are met, it may be concluded that the the IP address belongs to an ICH. Thereafter, additional steps may be performed to link the IP address to a physical household address (as set forth in <FIG>).

At step <NUM>, GPS data is received. In particular, internet-connected devices with GPS capabilities that have also transmitted one or more latitude and longitude coordinates to a web server, provide the GPS data (e.g., lat/lon) to a web server/system of embodiments of the invention. In this regard, GPS coordinates are received from a device that is utilizing the IP address.

At step <NUM>, the GPS coordinates are collected and processed to be placed into the nearest centroid of a household's physical address determined to be a residence. In other words, a physical address is identified based on the GPS coordinates (e.g., by placing/associating the GPS coordinates into/with a nearest centroid of a residential physical address).

At step <NUM>, a mapping table of IP address and physical address (e.g., IP-address-physical address pairs) is generated/hosted/maintained.

At step <NUM>, the mapping table is analyzed/used. For example, an anonymous identification may be created (based on the physical address). Thereafter, the anonymous ID may be used as a universal ID to resolve a new IP address (or new device) back to the physical address.

<FIG> illustrates a diagram of the linking of the IP address to a physical household in accordance with one or more embodiments of the invention. As illustrated, within a private network (LAN) <NUM>, devices <NUM>-<NUM> (i.e., smartphone <NUM>, laptop <NUM>, and connected television <NUM>) are connected via a router <NUM> (e.g., via Wifi) to a household <NUM>. As illustrated, devices <NUM>-<NUM> are accessing the LAN via assigned private IP addresses. Further, devices <NUM>-<NUM> have associated GPS data (e.g., lat/lon data).

Based on the criteria described above, it has been determined that the public IP address of the household <NUM> (e.g., Public IP <NUM> (via WAN) address <NUM>. <NUM>) is an ICH. As illustrated, the public IP address has been assigned by ISP <NUM>, which is allocated the range of IP addresses by RIR <NUM>, which is delegated Internet resources by IANA <NUM>. Further, a website/web server <NUM> may maintain/provide services via the ISP <NUM> to users (e.g., devices <NUM>-<NUM>).

In accordance with the embodiments of the invention, once the GPS coordinates are received from devices <NUM>-<NUM> at step <NUM>, the GPS coordinates are placed at the centroid of the ICH <NUM> (at step <NUM>) to identify the physical address <NUM>. At step <NUM>, the mapping table <NUM> is generated/hosted.

This concludes the description of the preferred embodiment of the invention. The following describes some alternative embodiments for accomplishing the present invention. For example, any type of computer, such as a mainframe, minicomputer, or personal computer, or computer configuration, such as a timesharing mainframe, local area network, or standalone personal computer, could be used with the present invention.

Claim 1:
A system for identifying an internet connected household, ICH (<NUM>, <NUM>), comprising:
a computer comprising a memory (<NUM>), a processor (104A, 104B) and an Internet connection;
the processor (104A, 104B) executing on the computer;
the memory storing a set of Internet entity instructions, wherein the set of Internet entity instructions, when executed by the processor (104A, 104B), cause the processor (104A, 104B) to perform operations comprising:
receiving (<NUM>) an Internet Protocol, IP, address (<NUM>) via the Internet connection;
determining (<NUM>) that the IP address (<NUM>) has not changed for a defined time period;
based on the determination (<NUM>) that the IP address (<NUM>) has not changed for the defined time period, determining whether the IP address (<NUM>) is associated with an ICH (<NUM>, <NUM>);
receiving (<NUM>) global positioning system, GPS, coordinates from a device (<NUM>-<NUM>) that is utilizing the IP address (<NUM>);
identifying a physical address (<NUM>) based on the GPS coordinates, comprising placing the GPS coordinates into a nearest centroid of a physical address (<NUM>) determined to be a residence;
maintaining (<NUM>) a mapping of the IP address (<NUM>) to the physical address (<NUM>) in a table (<NUM>);
creating, based on the physical address (<NUM>), an anonymous identification; and
utilizing the anonymous identification as a universal identification to resolve a new IP address (<NUM>) or a new device (<NUM>-<NUM>) back to the physical address (<NUM>).