Patents by Inventor Benjamin Campbell Smith

Benjamin Campbell Smith 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: 20230237023
    Abstract: Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.
    Type: Application
    Filed: January 9, 2023
    Publication date: July 27, 2023
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Kunal Parmar, Peter Potrebic
  • Patent number: 11550757
    Abstract: Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.
    Type: Grant
    Filed: December 28, 2020
    Date of Patent: January 10, 2023
    Assignee: Box, Inc.
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Kunal Parmar, Peter Potrebic
  • Patent number: 11531648
    Abstract: Systems and methods for maintaining and updating file system shadows by a synchronization client of a cloud-based platform. In some embodiments, an executor of the synchronization client can execute an action on an item in the local file system which changes the state of the item from an old state to a new state. The synchronization client updates the file system shadows with the new state of the item via an interface to facilitate generation of a synchronization event for the change to the item, that would otherwise go undetected if the change to the item was immediately reversed. In some embodiments, methods for providing shadow consistency and enhancing concurrent access to shadows are implemented by the synchronization client in maintaining and updating the file system shadows.
    Type: Grant
    Filed: October 4, 2017
    Date of Patent: December 20, 2022
    Assignee: Box, Inc.
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Peter Potrebic, Florian Jourda, Kunal Parmar
  • Publication number: 20210117387
    Abstract: Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.
    Type: Application
    Filed: December 28, 2020
    Publication date: April 22, 2021
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Kunal Parmar, Peter Potrebic
  • Patent number: 10877937
    Abstract: Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.
    Type: Grant
    Filed: April 20, 2017
    Date of Patent: December 29, 2020
    Assignee: Box, Inc.
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Kunal Parmar, Peter Potrebic
  • Patent number: 10846074
    Abstract: Systems and methods to automatically upgrade, or update a synchronization client to a cloud-based platform are provided. The automatic upgrading can be provided to a personal or an enterprise-level synchronization client. The synchronization client is implemented in a manner that is silent, secure and fault tolerant. In one embodiment, the disclosed technology includes an executable process to download the update, verify the contents, and apply the update. The contents can be verified by checking the certificate on any binary. The systems and methods further include identification and handling of items to be ignored by the synchronization client for synchronization with a cloud-based platform. In some embodiments, files and folders which typically should not be synchronized are identified and removed from the synchronization process in an effective manner.
    Type: Grant
    Filed: May 13, 2014
    Date of Patent: November 24, 2020
    Assignee: Box, Inc.
    Inventors: Griffin Dorman, Eric Vandenberg, Florian Jourda, Kunal Parmar, Dave Sawyer, Benjamin Campbell Smith
  • Patent number: 10725968
    Abstract: Embodiments of the present disclosure include systems and methods to facilitate top down delete or un-synchronization on delete of a synchronization client to a cloud-based platform. The disclosed technology innovates the mechanism the synchronization client processes local deletes so that instead of synchronizing the delete of each individual item across to the cloud-based platform, it can accumulate the individual item deletes into a top-level folder delete and that top-level folder delete can be what is communicated across to the cloud-based platform. Embodiments of the present disclosure also include systems and methods for depicting item synchronization between a local and cloud based platform/service (e.g. the Box service). In some embodiments the system can identify items that cannot be synchronized between the local and cloud based platform/service (e.g., cloud based collaboration or storage platform/service).
    Type: Grant
    Filed: May 12, 2014
    Date of Patent: July 28, 2020
    Assignee: Box, Inc.
    Inventors: Griffin Dorman, Eric Vandenberg, Florian Jourda, Kunal Parmar, Dave Sawyer, Benjamin Campbell Smith
  • Patent number: 10585710
    Abstract: Methods and systems for managing application performance in a distributed computing environment. Embodiments commence when an application seeks to perform a function over a content object. The application submits a request to perform the function on the content object, and the request is received by an application programming interface processor. The application programming interface processor accesses a data structure comprising entries that relate the requested function to one or more code instances that are accessible at one or more code locations. An evaluator predicts performance of the function using a first location of a first code instance and compares that predicted performance to a predicted or measured performance of the same function using a second location of a second code instance that implements the same function. The better performing code instance at the determined code location is invoked. Results are collated, formatted, and returned to the calling application.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: March 10, 2020
    Assignee: Box, Inc.
    Inventors: Benjamin Campbell Smith, Gaurav Gargate, Bonan Zheng, Timothy Martin Heilig
  • Patent number: 9953036
    Abstract: Techniques are disclosed for file system monitoring 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 which represents that a modification to an item has taken place on the cloud-based platform, identifying whether execution of the event is to violate any local file system rule. The method further comprises, if the execution of the event is to violate any local file system rule, buffering the event until a subsequent event arrives. The method further comprises identifying whether execution of an aggregate of the events is to violate any local file system rule.
    Type: Grant
    Filed: January 7, 2014
    Date of Patent: April 24, 2018
    Assignee: Box, Inc.
    Inventors: David Mackenzie, Benjamin Campbell Smith, Anthony Bishopric
  • Publication number: 20180046644
    Abstract: Systems and methods for maintaining and updating file system shadows by a synchronization client of a cloud-based platform. In some embodiments, an executor of the synchronization client can execute an action on an item in the local file system which changes the state of the item from an old state to a new state. The synchronization client updates the file system shadows with the new state of the item via an interface to facilitate generation of a synchronization event for the change to the item, that would otherwise go undetected if the change to the item was immediately reversed. In some embodiments, methods for providing shadow consistency and enhancing concurrent access to shadows are implemented by the synchronization client in maintaining and updating the file system shadows.
    Type: Application
    Filed: October 4, 2017
    Publication date: February 15, 2018
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Peter Potrebic, Florian Jourda, Kunal Parmar
  • Patent number: 9805050
    Abstract: Systems and methods for maintaining and updating file system shadows by a synchronization client of a cloud-based platform. In some embodiments, an executor of the synchronization client can execute an action on an item in the local file system which changes the state of the item from an old state to a new state. The synchronization client updates the file system shadows with the new state of the item via an interface to facilitate generation of a synchronization event for the change to the item, that would otherwise go undetected if the change to the item was immediately reversed. In some embodiments, methods for providing shadow consistency and enhancing concurrent access to shadows are implemented by the synchronization client in maintaining and updating the file system shadows.
    Type: Grant
    Filed: June 23, 2014
    Date of Patent: October 31, 2017
    Assignee: Box, Inc.
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Peter Potrebic, Florian Jourda, Kunal Parmar
  • Publication number: 20170220596
    Abstract: Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.
    Type: Application
    Filed: April 20, 2017
    Publication date: August 3, 2017
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Kunal Parmar, Peter Potrebic
  • Publication number: 20170192765
    Abstract: Methods and systems for managing application performance in a distributed computing environment. Embodiments commence when an application seeks to perform a function over a content object. The application submits a request to perform the function on the content object, and the request is received by an application programming interface processor. The application programming interface processor accesses a data structure comprising entries that relate the requested function to one or more code instances that are accessible at one or more code locations. An evaluator predicts performance of the function using a first location of a first code instance and compares that predicted performance to a predicted or measured performance of the same function using a second location of a second code instance that implements the same function. The better performing code instance at the determined code location is invoked. Results are collated, formatted, and returned to the calling application.
    Type: Application
    Filed: December 31, 2015
    Publication date: July 6, 2017
    Applicant: Box, Inc.
    Inventors: Benjamin Campbell Smith, Gaurav Gargate, Bonan Zheng, Timothy Martin Heilig
  • Patent number: 9633037
    Abstract: Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.
    Type: Grant
    Filed: June 13, 2014
    Date of Patent: April 25, 2017
    Assignee: Box, Inc
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Kunal Parmar, Peter Potrebic
  • Patent number: 9552444
    Abstract: Techniques are disclosed for using a third-party application to access or edit a file within a cloud-based environment within a cloud-based platform or environment. In one embodiment, a method includes, in response to a request to access the content in the cloud-based environment, providing the third-party application with a login view to verify an identity of a user. The login view is generated from a server hosting the environment. The method further includes, upon the verification of the user's identity, providing the requested content to the third-party application.
    Type: Grant
    Filed: May 20, 2013
    Date of Patent: January 24, 2017
    Assignee: Box, Inc.
    Inventors: Michael Smith, Benjamin Campbell Smith, Simon Tan, Rico Yao
  • Patent number: 9413587
    Abstract: Techniques are disclosed for using a third-party application to access or edit a file within a cloud-based environment within a cloud-based platform or environment. In one embodiment, a method includes, in the cloud-based environment, responsive to detecting a request to access or edit a file using the third-party application, the file is provided for access or edit using the third-party application. The third-party application includes a user interface which is customized to enable storage of the accessed or edited file to the cloud-based environment. In some embodiments, the third-party application is allowed or restricted to store the accessed file back to the cloud-based environment.
    Type: Grant
    Filed: May 2, 2013
    Date of Patent: August 9, 2016
    Assignee: BOX, INC.
    Inventors: Michael Smith, Benjamin Campbell Smith, Simon Tan, Rico Yao
  • Patent number: 9280613
    Abstract: Techniques are disclosed for methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform. In one embodiment, a method includes, receiving, at the third-party application, metadata that identifies the file. The method further includes transmitting the metadata to a server which is associated with the third-party application. The metadata enables the server to request the file from the cloud-based environment.
    Type: Grant
    Filed: May 20, 2013
    Date of Patent: March 8, 2016
    Assignee: Box, Inc.
    Inventors: Michael Smith, Benjamin Campbell Smith, Simon Tan, Rico Yao
  • Publication number: 20150339113
    Abstract: Systems and methods to automatically upgrade, or update a synchronization client to a cloud-based platform are provided. The automatic upgrading can be provided to a personal or an enterprise-level synchronization client. The synchronization client is implemented in a manner that is silent, secure and fault tolerant. In one embodiment, the disclosed technology includes an executable process to download the update, verify the contents, and apply the update. The contents can be verified by checking the certificate on any binary. The systems and methods further include identification and handling of items to be ignored by the synchronization client for synchronization with a cloud-based platform. In some embodiments, files and folders which typically should not be synchronized are identified and removed from the synchronization process in an effective manner.
    Type: Application
    Filed: May 13, 2014
    Publication date: November 26, 2015
    Inventors: Griffin Dorman, Eric Vandenberg, Florian Jourda, Kunal Parmar, Dave Sawyer, Benjamin Campbell Smith
  • Publication number: 20140379647
    Abstract: Systems and methods for maintaining and updating file system shadows by a synchronization client of a cloud-based platform. In some embodiments, an executor of the synchronization client can execute an action on an item in the local file system which changes the state of the item from an old state to a new state. The synchronization client updates the file system shadows with the new state of the item via an interface to facilitate generation of a synchronization event for the change to the item, that would otherwise go undetected if the change to the item was immediately reversed. In some embodiments, methods for providing shadow consistency and enhancing concurrent access to shadows are implemented by the synchronization client in maintaining and updating the file system shadows.
    Type: Application
    Filed: June 23, 2014
    Publication date: December 25, 2014
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Peter Potrebic, Florian Jourda, Kunal Parmar
  • Publication number: 20140372376
    Abstract: Techniques for monitoring local and/or remote file systems by a synchronization component (e.g., client/server) of a cloud-based platform are disclosed. In some embodiments, a method of building synchronization events by a synchronization component (e.g., a synchronization server/client) includes obtaining a set of items that have been changed and their new states and retrieving last known states of the set of items that are stored in a reference snapshot inside a filesystem scanner. The method further includes generating differences between the new states and the last known states of the set of items as item changes and utilizing information provided by the item changes to translate the item changes into synchronization events for execution on the opposing file system. A method of handling failed synchronization events by a synchronization component of the cloud-based platform by collapsing a subsequent event with the failed synchronization event is also disclosed.
    Type: Application
    Filed: June 13, 2014
    Publication date: December 18, 2014
    Inventors: Benjamin Campbell Smith, David Mackenzie, Yiming Lu, Kunal Parmar, Peter Potrebic