EDGE ATTRIBUTE AGGREGATION IN A DIRECTED GRAPH
First Claim
Patent Images
1. A computer-implemented method for aggregating event data from an advertising system for billing purposes, the method comprising:
- receiving the event data for a time period from the advertising system, the event data comprising a plurality of event data records each corresponding to an advertising event occurring during the time period, each event data record comprising a sequence of one or more hop data records, each hop data record including a source entity identifier corresponding to a source entity from whom payment for the corresponding advertising event is owed, a target entity identifier corresponding to a target entity to whom payment for the corresponding advertising event is owed, a deal identifier corresponding to a deal between the source entity and the target entity, and a payment amount relating to the advertising event;
for each of selected ones of the hop data records for which the target entity identifier corresponds to a virtual entity, generating a virtual hop data record including the source entity identifier and the deal identifier from the selected hop data record and the target entity identifier and payment amount from a next hop data record immediately following the selected hop data record in the event data;
aggregating the payment amounts in the event data for each unique combination of source entity, target entity, and deal using the virtual hop data records and disregarding the selected hop data records; and
facilitating payment for each of the advertising events represented in the event data using the aggregated payment amounts.
9 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus are described by which edge attribute data relating to a system that may be represented by a directed graph may be efficiently aggregated despite the presence of virtual entities in the system for which edge attribute data aggregation is not useful or meaningful.
-
Citations
18 Claims
-
1. A computer-implemented method for aggregating event data from an advertising system for billing purposes, the method comprising:
-
receiving the event data for a time period from the advertising system, the event data comprising a plurality of event data records each corresponding to an advertising event occurring during the time period, each event data record comprising a sequence of one or more hop data records, each hop data record including a source entity identifier corresponding to a source entity from whom payment for the corresponding advertising event is owed, a target entity identifier corresponding to a target entity to whom payment for the corresponding advertising event is owed, a deal identifier corresponding to a deal between the source entity and the target entity, and a payment amount relating to the advertising event; for each of selected ones of the hop data records for which the target entity identifier corresponds to a virtual entity, generating a virtual hop data record including the source entity identifier and the deal identifier from the selected hop data record and the target entity identifier and payment amount from a next hop data record immediately following the selected hop data record in the event data; aggregating the payment amounts in the event data for each unique combination of source entity, target entity, and deal using the virtual hop data records and disregarding the selected hop data records; and facilitating payment for each of the advertising events represented in the event data using the aggregated payment amounts. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product for aggregating event data from an advertising system for billing purposes, the computer program product comprising at least one tangible computer readable medium having computer program instructions stored therein, the computer program instructions being configured to cause at least one computing device to:
-
receive the event data for a time period from the advertising system, the event data comprising a plurality of event data records each corresponding to an advertising event occurring during the time period, each event data record comprising a sequence of one or more hop data records, each hop data record including a source entity identifier corresponding to a source entity from whom payment for the corresponding advertising event is owed, a target entity identifier corresponding to a target entity to whom payment for the corresponding advertising event is owed, a deal identifier corresponding to a deal between the source entity and the target entity, and a payment amount relating to the advertising event; for each of selected ones of the hop data records for which the target entity identifier corresponds to a virtual entity, generate a virtual hop data record including the source entity identifier and the deal identifier from the selected hop data record and the target entity identifier and payment amount from a next hop data record immediately following the selected hop data record in the event data; aggregate the payment amounts in the event data for each unique combination of source entity, target entity, and deal using the virtual hop data records and disregarding the selected hop data records; and facilitate payment for each of the advertising events represented in the event data using the aggregated payment amounts. - View Dependent Claims (7, 8, 9, 10)
-
-
11. An online advertising exchange system operating in a network and comprising at least one computing device configured to:
-
connect advertising inventory of participating online publishers with advertising content of participating advertisers to generate advertising events via the network; receive event data for a time period via the network, the event data comprising a plurality of event data records each corresponding to an advertising event occurring during the time period, each event data record comprising a sequence of one or more hop data records, each hop data record including a source entity identifier corresponding to a source entity from whom payment for the corresponding advertising event is owed, a target entity identifier corresponding to a target entity to whom payment for the corresponding advertising event is owed, a deal identifier corresponding to a deal between the source entity and the target entity, and a payment amount relating to the advertising event; for each of selected ones of the hop data records for which the target entity identifier corresponds to a virtual entity, generate a virtual hop data record including the source entity identifier and the deal identifier from the selected hop data record and the target entity identifier and payment amount from a next hop data record immediately following the selected hop data record in the event data, each virtual entity representing one or more participants in the advertising exchange; aggregate the payment amounts in the event data for each unique combination of source entity, target entity, and deal using the virtual hop data records and disregarding the selected hop data records; and facilitate payment for each of the advertising events represented in the event data via the network using the aggregated payment amounts. - View Dependent Claims (12, 13, 14)
-
-
15. A computer-implemented method for aggregating edge attributes relating to a directed graph representation of a system, wherein the directed graph representation comprises a plurality of paths, each path comprising a plurality of nodes interconnected by a plurality of edges, the method comprising:
-
collecting path data in which each of a subset of the paths of the directed graph representation is represented by a path data record, each path data record comprising a sequence of one or more edge data records, each edge data record corresponding to one of the edges and including a source node identifier corresponding to a source node from which the corresponding edge originates, a target node identifier corresponding to a target node at which the corresponding edge terminates, and a plurality of attributes characterizing a relationship between the source node and the target node; and for each of selected ones of the edge data records for which the target node identifier corresponds to a virtual node, generating a virtual edge data record including the source node identifier and a first attribute from the selected edge data record and the target node identifier and a second attribute from a next edge data record immediately following the selected edge data record in the corresponding path data record; and aggregating a third edge attribute in the path data for each unique combination of a first plurality of edge attributes using the virtual edge data records and disregarding the selected edge data records. - View Dependent Claims (16)
-
-
17. A computer program product for aggregating edge attributes relating to a directed graph representation of a system, wherein the directed graph representation comprises a plurality of paths, each path comprising a plurality of nodes interconnected by a plurality of edges, the computer program product comprising at least one tangible computer readable medium having computer program instructions stored therein, the computer program instructions being configured to cause at least one computing device to:
-
collect path data in which each of a subset of the paths of the directed graph representation is represented by a path data record, each path data record comprising a sequence of one or more edge data records, each edge data record corresponding to one of the edges and including a source node identifier corresponding to a source node from which the corresponding edge originates, a target node identifier corresponding to a target node at which the corresponding edge terminates, and a plurality of attributes characterizing a relationship between the source node and the target node; and for each of selected ones of the edge data records for which the target node identifier corresponds to a virtual node, generate a virtual edge data record including the source node identifier and a first attribute from the selected edge data record and the target node identifier and a second attribute from a next edge data record immediately following the selected edge data record in the corresponding path data record; and aggregate a third edge attribute in the path data for each unique combination of a first plurality of edge attributes using the virtual edge data records and disregarding the selected edge data records. - View Dependent Claims (18)
-
Specification