Patents Assigned to Satori Worldwide, LLC
  • 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
  • Patent number: 10157476
    Abstract: A method includes receiving a plurality of video frames from a video source, wherein each video frame of the plurality of video frames comprises a view of a geolocation. The method further includes detecting a first object entering a first side of a first video frame of the plurality of video frames. The method further includes determining, from the plurality of video frames, that the first object has stopped in an area of the geolocation for at least a threshold amount of time. The method further includes detecting the first object leaving a second side of a second video frame of the plurality of video frames. The method further includes identifying, by a computer processing device, the area of the geolocation as a region of interest based on the detecting the first object leaving.
    Type: Grant
    Filed: May 17, 2018
    Date of Patent: December 18, 2018
    Assignee: SATORI WORLDWIDE, LLC
    Inventor: Renat Idrisov
  • Patent number: 10038661
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing and transferring messages. An example method includes storing a plurality of blocks in a queue, wherein each block includes one or more respective messages received from at least one publisher, wherein each block is associated with a time that the block was stored in the queue, and wherein storage times increase from a block designating a head of the queue to a block designating a tail of the queue. The example method also includes designating as inactive one or more blocks having associated storage times that are older than a first time, allowing messages to be read from inactive blocks until a second time that is older than the first time, and deleting one or more inactive blocks from the queue having associated storage times that are older than the second time.
    Type: Grant
    Filed: November 16, 2017
    Date of Patent: July 31, 2018
    Assignee: SATORI WORLDWIDE, LLC
    Inventor: Igor Milyakov
  • 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: 9942339
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage device, for: receiving messages from a plurality of publishers; assigning each of the messages to one of a plurality of channels, wherein each channel comprises an ordered plurality of messages; storing messages of each of the channels in respective storage buffers according to the order, wherein each storage buffer comprises a respective time-to-live of a first time duration; for a particular channel, retrieving messages of the particular channel from respective storage buffers; storing the retrieved messages of the particular channel in a delivery buffer, the delivery buffer comprising data blocks, wherein each data block comprises a respective time-to-live of a second time duration; and providing the messages stored in the delivery buffer to a plurality of subscribers of the particular channel.
    Type: Grant
    Filed: May 4, 2017
    Date of Patent: April 10, 2018
    Assignee: SATORI WORLDWIDE, LLC
    Inventor: Igor Milyakov
  • 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
  • Patent number: 9876745
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, are described for providing messages to client devices. In certain examples, a stream of messages is provided to a messaging application on a client device at a desired message feed rate. A message download rate of the stream of messages by the messaging application is monitored. A determination is made that the message download rate is less than the desired message feed rate. In response, the stream of messages is provided to a buffer on the client device at the desired message feed rate, and the stream of messages is sent from the buffer to the messaging application at the message download rate. A determination is made that the message download rate is greater than the desired message feed rate and, in response, a stored quantity of messages on the buffer is allowed to decrease.
    Type: Grant
    Filed: February 17, 2017
    Date of Patent: January 23, 2018
    Assignee: Satori Worldwide, LLC
    Inventors: Andrey Kushnir, Maksim Terekhin, Leonid Mosenkov
  • Patent number: 9871750
    Abstract: Methods, systems, and apparatus, including computer programs for receiving, from a first client device, a request for messages of a first channel of a plurality of channels starting at a position in the first channel, wherein each channel comprises a respective ordered plurality of messages stored in one or more respective buffers according to the order, each buffer having a respective time-to-live; receiving, from one of the second client devices, a response message comprising one or more messages of the first channel that are at or after the position in the order; and sending the messages to the first client device.
    Type: Grant
    Filed: February 15, 2017
    Date of Patent: January 16, 2018
    Assignee: Satori Worldwide, LLC
    Inventors: Andrey Kushnir, Maksim Terekhin