Patents by Inventor Lev Walkin

Lev Walkin 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: 10637947
    Abstract: A publish-subscribe messaging systems and methods are described. A method may include retrieving, by one or more computer processors, messages for a particular one of a plurality of channels from one or more respective buffers allocated to the particular channel that have not expired and according to an order, wherein each buffer comprises a respective time-to-live. The method also includes sending, by the one or more computer processors, the messages retrieved for the particular channel to one or more subscriber clients that have subscribed to the particular channel.
    Type: Grant
    Filed: December 7, 2018
    Date of Patent: April 28, 2020
    Assignee: SATORI WORLDWIDE, LLC
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Patent number: 10630785
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, to allocate a first buffer on a first node of a plurality of nodes for storing messages associated with a channel, grant a first write request to a publisher to write one or more messages to the first buffer, and determine that the first buffer is not available for writing the one or more messages when the first buffer is full; and, in response, select a second node from the plurality of nodes based on a respective workload of nodes in the plurality of nodes, and allocate a second buffer on the second node for storing the one or more messages associated with the channel.
    Type: Grant
    Filed: November 17, 2017
    Date of Patent: April 21, 2020
    Assignee: SATORI WORLDWIDE, LLC
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Publication number: 20190372927
    Abstract: A method comprises: retrieving encoded messages for a particular channel of a plurality of channels from respective buffers having time-to-lives that have not expired, wherein messages are encoded based on a pattern associated with each message for the particular channel; analyzing, by one or more computer processors, content of at least one retrieved encoded message; identifying, by the one or more computer processors, from the content the pattern used to encode each retrieved encoded message; decoding, by the one or more computer processors, each retrieved encoded message based on the identified pattern; and transmitting the decoded messages to one or more subscriber clients.
    Type: Application
    Filed: August 14, 2019
    Publication date: December 5, 2019
    Inventor: Lev Walkin
  • Publication number: 20190319901
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for balancing loads in a publish-subscribe system. An example method includes identifying, by one or more computer processors, a first node from a plurality of nodes in a publish-subscribe system based at least in pan on (i) node-specific data representing loads on the plurality of nodes and (ii) channel-specific data representing a load associated with a channel comprising a channel portion to be temporarily offloaded from a second node. The method also includes selecting, by the one or more computer processors, the first node to temporarily host the channel portion of the channel. The method further includes receiving a request to access the channel portion, and granting the request to access the channel portion.
    Type: Application
    Filed: June 21, 2019
    Publication date: October 17, 2019
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Patent number: 10404647
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving from a plurality of publisher clients a plurality of messages, each message being for a particular channel of a plurality of distinct channels wherein each channel comprises an ordered plurality of messages, encoding each message based on a particular dictionary, storing encoded messages in one or more respective buffers according to the order, each buffer having a respective time-to-live and residing on a respective node, retrieving encoded messages for the particular channel from respective buffers having time-to-lives that have not expired and according to the order, decoding each retrieved message based on the particular dictionary, and sending the decoded messages to a plurality of subscriber clients.
    Type: Grant
    Filed: June 7, 2016
    Date of Patent: September 3, 2019
    Assignee: SATORI WORLDWIDE, LLC
    Inventor: Lev Walkin
  • Publication number: 20190268293
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing messages of each of a plurality of channels in one or more respective buffers, wherein each buffer comprises a respective buffer time-to-live, wherein each buffer comprises a plurality of blocks, wherein each block of the plurality of blocks stores one or more of the messages, wherein each block comprises a respective block time-to-live, and wherein the block time-to-live is different than the buffer time-to-live. The method may also include the action of sending, by the one or more computer processors, the messages for a channel of the plurality of channels retrieved from one or more blocks that have not expired.
    Type: Application
    Filed: May 8, 2019
    Publication date: August 29, 2019
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Patent number: 10374986
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for balancing loads in a publish-subscribe system. An example method includes: selecting a first hosting node from a plurality of hosting nodes based, at least in part, on a load data selected from at least one of node-specific data representing loads on the plurality of hosting nodes and channel-specific data representing a load associated with a channel; sending a request to the first hosting node to temporarily host a portion of a channel; temporarily hosting the channel portion by the first hosting node by temporarily storing one or more messages published to the channel, and temporarily providing, to a plurality of subscribers to the channel, access to the one of more messages; receiving a request to access the channel portion; and granting permission to access the channel portion.
    Type: Grant
    Filed: August 23, 2016
    Date of Patent: August 6, 2019
    Assignee: SATORI WORLDWIDE, LLC
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Publication number: 20190238637
    Abstract: A plurality of channels are maintained, wherein each channel comprises a plurality of messages stored in one or more buffers, wherein a first node stores a first copy of a first buffer for a first channel of the plurality of channels, wherein each of a plurality of secondary nodes stores a respective second copy of the first buffer, and wherein at least one subscriber is subscribed to messages of the first channel. A failure of the first node is detected. One of the plurality of secondary nodes are identified as a second node to access a second copy of the first buffer. The at least one subscriber is redirected from the first node to the second node and messages stored in the second copy on the second node are retrieved for the at least one subscriber.
    Type: Application
    Filed: April 11, 2019
    Publication date: August 1, 2019
    Inventors: Younes Hafri, Lev Walkin, Fredrik Erik Linder
  • Patent number: 10333879
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving from a plurality of publishers a plurality of messages, each of the messages being assigned to one of a plurality of distinct channels wherein each channel comprises an ordered plurality of messages, storing each message of each of the channels in a respective buffer, each buffer having a time-to-live, during the storing, removing one or more of the buffers having respective time-to-lives that have expired, and providing messages for one or more of the channels to one or more subscribers from a plurality of the remaining buffers according to the order.
    Type: Grant
    Filed: August 7, 2015
    Date of Patent: June 25, 2019
    Assignee: SATORI WORLDWIDE, LLC
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Patent number: 10305981
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for maintaining a plurality of channels, each channel comprising an ordered plurality of messages stored in one or more buffers, each buffer having a respective time-to-live and a plurality of copies residing on respective nodes, detecting failure of a first node of the plurality of nodes wherein the first node stores respective first copies of first buffers and at least one subscriber is subscribed to messages of one or more first channels, for a first buffer with a first copy residing on the first node, identifying any other of the plurality of nodes as a second node storing a second copy of the first buffer, redirecting the at least one subscriber from the first node to the second node, and retrieving messages stored in the second copy on the second node for the at least one subscriber.
    Type: Grant
    Filed: August 31, 2016
    Date of Patent: May 28, 2019
    Assignee: SATORI WORLDWIDE, LLC
    Inventors: Younes Hafri, Lev Walkin, Fredrik Erik Linder
  • Publication number: 20190116235
    Abstract: A publish-subscribe messaging systems and methods are described. A method may include retrieving, by one or more computer processors, messages for a particular one of a plurality of channels from one or more respective buffers allocated to the particular channel that have not expired and according to an order, wherein each buffer comprises a respective time-to-live. The method also includes sending, by the one or more computer processors, the messages retrieved for the particular channel to one or more subscriber clients that have subscribed to the particular channel.
    Type: Application
    Filed: December 7, 2018
    Publication date: April 18, 2019
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Patent number: 10182124
    Abstract: A publish-subscribe messaging systems and methods are described. A method may include retrieving, by one or more computer processors, messages for a particular one of a plurality of channels from one or more respective buffers allocated to the particular channel that have not expired and according to an order, wherein each buffer comprises a respective time-to-live. The method also includes sending, by the one or more computer processors, the messages retrieved for the particular channel to one or more subscriber clients that have subscribed to the particular channel.
    Type: Grant
    Filed: February 28, 2018
    Date of Patent: January 15, 2019
    Assignee: Satori Worldwide, LLC
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Publication number: 20180241691
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, to receive one or more messages for publication, wherein each message is received from a respective publisher for publication on a channel of a plurality of channels, place each message in a respective buffer for the channel of the message, wherein messages are present in the respective buffer during a finite time-to-live period for the respective buffer, and for each buffer that has not expired, send any messages in the buffer to subscribers that are authorized to subscribe to the channel associated with the buffer.
    Type: Application
    Filed: April 4, 2018
    Publication date: August 23, 2018
    Inventors: Lev Walkin, Igor Milyakov, Oleg Khabinov, Dmitry Demeshchuk
  • Publication number: 20180189824
    Abstract: A system for managing internet advertising content comprises a proxy server intermediary to an end user, a publisher of internet content, and an advertising network, wherein the publisher and the advertising network can communicate indirectly with the end user through the proxy server. The proxy server receives internet content from the publisher; detects advertising-related content in the internet content; modifies the advertising-related content; inserts an execution code into the internet content; serves the internet content to the end user; receives from the end user a request for advertising-related content; requests and receives advertising-related content from an advertising network; modifies the advertising-related content from the advertising network; and serves the advertising-related content to the end user. The end user may access the advertising-related content when the execution code is invoked by the end user.
    Type: Application
    Filed: December 14, 2017
    Publication date: July 5, 2018
    Applicant: Apomaya, Inc.
    Inventors: Suresh Yanamadala, Lev Walkin, Alexei Tumarkin
  • Publication number: 20180191853
    Abstract: A publish-subscribe messaging systems and methods are described. A method may include retrieving, by one or more computer processors, messages for a particular one of a plurality of channels from one or more respective buffers allocated to the particular channel that have not expired and according to an order, wherein each buffer comprises a respective time-to-live. The method also includes sending, by the one or more computer processors, the messages retrieved for the particular channel to one or more subscriber clients that have subscribed to the particular channel.
    Type: Application
    Filed: February 28, 2018
    Publication date: July 5, 2018
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Patent number: 9967203
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving one or more subscription requests, wherein each subscription request is received from a respective subscriber client and is for a respective channel, authorizing one or more of the subscription requests, wherein each authorized subscription request permits the subscriber client of the request to receive messages published to the channel of the request, receiving one or more messages for publication, wherein each message is received from a respective publisher client and is for publication on a respective channel, for each of the messages, placing the message in a respective buffer for the channel of the message, wherein the messages are present in the buffer during a finite time-to-live period for the buffer, and for one or more of the buffers, sending any messages in the buffer to subscriber clients that are authorized.
    Type: Grant
    Filed: August 8, 2016
    Date of Patent: May 8, 2018
    Assignee: SATORI WORLDWIDE, LLC
    Inventors: Lev Walkin, Igor Milyakov, Oleg Khabinov, Dmitry Demeschchuk
  • Patent number: 9942340
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving from a plurality of publisher clients a plurality of messages, assigning each of the messages to one of a plurality of distinct channels wherein each channel comprises an ordered plurality of messages, storing messages of each of the channels in one or more respective buffers according to the order, each buffer having a respective time-to-live, retrieving messages for one or more of the channels from respective buffers having time-to-lives that have not expired and according to the order, and sending the retrieved messages to a plurality of subscriber clients.
    Type: Grant
    Filed: June 8, 2017
    Date of Patent: April 10, 2018
    Assignee: SATORI WORLDWIDE, LLC
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Publication number: 20180097892
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, to allocate a first buffer on a first node of a plurality of nodes for storing messages associated with a channel, grant a first write request to a publisher to write one or more messages to the first buffer, and determine that the first buffer is not available for writing the one or more messages when the first buffer is full; and, in response, select a second node from the plurality of nodes based on a respective workload of nodes in the plurality of nodes, and allocate a second buffer on the second node for storing the one or more messages associated with the channel.
    Type: Application
    Filed: November 17, 2017
    Publication date: April 5, 2018
    Inventors: Lev Walkin, Fredrik Erik Linder
  • Publication number: 20180091435
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing messages of a channel of a plurality of channels in one or more buffers, determining, a respective sampling rate for one or more connections based at least in part on a determined latency of each connection, receiving a request for messages of the channel from a subscriber through a connection of the one or more connections, selecting messages from the one or more buffers according to the sampling rate, and sending the selected messages to the subscriber using the connection.
    Type: Application
    Filed: November 30, 2017
    Publication date: March 29, 2018
    Inventor: Lev Walkin
  • Publication number: 20180063039
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for balancing loads in a publish-subscribe system. An example method includes: selecting a first hosting node from a plurality of hosting nodes based, at least in part, on a load data selected from at least one of node-specific data representing loads on the plurality of hosting nodes and channel-specific data representing a load associated with a channel; sending a request to the first hosting node to temporarily host a portion of a channel; temporarily hosting the channel portion by the first hosting node by temporarily storing one or more messages published to the channel, and temporarily providing, to a plurality of subscribers to the channel, access to the one of more messages; receiving a request to access the channel portion; and granting permission to access the channel portion.
    Type: Application
    Filed: August 23, 2016
    Publication date: March 1, 2018
    Inventors: Lev Walkin, Fredrik Erik Linder