Patents by Inventor Zardosht Kasheff

Zardosht Kasheff 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: 11405343
    Abstract: Techniques for extensible message indexing are described. In one embodiment, an apparatus may comprise a client front-end component of a messaging system operative to receive an incoming message from a client device; identify a sending client service for the incoming message at the client front-end component; determine a service identifier index value for the sending client service at the client front-end component; and store the incoming message in a message queue using the service identifier index value. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 29, 2017
    Date of Patent: August 2, 2022
    Assignee: META PLATFORMS, INC.
    Inventors: Winston Felix Popowicz Handte, Sonjeev Jahagirdar, Zardosht Kasheff, John Reed Riley
  • 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: 10608960
    Abstract: Techniques for batched bulk processing are described. In one embodiment, an apparatus may comprise a client front-end component operative to receive a plurality of messaging deltas at a messaging system; and queue the plurality of messaging deltas through a message queue of the messaging system; a message queue monitoring component operative to monitor the message queue to identify a plurality of batch-operation messaging deltas of the plurality of messaging deltas; and store a plurality of batch-operation instructions in a batch-operation instruction system; and a batch-operation component of the batch-operation instruction system operative to perform the plurality of batch-operation instructions.
    Type: Grant
    Filed: December 28, 2017
    Date of Patent: March 31, 2020
    Assignee: FACEBOOK, INC.
    Inventors: Zardosht Kasheff, Ron Eizenband, Philippe Vincent Ajoux, Gyujin Hwang
  • 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: 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: 20190207873
    Abstract: Techniques for batched bulk processing are described. In one embodiment, an apparatus may comprise a client front-end component operative to receive a plurality of messaging deltas at a messaging system; and queue the plurality of messaging deltas through a message queue of the messaging system; a message queue monitoring component operative to monitor the message queue to identify a plurality of batch-operation messaging deltas of the plurality of messaging deltas; and store a plurality of batch-operation instructions in a batch-operation instruction system; and a batch-operation component of the batch-operation instruction system operative to perform the plurality of batch-operation instructions. Other embodiments are described and claimed.
    Type: Application
    Filed: December 28, 2017
    Publication date: July 4, 2019
    Inventors: Zardosht Kasheff, Ron Eizenband, Philippe Vincent Ajoux, Gyujin Hwang
  • 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: 20190207892
    Abstract: Techniques for extensible message indexing are described. In one embodiment, an apparatus may comprise a client front-end component of a messaging system operative to receive an incoming message from a client device; identify a sending client service for the incoming message at the client front-end component; determine a service identifier index value for the sending client service at the client front-end component; and store the incoming message in a message queue using the service identifier index value. Other embodiments are described and claimed.
    Type: Application
    Filed: December 29, 2017
    Publication date: July 4, 2019
    Inventors: Winston Felix Popowicz Handte, Sonjeev Jahagirdar, Zardosht Kasheff, John Reed Riley
  • Publication number: 20150370860
    Abstract: A method, apparatus and computer program product for storing data in a disk storage system is presented. A high-performance dictionary data structure is defined. The dictionary data structure is stored on a disk storage system. Key-value pairs can be inserted and deleted into the dictionary data structure. Updates run faster than one insertion per disk-head movement. The structure can also be stored on any system with two or more levels of memory. The dictionary is high performance and supports with full transactional semantics, concurrent access from multiple transactions, and logging and recovery. Keys can be looked up with only a logarithmic number of transfers, even for keys that have been recently inserted or deleted. Queries can be performed on ranges of key-value pairs, including recently inserted or deleted pairs, at a constant fraction of the bandwidth of the disk.
    Type: Application
    Filed: February 24, 2015
    Publication date: December 24, 2015
    Applicant: Percona, LLC
    Inventors: Michael A. Bender, Martin Farach-Colton, Yonatan R. Fogel, Zardosht Kasheff, Bradley C. Kuszmaul, Vincenzo Liberatore, Barry Perlman, Rich Prohaska, David S. Wells
  • Publication number: 20150347547
    Abstract: A method and system for replication in a noSQL database using a global transaction identifier (GTID) unique to each transaction and stored with an associated operations log. The GTID specifies the applicable primary, the sequence of the transaction, and, optionally, also includes information on whether the transaction was applied to a given primary, and for secondaries whether the transaction was applied to the collections. This method and system provides recovery for a crashed primary, re-integrating the crashed primary as a secondary, and point-in-time recovery, optionally having user-specified parameters from which recovery commences.
    Type: Application
    Filed: May 30, 2014
    Publication date: December 3, 2015
    Inventors: Zardosht Kasheff, Leif Walsh, John Esmet, Richard Prohaska
  • Patent number: 8996563
    Abstract: A method, apparatus and computer program product for storing data in a disk storage system is presented. A high-performance dictionary data structure is defined. The dictionary data structure is stored on a disk storage system. Key-value pairs can be inserted and deleted into the dictionary data structure. Updates run faster than one insertion per disk-head movement. The structure can also be stored on any system with two or more levels of memory. The dictionary is high performance and supports with full transactional semantics, concurrent access from multiple transactions, and logging and recovery. Keys can be looked up with only a logarithmic number of transfers, even for keys that have been recently inserted or deleted. Queries can be performed on ranges of key-value pairs, including recently inserted or deleted pairs, at a constant fraction of the bandwidth of the disk.
    Type: Grant
    Filed: April 6, 2010
    Date of Patent: March 31, 2015
    Assignee: Tokutek, Inc.
    Inventors: Michael A. Bender, Martin Farach-Colton, Yonatan R. Fogel, Zardosht Kasheff, Bradley C. Kuszmaul, Vincenzo Liberatore, Barry Perlman, Rich Prohaska, David S. Wells
  • Patent number: 8918530
    Abstract: A remote access system connects a server computer with one or more client computers, where devices are connected locally at the client computers. The devices are recognized by the client computers and a device driver is provided for each connected and recognized device. A virtual driver is created at the server computer from information specific to the device, such that the virtual driver acts as an actual driver to an application on the server computer. The application through the virtual driver is able to recognize and provide commands to the connected device.
    Type: Grant
    Filed: April 3, 2006
    Date of Patent: December 23, 2014
    Assignee: Microsoft Corporation
    Inventors: Vladimir K Stoyanov, Makarand V. Patwardhan, Joy Chik, Nelly L. Porter, Zardosht Kasheff
  • Patent number: 8892758
    Abstract: A remote access system connects a server computer with one or more client computers, where devices are connected locally at the client computers. The devices are recognized by the client computers and a device driver is provided for each connected and recognized device. A virtual driver is created at the server computer from information specific to the device, such that the virtual driver acts as an actual driver to an application on the server computer. The application through the virtual driver is able to recognize and provide commands to the connected device.
    Type: Grant
    Filed: October 19, 2010
    Date of Patent: November 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Vladimir K. Stoyanov, Makarand V. Patwardhan, Joy Chik, Nelly L. Porter, Zardosht Kasheff
  • Patent number: 8139487
    Abstract: A strategy is described for transmitting data from a first entity to a second entity. The data is transmitted using a format that is selected to accommodate available bandwidth in a communication coupling that connects the first entity and the second entity. The first entity or the second entity can comprise a terminal service (TS) client device and a terminal service (TS) server device, respectively, or vice versa. The strategy can compute the bandwidth by recording timing information associated with the transmission of a short message followed by a longer message from the first entity to the second entity. The short message is used to remove the effects of latency in the computation of bandwidth.
    Type: Grant
    Filed: February 28, 2007
    Date of Patent: March 20, 2012
    Assignee: Microsoft Corporation
    Inventors: Zardosht Kasheff, Vladimir K. Stoyanov
  • Publication number: 20110246503
    Abstract: A method, apparatus and computer program product for storing data in a disk storage system is presented. A high-performance dictionary data structure is defined. The dictionary data structure is stored on a disk storage system. Key-value pairs can be inserted and deleted into the dictionary data structure. Updates run faster than one insertion per disk-head movement. The structure can also be stored on any system with two or more levels of memory. The dictionary is high performance and supports with full transactional semantics, concurrent access from multiple transactions, and logging and recovery. Keys can be looked up with only a logarithmic number of transfers, even for keys that have been recently inserted or deleted. Queries can be performed on ranges of key-value pairs, including recently inserted or deleted pairs, at a constant fraction of the bandwidth of the disk.
    Type: Application
    Filed: April 6, 2010
    Publication date: October 6, 2011
    Inventors: Michael A. Bender, Martin Farach-Colton, Yonatan R. Fogel, Zardosht Kasheff, Bradley C. Kuszmaul, Vincenzo Liberatore, Barry Perlman, Rich Prohaska, David S. Wells
  • Publication number: 20110035758
    Abstract: A remote access system connects a server computer with one or more client computers, where devices are connected locally at the client computers. The devices are recognized by the client computers and a device driver is provided for each connected and recognized device. A virtual driver is created at the server computer from information specific to the device, such that the virtual driver acts as an actual driver to an application on the server computer. The application through the virtual driver is able to recognize and provide commands to the connected device.
    Type: Application
    Filed: October 19, 2010
    Publication date: February 10, 2011
    Applicant: Microsoft Corporation
    Inventors: Vladimir K. Stoyanov, Makarand V. Patwardhan, Joy Chik, Nelly L. Porter, Zardosht Kasheff
  • Publication number: 20080205270
    Abstract: A strategy is described for transmitting data from a first entity to a second entity. The data is transmitted using a format that is selected to accommodate available bandwidth in a communication coupling that connects the first entity and the second entity. The first entity or the second entity can comprise a terminal service (TS) client device and a terminal service (TS) server device, respectively, or vice versa. The strategy can compute the bandwidth by recording timing information associated with the transmission of a short message followed by a longer message from the first entity to the second entity. The short message is used to remove the effects of latency in the computation of bandwidth.
    Type: Application
    Filed: February 28, 2007
    Publication date: August 28, 2008
    Applicant: Microsoft Corporation
    Inventors: Zardosht Kasheff, Vladimir K. Stoyanov
  • Publication number: 20070061477
    Abstract: A remote access system connects a server computer with one or more client computers, where devices are connected locally at the client computers. The devices are recognized by the client computers and a device driver is provided for each connected and recognized device. A virtual driver is created at the server computer from information specific to the device, such that the virtual driver acts as an actual driver to an application on the server computer. The application through the virtual driver is able to recognize and provide commands to the connected device.
    Type: Application
    Filed: April 3, 2006
    Publication date: March 15, 2007
    Applicant: Microsoft Corporation
    Inventors: Vladimir Stoyanov, Makarand Patwardhan, Joy Chik, Nelly Porter, Zardosht Kasheff