Patents by Inventor Fredrik Erik Linder

Fredrik Erik Linder 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: 10659330
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for assigning channels in a messaging system. An example method includes: providing a plurality of channels, wherein each channel includes an ordered plurality of messages; assigning each channel to a channel bucket to form a plurality of channel buckets, wherein each channel bucket includes at least two channels from the plurality of channels; and assigning each channel bucket to a node selected from a plurality of nodes, wherein the node includes one or more buffers for storing messages according to the order from the channel buckets of the node.
    Type: Grant
    Filed: June 28, 2018
    Date of Patent: May 19, 2020
    Assignee: Satori Worldwide, LLC
    Inventors: Igor Milyakov, Fredrik Erik Linder, Anton Koinov, Francois Orsini, Boaz Sedan, Oleg Khabinov, Bartlomiej Puzon
  • 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: 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
  • 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: 10187278
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for assigning channels in a messaging system. An example method includes: providing a plurality of channels, wherein each channel includes an ordered plurality of messages; assigning each channel to a channel bucket to form a plurality of channel buckets, wherein each channel bucket includes at least two channels from the plurality of channels; and assigning each channel bucket to a node selected from a plurality of nodes, wherein the node includes one or more buffers for storing messages according to the order from the channel buckets of the node.
    Type: Grant
    Filed: February 24, 2017
    Date of Patent: January 22, 2019
    Assignee: Satori Worldwide, LLC
    Inventors: Igor Milyakov, Fredrik Erik Linder, Anton Koinov, Francois Orsini, Boaz Sedan, Oleg Khabinov, Bartlomiej Puzon
  • 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: 20180309650
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for assigning channels in a messaging system. An example method includes: providing a plurality of channels, wherein each channel includes an ordered plurality of messages; assigning each channel to a channel bucket to form a plurality of channel buckets, wherein each channel bucket includes at least two channels from the plurality of channels; and assigning each channel bucket to a node selected from a plurality of nodes, wherein the node includes one or more buffers for storing messages according to the order from the channel buckets of the node.
    Type: Application
    Filed: June 28, 2018
    Publication date: October 25, 2018
    Inventors: Igor Milyakov, Fredrik Erik Linder, Anton Koinov, Francois Orsini, Boaz Sedan, Oleg Khabinov, Bartlomiej Puzon
  • Publication number: 20180248776
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for assigning channels in a messaging system. An example method includes: providing a plurality of channels, wherein each channel includes an ordered plurality of messages; assigning each channel to a channel bucket to form a plurality of channel buckets, wherein each channel bucket includes at least two channels from the plurality of channels; and assigning each channel bucket to a node selected from a plurality of nodes, wherein the node includes one or more buffers for storing messages according to the order from the channel buckets of the node.
    Type: Application
    Filed: February 24, 2017
    Publication date: August 30, 2018
    Inventors: Igor Milyakov, Fredrik Erik Linder, Anton Koinov, Francois Orsini, Boaz Sedan, Oleg Khabinov, Bartlomiej Puzon
  • 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: 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: 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
  • Publication number: 20180063241
    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: Application
    Filed: August 31, 2016
    Publication date: March 1, 2018
    Inventors: Younes Hafri, Lev Walkin, Fredrik Erik Linder
  • Patent number: 9843640
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a write request from a publisher comprising a channel name wherein the channel identified by the channel name comprises an ordered plurality of messages stored in buffers, each buffer having a predetermined time-to-live and being assigned to a respective node, identifying a first node and a first buffer stored on the first node based on the channel name of the request that has available storage for storing messages and wherein the first buffer has a time-to-live that has not expired, and sending a write grant to the publisher wherein the grant comprises identification of the first node and the first buffer, and wherein the publisher is configured to send messages to the first node for storage in the first buffer based on the grant until the first buffer is full or its time-to-live has expired.
    Type: Grant
    Filed: February 17, 2017
    Date of Patent: December 12, 2017
    Assignee: Machine Zone, Inc.
    Inventors: Lev Walkin, Fredrik Erik Linder