A system and method for associating digital identifiers with physical locations.
The system associates digital identifiers with physical locations using network activity data to create location identifiers, addressing the challenge of identifying individuals within specific locations without infringing on privacy, enabling precise and efficient targeted advertising and secure data transmission.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- MATCHBOOK DATA LLC
- Filing Date
- 2024-04-17
- Publication Date
- 2026-05-13
AI Technical Summary
Existing technologies face challenges in identifying individuals within specific locations without infringing on their personally identifiable information, especially when they are obscured, such as inside physical structures.
A system and method that associates digital identifiers with physical locations by matching network activity data, including IP addresses and timestamps, to deterministic location data, creating location identifiers that can be used for advertising and cyber security applications, while ensuring privacy by obfuscating individual identities.
Enables precise location identification of devices without revealing personal information, allowing targeted advertising and secure data transmission, while maintaining privacy and efficiency through obfuscation and aggregation of location data.
Smart Images

Figure 2026514754000001_ABST
Abstract
Description
Technical Field
[0001] (Field of the Invention) The present disclosure generally relates to identifying the location of digital devices.
Background Art
[0002] (Background of the Invention) Identifying a person, such as a target consumer within a specific geographic area, is beneficial to retailers or sellers of consumer goods and services. However, for example, it is difficult to obtain meaningful information about a person in a location where the person may be obscured, such as inside a physical structure. Even more difficult is identifying a person as a target within a specific location without infringing on the person's personally identifiable information. Improvements are needed.
Summary of the Invention
Means for Solving the Problems
[0003] (Summary) One or more computer systems can be configured to perform a particular operation or action by having software, firmware, hardware, or a combination thereof installed on the system that causes the system to perform an action when operating. One or more computer programs can be configured to perform a particular operation or action by including instructions that, when executed by a data processing device, cause the device to perform an action.
[0004] One general aspect includes a method for location identification, which involves receiving data related to the network activity of multiple digital devices via a client database, the data which may include, for each digital device, a digital identifier and network access information, the network access information including the IP address accessed by the digital device and corresponding time and location information at the time of access. The method also includes matching the digital identifier and network access information to deterministic location data representing the static location of a physical structure via a matching module to create or update a location identifier, receiving activation instructions related to one or more of the multiple digital identifiers, mapping the activated digital identifier to a corresponding location identifier, and transmitting the corresponding location identifier to a client. Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the method.
[0005] One general aspect includes a location identification system, which may include one or more processors configured to receive data relating to the network activity of multiple digital devices via a client database, the data which may include, for each digital device, a digital identifier and network access information, the network access information including the IP address accessed by the digital device and corresponding time and location information at the time of access. The processors are also configured to, via a matching module, match the digital identifiers and network access information to deterministic location data representing the static location of a physical structure, create or update location identifiers, receive activation instructions relating to one or more of the multiple digital identifiers, map the activated digital identifiers to corresponding location identifiers, and transmit the location identifiers to the client. Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of this method.
[0006] One general aspect is the inclusion of a non-transient computer-readable medium storing a set of instructions for location identification, which, when executed by one or more processors of the device, causes the device to receive data relating to the network activity of multiple digital devices via a client database, the data for each digital device, which may include a digital identifier and network access information, the network access information including the IP address accessed by the digital device and corresponding time and location information at the time of access, and the digital identifier including an IP address, mobile advertising ID, connected TV ID, or email address; matching the digital identifier and network access information with deterministic location data representing the static location of a physical structure via a matching module to create or update a location identifier, the deterministic location data may include the latitude and longitude of the physical structure; receiving activation instructions relating to one or more of the multiple digital identifiers, mapping the activated digital identifiers to corresponding location identifiers, and transmitting the location identifiers to the client. Other embodiments of this aspect include a corresponding computer system, a device, and a computer program recorded on one or more computer storage devices, each configured to perform the actions of the Method. [Brief explanation of the drawing]
[0007] While embodiments of this disclosure have been described in general terms, accompanying drawings, which are not necessarily drawn to scale, will be referenced here.
[0008] [Figure 1] Figure 1 is a block diagram of an exemplary location identification system according to an embodiment of the present disclosure.
[0009] [Figure 2] Figure 2 illustrates how a physical location is determined according to an embodiment of the present disclosure.
[0010] [Figure 3] Figure 3 illustrates an exemplary location identifier according to an embodiment of the present disclosure.
[0011] [Figure 4] Figures 4A-4B illustrate exemplary location identifiers and aggregated location identifiers according to an embodiment of the present disclosure.
[0012] [Figure 5] Figure 5 illustrates an embedded SDK for use in conjunction with a location identifier according to an embodiment of the present disclosure.
[0013] [Figure 6] Figure 6 illustrates the movement of an IP address according to an embodiment of the present disclosure.
[0014] [Figure 7] Figures 7A-7B illustrate IP address reallocation according to an embodiment of the present disclosure.
[0015] [Figure 8] Figure 8 illustrates an example of a real-time bid according to an embodiment of the present disclosure.
[0016] [Figure 9a] Figures 9A-B illustrate an exemplary advertiser platform according to an embodiment of the present disclosure. [Figure 9b] Figures 9A-B illustrate an exemplary advertiser platform according to an embodiment of the present disclosure.
[0017] [Figure 10] Figure 10 is a flowchart illustrating a process for providing a location identifier according to an embodiment of the present disclosure.
[0018] [Figure 11] Figure 11 illustrates a computing device such as may be relevant to the present disclosure.
[0019] [Figure 12] FIG. 12 illustrates an example of a targeted IP address and the distance traveled over a period of several days, according to an aspect of the present disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] (DETAILED DESCRIPTION OF THE INVENTION) Embodiments of the present invention will be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown. However, the present invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Various modifications, alterations, and equivalents of the methods, apparatuses, and / or systems described herein will be apparent to those skilled in the art. The sequences described herein are merely examples and are not limited to those described herein, and may be varied as will be apparent to those skilled in the art.
[0021] In the following description, numerous specific details are set forth. However, it should be understood that embodiments of the present invention may be practiced without these specific details. In other instances, well-known methods, structures, and techniques have been shown in detail in order not to obscure the understanding of this description. However, descriptions of functions and structures well known to those skilled in the art may be omitted for improved clarity and brevity.
[0022] In the aspects described herein, the present disclosure is directed to systems and methods for associating digital identifiers with physical locations and times and creating aggregated location information in the form of location identifiers (sometimes referred to herein as LocID or location ID). The systems and methods further relate to providing the aggregated location information to users for use in consumer advertising or cyber security applications.
[0023] In one aspect, the location identification system is configured to utilize data collected from devices by publishers (application creators). This information is found in applications used on the device and is collected through the SDK. The SDK will collect device activity information and provide it to the system via the publisher. Device activity information includes transaction device identification information (e.g., MAID, IFA, etc.), the device's IP connection information (i.e., the IP address it accessed), the device's location information at the time of access, and the time the device accessed the IP address.
[0024] Once the system has this data (which may be stored in a database that aggregates data from clients (referred to as the client database in this specification)), system 100 can associate an IP address with a given physical location. From this, the system can also identify devices that can be associated with a physical location, as well as their active times at that location. The association of IP addresses and devices with physical locations and their active times at those locations creates a location identifier that customers can use to send information (e.g., for advertising campaigns or user authentication purposes) to associated devices accompanied by the location identifier. In addition, the system is configured to share multiple location identifiers with customers when overlaps in location / IP address / device occur. Given the spatiotemporal components of the location identifier, location identifier information may vary from time to time. These and other functionalities are discussed in more detail below.
[0025] Figure 1 illustrates an exemplary location identification system 100. System 100 is a physical / digital target identification system that associates a digital identifier 10 with the most likely location at the physical structure level, producing a location identifier 30 (see, for example, Figures 1 and 3), which will be discussed in more detail below. In some cases, the physical structure is a permanent structure such as a building or a set or group of buildings. System 100 may be configured to associate a digital identifier 10 (e.g., Figure 3) with a permanent physical structure by establishing a physical identifier 20 of the physical structure and identifying one or more digital identifiers 10 associated with the location. From there, System 100 is configured to produce a location identifier 30, which is a collection of location information (i.e., physical identifier 20) and digital identifier information (i.e., digital identifier 10) at a given time, as shown in Figure 3.
[0026] System 100 is configured to receive first-party data such as location information and digital identifier information. In such a respect, the client database 110 is configured to receive location information and various digital identifiers 10 and other information collected from devices as input. Digital identifiers 10 identify connected devices, which are mobile (e.g., smartphones) and non-mobile (e.g., connected TVs), as well as network access points (e.g., IP addresses). Additional information provided to the client by the device may include GPS / latitude and longitude ("latitude / longitude") associated with the device during network connectivity, a software identifier (Mobile Advertising ID or MAID) associated with the mobile device for advertising purposes, and the time of network access. MAID may also be known as Device ID, IDFA, or Identifier for Advertising (IFA), a unique identifier assigned to each smartphone, enabling each device to be identified. These digital identifiers (e.g., MAID, hashed email address, etc.) may be provided by the user (e.g., client). The client database 110 is further configured to store the received client first-party data.
[0027] System 100 includes a matching module 120 configured to associate digital identifiers 10 with their most likely locations (physical identifiers 20) and generate location identifiers 30. The matching module 120 is configured to map digital identifiers 10 (e.g., IP addresses or MAIDs) to a location with building-level specificity (i.e., down to the rooftop or uppermost structural level of a building). While the physical locations of permanent structures (i.e., physical identifiers 20) typically remain static at a particular location, the locations of some digital identifiers 10 (e.g., IP addresses, MAIDs, email addresses, etc.) can change. Therefore, it is necessary to have an additional identifier for the location identifier 30, which aligns the location of a device at a given time at a physical location (e.g., physical identifier 20), incorporating a space-time element into System 100. In some aspects of this disclosure, commercial embodiments of System 100 refer to the location identifier 30 as location ID 30. Thus, the two may be used synonymously throughout this disclosure.
[0028] Non-mobile connected devices may have a digital identifier 10 embedded within a streaming platform such as a connected TV (CTV) or ad-free television (FAST TV) platform. For example, as shown in Figure 5, the Digital Identifier Software Development Kit (SDK) may be embedded software for mobile CTV platforms such as Roku®, Apple TV, and Android® TV. The purpose of the SDK is to provide persistent measurement to a given building in which the platform is used when no other identifiers exist. Persistent measurement capability enables platform providers to measure, for example, where advertisements were served and, when they are served at different times, whether those advertisements were served in the same location. Some FAST TV platforms and providers, such as Tubi, Pluto TV, and others, do not require users to provide login information and therefore cannot provide email-based connectivity to further data access. The System SDK provides a certain level of measurement capability for these types of providers.
[0029] In this aspect, the SDK will be initialized immediately upon user initialization of the app. The SDK will identify the device's IP address connection and query for location ID 30 by using the API and pinging the digital identifier database 112. This digital identifier database may be a separate database from the client database 110, or it may be its own separate database 112 used by system 100. The SDK will then return to the app the location ID 30 assigned to the device's associated IP address. The API will also retrieve a timestamp corresponding to the device's activation of the IP address, and any associated location information provided by the operating system for the device.
[0030] In addition to receiving client data, system 100 is also configured to form deterministic identifiers based on non-client data. For example, a deterministic identifier may include a location identifier 20, as discussed below. The deterministic data includes the physical location of a structure in which consumers or other target entities may be present. Figure 2 illustrates determining a physical location according to an embodiment of the present disclosure. System 100 is configured to capture data associated with a physical structure, rather than with individuals located inside the structure, in order to generate a location identifier 20. As discussed herein, a location identifier 20 is a reference to a physical location. In exemplary aspects, each location identifier 20 is configured to provide a one-to-one association with physical location information, such as latitude and longitude ("latitude / longitude"), representing a structure, including, for example, buildings and equivalents. In other aspects, a location identifier 20 may be used to identify other permanent structures or equivalents. Generally, a location identifier 20 identifies a structure with a certain level of permanence (e.g., a train station / bus stop, a park, etc.). That is, in most aspects, the structure is not temporary. In one respect, each place / building is addressable within a local or regional postal code system, meaning that physical mail can be delivered to that location. Once a place identifier 20 is assigned to a given latitude / longitude coordinate, the place identifier 20 will be permanent. In that respect, a place identifier 20 that maps to a certain latitude / longitude coordinate will be permanent and unchangeable. If a new building or place is identified, a new place identifier 20 can be created.
[0031] As shown in Figure 2, to determine the physical location of a structure, a polygon of the structure's shape is approximated and used to identify the centroid of the structure. With respect to the physical structure, the distance of the IP address to the centroid of the polygon associated with the location identifier polygon may be measured. An encoded (or hashed) value (e.g., geohash) representing the center point of the spatial location is used. The value is then encoded (or hashed) into an alphanumeric string of 10 to 11 characters. In embodiments, the value may be encoded or hashed up to 64 characters. Other forms of encoding, including but not limited to H3, S2, and Quadbin, may be used. Furthermore, non-encoding methods may also be used. For example, a vector may be used to represent each location.
[0032] Furthermore, as shown in Figure 2, an IP address has a pair of coordinates (centroid) of the location where the IP address is located. An IP address also has a horizontal accuracy associated with it. This horizontal accuracy, or HA, is expressed in meters and is the radius of the location where the IP address can be located. Therefore, for example, an IP address with an HA of 100 meters can be located within 100 meters of its centroid in any direction. However, the HA can vary in value. For example, on one side, the HA can range from 100 meters to 350 meters. Moreover, the HA value can be adjusted / set as desired. This radius creates a circular area, and all location identifiers "rooftop" where the circle overlaps can be associated with an IP address. The centroids of the structures and the centroids of the areas covered by the latitude / longitude observation results of the IP addresses are compared. The structure with the nearest centroid to the centroid of the IP address (associated with digital identifier 10) is selected as the best location identifier 30 match. Once an IP address is associated with a physical identifier 20, a location identifier 30 is activated / generated.
[0033] Geohashing (i.e., a public domain system for dividing the Earth into spatial segments of different sizes with varying levels of precision; for example, GeoHash 1 is...) ≦ It is 5,000km x 5,000km, and the geohash accuracy is 9. ≦ A 4.77m x 4.77m area may be used to determine an area encompassing a specific structure. With respect to the returned matching, system 100 may return any location identifier having a geohash (geohash precision 9) that is common with the buffer / horizontal precision of a particular IP address centroid. For example, rooftops will obtain geohashes that overlap at least a 51% overlap threshold. This prevents the same geohash from existing on multiple rooftops. IP addresses will obtain geohashes with corresponding centroids within the centroid buffer / horizontal precision. The geohashes are then matched.
[0034] To rank location identifiers 30 with overlapping IP addresses, this system performs distance measurements from the centroid. However, a combination of distance and the number of overlapping geohashes between the location ID and the IP address may also be used. For example, it is possible that the centroid of a smaller building is geographically closer to the IP location than the centroid of a larger building, but due to the building shape, the larger building may have more geohash overlaps than the smaller building. In this case, a logical combination would be used to determine the correct assignment.
[0035] The matched location identifier 30 may then be passed to an advertiser platform 130 (e.g., DSP, Exchange, SSP, ID Graph, etc.) or other platform for activation. For this purpose, system 100 may include a real-time customer API for users that enables users to associate input keys with desired matches. This allows users to submit one of four inputs (latitude / longitude, IP address, MAID, or spatial index) and have it perfectly matched to the digital identifier 10. In some aspects, this matching can occur in less than 50 milliseconds. The advertiser platform 130 can then use the digital identifier 10 integration to target ads to the selected location identifier 30 and activate them without relying on common digital identifiers (IP address, MAID, CTVID, etc.).
[0036] The activated digital identifier 140 is then mapped to a location identifier 30, which is stored in a database of activated location identifiers 150, grouped by location. As discussed herein, the data associated with a given location identifier 30 includes the digital identifier 10 (i.e., network and software IDs) and physical location information (i.e., physical identifiers such as latitude / longitude or geopolygons). In one aspect, the system 100 is configured to match data requested by a client based on three inputs associated with the location identifier 30 discussed herein: the digital identifier 10, a timestamp, and a location. More specifically, a time frame, a physical identifier, and a digital identifier are matched with the location identifier 30, which can then identify additional location identifiers 30 for use in conjunction with advertising campaigns, for example. The data associated with a given location identifier 30 includes the digital identifier 10 and location information such as latitude / longitude. The physical identifier 20 is matched to the location identifier 30, and then to the digital identifier 10 (e.g., latitude / longitude-MAID-IP address). For example, the physical identifier 20 (latitude / longitude, zip code, physical mailing address) is provided to the system 100. The system 100 takes the physical identifier 20 and then matches it to the location identifier 30 via the matching database. As discussed above, the location identifier 30 is also associated with the digital identifier 10. The system 100 will then provide the user or user-defined platform with additional location identifiers (e.g., latitude / longitude-MAID or IP address).
[0037] System 100 is configured as a one-way data flow, so that data does not flow from the digital identifier 10 to the physical location. That is, System 100 will not reverse the flow from the digital identifier 10 to the physical location (e.g., IP address-MAID-latitude / longitude). Similarly, given a digital identifier 10, the system will match that digital identifier 10 to a location identifier 30 to find a physical identifier 20 (e.g., zip code, building geopolygon, etc.), and then provide additional digital identifiers 10 for the campaign that are associated with individual location identifiers 30 containing the same physical identifier 20. On an additional note, the location identifier 30 may also be supplied with additional context (e.g., geocontext (e.g., zip code + 4 digits)) which may be supplied and stored via the context database 160.
[0038] Activated location identifiers are mapped back to the system's database, allowing for the creation of a list 150 consisting solely of activated location identifiers 30. Such a list can inform users about metrics of their audience segments that have successfully viewed advertisements. Alternatively, a client may receive batches of activated location identifiers 150 from system 100. Batch processing of activated location identifiers 150 can be done at a high level to maintain audience privacy. In such a case, the client would receive data about activated location identifiers 30 in a batch format at the zip code or postal code level. This can provide visibility into locations that performed better or worse at the postal code level while still maintaining audience privacy.
[0039] The location identifier 30 may be aggregated with the MAID to construct a geospatial audience. The system is configured to generate a set of activated location identifiers for a specific location. The purpose of the set of location identifiers 30 is to obfuscate the digital identifiers 10 (i.e., network identifiers and software identifiers) that enable the potential to track locations down to individuals, while simultaneously reaching a targeted audience. Therefore, once the location identifier 30 is identified, the system 100 is configured to obfuscate the identifier assigned to the IP address, and the assignment of the location identifier 30 is derived from a combination of device observations, IP address, and connection time. System 100 determines the most likely relevant location (business, home, retail, or leisure, etc.), and the determined most likely location may be used to supplement the location identifier 30 with additional data points, such as an advertising identifier (IFA) (e.g., 01234567-89ABCDEF-GH01-23456789ABCD) or a location identifier to other devices such as a connected TV (CTV) device. For example, location observation results (e.g., IP address, latitude and longitude, HA, etc.) can be collected from various sources (e.g., mobile devices, CTV, and equivalents) to enable the IFA to be captured at an early stage in the process. Like IP addresses and MAIDs, the IFA may be linked to the location identifier 30. This enables System 100 to utilize geospatial data (census demographics, neighborhood affluence, school district ratings) and apply those audiences to the IFA identifier for each location identifier 30. By using this practice, IFAs will include geospatial attributes that can be translated into segments for other IFA-based targeting.
[0040] System 100 may be configured as a one-to-many targeting solution optimized for privacy and reach. As referred to herein, the target location may be a permanent physical structure having a number of potential target consumers inside. In the context of advertising, targeting a building is analogous to using billboards or other visual displays (outdoor advertising) or linear television advertising, in that the advertising can be seen by consumers of this type of medium without the advertising knowing or identifying the consumer. In such embodiments, the location identifier 30 is configured as a one-to-many identifier; that is, multiple identifiers, such as digital identifiers 10, can be associated with or refer to the location identifier 30. For example, each digital identifier 10 aggregated within the location identifier 30 may be an IP address, a mobile advertising ID (MAID), a CTV identifier, and a reference to various other identifiers. The MAID may also be known as a device ID, IDFA, or Identifier for Advertising (IFA), a unique identifier assigned to each smartphone, enabling each device to be identified. In one aspect, if the IP address, MAID, or any other identifier associated with a location identifier changes, the change is referenced and recorded as being associated with that location identifier 30. A historical view of these changes may go back to when the data was available, or to a selected amount of time, which may be determined by the user of this system or requested by the advertiser.
[0041] In one respect, a single location identifier 30 may be fragmented into multiple nested "child" or partial location identifiers, that is, a location may exist that contains many other identifiable locations. For example, an apartment building may have a location identifier 30, and each apartment unit within the building may have a child location identifier associated with the unit, and multiple IP addresses may exist within the location identifier.
[0042] System 100 may be configured as a many-to-many targeting solution optimized for privacy and reach. Within the system, many-to-many relationships between IP addresses and location identifiers 30, as described herein, may exist. This is partly due to GPS accuracy and observation point variability, but also because System 100 is configured to provide transparency within the margin of error. To take this into consideration, an IP address may have many location identifier matches in a densely populated area, and System 100 can utilize a defined ranking of matching performance. For example, if an IP-based geographic location system (e.g., a horizontal accuracy system) captures 20 buildings, the nearest match may be ranked 1, and the lowest match may be ranked 20. For efficiency, System 100 is configured to return the selection of the highest-ranked match / highest confidence score. This also helps preserve privacy because System 100 can return strong recommendations, but the system does not provide a definitive IP address-to-location identifier correlation. Along with enhanced metadata for location identifiers, this system provides rank / confidence scores for users to interpret independently.
[0043] In one respect, a location identifier 30 is created for a given location when definitive data about the location, as well as identifiers associated with the location observation results, are received. Each observation result is considered only if precise latitude / longitude from the received data is available. In one respect, latitude / longitude, horizontal accuracy, timestamp, IP address, and digital identifiers are all used to define the location as a new location. In another respect, new locations for location identifier 30 are further determined using only fixed Wi-Fi connections, as the same identifier (IP address, MAID, etc.) can represent a wide area, and mobile IPs (derived from base stations) are filtered out.
[0044] In another respect, the location accuracy for a location identifier 30 can be similarly determined. For example, each location identifier can be confirmed from a cluster of at least a certain number (X) of observations from a mobile device, where the median absolute deviation (MAD) distance between the latitude and longitude is less than or equal to Y meters. A mobile device observation can be defined as any data point that influences the derived latitude / longitude location of an IP address, which combines GPS latitude, longitude, and IP address to influence the final location of the IP address. System 100 is configured to acquire the following fields in a given observation, namely, the latitude / longitude derived from the GPS sensor in the mobile device, timestamp, IP address, and horizontal accuracy when available.
[0045] In another aspect, system 100 is further equipped to handle the distribution of location sizes associated with each location identifier 30. The location size associated with a building can vary in size. For example, an office building may be one size, while a townhouse or single-family home may be a different size. System 100 uses machine learning techniques and various algorithms known in the art to determine the association of location identifiers 30 with different locations.
[0046] On another level, the location identifier database may include, but not limited to, general contextual information about a location, including census data associated with that location. However, the location identifier database may also be configured not to identify the location or any person within that location with any specificity that would enable traceability to that person. In line with the same policy, system 100 may be configured to further ensure the privacy of end users associated with other identifiers. For example, system 100 may receive identifiers from opt-in mobile devices. However, if a mobile app user later decides to opt out or creates a deletion request, system 100 may be configured to remove the individual identifier data and prevent the system from tracking the identifier back to the user.
[0047] System 100 employs geographic aggregation to form at least a portion of the location identifier. The location identifier is assigned to a fixed location rather than an address or resident / occupant / dweller. According to embodiments of the present disclosure, at least a portion of the location identifier most commonly represents a building, but can also be a custom space such as a postal code or a customized area (e.g., all buildings within 5 km of an identified point of sale (POS)). In each case, the location identifier is a collection of occupants and therefore an aggregated location identifier.
[0048] Figures 4A-4B illustrate exemplary location identifiers and aggregated location identifiers according to embodiments of the present disclosure. The terms location identifier and aggregated location identifier may refer to two distinctly different levels of detail that differ only in a business context, but can be represented as the same identifier. Location identifier values returned to the user may represent a singular location ID or an aggregated location ID. The following table provides an example demonstrating that singular-level location identifiers (derived from observations) may be distinctly different, while aggregated location identifiers may represent a shared, arbitrary location identifier context (e.g., state, zip code, building size, etc.) that is known only to the trading user. For example, aggregated location ID 123456999 represents a common value among location identifiers, but that common value is entirely flexible and unconstrained in design. [Table 1]
[0049] This system can determine the precise location of a building, but this precise location will not be shared with any customer. In this case, users could, for example, request the location identifier (country, region, city, zip code, etc.) using an API.
[0050] Each location identifier has a one-to-one association with latitude and longitude, representing a fixed physical location (physical identifier) abstractly linked to the structure of a building, etc. Each location identifier represents the building as a whole, and not, for example, a unit or individual household within the building. For this reason, apartment buildings or multi-business buildings will have location identifiers shared by different MAIDs and / or IFAs. In some aspects, system 100 does not need to capture or reserve physical mailing addresses, or in fact does not, and mailing address information is not used to derive location identifiers. In some aspects, mailing address information can be converted into latitude / longitude data.
[0051] Once created, location identifiers 30 are persistent for their individual geographical reference points. Location identifiers 30 are pre-determined globally, and their existence is independent of matching to IP addresses. There may be location identifiers that are unusable because they do not match to IP addresses. Furthermore, IP addresses and MAIDs may geospatially overlap with many location identifiers 30, and the system provides matching rankings to the user. A single IP address may potentially have hundreds of matching location identifiers, some of which may have a much stronger signal than others. System 100 does not reserve identifiers for a given IP address, but the user could easily aggregate digital identifiers 10, including hashed email IDs (e.g., LiveRamp's UID and RampID), into a single location identifier 30.
[0052] With regard to business accounts (such as retail user accounts), this system can be used to map consumer accounts (e.g., via their online shopping IP addresses) to location identifiers. From there, the system can construct a segment of location identifiers associated with that retail user, which can be associated with the user's account ID. This provides a more stable experience for targeting or suppressing existing consumers.
[0053] The hyperlocal IP address database and associated location identifiers are aggregated information based on many devices. Data filtering may be performed during ingestion, i.e., upon receipt of client data. IP addresses may be withheld from users if they do not meet a certain threshold for clearly different devices. The system may be configured to verify that a minimum number of activated location identifiers have been produced after filtering.
[0054] The internal location identifier exists as an immutable identifier and is not disclosed to end users (e.g., clients, customers, etc.). The value disclosed to users is a real-time encoded value that cannot be decoded by the user. Each user has a unique encoding or client location ID (CLOC), and therefore the client-facing value encoded for two clients will be different for each client. Users may be provided with the ability to perform transformations using this system to ensure that location identifiers can be traded between vetted participants. The CLOC has a time component, comparable to a hashed salt, which clients can access using this system. Therefore, because the time component attached to the location identifier would make the location identifier rapidly obsolete and thus unmatchable, the disclosed location identifier value does not expose or compromise underlying data and reduces the threat of disclosing personal consumer information. The internal LocID is the geohash centroid, and the CLOC is the encoded version of the “public LocID”. Each client may receive a different CLOC for the same building (root LocID). Therefore, several LocID references (CLOCs) to a single LocID can exist. In this way, a CLOC is a location identifier that is targeted within a transaction layer, i.e., a segment, or determined by a geographical location.
[0055] In this embodiment, a user (e.g., a company or other end user) can receive customized or personalized CLOCs. The system is configured to encode location identifiers using additional encoding values (e.g., API key, client ID, etc.) to generate unique CLOCs for each user. Each user may receive a unique CLOC upon request. The system is configured to encode CLOCs predictably and maintains a mapping of CLOC records to location identifiers (e.g., temporarily, as a stored dataset, or in a database). Maintaining a database of all mappings allows the system to create or map location identifiers to multiple CLOCs as needed or requested.
[0056] This system is also configured to provide a rotating CLOC for each user. That is, the CLOC will rotate to a different unique ID from time to time, but will maintain the same relationship to the root location identifier. For example, to update or modify a CLOC based on time, this system is configured to update the information encoded in the CLOC via an encoding process (e.g., through the run_dt instruction) and regenerate a CLOC for the user. However, this system may also continue to maintain one or more previous CLOCs.
[0057] In another aspect, the system is configured to retarget consumers using unactivated digital identifiers. For example, a user can use location identifiers and metric information about their individual performance to focus solely on those location identifiers and retarget audiences on the same or different platforms. In another aspect, the system is configured for integration with multiple platforms, enabling the system user's ability to use appropriate location identifiers as input, select appropriate identifiers within those location identifiers, and target them for ad activation.
[0058] Furthermore, in line with the same policy, the system is configured to address inaccurate locations regarding location identifiers. Any location deemed inaccurate after further data is received can be corrected through a process in which ambiguous location identifiers are merged. Similarly, locations can evolve over time. For example, when people move from one residence to another and move their physical CTV device with them, the CTV will be assigned a new location identifier, and the old location identifier will be updated to remove the CTV.
[0059] Figure 6 illustrates the movement of IP addresses according to embodiments of the present disclosure. When an IP address, MAID, or any other digital identifier associated with a location identifier changes to a different location, the change is referenced and recorded as associated with that location identifier. A historical view of these changes may go back as far as the data is available or to an amount that the operator decides to truncate. The effect of this in chronological observation is the ability to distinguish between device movement (e.g., a known CTV moving to a new residence) and ISP redistribution of IP (where an IP address moves to a new residence, but a known CTV does not). Thus, each location identifier represents a time series of identifiers associated with the system at that location.
[0060] Continuing the embodiment in Figure 6, Figure 7A further illustrates a scenario where a single IP moves between residences (above), and after the transition, this is, here, a container for all the devices being observed. With respect to devices, over time, the identifiers would be aggregated into IP addresses. This creates a confused view, grouping together an excessive number of devices from different people. Figure 7B illustrates a scenario where the location identifier is static and the IP addresses move here. The location ID records the time frame in which each IP was the IP address of the location, thus keeping the data properly separated.
[0061] The entire set of unique location identifiers existed on a static global scale prior to IP address assignment. This means that location identifiers can be assigned even if, at that time, no identifiers are available or produced for that particular location, in terms of the structure and group of IP addresses at specific latitudes / longitudes. Using the location determined for an IP address, all location identifiers are mapped to IP addresses where there is geospatial overlap with the horizontal accuracy of the IP.
[0062] The location identifier 30 is configured to obfuscate the underlying IP address information when the location identifier is traded on or between clients (i.e., used in advertising campaigns) for the purpose of data minimization and to ensure IP address confidentiality, so that this type of personal information is not unknowingly shared. System 100 prevents this type of data leakage by converting IP addresses within the organization into obfuscated digital identifiers before they are transmitted from their individual data warehouses.
[0063] This system is configured to provide location identifier augmentation. Location identifiers 30 may be augmented via the context database 160 with general contextual information about individual locations at an aggregated level, such as census or demographic data associated with the location, without identifying a person who may be in a location or a defined location with any specificity that would enable traceability to that person. For this purpose, location identifiers serve as a means of communication for other contextual data to be delivered to clients associated with the location identifier. Examples include proximity to the nearest grocery store, or purchase behavior probabilities based on other data such as "likely to buy beach supplies" versus "likely to buy mountaineering equipment." This is similar to other behavior identifiers, but differs in its assignment to groups of people associated with buildings or zip codes, compared to other identifiers that associate this type of purchase preference with individuals.
[0064] By utilizing the location identifier 30 as an intermediary between multiple MAIDs, the MAID can return one or more MAIDs that have been submitted for augmentation and are determined to be associated with the input MAID if a common location identifier exists. By further utilizing this intermediary functionality of the location identifier between multiple MAIDs, the location identifier can return one or more MAIDs that have been submitted for augmentation and are determined to be associated with the input location identifier.
[0065] For every 30 location identifiers, a resolution is provided for location information such as country, region, city, and postal code, and, if necessary, a privacy-protected postal code resolution is provided. Location identifiers represent locations without size filtering. Location identifiers can represent office buildings, residences, or postal codes, however, no strict determination of these values is calculated.
[0066] This system is configured to generate aggregated location identifier values that are internally mapped to all location identifiers with a common context. This can be advantageous, for example, when a client requests compressed data aggregation. For instance, 10 million distinctly different location identifiers may be represented as a single aggregated location identifier, where the common context is that they are all within 5 km of a location of interest (e.g., a given retail brand, restaurant, etc.). In this use case, the context is relevant only during generation and is not publicly shared.
[0067] System 100 is configured to ensure proper data consistency. On many platforms, data becomes "obsolete" when it is considered likely to be old after a certain time period. Using location identifiers 30, the system is configured to manage a temporal timeline, and older records may be aligned with newer records using the location identifiers as a proxy. For example, one MAID with multiple IPs over the course of a year may be interpreted as one MAID and two locations. Location identifiers 30 may enable the user to understand whether this is a move or an IP redistribution without physical movement. In this case, the system is configured to help the user utilize data that would otherwise be considered obsolete.
[0068] System 100 is configured to provide attribution feedback regarding specific actions associated with the use of activated location identifiers. Attribution as a form of measurement requires a single entity to compare publication logs and action logs (visits, conversions, etc.) to determine whether the ad publication likely resulted in a desired behavior. In CTV applications, disconnections may occur between the television and the browsing platform, and this can be significant. The system leverages the ability of location identifiers to provide connectivity for linking devices in ways beyond mere IP addresses, helping to determine whether a CTV ad actually resulted in a desired action.
[0069] When a client activates a location identifier 30 for use, for example, in an advertising campaign, the client may, for example, insert a location identifier pixel into a digital media creation. When the inserted pixel is executed by the application, the system 100 is configured to capture the activated location identifier 30 for measurement, analysis, and billing purposes.
[0070] The client may receive data about the activated location identifier 30 in batch format. The batch processing of location identifiers could be at the zip code or postal code level. This would provide visibility into locations at the postal code level, whichever performs better or worse. This also ensures privacy by creating many-to-many relationships. This type of deployment would be a primary mechanism for data distribution.
[0071] The client can use its IP address to determine the Client Location Identifier (CLOC). This functionality is a streamlined input / output function and can operate in low-latency environments intended for real-time data trading environments.
[0072] The system API acts as a mechanism for publishers (Tubi, Pluto, Hulu, etc.) to identify audience layer IP addresses into their CLOCs and add them to their ID Graph before sending the CLOCs to buyers (DSPs, Exchanges, SSPs) via the OpenRTB bidding stream. System 100 includes, for example, an API with two features and two client endpoints for publishers and buyers. The difference here is that, for publishers, location identifiers 30 are encoded into their CLOCs. For buyers, the API enables decoding. In other words, the system API acts as a mechanism for buyers to decode publisher CLOCs into recognizable location identifiers for targeted purposes.
[0073] This system is configured to use the OpenRTB framework and includes support for use with bidding streams. RTB stands for Real-Time Bidding, which is an automated process for automated ad delivery, specifically referring to decisions made by ad servers in real time. IP-based geotargeting is a possibility as long as all parties can share and augment IP addresses. If, at any point, an IP address becomes truncated (e.g., COPPA) or obfuscated, the augmentation process for identifying geographic location will be interrupted. For clients who do not wish to provide their IP addresses, or are unable to do so, this system serves as a stable alternative, providing the ability to determine geographic location without the risk of being associated with an IP address.
[0074] For campaigns involving geotargeting components, the OpenRTB geo-object must be fully configured. This can be done, for example, via IP geo-scraping or using an API. In the context of an API, a device with user registration or access to location data can provide API access to zip codes, from which the client can extract geographical components. However, this technique is not used very frequently because it requires detailed user accounts containing personally identifiable information.
[0075] Unlike walled gardens, OpenRTB is a common specification defined by the Interactive Advertising Bureau (IAB). OpenRTB defines everything relevant to the advertising opportunities being sold (e.g., commercial time, commonly referred to as inventory), namely, the acceptable media, device types, content classifications, identification, and geographical location. Within the scope of identification, IFA is the most commonly seen, but there is a specific sub-section for user identifiers, which is extensible. This is where, using existing frameworks, location identifiers would be passed through.
[0076] When a location identifier is passed as an extended identifier, it can be one of many targeting parameters for any number of campaigns. In the above case, one campaign targeting a single aggregated location identifier is equivalent to one campaign targeting 10 million distinctly different LocIDs, without the extra overhead of handling large segments. An illustrative definition may be as follows:
number
[0077] Using this definition, buyers can easily analyze the inventors' data for real-time decision-making, as follows:
number
[0078] The ability to pass location identifiers in this format is important because this capability is already being used for identifiers. Clients only need to leverage a minimal standardization process of sending identifiers to bidders during RTB. This allows buyers to target inventory using location identifiers rather than IP addresses.
[0079] Therefore, this system does not require the disclosure of user accounts / personal information, nor does it require IP transmission. Because all location identifiers have a consistent geographical location context embedded in the polygon association, this system can serve as its own index for locations. Thus, campaigns can target location identifiers based on zip code, city, region, or country. Campaigns can also measure results later and provide a consistent layer of measurement, as location identifiers remain consistent even if the IP addresses assigned to buildings change.
[0080] Figure 7 illustrates an exemplary bid request that uses a location identifier to help prevent IP geoscraping from the bid stream. There are no regulations defining DSPs, and when a seller puts inventory up for sale, the seller indirectly shares information with all participants and their partners. Any entity can be a buyer, as long as the ad server can accept the bid request and respond with a standardized bid (typically OpenRTB). Common practice is for buyers to utilize shared data for purposes other than bidding. Figure 7 illustrates the following exemplary process: 1. The seller (publisher ad server or SSP) can use IP geography to determine the IP address with geographical detail. 2. The bid request is constructed and includes both IP and details. 3. The request is then sent to all bidders (SSP, Exchange, DSP, etc.). 4. The bidder will process the request and record important information about the inventory. 5. Bidders will deliver advertisements, and those impressions will be associated with the corresponding bid requests. 6. The bidder can then build a complete IP > Geographic mapping without needing to acquire any IP geographic product licenses. 7. Note: OpenRTB also has a geographic classification that labels geography by provider (NetAcuity (Digital Element), MaxMind, Neustar, and IP2Location). This may allow users to build our IP geographic associations with the verified inventory.
[0081] For use, the location ID in the form of the seller's CLOC must be converted to their CLOC by the buyer, and only the customer has the ability to do this conversion. Since the location ID remains obfuscated in OpenRTB server-to-server transactions, no one who captures the records, who is not one of our users, would be able to identify the location ID as anything meaningful. They may see IFA + location ID or IP + location ID, but we reserve encoding control and can control the ID refresh rate which invalidates scraped associations.
[0082] This system may provide a “most recent” indicator associated with a location identifier. This allows users to determine only the most recent location ID, regardless of the physical location, while adding context to the elapsed time of the record. This can be useful when graphing location identifier values in user records.
[0083] In this case, the user can enter an IP address and the maximum recorded elapsed time. The system is configured to return the most recent location ID and elapsed time, filtered by the maximum elapsed time, as follows: request
number
number
[0084] This system may be configured to provide time-limited API requests. Time-limited API requests allow users to determine multiple time periods, which can be particularly useful for matching IP addresses over time, such as when performing data matching across a wide time range. In this scenario, the user may input a single IP address, and the system will return one or more CLOCs over a defined time frame. The user can then perform multi-party matching on the CLOCs.
[0085] In this case, the user can enter an IP address, a start date, and an end date. The system will return each build and location ID as follows:
number
number
[0086] Examples of commercial uses of location ID include identifying the location of anonymous internet traffic or authenticating known traffic to a geographical location based on a device's IP address. Ad tech and cybersecurity use the information they have available to make informed decisions. Whether this involves delivering ads or blocking connections, the concept of identification is crucial. When IP addresses are reassigned, previously collected insights become obsolete, and data that is not recognized as obsolete will produce unintended consequences. In ad tech, this can range from consistently placing ads in the correct geographical locations to being able to measure whether the same endpoint (e.g., end-user) has seen an ad over time. In cybersecurity, its use is to identify or authenticate users based on LocID's geographical location, even if their IP address changes.
[0087] This system has several use cases in which it can help improve cybersecurity by enhancing threat detection and the forensic capabilities of historical data associated with digital crimes that have already occurred. In cybersecurity, if IP addresses are reassigned without observation of geospatial relevance, suspicious behavior from one user can be transferred to a new user of the IP address.
[0088] Within ad tech, targeting IP addresses within one demographic would be applied to an unknown demographic without any indication of IP address mobility. For example, as shown in Figure 12, a given IP address can be targeted over a given time frame (e.g., 30) without any concern about its actual location, even if it moves across its territories.
[0089] Ad tech platforms rely on explicit decision-making, which includes determining how targeting works and its volatile impact. Targeting is Boolean logic using only include / exclude language, and when an IP address is targeted, the list is based either on the source IP (e.g., an audience data segment) or retargeting (in-campaign delivery to recent users). In both cases, the IP address will exist as one of many IP addresses.
[0090] In one respect, this system allows advertisers to reach their desired target audience without specifically identifying targeted individuals. Instead, it relies on determining the location of individuals or target audiences as context, enabling effective advertising while obfuscating certain details about individuals within that location.
[0091] This system can be used for online advertising. In such aspects, users may provide latitude / longitude data of target groups, such as their target consumer base, or IP addresses from their website traffic, or first-party data such as MAIDs from applications associated with or otherwise provided to the user. In other aspects, users can also provide location-based indices. For example, users can also provide geospatial indices at various levels of resolution (e.g., Uber's H3 index or geohash). In such aspects, the level of resolution can be limited to avoid a certain level of granularity and ensure privacy. For example, with respect to Uber's H3 index, the system can be limited to selecting a resolution no more precise than R8. In addition, other spatial indices, such as zip codes or postal codes, can also be used to target audiences.
[0092] In one aspect, the system can also be configured to create locations associated with audiences. In such an aspect, user input data is used to match appropriate location identifiers. For example, since it is possible that a user's location may not match in the location identifier database, the user's latitude / longitude is matched with a given location identifier if that location exists. All matched location identifiers can then be used to target audiences on behalf of the user using the identifiers available in those location identifiers. For example, if a user is targeting a CTV audience via IP addresses, the latitude / longitude information associated with the target consumer base is matched with a location identifier. The location identifier is then used to target the IP addresses associated with that location identifier.
[0093] In some respects, this system can be integrated with other platforms used by users. For example, platforms such as TradeDesk, Amobee, and others provide third-party audience creators with a way to use those platforms to target audiences using API integration. The API allows identifiers from companies creating audiences to push those audiences via the API using identifiers related to those audiences. In such respects, the location identifier system is configured to integrate with these APIs so that location identifiers can be pushed to these types of platforms in order to activate audiences provided by users of this system. In some respects, targeted and activated identifiers are shared with this system using the same integration.
[0094] (Examples) Location ID in the context of IP-based audience segmentation: In one example, the system is configured to provide audience segmentation. Figure 9 illustrates an exemplary advertiser platform according to an embodiment of this disclosure, where advertising relies heavily on segmentation practices, whether behavioral, psychographic, etc., in B2C and B2B spaces. Segmentation practices are not strictly limited to audience segmentation and targeting, but these are key use cases.
[0095] When the advertising auction processes bid requests, it augments the received data. Regarding IP addresses, the system determines geographical location information, checks against matching segments, and queries the database.
[0096] Sample audience segments using IP addresses [Table 4]
[0097] The segments are then compiled and organized more efficiently, separating their names and IDs, as follows: [Table 5]
[0098] The segments are then further organized to include many more segments, as follows: [Table 6] [Table 7]
[0099] Sample audience segments using IP addresses
[0100] This new detail allows the ad server to efficiently target segments. Human interface for Campaign A: Humans assign segment: Male, HoH, 150k+ inclusion The data is stored as Campaign A, Segment 12345.
[0101] If the IP address in the bid request (e.g., 27.22.245.251) is expanded, the auction will perform a lookup on 27.22.245.251, which will return 12345, 30394.
[0102] The auction then searches for any campaigns targeting 12345 or 30394, and if any exist, they can continue to evaluate other targeting parameters. The final ad is then sent back to the source of the request as a bid response. This is a standard process with variations in implementation details.
[0103] All segments originate from various sources and generally have a certain frequency of updates, but no set rules govern them. For example, in data segmentation, full refreshes are less common than incremental updates. A full refresh requires someone to delete an entire segment from the data platform and load new data, which can often be excessive in terms of some changed / new records. A less expensive implementation uses incremental updates, which add new records but do not delete old ones. It is very easy for data to become obsolete and remain beyond a generic expiration policy or not be updated. This leads to the problem of frequently ignored IP (and other records) being updated far from real time, which works when the data does not change frequently, such as demographics.
[0104] IP volatility is isolated from this process, and there are no fixed alarm bells to notify the data aggregator of its changes. For example, as shown in Figure 9, ●In January 2023, users' IP addresses will be collected by businesses that resell information to third parties. Gender, home ownership, and household income will be collected and aggregated into larger IP segments. ●The segment will then be added to campaign targeting in February 2023. ● The campaign will launch in March 2023. ● Impressions will be available until the end of April 2023. ● The measurement company compares the IP addresses of brand website traffic to those of the delivered impressions, which represent a direct subset of the targeted audience.
[0105] In such a scenario, the IP addresses being served by the ad and the IP addresses being measured are assumed to be the same users as when this segment was added in January, which is problematic. When one of the targeted IP addresses is reassigned from one building to another, the impressions or measured IPs may appear the same in the reports, but they are different users, and they will result in outcomes that are significantly different from what is expected.
[0106] This process applies to all IP connectivity, whether it's segmentation or IP geolocation. Similarly, the higher the granularity of IP geolocation, the more volatile it will be. IP redistribution occurs at different scales, but even at moderate distances, it's more likely to be farther from a zip code than from a city, and therefore, until the IP georecord is updated, volatile IP addresses will be inaccurate in terms of the associated location.
[0107] To address the above issues, location identifiers, as described herein, are geospatial stationary values. When this system monitors IP<>location ID associations, it does so over a certain time period. When IP addresses are used as proxies for locations, the stability of the identifier becomes a concern.
[0108] If the same process is performed with a segment of location IDs, the ID will not change, while the IP address will.
[0109] For example, this system records information regarding IP 27.22.245.251, and the monthly IP associations may be as follows: [Table 8]
[0110] In this case, when the DSP is servicing impressions on 27.22.245.251 in March, they query for the location ID value, and the inventors return a historical record which shows the location ID to which this IP belonged when it was hopping around, and they can focus on January, i.e., the date the IP record was supplied, with location ID 12345678.
[0111] Here, instead of targeting IP addresses in the bidding stream, they would look for location IDs being sent by the publisher. In this case, the publisher would be determining the location ID from a new IP, for example, 87.54.21.01. The DSP can then deliver ads to the publisher, regardless of volatility, because the location ID is tied to time. Publisher IP, June: 87.54.21.01 > Location ID 12345678 The OpenRTB bid request user object contains, here, 12345678 DSP: March Lookup: 27.22.245.251>Location ID 12345678 The DSP targets the OpenRTB bid request user object here, looking for 12345678. The location ID here facilitates the matching of 27.22.245.251 and 87.54.21.01 using the location ID retrospective window.
[0112] (Example method) Figure 10 is a flowchart of an exemplary process 200 according to one aspect of the present disclosure. In some implementations, one or more process blocks in Figure 10 may be performed by a computing device or system (see, for example, Figure 11). As shown in Figure 10, process 200 may include receiving data relating to the network activity of a plurality of digital devices via a client database, the data having a digital identifier and network access information for each digital device, the network access information including the IP address accessed by the digital device and corresponding time and location information at the time of access (block 202). From this, the process may create or update a location identifier by matching the digital identifier and network access information with deterministic location data representing the static location of a physical structure via a matching module (block 204). Next, the location identifier process 200 may include receiving activation instructions relating to one or more of the plurality of digital identifiers (block 206). From this, mapping the activated digital identifier to the corresponding location identifier may occur (block 208). Finally, the method may include sending the location identifier to a client (block 210).
[0113] The location identification process may include additional implementations, such as any single implementation or any combination of implementations, as described below and / or in relation to one or more other processes described elsewhere in this specification. In a first implementation, the deterministic location data may include the latitude and longitude of a physical structure. In a second implementation, either alone or in combination with the first implementation, the digital identifier may be an IP address, mobile advertising ID, connected TV ID, or email address. In a third implementation, either alone or in combination with the first and second implementations, the mapping step activates the location identifier. In a fourth implementation, either alone or in combination with one or more of the first-to-third implementations, the matching step may further include adding contextual data to the location identifier. In a fifth implementation, either alone or in combination with one or more of the first-to-fourth implementations, the activation command is received from the advertiser platform. In a sixth implementation, either alone or in combination with one or more of the first-to-fifth implementations, the digital identifier data is embedded within the streaming platform.
[0114] In the seventh implementation, either alone or in combination with one or more of the first through sixth implementations, a location identifier includes deterministic location data, an IP address, and a digital identifier that accessed the IP address in the deterministic location data. In the eighth implementation, either alone or in combination with one or more of the first through seventh implementations, the location identifier further includes the access time of the digital identifier. In the ninth implementation, either alone or in combination with one or more of the first through eighth implementations, the activation instruction further includes a time component, and the mapping step further includes using the time component to map to the access time of the digital identifier and identify the corresponding location identifier. In the tenth implementation, either alone or in combination with one or more of the first through ninth implementations, an IP address may include multiple IP addresses. In the eleventh implementation, either alone or in combination with one or more of the first through tenth implementations, the corresponding location identifier includes multiple location identifiers.
[0115] Figure 10 shows an exemplary block of process 200, but in some implementations, process 200 may include additional blocks, fewer blocks, different blocks, or blocks arranged differently from those depicted in Figure 10. In addition, or alternatively, two or more blocks of process 200 may be executed in parallel.
[0116] This disclosure includes at least the following aspects:
[0117] Aspect 1: A method for location identification, comprising: ii. receiving data relating to the network activity of a plurality of digital devices via a client database, wherein the data comprises, for each digital device, a digital identifier and network access information, the network access information including the IP address accessed by the digital device and corresponding time and location information at the time of access; ii. matching the digital identifier and network access information with deterministic location data representing the static location of a physical structure via a matching module to create or update a location identifier; iii. receiving an activation command relating to one or more of the plurality of digital identifiers; iv. mapping the activated digital identifier to a corresponding location identifier; and v. transmitting the corresponding location identifier to a client.
[0118] Aspect 2: The method according to Aspect 1, wherein the definitive location data includes the latitude and longitude of the physical structure.
[0119] Aspect 2: The digital identifier is an IP address, mobile advertising ID, connected TV ID, or email address, as described in any of Aspects 1-2.
[0120] Side 4: The mapping step is to activate the location identifier, as described in any of Sides 1-3.
[0121] Side 5: The matching step further includes the method described in any of Sides 1-4, wherein the matching step further includes adding context data to the location identifier.
[0122] Side 6: The activation order is received from the advertiser platform by any of the methods described in Sides 1-5.
[0123] Aspect 7: Digital identifier data is embedded within the streaming platform, as described in any of Aspects 1-6.
[0124] Aspect 8: A location identifier comprising deterministic location data, an IP address, and a digital identifier that accessed the IP address in the deterministic location data, according to any method of Aspects 1-7.
[0125] Aspect 9: The location identifier further comprises the method of any of Aspect 8, wherein the location identifier further includes the access time of the digital identifier.
[0126] Aspect 10: The method according to any of Aspect 9, wherein the activation instruction further includes a time component, and the mapping step further includes using the time component to map to the access time of a digital identifier and to identify a corresponding location identifier.
[0127] Aspect 11: An IP address may contain multiple IP addresses, as described in any of Aspects 1-10.
[0128] Aspect 12: The method according to any of aspects 1-11, wherein the corresponding location identifier comprises multiple location identifiers.
[0129] Side 13: A system for location identification, the system comprising one or more processors, One or more processors, a. Receiving data related to the network activity of multiple digital devices via a client database, wherein the data is provided for each digital device. i. Digital identifiers and, ii. Network access information, including the IP address accessed by the digital device and the corresponding time and location information at the time of access. To be equipped with, b. Matching digital identifiers and network access information with deterministic location data representing the static location of a physical structure via a matching module, and creating or updating location identifiers. c. Receiving an activation instruction associated with one or more of multiple digital identifiers, d. Mapping activated digital identifiers to corresponding location identifiers, e. Sending a location identifier to the client A system configured to perform the following actions.
[0130] Aspect 14: The system described in Aspect 13, wherein the definitive location data includes the latitude and longitude of a physical structure, and the digital identifier is an IP address, mobile advertising ID, connected TV ID, or email address.
[0131] Side 15: The system described in any of sides 13-14, wherein one or more processors are further configured to add context data to a location identifier.
[0132] Aspect 16: A location identifier is a system as described in any of Aspects 13-15, which includes deterministic location data, an IP address, a digital identifier that accessed the IP address in the deterministic location data, and the access time of the digital identifier.
[0133] Side 17: The system described in any of sides 13-16, wherein the activation instruction further includes a time component, and the processor is further configured to use the time component to map to the access time of a digital identifier and identify a corresponding location identifier.
[0134] Side 18: The IP address may include multiple IP addresses, as described in any of Sides 14-16.
[0135] Aspect 19: A non-transient computer-readable medium storing a set of instructions for location identification, wherein the set of instructions comprises one or more instructions, When one or more instructions are executed by one or more processors in the device, the device will Receiving data related to the network activity of multiple digital devices via a client database, wherein the data comprises, for each digital device, a digital identifier and network access information, the network access information including the IP address accessed by the digital device and the corresponding time and location information at the time of access, and the digital identifier including an IP address, mobile advertising ID, connected TV ID, or email address. The process involves matching digital identifiers and network access information with deterministic location data representing the static location of a physical structure via a matching module, thereby creating or updating a location identifier, wherein the deterministic location data includes the latitude and longitude of the physical structure. Receiving an activation instruction associated with one or more of multiple digital identifiers, Mapping activated digital identifiers to corresponding location identifiers, Sending a location identifier to the client and A non-transient, computer-readable medium that enables the following action.
[0136] Aspect 20: A non-transient computer-readable medium as described in Aspect 19, wherein the location identifier further comprises the access time of the digital identifier, the activation instruction further comprises a time component, and the mapping step further comprises mapping the time component to the access time of the digital identifier to identify the corresponding location identifier.
[0137] The systems and methods described above offer numerous advantages over currently available systems. Firstly, identification and discrimination for analysis and targeting are now more complex than ever. Secondly, privacy compliance is more difficult due to the geographical fragmentation of regulations. In addition, third-party data is becoming increasingly scarce. Furthermore, consumer experiences need to span multiple channels. And finally, there is a need to protect user data from being re-identified to the individual level. Systems like those described above offer these advantages.
[0138] This system and method may include implementations on systems or multiple systems that provide multiprocessor, multitasking, multiprocess, and / or multithreaded computing, as well as implementations on systems that provide only single-processor, single-threaded computing. Multiprocessor computing involves performing computing using more than one processor. Multitasking computing involves performing computing using more than one operating system task. A task is an operating system concept that refers to a combination of a program being executed and bookkeeping information used by the operating system. Whenever a program is executed, the operating system creates a new task for it. A task is like an envelope for a program, in that it identifies the program using a task number and attaches other bookkeeping information to it. Many operating systems, including Linux®, UNIX®, OS / 2®, and Windows®, are capable of launching many tasks simultaneously and are called multitasking operating systems. Multitasking is the ability of an operating system to run more than one executable file simultaneously. Each executable file is launched within its own address space, meaning that executable files have no way of sharing any of their memories. This has the advantage that no program can damage the execution of any other program running on this system. However, programs have no way of exchanging any information except through the operating system (or by reading files stored on the file system). Multiprocess computing is similar to multitasking computing, as the terms task and process are often used synonymously, although some operating systems distinguish between the two.
[0139] The present invention may also be a system, method, and / or computer program product in an integration of any possible level of technical detail. The computer program product may include a computer-readable storage medium (or more mediums) having computer-readable program instructions thereon for causing a processor to perform aspects of the present invention. The computer-readable storage medium may be a tangible device capable of reserving and storing instructions for use by an instruction execution device.
[0140] Figure 11 illustrates a computing device 1100 as relating to this disclosure. The computing device 1100 may, for example, perform calculations, execute routines and algorithms, process data, communicate with other devices over a network, and display results. For example, the computing device 1100 may comprise a processor or CPU 1104 and a network adapter 1106 for communication with a network 1108. The network 1108 may connect the computing device 1100 to an external data source such as patient data 1150 or to another computer (not shown in the figure). The computing device may comprise input / output devices 1102. Such input / output components 1102 may be input devices, output devices, or both, and the computing device 1100 may have several such components. Exemplary input devices 1102 include keyboards, mice, microphones, touchpads, joysticks, and equivalents. Exemplary output devices 1102 include displays, speakers, haptic feedback devices, and equivalents. The computing device 1100 may further include a memory 1110 or a computer-readable storage medium 1110. Instructions for performing methods and techniques described elsewhere in this disclosure may reside in the computer memory 1110. The computer memory 1110 may also include an operating system 1130 for controlling various parts and components of the computing device 1100. The memory 1110 may also store data, for example, training data 1112 and test data 1114, or other data (not shown in the figure). The memory 1110 may also include algorithms such as a machine learning algorithm 1116, a simulation algorithm 1118, a visualization algorithm 1120, a clustering algorithm 1122, a classifier algorithm 1124, or other algorithms 1126.
[0141] Computer-readable storage media may include, for example, but are not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any preferred combination thereof. A non-exhaustive list of more specific embodiments of computer-readable storage media includes, namely, portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital multipurpose disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or grooved raised structures having instructions recorded thereon, and any preferred combination thereof. Computer-readable storage media as used herein are not to be interpreted as transient signals in themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through optical fiber cables), or electrical signals transmitted through wires.
[0142] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to individual computing / processing devices, or to an external computer or external storage device via a network 1108, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network 1108 may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card 1106 or network interface within each computing / processing device 1100 receives computer-readable program instructions from the network 1108 and transfers the computer-readable program instructions for storage in a computer-readable storage medium within the individual computing / processing device.
[0143] The computer-readable program instructions for performing the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuit networks, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, or equivalents, and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or the connection may be made to an external computer (for example, via the Internet using an Internet service provider). In some embodiments, an electronic network, including, for example, a programmable logic network, a field-programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer-readable program instructions by utilizing state information of computer-readable program instructions in order to personalize the electronic network in order to implement aspects of the present invention.
[0144] Aspects of the present invention will be described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It should be understood that each block in a flowchart and / or block diagram, and combinations of blocks within a flowchart and / or block diagram, can be implemented by computer-readable program instructions. These computer-readable program instructions may be provided to a general-purpose computer, a special-purpose computer, or a processor of another programmable data processing device to produce a machine, such that instructions executed via the processor of the computer or other programmable data processing device generate means for implementing functions / actions defined within blocks or combinations of blocks in a flowchart and / or block diagram.
[0145] These computer-readable program instructions may also be stored in computer-readable media that can instruct a computer, programmable data processing device, and / or other device to function in a particular manner, such as having a product that includes instructions that implement aspects of a function / action defined within a block or more blocks of a flowchart and / or block diagram.
[0146] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing device, or other device so that instructions executed on a computer, other programmable device, or other device implement functions / actions defined within blocks or multiple blocks of a flowchart and / or block diagram, causing a series of operational steps to be performed on the computer, other programmable device, or other device, thereby producing a computer implementation process.
[0147] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or part of an instruction, which comprises one or more executable instructions for implementing a defined logical function. In some alternative implementations, the functions described within a block may occur in an order other than that described in the figure. For example, two blocks shown consecutively may actually be executed substantially in parallel or in reverse order, depending on the functionality involved. It should also be noted that each block in the block diagram and / or flowchart illustration, and combinations of blocks in the block diagram and / or flowchart illustration, may be implemented by a special-purpose hardware-based system that performs a defined function or action, or a combination of special-purpose hardware and computer instructions.
[0148] While specific embodiments of the present invention are described, it will be understood by those skilled in the art that other embodiments equivalent to those described also exist. Therefore, it should be understood that the present invention is not limited by the specific embodiments illustrated, but only by the scope of the appended claims.
Claims
1. A method for location identification, a. Receiving data related to the network activity of multiple digital devices via a client database, wherein the data is provided for each digital device, i. Digital identifiers and ii. Network access information including the IP address accessed by the digital device and the corresponding time and location information at the time of access. To be equipped with, b. Matching the digital identifier and network access information with deterministic location data representing the static location of a physical structure via a matching module, and creating or updating a location identifier; c. Receiving an activation command associated with one or more of the aforementioned digital identifiers, d. Mapping the activated digital identifier to the corresponding location identifier, e. Sending the corresponding location identifier to the client. Methods that include...
2. The method according to claim 1, wherein the deterministic location data comprises the latitude and longitude of the physical structure.
3. The method according to claim 1, wherein the digital identifier is an IP address, a mobile advertising ID, a connected TV ID, or an email address.
4. The method according to claim 1, wherein the mapping step is to activate the location identifier.
5. The method according to claim 1, wherein the matching step further comprises adding context data to the location identifier.
6. The method according to claim 1, wherein the activation command is received from the advertiser platform.
7. The method according to claim 1, wherein the digital identifier data is embedded within the streaming platform.
8. The method according to claim 1, wherein the location identifier includes the deterministic location data, the IP address, and a digital identifier that accessed the IP address in the deterministic location data.
9. The method according to claim 8, wherein the location identifier further comprises the access time of the digital identifier.
10. The method according to claim 9, wherein the activation instruction further includes a time component, and the mapping step further includes using the time component to map the digital identifier to the access time and identify the corresponding location identifier.
11. The method according to claim 8, wherein the IP address can include a plurality of IP addresses.
12. The method according to claim 1, wherein the corresponding location identifier comprises a plurality of location identifiers.
13. A system for location identification, wherein the system comprises one or more processors, The one or more processors described above are: a. Receiving data related to the network activity of multiple digital devices via a client database, wherein the data is provided for each digital device, i. Digital identifiers and ii. Network access information including the IP address accessed by the digital device and the corresponding time and location information at the time of access. To be equipped with, b. Matching the digital identifier and network access information with deterministic location data representing the static location of a physical structure via a matching module, and creating or updating a location identifier; c. Receiving an activation command associated with one or more of the aforementioned digital identifiers, d. Mapping the activated digital identifier to the corresponding location identifier, e. Sending the location identifier to the client A system configured to perform the following actions.
14. The system according to claim 13, wherein the deterministic location data comprises the latitude and longitude of the physical structure, and the digital identifier is an IP address, a mobile advertising ID, a connected TV ID, or an email address.
15. The system according to claim 13, wherein one or more processors are further configured to add context data to the location identifier.
16. The system according to claim 13, wherein the location identifier includes the deterministic location data, the IP address, the digital identifier that accessed the IP address in the deterministic location data, and the access time of the digital identifier.
17. The system according to claim 13, wherein the activation instruction further includes a time component, and the processor is further configured to use the time component to map the digital identifier to the access time and identify the corresponding location identifier.
18. The system according to claim 14, wherein the IP address may include a plurality of IP addresses.
19. A non-transient computer-readable medium storing a set of instructions for location identification, wherein the set of instructions comprises one or more instructions. When the one or more instructions are executed by one or more processors of the device, the device will: Receiving data related to the network activity of multiple digital devices via a client database, wherein the data comprises, for each digital device, a digital identifier and network access information, the network access information including the IP address accessed by the digital device and corresponding time and location information at the time of access, and the digital identifier including an IP address, mobile advertising ID, connected TV ID, or email address. The process involves matching the digital identifier and network access information with deterministic location data representing the static location of a physical structure via a matching module, thereby creating or updating a location identifier, wherein the deterministic location data includes the latitude and longitude of the physical structure. Receiving an activation command associated with one or more of the aforementioned multiple digital identifiers, The activated digital identifier is mapped to a corresponding location identifier, Sending the aforementioned location identifier to the aforementioned client A non-transient, computer-readable medium that enables the following action.
20. The non-transient computer-readable medium according to claim 19, wherein the location identifier further comprises the access time of the digital identifier, the activation instruction further comprises a time component, and the mapping step further comprises using the time component to map to the access time of the digital identifier and identify the corresponding location identifier.