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: 11431662Abstract: 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: GrantFiled: December 28, 2017Date of Patent: August 30, 2022Assignee: META PLATFORMS, INC.Inventors: Zardosht Kasheff, John Reed Riley, Jeremy David Fein, Jason Curtis Jenks
-
Patent number: 11405343Abstract: 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: GrantFiled: December 29, 2017Date of Patent: August 2, 2022Assignee: META PLATFORMS, INC.Inventors: Winston Felix Popowicz Handte, Sonjeev Jahagirdar, Zardosht Kasheff, John Reed Riley
-
Patent number: 10645040Abstract: 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: GrantFiled: December 29, 2017Date of Patent: May 5, 2020Assignee: FACEBOOK, INC.Inventors: Rajesh Nishtala, Jason Curtis Jenks, Zardosht Kasheff, Samuel Rash
-
Patent number: 10608960Abstract: 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: GrantFiled: December 28, 2017Date of Patent: March 31, 2020Assignee: FACEBOOK, INC.Inventors: Zardosht Kasheff, Ron Eizenband, Philippe Vincent Ajoux, Gyujin Hwang
-
Publication number: 20190207882Abstract: 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: ApplicationFiled: December 29, 2017Publication date: July 4, 2019Inventors: Rajesh Nishtala, Jason Curtis Jenks, Zardosht Kasheff, Samuel Rash
-
Publication number: 20190207888Abstract: 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: ApplicationFiled: December 28, 2017Publication date: July 4, 2019Inventors: Zardosht Kasheff, Ron Eizenband, John Reed Riley, Huan Yan Wang, Sean Bradley Quinlan, Jason Curtis Jenks, Jeremy David Fein, Sean Navid Aryana
-
Publication number: 20190207873Abstract: 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: ApplicationFiled: December 28, 2017Publication date: July 4, 2019Inventors: Zardosht Kasheff, Ron Eizenband, Philippe Vincent Ajoux, Gyujin Hwang
-
Publication number: 20190207887Abstract: 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: ApplicationFiled: December 28, 2017Publication date: July 4, 2019Inventors: Zardosht Kasheff, John Reed Riley, Jeremy David Fein, Jason Curtis Jenks
-
Publication number: 20190207892Abstract: 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: ApplicationFiled: December 29, 2017Publication date: July 4, 2019Inventors: Winston Felix Popowicz Handte, Sonjeev Jahagirdar, Zardosht Kasheff, John Reed Riley
-
Publication number: 20150370860Abstract: 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: ApplicationFiled: February 24, 2015Publication date: December 24, 2015Applicant: Percona, LLCInventors: 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: 20150347547Abstract: 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: ApplicationFiled: May 30, 2014Publication date: December 3, 2015Inventors: Zardosht Kasheff, Leif Walsh, John Esmet, Richard Prohaska
-
Patent number: 8996563Abstract: 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: GrantFiled: April 6, 2010Date of Patent: March 31, 2015Assignee: 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: 8918530Abstract: 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: GrantFiled: April 3, 2006Date of Patent: December 23, 2014Assignee: Microsoft CorporationInventors: Vladimir K Stoyanov, Makarand V. Patwardhan, Joy Chik, Nelly L. Porter, Zardosht Kasheff
-
Patent number: 8892758Abstract: 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: GrantFiled: October 19, 2010Date of Patent: November 18, 2014Assignee: Microsoft CorporationInventors: Vladimir K. Stoyanov, Makarand V. Patwardhan, Joy Chik, Nelly L. Porter, Zardosht Kasheff
-
Patent number: 8139487Abstract: 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: GrantFiled: February 28, 2007Date of Patent: March 20, 2012Assignee: Microsoft CorporationInventors: Zardosht Kasheff, Vladimir K. Stoyanov
-
Publication number: 20110246503Abstract: 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: ApplicationFiled: April 6, 2010Publication date: October 6, 2011Inventors: 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: 20110035758Abstract: 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: ApplicationFiled: October 19, 2010Publication date: February 10, 2011Applicant: Microsoft CorporationInventors: Vladimir K. Stoyanov, Makarand V. Patwardhan, Joy Chik, Nelly L. Porter, Zardosht Kasheff
-
Publication number: 20080205270Abstract: 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: ApplicationFiled: February 28, 2007Publication date: August 28, 2008Applicant: Microsoft CorporationInventors: Zardosht Kasheff, Vladimir K. Stoyanov
-
Publication number: 20070061477Abstract: 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: ApplicationFiled: April 3, 2006Publication date: March 15, 2007Applicant: Microsoft CorporationInventors: Vladimir Stoyanov, Makarand Patwardhan, Joy Chik, Nelly Porter, Zardosht Kasheff