Patents by Inventor Miles Spielberg

Miles Spielberg 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: 10210115
    Abstract: A system and method for facilitating client software access to messages, such as event messages, generated in a networked computing environment, such as a file-collaboration system. An example method uses a message bus and accompanying Application Programming Interfaces (APIs) to allow collaborators to employ client software to interface with highly scalable and organized message bus records, maintained via an underlying distributed database. The APIs and associated interface allow client software; not limited to collaboration software clients; to efficiently publish to, subscribe to, and obtain information about event records of the message bus. An embodiment allows selective load balancing and deferral of event message processing; efficient message offset handling and data center failover functionality, and so on.
    Type: Grant
    Filed: December 28, 2015
    Date of Patent: February 19, 2019
    Assignee: BOX, INC.
    Inventors: David MacKenzie, Alex Treyger, Priyanka Reddy, Miles Spielberg
  • Patent number: 9535924
    Abstract: Techniques are disclosed for improving scalability in a system which incrementally updates remote clients with events that occurred in a cloud-enabled platform. In one embodiment, a method comprises, in response to an action from a user in the cloud-enabled platform, determining a list of events to update one or more collaborators of the user about the action. The method further comprises separating the list of events into a plurality of sub-lists of events such that each sub-list of events can be stored in a database within a designated amount of time, and further comprises storing the plurality of sub-lists of events into the database to be read by the one or more collaborators. Among other advantages, embodiments disclosed herein provide enhancement in scalability, robustness and availability for cloud-based collaboration platforms with large numbers of collaborators by incorporating mechanisms to divide-and-conquer the workload of event updates in such platforms.
    Type: Grant
    Filed: February 28, 2014
    Date of Patent: January 3, 2017
    Assignee: Box, Inc.
    Inventors: David Mackenzie, Miles Spielberg, Alex Treyger, Ryan Luecke, Tamar Bercovici, Tomas Barreto
  • Publication number: 20160357778
    Abstract: A system and method for facilitating client software access to messages, such as event messages, generated in a networked computing environment, such as a file-collaboration system. An example method uses a message bus and accompanying Application Programming Interfaces (APIs) to allow collaborators to employ client software to interface with highly scalable and organized message bus records, maintained via an underlying distributed database. The APIs and associated interface allow client software; not limited to collaboration software clients; to efficiently publish to, subscribe to, and obtain information about event records of the message bus. An embodiment allows selective load balancing and deferral of event message processing; efficient message offset handling and data center failover functionality, and so on.
    Type: Application
    Filed: December 28, 2015
    Publication date: December 8, 2016
    Inventors: David MacKenzie, Alex Treyger, Priyanka Reddy, Miles Spielberg
  • Patent number: 9483473
    Abstract: Embodiments in the present disclosure include systems and methods related to a high-availability architecture for a cloud-based concurrent-access collaboration platform. The disclosed technology relates to an active data center which includes multiple document server instances that handle user requests for concurrently accessing documents. Multiple document server instances are implemented on a single physical server. This architecture uses an instance assignment manager to assign documents to the document server instances, a primary repository to store backup snapshots of the documents, and a datastore to store all changes made to the documents. The disclosed technology also involves a backup data center that can be swapped with the active data center automatically.
    Type: Grant
    Filed: September 2, 2014
    Date of Patent: November 1, 2016
    Assignee: Box, Inc.
    Inventors: Michael Ansel, Miles Spielberg, Yuan Cheng, Lance Co Ting Keh, Antoine Boulanger, Jonathan Berger, Komal Mangtani, Kevin Gao, Remington Wong, Naeim Semsarilar, Yingming Chen, Florian Jourda
  • Patent number: 9396216
    Abstract: Techniques are disclosed for implementing repository redundancy in a system which incrementally updates remote clients with events that occurred in a cloud-enabled platform. In one embodiment, a method comprises comparing a local timestamp of an event with a remote timestamp of the event. The event is to be stored in a queue in a repository cluster to be read by a remote client. The method further comprises updating the local timestamp of the event if the comparing indicates that the remote timestamp is more recent than the local timestamp. Among other advantages, embodiments disclosed herein ensure that no event in an action log is missed or skipped by any of remote clients in a distributed action log framework system during a switchover from an active but failed server to a backup server, and require zero or minimal down time during the switchover, thereby providing robustness and serviceability to such system.
    Type: Grant
    Filed: May 6, 2013
    Date of Patent: July 19, 2016
    Assignee: BOX, INC.
    Inventors: Tomas Barreto, David Mackenzie, Arshdeep Mand, Miles Spielberg
  • Patent number: 9396245
    Abstract: Techniques are disclosed for race condition handling in a system which incrementally updates clients with what occurred in a cloud-enabled platform. In one embodiment, a method comprises, in response to an event received at a synchronization client which indicates a modification to an item, comparing a sequence identifier of the item in the event with a current sequence identifier of the item. The sequence identifier of the item can be numeric and can monotonically increase as a state of the item changes. The method further comprises, if the sequence identifier in the event is larger than the current sequence identifier of the item, determining a difference between the item's state as represented in the event and a current state of the item; and, based on the difference, generating at least one synchronization step to update the current state of the item to the item's state as represented in the event.
    Type: Grant
    Filed: January 2, 2014
    Date of Patent: July 19, 2016
    Assignee: Box, Inc.
    Inventors: David Mackenzie, Miles Spielberg
  • Patent number: 9369520
    Abstract: A system for client-server web applications is disclosed. Operations commence upon opening a client-server session configurable to establish a full-duplex persistent network communications between a client device and a server, then receiving an indication to upload or download one or more files or objects over the full-duplex persistent network communications.
    Type: Grant
    Filed: March 9, 2015
    Date of Patent: June 14, 2016
    Assignee: Box, Inc.
    Inventors: Ryan Luecke, Miles Spielberg
  • Publication number: 20150180963
    Abstract: A system for client-server web applications is disclosed. Operations commence upon opening a client-server session configurable to establish a full-duplex persistent network communications between a client device and a server, then receiving an indication to upload or download one or more files or objects over the full-duplex persistent network communications.
    Type: Application
    Filed: March 9, 2015
    Publication date: June 25, 2015
    Applicant: BOX, INC.
    Inventors: Ryan Luecke, Miles Spielberg
  • Patent number: 9015248
    Abstract: System and method for managing updates at clients used by a user to access a cloud-based collaboration service are disclosed. In one aspect, embodiments of the present disclosure include a method, which may be implemented on a system, for storing a representation of the action to queues of clients associated with the user in a distributed database cluster based on an action type of an action performed by a collaborator of the user. The clients of the user are selected based on the client category and the action type of the action, to receive a notification as a result of the action or to perform a synchronization with changes that occurred as a result of the action.
    Type: Grant
    Filed: June 18, 2012
    Date of Patent: April 21, 2015
    Assignee: Box, Inc.
    Inventors: Tomas Barreto, Arshdeep Mand, Miles Spielberg, David Mackenzie, Sam Ghods
  • Patent number: 8990307
    Abstract: System and method for incrementally notifying a remote client of updates in a cloud-enabled platform for each remote client associated with a collaborator are disclosed. In one aspect, embodiments of the present disclosure include a method, which may be implemented on a system, for detecting an action in the cloud-enabled platform and effectuating a data change as a result of the action in a first database, creating an action log entry from the action, identifying the collaborator of the user's in the cloud-enabled platform, whose remote client is to be synchronized with the data change as an update, and/or writing the action represented by the action log entry to a second database into a queue to by read by the remote client of the collaborator.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: March 24, 2015
    Assignee: Box, Inc.
    Inventors: Tomas Barreto, Arshdeep Mand, Miles Spielberg, David Mackenzie, Sam Ghods
  • Publication number: 20150081773
    Abstract: Embodiments in the present disclosure include systems and methods related to a high-availability architecture for a cloud-based concurrent-access collaboration platform. The disclosed technology relates to an active data center which includes multiple document server instances that handle user requests for concurrently accessing documents. Multiple document server instances are implemented on a single physical server. This architecture uses an instance assignment manager to assign documents to the document server instances, a primary repository to store backup snapshots of the documents, and a datastore to store all changes made to the documents. The disclosed technology also involves a backup data center that can be swapped with the active data center automatically.
    Type: Application
    Filed: September 2, 2014
    Publication date: March 19, 2015
    Inventors: Michael Ansel, Miles Spielberg, Yuan Cheng, Lance Co Ting Keh, Antoine Boulanger, Jonathan Berger, Komal Mangtani, Kevin Gao, Remington Wong, Naeim Semsarilar, Yingming Chen, Florian Jourda
  • Publication number: 20150039556
    Abstract: Techniques are disclosed for improving scalability in a system which incrementally updates remote clients with events that occurred in a cloud-enabled platform. In one embodiment, a method comprises, in response to an action from a user in the cloud-enabled platform, determining a list of events to update one or more collaborators of the user about the action. The method further comprises separating the list of events into a plurality of sub-lists of events such that each sub-list of events can be stored in a database within a designated amount of time, and further comprises storing the plurality of sub-lists of events into the database to be read by the one or more collaborators. Among other advantages, embodiments disclosed herein provide enhancement in scalability, robustness and availability for cloud-based collaboration platforms with large numbers of collaborators by incorporating mechanisms to divide-and-conquer the workload of event updates in such platforms.
    Type: Application
    Filed: February 28, 2014
    Publication date: February 5, 2015
    Inventors: David Mackenzie, Miles Spielberg, Alex Treyger, Ryan Luecke, Tamar Bercovici, Tomas Barreto
  • Publication number: 20140337491
    Abstract: Techniques are disclosed for implementing repository redundancy in a system which incrementally updates remote clients with events that occurred in a cloud-enabled platform. In one embodiment, a method comprises comparing a local timestamp of an event with a remote timestamp of the event. The event is to be stored in a queue in a repository cluster to be read by a remote client. The method further comprises updating the local timestamp of the event if the comparing indicates that the remote timestamp is more recent than the local timestamp. Among other advantages, embodiments disclosed herein ensure that no event in an action log is missed or skipped by any of remote clients in a distributed action log framework system during a switchover from an active but failed server to a backup server, and require zero or minimal down time during the switchover, thereby providing robustness and serviceability to such system.
    Type: Application
    Filed: May 8, 2013
    Publication date: November 13, 2014
    Inventors: Tomas Barreto, David Mackenzie, Arshdeep Mand, Miles Spielberg
  • Publication number: 20140188798
    Abstract: Techniques are disclosed for race condition handling in a system which incrementally updates clients with what occurred in a cloud-enabled platform. In one embodiment, a method comprises, in response to an event received at a synchronization client which indicates a modification to an item, comparing a sequence identifier of the item in the event with a current sequence identifier of the item. The sequence identifier of the item can be numeric and can monotonically increase as a state of the item changes. The method further comprises, if the sequence identifier in the event is larger than the current sequence identifier of the item, determining a difference between the item's state as represented in the event and a current state of the item; and, based on the difference, generating at least one synchronization step to update the current state of the item to the item's state as represented in the event.
    Type: Application
    Filed: January 2, 2014
    Publication date: July 3, 2014
    Inventors: David Mackenzie, Miles Spielberg
  • Publication number: 20130124638
    Abstract: System and method for managing updates at clients used by a user to access a cloud-based collaboration service are disclosed. In one aspect, embodiments of the present disclosure include a method, which may be implemented on a system, for storing a representation of the action to queues of clients associated with the user in a distributed database cluster based on an action type of an action performed by a collaborator of the user. The clients of the user are selected based on the client category and the action type of the action, to receive a notification as a result of the action or to perform a synchronization with changes that occurred as a result of the action.
    Type: Application
    Filed: June 18, 2012
    Publication date: May 16, 2013
    Inventors: Tomas Barreto, Arshdeep Mand, Miles Spielberg, David Mackenzie, Sam Ghods
  • Publication number: 20130124458
    Abstract: System and method for incrementally notifying a remote client of updates in a cloud-enabled platform for each remote client associated with a collaborator are disclosed. In one aspect, embodiments of the present disclosure include a method, which may be implemented on a system, for detecting an action in the cloud-enabled platform and effectuating a data change as a result of the action in a first database, creating an action log entry from the action, identifying the collaborator of the user's in the cloud-enabled platform, whose remote client is to be synchronized with the data change as an update, and/or writing the action represented by the action log entry to a second database into a queue to by read by the remote client of the collaborator.
    Type: Application
    Filed: June 15, 2012
    Publication date: May 16, 2013
    Inventors: Tomas Barreto, Arshdeep Mand, Miles Spielberg, David Mackenzie, Sam Ghods