Patents Assigned to Satori Worldwide, LLC
-
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: 10630628Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for tracking or managing vehicles. One method includes receiving a first message on a first channel of a plurality of channels. The first channel may be associated with a vehicle that is traveling on a route. The first message may include a request to prioritize a first geographical location of the route. The method also includes determining whether the first geographical location can be prioritized. The method further includes publishing a second message to a second channel of the plurality of channels in response to determining that the first geographical location can be prioritized. The vehicle may be a subscriber to the second channel. The second message may indicate an updated route for the vehicle where the first geographical location is prioritized.Type: GrantFiled: November 19, 2018Date of Patent: April 21, 2020Assignee: SATORI WORLDWIDE, LLCInventor: Francois Orsini
-
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
-
Patent number: 10541945Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, are described for storing message data in a PubSub system. In certain examples, the method includes storing messages of each of a plurality of channels in a writable portion of a respective buffer for the channel. The method may also include moving a pointer delineating a boundary between the writable portion and a readable portion of the buffer such that the messages are in the readable portion after the pointer has moved. The method may also include allowing one or more subscribers to read from the readable portion of one or more of the buffers during the storing.Type: GrantFiled: January 10, 2019Date of Patent: January 21, 2020Assignee: SATORI WORLDWIDE, LLCInventor: Younes Hafri
-
Patent number: 10529080Abstract: Methods and systems for road recognition and traffic counting for complex thoroughfares are described. The method includes receiving a set of video frames captured by one or more electronic devices. The set of video frames includes a capture of a thoroughfare. The method further includes identifying an object featured in each respective video frame of a subset of the set of video frames, generating a plurality of vectors corresponding to a direction of motion of the object, combining intersecting vectors of the plurality of vectors, and generating a graphical map of at least one road in the thoroughfare based at least in part on the combination of intersecting vectors.Type: GrantFiled: June 21, 2018Date of Patent: January 7, 2020Assignee: SATORI WORLDWIDE, LLCInventor: Renat Idrisov
-
Patent number: 10522043Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for managing or tracking assets in a geographical area. One method includes receiving one or more first messages from a plurality of assets on one or more first channels of a plurality of channels. The one or more first messages may indicate live geographical locations of the plurality of assets located in a geographical area. The method also includes displaying, via a graphical user interface, the live geographical locations of the plurality of assets on a map of the geographical area. The method further includes receiving on a second channel a message indicating a request from a first user device to travel to a destination. The method further includes determining one or more travel routes to the destination. The one or more travel routes may use different assets to transport the first user device to the destination.Type: GrantFiled: January 8, 2018Date of Patent: December 31, 2019Assignee: Satori Worldwide, LlCInventors: Cynthia Chu, Francois Orsini, Boaz Sedan, Arun Kejariwal, Dhruv Choudhary, Nika Kolomentseva, Andrey Kolomentsev, Sujesha Sudevalayam, Anna Kareva, Gabor Mueller-Tseng, Andrey Kushnir, Jared Stoffan, Mick Ryan, Renee Ya, Anton Koinov, Mikhail Kuzmiankou, Alex Taylor
-
Patent number: 10514994Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, are described for: allocating a first pool of workers on a plurality of nodes, wherein each node comprises one or more of the workers from the first pool; providing a first set of instructions to the first pool of workers for performing a first task configured to interact with a computer system; activating the first pool of workers to perform the first task; updating at least a portion of the first set of instructions for a subset of the first pool of workers while the workers are performing the first task; and monitoring at least one performance metric associated with the computer system while the workers from the subset of the first pool are performing the first task.Type: GrantFiled: April 7, 2017Date of Patent: December 24, 2019Assignee: SATORI WORLDWIDE, LLCInventors: Renat Idrisov, Timofey Barmin
-
Patent number: 10499193Abstract: Methods and systems for determining and tracking electronic devices are provided. One method includes receiving measurement data from at least a subset of a plurality of client electronic devices. The measurement data are captured by each respective client electronic device of the subset of the plurality of client electronic devices. The method further includes generating geolocation estimation data for at least one of the subset of the plurality of client electronic devices based at least in part on the measurement data, and generating a geolocation confidence value based at least in part on the geolocation estimation data. The geolocation confidence value indicates a precision level of the geolocation estimation data. The method further includes transmitting the geolocation estimation data and the geolocation confidence value to the at least one of the subset of the plurality of client electronic devices.Type: GrantFiled: March 19, 2018Date of Patent: December 3, 2019Assignee: Satori Worldwide, LLCInventor: Caleb Tolman
-
Patent number: 10484190Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for managing channels in an open data ecosystem. A method includes providing one or more graphical user interfaces to a first user of an open data ecosystem. The open data ecosystem includes a plurality of public channels and a plurality of private channels. The users of the open data ecosystem are able to receive messages on each of the plurality of public channels. The method also includes receiving first user input from the first user via the one or more graphical user interfaces. The method further includes configuring one or more channels of the plurality of public channels or the plurality of private channels based on the first user input received from the first user via the one or more graphical user interfaces.Type: GrantFiled: February 22, 2018Date of Patent: November 19, 2019Assignee: SATORI WORLDWIDE, LLCInventors: Gabriel Leydon, Francois Orsini, Steven Brooks, Winnie Tseng-Mueller, Boaz Sedan, Cynthia Chu, Anton Koinov, Sarit Arcushin-Yaakobovitz
-
Patent number: 10447623Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for implementing key-value store functionality within a real-time messaging system. An example method includes: providing a plurality of channels, wherein each channel comprises an ordered plurality of messages, wherein each channel represents a unique key, and wherein each message comprises one or more key-value pairs; receiving a function comprising a key for identifying one of the plurality of channels and processing instructions to be applied to a subset of the key-value pairs; and applying the processing instructions based at least in part on the unique key.Type: GrantFiled: February 24, 2017Date of Patent: October 15, 2019Assignee: Satori Worldwide, LLCInventors: Igor Milyakov, Fredrik E. Linder, Anton Koinov, Francois Orsini, Boaz Sedan, Oleg Khabinov, Bartlomiej Puzon
-
Patent number: 10404647Abstract: 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: GrantFiled: June 7, 2016Date of Patent: September 3, 2019Assignee: SATORI WORLDWIDE, LLCInventor: Lev Walkin
-
Patent number: 10402842Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for adjusting the costs of assets. A method includes receiving consumption data via a first channel of a plurality of channels. The consumption data indicates an amount of consumption of an asset. The method also includes determining whether one or more predetermined thresholds are satisfied based on the consumption data. The method further includes adjusting a cost of the asset in response to determining that the consumption data satisfies the one or more predetermined thresholds. The method further includes publishing, by a computer processing device, one or more messages indicating an adjusted cost of the asset to one or more client devices via a second channel of the plurality of channels.Type: GrantFiled: May 22, 2018Date of Patent: September 3, 2019Assignee: Satori Worldwide, LLCInventors: Sophia Cao, Matt Holland, Yonatan Ellert
-
Patent number: 10389674Abstract: A method includes storing, by one or more computer processors, a plurality of blocks in a queue, wherein each block includes at least one received message, and wherein each block is associated with a time that the block was stored in the queue. The method further includes designating, by the one or more computer processors, as inactive one or more blocks having associated storage times that are older than a first time. The method further includes reading, by the one or more computer processors, messages from inactive blocks until a second time that is older than the first time. The method further includes deleting, by the one or more computer processors, one or more inactive blocks from the queue having associated storage times that are older than the second time.Type: GrantFiled: June 27, 2018Date of Patent: August 20, 2019Assignee: Satori Worldwide, LLCInventor: Igor Milyakov
-
Patent number: 10382574Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage device, for storing messages of each of a plurality of channels in one or more respective storage buffers, wherein each storage buffer comprises a respective time-to-live of a first duration. The method may also include retrieving messages of a particular channel from respective storage buffers and storing the retrieved messages of the particular channel in a delivery buffer comprising at least one data block, wherein each data block comprises a respective time-to-live of a second duration. The method may also include delivering the messages stored in the delivery buffer to subscribers of the particular channel.Type: GrantFiled: March 1, 2018Date of Patent: August 13, 2019Assignee: SATORI WORLDWIDE, LLCInventor: Igor Milyakov
-
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
-
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
-
Patent number: 10270726Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for selective distribution of messages from a scalable, real-time messaging system. An example method includes: receiving query instructions from a subscriber client, wherein the subscriber client is subscribed to a channel of a plurality of channels; receiving a plurality of messages from a plurality of publisher clients, wherein each message is associated with a particular one of the plurality of channels; applying the query instructions to the plurality of messages for the channel as the messages are received; and sending the messages resulting from the application of the query instructions to the subscriber client, wherein the messages received by the subscriber client from the channel are limited to those that satisfy the query instructions.Type: GrantFiled: February 24, 2017Date of Patent: April 23, 2019Assignee: SATORI WORLDWIDE, LLCInventor: Boaz Sedan
-
Patent number: 10218646Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, are described for storing message data in a PubSub system. In certain examples, messages are received from a plurality of publishers for a plurality of channels. The messages are stored in a writable portion of a respective buffer for the channel according to an order, wherein messages in the writable portion of the buffer are inaccessible to subscribers. The method may also include advancing a pointer demarcating a boundary between the writable portion and a readable portion of the buffer such that the message is in the readable portion after the pointer has advanced.Type: GrantFiled: October 31, 2017Date of Patent: February 26, 2019Assignee: Satori Worldwide, LLCInventor: Younes Hafri