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: 10659330Abstract: 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: GrantFiled: June 28, 2018Date of Patent: May 19, 2020Assignee: Satori Worldwide, LLCInventors: Igor Milyakov, Fredrik Erik Linder, Anton Koinov, Francois Orsini, Boaz Sedan, Oleg Khabinov, Bartlomiej Puzon
-
Patent number: 10637947Abstract: 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: GrantFiled: December 7, 2018Date of Patent: April 28, 2020Assignee: SATORI WORLDWIDE, LLCInventors: Lev Walkin, Fredrik Erik Linder
-
Patent number: 10630785Abstract: 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: GrantFiled: November 17, 2017Date of Patent: April 21, 2020Assignee: SATORI WORLDWIDE, LLCInventors: Lev Walkin, Fredrik Erik Linder
-
Publication number: 20190319901Abstract: 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: ApplicationFiled: June 21, 2019Publication date: October 17, 2019Inventors: Lev Walkin, Fredrik Erik Linder
-
Publication number: 20190268293Abstract: 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: ApplicationFiled: May 8, 2019Publication date: August 29, 2019Inventors: Lev Walkin, Fredrik Erik Linder
-
Patent number: 10374986Abstract: 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: GrantFiled: August 23, 2016Date of Patent: August 6, 2019Assignee: SATORI WORLDWIDE, LLCInventors: Lev Walkin, Fredrik Erik Linder
-
Publication number: 20190238637Abstract: 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: ApplicationFiled: April 11, 2019Publication date: August 1, 2019Inventors: Younes Hafri, Lev Walkin, Fredrik Erik Linder
-
Patent number: 10333879Abstract: 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: GrantFiled: August 7, 2015Date of Patent: June 25, 2019Assignee: SATORI WORLDWIDE, LLCInventors: Lev Walkin, Fredrik Erik Linder
-
Patent number: 10305981Abstract: 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: GrantFiled: August 31, 2016Date of Patent: May 28, 2019Assignee: SATORI WORLDWIDE, LLCInventors: Younes Hafri, Lev Walkin, Fredrik Erik Linder
-
Publication number: 20190116235Abstract: 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: ApplicationFiled: December 7, 2018Publication date: April 18, 2019Inventors: Lev Walkin, Fredrik Erik Linder
-
Patent number: 10187278Abstract: 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: GrantFiled: February 24, 2017Date of Patent: January 22, 2019Assignee: Satori Worldwide, LLCInventors: Igor Milyakov, Fredrik Erik Linder, Anton Koinov, Francois Orsini, Boaz Sedan, Oleg Khabinov, Bartlomiej Puzon
-
Patent number: 10182124Abstract: 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: GrantFiled: February 28, 2018Date of Patent: January 15, 2019Assignee: Satori Worldwide, LLCInventors: Lev Walkin, Fredrik Erik Linder
-
Publication number: 20180309650Abstract: 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: ApplicationFiled: June 28, 2018Publication date: October 25, 2018Inventors: Igor Milyakov, Fredrik Erik Linder, Anton Koinov, Francois Orsini, Boaz Sedan, Oleg Khabinov, Bartlomiej Puzon
-
Publication number: 20180248776Abstract: 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: ApplicationFiled: February 24, 2017Publication date: August 30, 2018Inventors: Igor Milyakov, Fredrik Erik Linder, Anton Koinov, Francois Orsini, Boaz Sedan, Oleg Khabinov, Bartlomiej Puzon
-
Publication number: 20180191853Abstract: 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: ApplicationFiled: February 28, 2018Publication date: July 5, 2018Inventors: Lev Walkin, Fredrik Erik Linder
-
Patent number: 9942340Abstract: 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: GrantFiled: June 8, 2017Date of Patent: April 10, 2018Assignee: SATORI WORLDWIDE, LLCInventors: Lev Walkin, Fredrik Erik Linder
-
Publication number: 20180097892Abstract: 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: ApplicationFiled: November 17, 2017Publication date: April 5, 2018Inventors: Lev Walkin, Fredrik Erik Linder
-
Publication number: 20180063039Abstract: 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: ApplicationFiled: August 23, 2016Publication date: March 1, 2018Inventors: Lev Walkin, Fredrik Erik Linder
-
Publication number: 20180063241Abstract: 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: ApplicationFiled: August 31, 2016Publication date: March 1, 2018Inventors: Younes Hafri, Lev Walkin, Fredrik Erik Linder
-
Patent number: 9843640Abstract: 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: GrantFiled: February 17, 2017Date of Patent: December 12, 2017Assignee: Machine Zone, Inc.Inventors: Lev Walkin, Fredrik Erik Linder