Patents by Inventor Christos Koufogiannakis
Christos Koufogiannakis has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10521829Abstract: At a bid determination platform, an initial sequence having an initial order of software steps for filtering advertisements in response to receiving an advertisement bid request is selected. Until a trigger event occurs, the initial sequence of software steps is implemented in the initial order in response to receiving advertisement bid requests. Implementing the initial sequence comprises automatically tracking a failure (or success) metric and resource requirement metric for each of the software steps. After the trigger event occurs, a first optimum sequence of the software steps is automatically selected in a first optimum order so as to optimize a total resource usage for execution of the software steps. Selecting the first optimum sequence of the software steps in the first optimum order is based on the tracked failure (or success) metric and resource requirement metric for each of the software steps during implementation of the initial sequence.Type: GrantFiled: October 20, 2016Date of Patent: December 31, 2019Assignee: Amobee, Inc.Inventors: Ali Dasdan, Christos Koufogiannakis
-
Patent number: 10417238Abstract: Techniques for responding to content requests that originate from remote computing devices are provided. In one technique, a content request that includes a viewer identifier of a user that requested web content and a contextual entity identifier of an entity that is referenced in the web content is received. In response to receiving the content request, based on the viewer identifier, first profile data about a viewer associated with the viewer identifier is retrieved. Also, based on the contextual entity identifier, second profile data about the entity is retrieved. Based on the first profile data and the second profile data, a content delivery campaign is identified. Particular content to deliver is determined based on the content delivery campaign. The particular content is sent to a computing device that initiated the content request.Type: GrantFiled: July 29, 2016Date of Patent: September 17, 2019Assignee: Microsoft Technology Licensing, LLC.Inventors: Christos Koufogiannakis, Daniel Francis, Hardik Bati, John Moore, Wenjun Wu
-
Patent number: 10410246Abstract: Systems, methods, and devices are disclosed herein for spend control in online advertising. Systems include a first plurality of advertisement servers included in a first data center, and a second plurality of advertisement servers included in a second data center. Systems include a performance data aggregator configured to receive performance data characterizing bids placed by the first plurality of advertisement servers and the second plurality of advertisement servers. Systems include a spend control analyzer configured to generate spend control data objects based on an estimate of bidding activity associated with the first data center and bidding activity associated with the second data center. Spend control data objects are capable of configuring advertisement servers to perform advertisement operations within determined budgetary constraints.Type: GrantFiled: November 13, 2015Date of Patent: September 10, 2019Assignee: Amobee, Inc.Inventors: Santanu Kolay, Christos Koufogiannakis, Ali Dasdan, Shiyong Cheng, Lawrence Lo
-
Publication number: 20180032583Abstract: Techniques for responding to content requests that originate from remote computing devices are provided. In one technique, a content request that includes a viewer identifier of a user that requested web content and a contextual entity identifier of an entity that is referenced in the web content is received. In response to receiving the content request, based on the viewer identifier, first profile data about a viewer associated with the viewer identifier is retrieved. Also, based on the contextual entity identifier, second profile data about the entity is retrieved. Based on the first profile data and the second profile data, a content delivery campaign is identified. Particular content to deliver is determined based on the content delivery campaign. The particular content is sent to a computing device that initiated the content request.Type: ApplicationFiled: July 29, 2016Publication date: February 1, 2018Inventors: Christos Koufogiannakis, Daniel Francis, Hardik Bati, John Moore, Wenjun Wu
-
Patent number: 9880864Abstract: A system includes a dynamic configuration property database for a computer-based service. The system executes an application program interface that couples the computer-based service to the database. The system reads a dynamic configuration property from the database while the computer-based service is executing and without requiring the computer-based service to cease execution. The system also provides the dynamic configuration property to the computer-based service while the computer-based service is executing such that the computer-based service can use the configuration property without requiring the computer-based service to cease execution and without having to restart the computer-based service.Type: GrantFiled: November 17, 2015Date of Patent: January 30, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Christos Koufogiannakis, Jianchao Lu
-
Publication number: 20170315676Abstract: Methods and systems for selecting candidate content for insertion into a content presentation to generate tailored user interface screens are described. According to various embodiments, the system receives a set of publication data including a plurality of content pages with content elements. The system determines a set of content divisions among the content pages and one or more insertion points corresponding to one or more content divisions. The system determines a set of candidate insertion content based on the set of content elements and the insertion points. The system causes presentation of the set of publication data including the plurality of content pages. Upon presentation of a content page proximate to an insertion point, the system selects a candidate insertion content item for insertion into the insertion point and causes presentation of the candidate insertion content during presentation of the set of publication data.Type: ApplicationFiled: April 28, 2016Publication date: November 2, 2017Inventors: Siyu You, Aman Grover, Christos Koufogiannakis, Manoj Rameshchandra Thakur
-
Publication number: 20170178253Abstract: A machine may be configured to manage user data in a user data store. For example, the machine identifies a rule associated with a campaign for serving online ads in a social networking service (SNS). The rule specifies a maximum number of user events associated with the online ads included in the campaign to occur during a time window, for a member of the SNS. The machine identifies a bucket that stores metadata pertaining to user events associated with the particular member that occurred during a time period that corresponds to the time window specified in the rule. The machine performs an analysis of the metadata pertaining to the user events associated with the particular member that occurred during the time window specified in the rule. The machine determines that, for the particular member, the rule is not violated based on the performing of the analysis of the metadata.Type: ApplicationFiled: December 19, 2015Publication date: June 22, 2017Inventors: Christos Koufogiannakis, Lihong Pei, Hardik N. Bati
-
Publication number: 20170139725Abstract: A system includes a dynamic configuration property database for a computer-based service. The system executes an application program interface that couples the computer-based service to the database. The system reads a dynamic configuration property from the database while the computer-based service is executing and without requiring the computer-based service to cease execution. The system also provides the dynamic configuration property to the computer-based service while the computer-based service is executing such that the computer-based service can use the configuration property without requiring the computer-based service to cease execution and without having to restart the computer-based service.Type: ApplicationFiled: November 17, 2015Publication date: May 18, 2017Inventors: Christos Koufogiannakis, Jianchao Lu
-
Publication number: 20170140422Abstract: Systems, methods, and devices are disclosed herein for spend control in online advertising. Systems include a first plurality of advertisement servers included in a first data center, and a second plurality of advertisement servers included in a second data center. Systems include a performance data aggregator configured to receive performance data characterizing bids placed by the first plurality of advertisement servers and the second plurality of advertisement servers. Systems include a spend control analyzer configured to generate spend control data objects based on an estimate of bidding activity associated with the first data center and bidding activity associated with the second data center. Spend control data objects are capable of configuring advertisement servers to perform advertisement operations within determined budgetary constraints.Type: ApplicationFiled: November 13, 2015Publication date: May 18, 2017Applicant: Turn Inc.Inventors: Santanu Kolay, Christos Koufogiannakis, Ali Dasdan, Shiyong Cheng, Lawrence Lo
-
Publication number: 20170039603Abstract: At a bid determination platform, an initial sequence having an initial order of software steps for filtering advertisements in response to receiving an advertisement bid request is selected. Until a trigger event occurs, the initial sequence of software steps is implemented in the initial order in response to receiving advertisement bid requests. Implementing the initial sequence comprises automatically tracking a failure (or success) metric and resource requirement metric for each of the software steps. After the trigger event occurs, a first optimum sequence of the software steps is automatically selected in a first optimum order so as to optimize a total resource usage for execution of the software steps. Selecting the first optimum sequence of the software steps in the first optimum order is based on the tracked failure (or success) metric and resource requirement metric for each of the software steps during implementation of the initial sequence.Type: ApplicationFiled: October 20, 2016Publication date: February 9, 2017Applicant: Turn Inc.Inventors: Ali Dasdan, Christos Koufogiannakis
-
Publication number: 20170004531Abstract: Disclosed in some examples are methods, systems, and machine readable mediums which allow for fast and efficient advertisement selection using search indices. Selection criteria of the advertisement campaigns are converted into documents using a conversion schema. The documents are then indexed to create an advertising campaign index. Member profile data is then converted into a member search query using the conversion schema. The member search query is then issued to a search engine which uses the advertising campaign index to find matching campaigns.Type: ApplicationFiled: June 30, 2015Publication date: January 5, 2017Inventors: Gururaj Seetharama, Apurva Rajiv Mehta, Dmytro Andriyovich Ivchenko, Sriram Sankar, Swetha Nagabhushan Karthik, Christos Koufogiannakis
-
Publication number: 20150161678Abstract: At a bid determination platform, an initial sequence having an initial order of software steps for filtering advertisements in response to receiving an advertisement bid request is selected. Until a trigger event occurs, the initial sequence of software steps is implemented in the initial order in response to receiving advertisement bid requests. Implementing the initial sequence comprises automatically tracking a failure (or success) metric and resource requirement metric for each of the software steps. After the trigger event occurs, a first optimum sequence of the software steps is automatically selected in a first optimum order so as to optimize a total resource usage for execution of the software steps. Selecting the first optimum sequence of the software steps in the first optimum order is based on the tracked failure (or success) metric and resource requirement metric for each of the software steps during implementation of the initial sequence.Type: ApplicationFiled: December 5, 2013Publication date: June 11, 2015Applicant: TURN INC.Inventors: Ali Dasdan, Christos Koufogiannakis