Patents by Inventor Jason Curtis Jenks

Jason Curtis Jenks 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: 11431662
    Abstract: Techniques for message deduplication are described. In one embodiment, an apparatus may comprise a client front-end component operative to receive an incoming message at a messaging system from a messaging client on a client device; extract a deduplication token from the incoming message; store the incoming message in a message queue where examining the deduplication token determines that the incoming message does not duplicate any existing message of the messaging system; and discard the incoming message where examining the deduplication token determines that the incoming message does duplicate an existing message; and a message deduplication component operative to examine the deduplication token to determine whether the incoming message duplicates any existing message of the messaging system. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 28, 2017
    Date of Patent: August 30, 2022
    Assignee: META PLATFORMS, INC.
    Inventors: Zardosht Kasheff, John Reed Riley, Jeremy David Fein, Jason Curtis Jenks
  • Patent number: 11310315
    Abstract: Techniques for directive-based messaging synchronization are described. In one embodiment, an apparatus may comprise a local network component operative to receive a directive package at a messaging client on a client device; and a local database synchronization component operative to execute the directive package with a messaging-sync virtual machine to modify a local messaging database of the messaging client; and refresh a user interface component of the messaging client in response to modifying the local messaging database of the messaging client. Other embodiments are described and claimed.
    Type: Grant
    Filed: April 9, 2021
    Date of Patent: April 19, 2022
    Assignee: META PLATFORMS, INC.
    Inventors: Jason Curtis Jenks, Joshua Scott Evenson, Mohsen M Agsen, Jeremy David Fein, Philippe Vincent Ajoux
  • Patent number: 11171903
    Abstract: Techniques for intelligent messaging for message syncing are described. An apparatus may comprise a recipient inbound messaging component, a recipient queue management component, a recipient update customization component, and a recipient outbound messaging component. The recipient inbound messaging component may be operative to receive an incoming update at a recipient update queue, the recipient update queue associated with a recipient of the incoming update. The recipient queue management component may be operative to add the incoming update to the recipient update queue and determine a recipient messaging endpoint to receive the incoming update. The recipient update customization component may be operative to retrieve one or more recipient messaging endpoint parameters associated with the recipient messaging endpoint and generate a customized incoming update from the incoming update according to the one or more recipient messaging endpoint parameters.
    Type: Grant
    Filed: February 13, 2015
    Date of Patent: November 9, 2021
    Assignee: FACEBOOK, INC.
    Inventors: Olivia Hsu Bishop, Thomas Apostolos Georgiou, Jeremy David Fein, Eyal Guthmann, Jason Curtis Jenks
  • Patent number: 11055314
    Abstract: Techniques for a database-driven messaging user interface are described. In one embodiment, an apparatus may comprise a database access component operative to determine that a local messaging database of a messaging client on a client device has been updated; and examine the local messaging database to determine a set of database queries to rerun for a plurality of local user interface components; and the local user interface components operative to refresh based on running the set of database queries against the local messaging database. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 31, 2018
    Date of Patent: July 6, 2021
    Assignee: FACEBOOK, INC.
    Inventors: Jason Curtis Jenks, Joshua Scott Evenson, Mohsen Agsen, Jeremy David Fein, Philippe Vincent Ajoux
  • Patent number: 11025576
    Abstract: Techniques for backend-specific cursor tracking are described. In one embodiment, an apparatus may comprise a local database synchronization component operative to initiate a client update at a messaging client on a client device, the client update associated with a specific backend service for a messaging system; retrieve an opaque backend-specific update cursor for the specific backend service; and store an updated opaque backend-specific update cursor for the messaging client; and a local network component operative to send the opaque backend-specific update cursor to the messaging system in association with a client update request; and receive an update package at the messaging client on the client device, the update package comprising the updated opaque backend-specific update cursor. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 31, 2018
    Date of Patent: June 1, 2021
    Assignee: FACEBOOK, INC.
    Inventors: Jason Curtis Jenks, Joshua Scott Evenson, Mohsen Agsen, Jeremy David Fein, Philippe Vincent Ajoux
  • Patent number: 10979500
    Abstract: Techniques for directive-based messaging synchronization are described. In one embodiment, an apparatus may comprise a local network component operative to receive a directive package at a messaging client on a client device; and a local database synchronization component operative to execute the directive package with a messaging-sync virtual machine to modify a local messaging database of the messaging client; and refresh a user interface component of the messaging client in response to modifying the local messaging database of the messaging client. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 31, 2018
    Date of Patent: April 13, 2021
    Assignee: FACEBOOK, INC.
    Inventors: Jason Curtis Jenks, Joshua Scott Evenson, Mohsen Agsen, Jeremy David Fein, Philippe Vincent Ajoux
  • Patent number: 10855761
    Abstract: Techniques for in-place directive execution are described. In one embodiment, an apparatus may comprise a local network component operative to receive a directive package at a messaging client on a client device, the directive package formatted according to a serialized directive schema; and store the directive package in a memory of the client device in the serialized directive schema; and a local database synchronization component operative to execute the directive package using in-place access of the directive package in the memory of the client device. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 31, 2018
    Date of Patent: December 1, 2020
    Assignee: FACEBOOK, INC.
    Inventors: Jason Curtis Jenks, Joshua Scott Evenson, Mohsen Agsen, Jeremy David Fein, Philippe Vincent Ajoux
  • Patent number: 10645040
    Abstract: Techniques for consistent writes in a split message store are described. In one embodiment, an apparatus may comprise a client front-end component of a messaging system operative to receive a message, the message comprising message metadata and a message body; and store the message in a message queue; and the message queue operative to initiate a storing of the message metadata in a metadata store; delay a storing of the message body in a message store until a metadata storage success indication is received from the metadata store; receive the metadata storage success indication from the metadata store; and store the message body in the message store in response to receiving the metadata storage success indication from the metadata store. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 29, 2017
    Date of Patent: May 5, 2020
    Assignee: FACEBOOK, INC.
    Inventors: Rajesh Nishtala, Jason Curtis Jenks, Zardosht Kasheff, Samuel Rash
  • Patent number: 10581982
    Abstract: The disclosure is directed to moving an application, e.g., a messenger service in a social networking application, to various locations in a distributed computing system, e.g., to improve an efficiency of the application. For example, the application can be moved to a data center that is closer to a location of a user to decrease a latency associated with accessing the application. In another example, the application can be moved to a data center that is closer to a location of a storage system that stores data associated with the application to improve a throughput of the application, e.g., a rate at which data is read and/or written.
    Type: Grant
    Filed: April 8, 2016
    Date of Patent: March 3, 2020
    Assignee: Facebook, Inc.
    Inventors: Thomas Apostolos Georgiou, Haobo Xu, Jason Curtis Jenks, Hairong Kuang
  • Publication number: 20190207882
    Abstract: Techniques for consistent writes in a split message store are described. In one embodiment, an apparatus may comprise a client front-end component of a messaging system operative to receive a message, the message comprising message metadata and a message body; and store the message in a message queue; and the message queue operative to initiate a storing of the message metadata in a metadata store; delay a storing of the message body in a message store until a metadata storage success indication is received from the metadata store; receive the metadata storage success indication from the metadata store; and store the message body in the message store in response to receiving the metadata storage success indication from the metadata store. Other embodiments are described and claimed.
    Type: Application
    Filed: December 29, 2017
    Publication date: July 4, 2019
    Inventors: Rajesh Nishtala, Jason Curtis Jenks, Zardosht Kasheff, Samuel Rash
  • Publication number: 20190207887
    Abstract: Techniques for message deduplication are described. In one embodiment, an apparatus may comprise a client front-end component operative to receive an incoming message at a messaging system from a messaging client on a client device; extract a deduplication token from the incoming message; store the incoming message in a message queue where examining the deduplication token determines that the incoming message does not duplicate any existing message of the messaging system; and discard the incoming message where examining the deduplication token determines that the incoming message does duplicate an existing message; and a message deduplication component operative to examine the deduplication token to determine whether the incoming message duplicates any existing message of the messaging system. Other embodiments are described and claimed.
    Type: Application
    Filed: December 28, 2017
    Publication date: July 4, 2019
    Inventors: Zardosht Kasheff, John Reed Riley, Jeremy David Fein, Jason Curtis Jenks
  • Publication number: 20190207888
    Abstract: Techniques for message indexing are described. In one embodiment, an apparatus may comprise a client front-end component operative to receive an incoming message from a client device at a client front-end component for a messaging system; and extract a message identifier for the incoming message from the incoming message, wherein the message identifier uniquely identifies the incoming message; and a message queue operative to store the incoming message in a message storage system based on indexing the incoming message based on the message identifier. Other embodiments are described and claimed.
    Type: Application
    Filed: December 28, 2017
    Publication date: July 4, 2019
    Inventors: Zardosht Kasheff, Ron Eizenband, John Reed Riley, Huan Yan Wang, Sean Bradley Quinlan, Jason Curtis Jenks, Jeremy David Fein, Sean Navid Aryana
  • Publication number: 20180018694
    Abstract: One or more embodiments of the disclosure provide a promotional messaging system for efficiently providing promotional messages to customers via an electronic messaging system. For example, in one or more embodiments, the promotional messaging system identifies users of the electronic messaging system that have previously communicated with a merchant as part of a customized audience. Additionally, in some embodiments, the promotional messaging system analyzes activity patterns of the users to provide improved delivery of promotional messages in a non-intrusive, private, and timely manner. Overall, the promotional messaging system described herein improves communications via an electronic messaging system between users and a merchant.
    Type: Application
    Filed: October 20, 2016
    Publication date: January 18, 2018
    Inventors: Lior Berry, JR., Himanshu Baweja, Edward Young Zhang, Pradeep Venkatachalam, Dheeraj Kumar Singh, Hao Lin, Srinivas Prasad Govindan, Jason Curtis Jenks
  • Publication number: 20180018703
    Abstract: One or more embodiments of the disclosure provide a promotional messaging system for efficiently providing promotional messages to customers via an electronic messaging system. For example, in one or more embodiments, the promotional messaging system identifies users of the electronic messaging system that have previously communicated with a merchant as part of a customized audience. Additionally, in some embodiments, the promotional messaging system analyzes activity patterns of the users to provide improved delivery of promotional messages in a non-intrusive, private, and timely manner. Overall, the promotional messaging system described herein improves communications via an electronic messaging system between users and a merchant.
    Type: Application
    Filed: October 20, 2016
    Publication date: January 18, 2018
    Inventors: Lior Berry, Srinivas Prasad Govindan, Jason Curtis Jenks
  • Publication number: 20170293540
    Abstract: The disclosure is directed to a failover mechanism for failing over an application service, e.g., a messaging service, from servers in a first region to servers in a second region. Data is stored as shards in which each shard contains data associated with a subset of the users. Data access requests are served by a primary region of the shard. A global shard manager manages failing over the application service from a current primary region to a secondary region of the shard. A leader service in the application service replicates data associated with the application service from the primary to the secondary region, and ensures that the state of various other services of the application service in the secondary region is consistent. The leader service confirms that there is no replication lag between the primary and secondary regions and fails over the application service to the secondary region.
    Type: Application
    Filed: April 8, 2016
    Publication date: October 12, 2017
    Inventors: Vikas Mehta, Haobo Xu, Jason Curtis Jenks, Hairong Kuang
  • Publication number: 20170295246
    Abstract: The disclosure is directed to moving an application, e.g., a messenger service in a social networking application, to various locations in a distributed computing system, e.g., to improve an efficiency of the application. For example, the application can be moved to a data center that is closer to a location of a user to decrease a latency associated with accessing the application. In another example, the application can be moved to a data center that is closer to a location of a storage system that stores data associated with the application to improve a throughput of the application, e.g., a rate at which data is read and/or written.
    Type: Application
    Filed: April 8, 2016
    Publication date: October 12, 2017
    Inventors: Thomas Apostolos Georgiou, Haobo Xu, Jason Curtis Jenks, Hairong Kuang
  • Publication number: 20170206148
    Abstract: The disclosure is directed to a failover mechanism for failing over an application service, e.g., a messaging service, from servers in a first region to servers in a second region. Data is stored as shards in which each shard contains data associated with a subset of the users. Data access requests are served by a primary region of the shard. A global shard manager manages failing over the application service from a current primary region of a shard to a secondary region of the shard. The current primary determines whether a criterion for failing over, e.g., a replication lag between the primary and the secondary regions is within a threshold, and if it is within the threshold, the failover process waits until the lag is zero. After the replication lag is zero, the application service is failed over to the second region, which then becomes the primary for the shard.
    Type: Application
    Filed: January 20, 2016
    Publication date: July 20, 2017
    Inventors: Vikas Mehta, Haobo Xu, Jason Curtis Jenks, Hairong Kuang, Pierre-Luc Bertrand, Andrei Lutsenko, Zhenhua Guo, Jun Ying
  • Patent number: 9576019
    Abstract: Disclosed are various embodiments for increasing distributed database capacity by adding new nodes while minimizing downtime. A database is partitioned among multiple nodes in a cluster. Each node stores a respective portion of the database. The portions of the database are replicated to corresponding physical standbys. For each portion, a first portion is mapped to an existing node, while a remaining portion is mapped to a physical standby. The cluster is updated to include the physical standbys as additional nodes among which the database is partitioned.
    Type: Grant
    Filed: May 23, 2014
    Date of Patent: February 21, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Weinan Wang, Bruce K. Ferry, Aravanan Sivaloganathan, Zhiyu Zhang, Min Zhu, Jason Curtis Jenks, Aaron Drew Alexander Kujat, Maxym Kharchenko
  • Patent number: 9355134
    Abstract: Disclosed are various embodiments for facilitating data redistribution in database sharding. A database is maintained that is horizontally partitioned into a set of first buckets using modulo-based assignments. A fixed number of the first buckets are stored in each of multiple physical data stores. The database is repartitioned into a set of second buckets using modulo-based assignments. The number of second buckets in the set is a multiple of the sum of a positive integer and the quantity of the physical data stores. The data in the database is unmoved between the physical data stores by repartitioning.
    Type: Grant
    Filed: April 22, 2013
    Date of Patent: May 31, 2016
    Assignee: Amazon Technologies, Inc.
    Inventors: Weinan Wang, Joseph Magerramov, Maxym Kharchenko, Min Zhu, Aaron Drew Alexander Kujat, Alessandro Gherardi, Jason Curtis Jenks
  • Publication number: 20160043982
    Abstract: Techniques for a sequential message reader for message syncing are described. An apparatus may comprise a network component and an inbox management component. The network component may be operative to receiving an incoming update at a messaging endpoint from a recipient update queue, the incoming update comprising an incoming recipient sequence number. The inbox management component may be operative to add the incoming update to a message inbox on the messaging endpoint, the incoming update added to the message inbox in an order determined by the incoming recipient sequence number and determine based on the incoming recipient sequence number whether one or more additional updates are missing from the message inbox on the messaging endpoint. Other embodiments are described and claimed.
    Type: Application
    Filed: February 13, 2015
    Publication date: February 11, 2016
    Applicant: FACEBOOK, INC.
    Inventors: Jonathan David Perlow, Jason Curtis Jenks, Olivia Hsu Bishop, Thomas Apostolos Georgiou, Jeremy David Fein