Patents by Inventor Benjamin Ralph Hollis
Benjamin Ralph Hollis 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).
-
Publication number: 20220231983Abstract: Systems and methods are provided for transmitting events. The systems and methods include operations for: receiving data indicating a level of user engagement with a messaging application for a given user; determining that the level of user engagement is below a specified threshold; prioritizing a plurality of events, associated with the messaging application, for transmission to a client device of the given user in response to determining that the level of user engagement is below the specified threshold; and transmitting a first event of the plurality of events to the client device based on prioritizing the plurality of events.Type: ApplicationFiled: April 7, 2022Publication date: July 21, 2022Inventors: Joshua Schumacher, Bradley Baron, Benjamin Ralph Hollis, Thiago Hirai
-
Patent number: 11360816Abstract: Systems and methods are provided for managing dynamically allocated storage and processing units. The systems and methods include operations for determining, a usage pattern having a peak usage portion and a low usage portion; reserving a first collection of units on a dynamic unit allocation system during the peak usage portion; detecting a transition from the peak usage portion to the low usage portion; in response to detecting the transition, instructing the dynamic unit allocation system to reduce the first collection of units to reserve a second collection of units corresponding to a second amount of the low usage portion; selecting asynchronous tasks that consume a set of units greater than the second collection of units; and during a period of time that the dynamic unit allocation system is reducing the first collection of units, causing the asynchronous tasks to be executed by the dynamic allocation system.Type: GrantFiled: February 21, 2020Date of Patent: June 14, 2022Assignee: Snap Inc.Inventors: Bradley Baron, Benjamin Ralph Hollis, Peter Cardwell, John Krzemien
-
Patent number: 11350175Abstract: Systems and methods provide for capturing, at a first computing device associated with a first user, a first video stream, and presenting, by the first computing device, and indication that a second computing device associated with a second user is located within a predetermined distance of the first computing device. The systems and methods further providing for receiving, by the first computing device, a request to access a second video stream being captured on the second computing device and displaying, by the first computing device, the second video stream being captured on the second computing device, on a display of the first computing device.Type: GrantFiled: March 10, 2021Date of Patent: May 31, 2022Assignee: Snap Inc.Inventors: Benjamin Ralph Hollis, William Alexander Strand
-
Publication number: 20220150209Abstract: Systems and methods are provided for deleting messages. The systems and methods include operations for: establishing, by a computing device; a communication session between a plurality of users, the communication session being associated with a first feature of a plurality of features of a messaging application; automatically deleting a first set of messages exchanged in the communication session based on a default deletion policy of the first feature; changing the default deletion policy of the first feature to a second deletion policy; and automatically deleting a second set of messages exchanged in the communication session based on the second deletion policy instead of the default deletion policy.Type: ApplicationFiled: January 26, 2022Publication date: May 12, 2022Inventors: Bradley Baron, Benjamin Ralph Hollis, Samuel Young
-
Patent number: 11329944Abstract: Systems and methods are provided for transmitting events. The systems and methods include operations for: receiving data indicating a level of user engagement with a messaging application for a given user; determining that the level of user engagement is below a specified threshold; prioritizing a plurality of events, associated with the messaging application, for transmission to a client device of the given user in response to determining that the level of user engagement is below the specified threshold; and transmitting a first event of the plurality of events to the client device based on prioritizing the plurality of events.Type: GrantFiled: March 3, 2020Date of Patent: May 10, 2022Assignee: Snap Inc.Inventors: Joshua Schumacher, Bradley Baron, Benjamin Ralph Hollis, Thiago Hirai
-
Publication number: 20220094656Abstract: Systems and methods are provided for exchanging messages between gateways. The systems and methods include operations for: storing, in a first gateway located in a first geographical region of a plurality of geographical regions, data that associates a plurality of users with the plurality of geographical regions; receiving, by the first gateway, a message directed to a given user of the plurality of users; determining, based on the data, that a second geographical region of the plurality of geographical regions is associated with the given user; and transmitting, by the first gateway, the message to a second gateway located in the second geographical region.Type: ApplicationFiled: December 6, 2021Publication date: March 24, 2022Inventors: Bradley Baron, Peter Cardwell, Benjamin Ralph Hollis
-
Patent number: 11265281Abstract: Systems and methods are provided for deleting messages. The systems and methods include operations for: establishing, by a computing device, a communication session between a plurality of users, the communication session being associated with a first feature of a plurality of features of a messaging application; automatically deleting a first set of messages exchanged in the communication session based on a default deletion policy of the first feature; changing the default deletion policy of the first feature to a second deletion policy; and automatically deleting a second set of messages exchanged in the communication session based on the second deletion policy instead of the default deletion policy.Type: GrantFiled: January 28, 2020Date of Patent: March 1, 2022Assignee: Snap Inc.Inventors: Bradley Baron, Benjamin Ralph Hollis, Samuel Young
-
Patent number: 11228551Abstract: Systems and methods are provided for exchanging messages between gateways. The systems and methods include operations for: storing, in a first gateway located in a first geographical region of a plurality of geographical regions, data that associates a plurality of users with the plurality of geographical regions; receiving, by the first gateway, a message directed to a given user of the plurality of users; determining, based on the data, that a second geographical region of the plurality of geographical regions is associated with the given user; and transmitting, by the first gateway, the message to a second gateway located in the second geographical region.Type: GrantFiled: February 12, 2020Date of Patent: January 18, 2022Assignee: Snap Inc.Inventors: Bradley Baron, Peter Cardwell, Benjamin Ralph Hollis
-
Patent number: 11201918Abstract: Systems and methods are provided for synchronizing messages. The systems and methods include operations for: receiving, from a server by a client device, a set of synchronization data representing changes since a previous time the client device synchronized with the server; comparing, by the client device, the set of synchronization data to a local state of the synchronization data; identifying a difference between the set of synchronization data and the local state of the synchronization data; and transmitting, to the server by the client device, a request for content corresponding to the difference between the set of synchronization data and the local state of the synchronization data.Type: GrantFiled: March 3, 2020Date of Patent: December 14, 2021Assignee: Snap Inc.Inventors: Bradley Baron, Benjamin Ralph Hollis, Jason Varbedian, Tarang Desai
-
Publication number: 20210360056Abstract: Method of dynamically assigning storage locations starts with the processor updating first user's home location data. Processor selects communication session between first user and second user and determines second user's home location data. Processor determines a session location data that indicates current storage location that stores data of communication session received from first and second client devices. Processor identifies available data storage locations based on first user and second user's home location data and determines whether to update the session location data based on an average of a distance over network fiber using the first user and second user's home locations, current storage location, and available storage locations. In response to determining to update the session location data, processor updates session location data to indicate one of the available storage locations, and causes transfer of data of communication session to one of the available storage locations.Type: ApplicationFiled: June 2, 2021Publication date: November 18, 2021Inventors: Bradley Baron, Benjamin Ralph Hollis, John Krzemien, Samuel Young
-
Publication number: 20210314287Abstract: Systems and methods are provided for synchronizing messages. The systems and methods include operations for: accessing, by a server, a plurality of messages of a communication session implemented by a messaging application on a user device; generating, by the server, a summary of the communication session based on the plurality of messages; transmitting, by the server, data associated with the summary to the user device; and causing the user device to display of a summary view of the communication session based on the data received by the user device from the server.Type: ApplicationFiled: June 21, 2021Publication date: October 7, 2021Inventors: Benjamin Ralph Hollis, Bradley Baron
-
Publication number: 20210306293Abstract: Methods, systems, and computer readable medium are provided for receiving an event message in a plurality of event messages, the event message comprising a sequence number and associated data, identifying the event message as an out-of-order event message based on the sequence number, assigning a priority level to the out-of-order event message based on a plurality of priority rules, and placing the out-of-order event message in a primary queue of messages based on the priority level assigned to the event message.Type: ApplicationFiled: March 17, 2021Publication date: September 30, 2021Inventors: Bradley Baron, Benjamin Ralph Hollis, Gavin Shriver, Peter Cardwell
-
Publication number: 20210303592Abstract: Systems and methods are provided for data synchronization for client application generated data. Content may be generated by a client application executed by a creator client device and sent to a server system that may distribute the content to one or more additional client devices of recipients of the content. The server system can push content to the recipient client devices without receiving a request for the content from the recipient client devices. The content generated by the creator client device may be stored by each of the creator client device, by the server system, and by the one or more recipient client devices. The server system may also generate version data related to respective versions of content that may be consumed by a client application. The version data may be used by client devices to determine versions of content that may be missing from the client devices.Type: ApplicationFiled: March 18, 2021Publication date: September 30, 2021Inventors: David Andrew Killian, Benjamin Ralph Hollis, Bradley Baron
-
Publication number: 20210306839Abstract: Method of dynamically assigning storage locations starts with the processor receiving a signal from a first client device associated with a first user. Processor stores a current location of the first client device in a historical database and determines whether a home location data associated with the first user matches the current location. In response to determining that the home location data associated with the first user does not match the current location, processor determines whether the first user has been associated with the current location at a greater frequency than the home location data based on the historical database. In response to determining that the first user has been associated with the current location at a greater frequency, processor updates the home location data associated with the first user to the current location. Other embodiments are described.Type: ApplicationFiled: May 21, 2020Publication date: September 30, 2021Inventors: Bradley Baron, Benjamin Ralph Hollis, Samuel Young, John Krzemien
-
Publication number: 20210286609Abstract: Systems and methods are provided for synchronizing data. The systems and methods include operations for: storing a synchronization entry for a messaging application feature, the synchronization entry comprising a last update timestamp associated with a first update to content of the messaging application feature received from a first source; receiving a second update to the content of the messaging application feature from the first source; determining that the second update was received within a write window of the last update timestamp; in response to determining that the second update was received within the write window of the last update timestamp, preventing updating the last update timestamp; and sending the first update and the second update to a client device in response to receiving a synchronization request from the client device based on the last update timestamp.Type: ApplicationFiled: March 10, 2020Publication date: September 16, 2021Inventors: David Andrew Killian, Bradley Baron, Benjamin Ralph Hollis, Amit Saurav, James Daniel Baird, Zubair Khan, Spoorthi Ravi
-
Publication number: 20210281533Abstract: Systems and methods are provided for transmitting events. The systems and methods include operations for: receiving data indicating a level of user engagement with a messaging application for a given user; determining that the level of user engagement is below a specified threshold; prioritizing a plurality of events, associated with the messaging application, for transmission to a client device of the given user in response to determining that the level of user engagement is below the specified threshold; and transmitting a first event of the plurality of events to the client device based on prioritizing the plurality of events.Type: ApplicationFiled: March 3, 2020Publication date: September 9, 2021Inventors: Joshua Schumacher, Bradley Baron, Benjamin Ralph Hollis, Thiago Hirai
-
Publication number: 20210281641Abstract: Systems and methods are provided for synchronizing messages. The systems and methods include operations for: receiving, from a server by a client device, a set of synchronization data representing changes since a previous time the client device synchronized with the server; comparing, by the client device, the set of synchronization data to a local state of the synchronization data; identifying a difference between the set of synchronization data and the local state of the synchronization data; and transmitting, to the server by the client device, a request for content corresponding to the difference between the set of synchronization data and the local state of the synchronization data.Type: ApplicationFiled: March 3, 2020Publication date: September 9, 2021Inventors: Bradley Baron, Benjamin Ralph Hollis, Jason Varbedian, Tarang Desai
-
Publication number: 20210281529Abstract: Systems and methods are provided for storing data based on device location. The systems and methods include operations for: determining, by a messaging application server, a geographical location associated with a client device; identifying, by the messaging application server, a plurality of storage devices located in different geographical regions; computing, by the messaging application server, a plurality of distances between the geographical location associated the client device and the geographical regions of the plurality of storage devices; selecting, by the messaging application server based on the computed plurality of distances, a first storage device of the plurality of storage device that is in a geographical region that is closest to the geographical location associated with the client device; and storing, by the messaging application server on the first storage device, data associated with a messaging application implemented on the client device.Type: ApplicationFiled: March 5, 2020Publication date: September 9, 2021Inventors: Bradley Baron, Benjamin Ralph Hollis, Joshua Schumacher
-
Publication number: 20210271533Abstract: Systems and methods are provided for displaying messages. The systems and methods include operations for: receiving, by a client device, a plurality of events from a plurality of channels; receiving, by the client device from a server, a configuration file comprising one or more rules for processing the sets of events from the plurality of channels; determining that a first event of the plurality of events is associated with a first event type and that a second event of the plurality of events is associated with a second event type; assigning, based on the configuration file, a first priority to the first event based on the first event type and a second priority to the second event based on the second event type; and displaying, by the client device, the first event and the second event according to the first priority and the second priority.Type: ApplicationFiled: May 4, 2021Publication date: September 2, 2021Inventors: Jason Varbedian, Benjamin Ralph Hollis, Bradley Baron, Samuel Young
-
Publication number: 20210235225Abstract: Disclosed are systems, methods, and computer-readable storage media for displaying widgets. In some aspects, criteria for ranking widgets may be dynamically evaluated based on conditions associated with each widget. In some aspects, the conditions may consider a time or location of an event a social network user is scheduled to attend, and a relation to that time and location to a current time and/or current user location. Evaluation of the conditions may contribute to the determination of weights for each of the respective widgets, with the ranking based on the weights. Widgets with the highest rank may be invoked, and selectively displayed on an electronic display. Multiple possible parameter values for the displayed widgets may also be dynamically ranked and selected values applied when invoking the widget.Type: ApplicationFiled: April 12, 2021Publication date: July 29, 2021Inventors: William Alexander Strand, Travis M. Grigsby, Benjamin Ralph Hollis, Bobby Lo, Christie Marie Heikkinen