Patents by Inventor David Willcox

David Willcox 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: 11956297
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving, at a stream processor, an event, the stream processor including a plurality of processing stages; generating, by the stream processor, an augmented event based on the event, the augmented event including at least one additional field not appearing in the event, the additional field generated by an operation selected from the group consisting of a join or dimensional annotation operation; and emitting, by the stream processor, the augmented event to downstream consumer.
    Type: Grant
    Filed: January 16, 2023
    Date of Patent: April 9, 2024
    Assignee: YAHOO ASSETS LLC
    Inventors: Michael Pippin, David Willcox, Allie K. Watfa, George Aleksandrovich
  • Patent number: 11954125
    Abstract: Techniques for providing batch performance using a stream processor are described. In one technique, a method includes receiving an event that includes an event key and a timestamp. The method then generates a partition value and time bucket value, the partition value generated based on the event key and the time bucket value generated based on the timestamp. The event key, partition value, and time bucket value are then combined to form a database key and used in a command to a database.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: April 9, 2024
    Assignee: YAHOO ASSETS LLC
    Inventors: Michael Pippin, David Willcox, Allie K Watfa, George Aleksandrovich
  • Patent number: 11947542
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising detecting a real close of books (COB) of a data transport, the real COB associated with a set of raw events transmitted over the data transport, flushing a stream processor in response to detecting the real COB, and retrieving a set of processed events from a distributed file system after the flushing is complete. A fact COB computation is then performed on the set of processed events and the set of raw events, the fact COB computation outputting a number of missing events, each missing event representing a raw event that is not present in the set of processed events. The processed events are then certified upon determining that the number of missing events is below a threshold.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: April 2, 2024
    Assignee: YAHOO ASSETS LLC
    Inventors: Michael Pippin, David Willcox, Allie K. Watfa, George Aleksandrovich
  • Patent number: 11899672
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving an event, such as a streaming event, from a client. The method determines that the event comprises a primary event and, if so, writes the primary event to a cache and returning the primary event to the client. The method later receives a second event from the client, the second event associated with the first event, annotates the second event based on the primary event, and returns the annotated second event to the client.
    Type: Grant
    Filed: April 7, 2023
    Date of Patent: February 13, 2024
    Assignee: YAHOO ASSETS LLC
    Inventors: David Willcox, Maulik Shah, Allie K. Watfa, George Aleksandrovich
  • Patent number: 11836124
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving an event that includes a plurality of fields and extracting needed fields from the plurality of fields. The method then serializes the plurality of fields and generates a new event that includes the set of needed fields and a hidden field, the value of the hidden field comprising the serialized fields. The method then transmits the new event for processing using at least one processing stage of a stream processor. In response, the method reserializes a processed event generated by the stream processor and outputs the reserialized event to a downstream consumer.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: December 5, 2023
    Assignee: YAHOO ASSETS LLC
    Inventors: Michael Pippin, David Willcox, Allie K. Watfa, George Aleksandrovich
  • Patent number: 11822556
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving a stream of events, where each event comprises a header including an event type field and a timestamp. and identifying that the header of a given event in the stream of events includes at least one secondary event in a list of secondary identifiers included in the header. A flag is set in a distributed database for the at least one secondary event, then writing the given event to a table in the distributed database occurs, the table selected based on a respective event type field and timestamp associated with the given event. Deduplicating the given event and the at least one secondary event in response to a close of books (COB) signal occurs, after which writing at least one deduplicated event to a storage device occurs, the at least one deduplicated event selected from the group consisting of the given event and the at least one secondary event.
    Type: Grant
    Filed: August 10, 2022
    Date of Patent: November 21, 2023
    Assignee: YAHOO ASSETS LLC
    Inventors: Michael Pippin, David Willcox, Allie K. Watfa, George Aleksandrovich
  • Patent number: 11822536
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising completing a first audit for a primary event type, the first audit generating a set of primary events and completing a second audit for a secondary event type, the second audit generating a draft set of secondary events and an auxiliary feed of un-joined secondary events. The method then performs a join audit check on the auxiliary feed of un-joined secondary events and a set of flags, each flag in the set of flags indicating that a respective un-joined secondary event was properly joined. Based on the results of the join audit check, the method replays a subset of the un-joined secondary events in the auxiliary feed upon determining that the join audit check failed.
    Type: Grant
    Filed: March 14, 2022
    Date of Patent: November 21, 2023
    Assignee: YAHOO ASSETS LLC
    Inventors: Michael Pippin, David Willcox, Allie K. Watfa, George Aleksandrovich, Jacob Tolar
  • Publication number: 20230252030
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving an event, such as a streaming event, from a client. The method determines that the event comprises a primary event and, if so, writes the primary event to a cache and returning the primary event to the client. The method later receives a second event from the client, the second event associated with the first event, annotates the second event based on the primary event, and returns the annotated second event to the client.
    Type: Application
    Filed: April 7, 2023
    Publication date: August 10, 2023
    Inventors: David WILLCOX, Maulik SHAH, Allie K. WATFA, George ALEKSANDROVICH
  • Patent number: 11681569
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a system is disclosed comprising a stream processor configured to process events emitted by an event stream and output processed events; a queue configured to receive the processed events from the stream processor; a spooler configured to read the processed events from the queue and write the processed events to a buffer; and an auditor process configured to extract a written event from the buffer and confirm that the written event matches an event present in the event stream.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: June 20, 2023
    Assignee: YAHOO ASSETS LLC
    Inventors: Michael Pippin, David Willcox, Allie K. Watfa, George Aleksandrovich, Jacob Tolar
  • Publication number: 20230156066
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving, at a stream processor, an event, the stream processor including a plurality of processing stages; generating, by the stream processor, an augmented event based on the event, the augmented event including at least one additional field not appearing in the event, the additional field generated by an operation selected from the group consisting of a join or dimensional annotation operation; and emitting, by the stream processor, the augmented event to downstream consumer.
    Type: Application
    Filed: January 16, 2023
    Publication date: May 18, 2023
    Inventors: Michael PIPPIN, David WILLCOX, Allie K. WATFA, George ALEKSANDROVICH
  • Patent number: 11645287
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving an event, such as a streaming event, from a client. The method determines that the event comprises a primary event and, if so, writes the primary event to a cache and returning the primary event to the client. The method later receives a second event from the client, the second event associated with the first event, annotates the second event based on the primary event, and returns the annotated second event to the client.
    Type: Grant
    Filed: May 27, 2022
    Date of Patent: May 9, 2023
    Assignee: YAHOO ASSETS LLC
    Inventors: David Willcox, Maulik Shah, Allie K. Watfa, George Aleksandrovich
  • Patent number: 11558446
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving, at a stream processor, an event, the stream processor including a plurality of processing stages; generating, by the stream processor, an augmented event based on the event, the augmented event including at least one additional field not appearing in the event, the additional field generated by an operation selected from the group consisting of a join or dimensional annotation operation; and emitting, by the stream processor, the augmented event to downstream consumer.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: January 17, 2023
    Assignee: YAHOO ASSETS LLC
    Inventors: Michael Pippin, David Willcox, Allie K. Watfa, George Aleksandrovich
  • Publication number: 20220382762
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving a stream of events, where each event comprises a header including an event type field and a timestamp. and identifying that the header of a given event in the stream of events includes at least one secondary event in a list of secondary identifiers included in the header. A flag is set in a distributed database for the at least one secondary event, then writing the given event to a table in the distributed database occurs, the table selected based on a respective event type field and timestamp associated with the given event. Deduplicating the given event and the at least one secondary event in response to a close of books (COB) signal occurs, after which writing at least one deduplicated event to a storage device occurs, the at least one deduplicated event selected from the group consisting of the given event and the at least one secondary event.
    Type: Application
    Filed: August 10, 2022
    Publication date: December 1, 2022
    Inventors: Michael PIPPIN, David WILLCOX, Allie K. WATFA, George ALEKSANDROVICH
  • Publication number: 20220292102
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving an event, such as a streaming event, from a client. The method determines that the event comprises a primary event and, if so, writes the primary event to a cache and returning the primary event to the client. The method later receives a second event from the client, the second event associated with the first event, annotates the second event based on the primary event, and returns the annotated second event to the client.
    Type: Application
    Filed: May 27, 2022
    Publication date: September 15, 2022
    Inventors: David WILLCOX, Maulik SHAH, Allie K. WATFA, George ALEKSANDROVICH
  • Patent number: 11416497
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving a stream of events, where each event comprises a header including an event type field and a timestamp. and identifying that the header of a given event in the stream of events includes at least one secondary event in a list of secondary identifiers included in the header. A flag is set in a distributed database for the at least one secondary event, then writing the given event to a table in the distributed database occurs, the table selected based on a respective event type field and timestamp associated with the given event. Deduplicating the given event and the at least one secondary event in response to a close of books (COB) signal occurs, after which writing at least one deduplicated event to a storage device occurs, the at least one deduplicated event selected from the group consisting of the given event and the at least one secondary event.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: August 16, 2022
    Assignee: YAHOO ASSETS LLC
    Inventors: Michael Pippin, David Willcox, Allie K. Watfa, George Aleksandrovich
  • Publication number: 20220197891
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising completing a first audit for a primary event type, the first audit generating a set of primary events and completing a second audit for a secondary event type, the second audit generating a draft set of secondary events and an auxiliary feed of un-joined secondary events. The method then performs a join audit check on the auxiliary feed of un-joined secondary events and a set of flags, each flag in the set of flags indicating that a respective un-joined secondary event was properly joined. Based on the results of the join audit check, the method replays a subset of the un-joined secondary events in the auxiliary feed upon determining that the join audit check failed.
    Type: Application
    Filed: March 14, 2022
    Publication date: June 23, 2022
    Inventors: Michael PIPPIN, David WILLCOX, Allie K. WATFA, George ALEKSANDROVICH, Jacob TOLAR
  • Patent number: 11347748
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving an event, such as a streaming event, from a client. The method determines that the event comprises a primary event and, if so, writes the primary event to a cache and returning the primary event to the client. The method later receives a second event from the client, the second event associated with the first event, annotates the second event based on the primary event, and returns the annotated second event to the client.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: May 31, 2022
    Assignee: YAHOO ASSETS LLC
    Inventors: David Willcox, Maulik Shah, Allie K. Watfa, George Aleksandrovich
  • Patent number: 11294887
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising completing a first audit for a primary event type, the first audit generating a set of primary events and completing a second audit for a secondary event type, the second audit generating a draft set of secondary events and an auxiliary feed of un-joined secondary events. The method then performs a join audit check on the auxiliary feed of un-joined secondary events and a set of flags, each flag in the set of flags indicating that a respective un-joined secondary event was properly joined. Based on the results of the join audit check, the method replays a subset of the un-joined secondary events in the auxiliary feed upon determining that the join audit check failed.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: April 5, 2022
    Assignee: YAHOO ASSETS LLC
    Inventors: Michael Pippin, David Willcox, Allie K. Watfa, George Aleksandrovich, Jacob Tolar
  • Publication number: 20210365462
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving a stream of events, where each event comprises a header including an event type field and a timestamp. and identifying that the header of a given event in the stream of events includes at least one secondary event in a list of secondary identifiers included in the header. A flag is set in a distributed database for the at least one secondary event, then writing the given event to a table in the distributed database occurs, the table selected based on a respective event type field and timestamp associated with the given event. Deduplicating the given event and the at least one secondary event in response to a close of books (COB) signal occurs, after which writing at least one deduplicated event to a storage device occurs, the at least one deduplicated event selected from the group consisting of the given event and the at least one secondary event.
    Type: Application
    Filed: May 22, 2020
    Publication date: November 25, 2021
    Inventors: Michael PIPPIN, David WILLCOX, Allie K. WATFA, George ALEKSANDROVICH
  • Publication number: 20210365419
    Abstract: Disclosed are embodiments for providing batch performance using a stream processor. In one embodiment, a method is disclosed comprising receiving an event that includes a plurality of fields and extracting needed fields from the plurality of fields. The method then serializes the plurality of fields and generates a new event that includes the set of needed fields and a hidden field, the value of the hidden field comprising the serialized fields. The method then transmits the new event for processing using at least one processing stage of a stream processor. In response, the method reserializes a processed event generated by the stream processor and outputs the reserialized event to a downstream consumer.
    Type: Application
    Filed: May 22, 2020
    Publication date: November 25, 2021
    Inventors: Michael PIPPIN, David WILLCOX, Allie K. WATFA, George ALEKSANDROVICH