Patents by Inventor Justin Quan

Justin Quan 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: 9531775
    Abstract: Technology is disclosed herein for migrating at least portions of computer applications to a server. According to at least one embodiment, a computing device identifies a service component of a computer application executed at the computing device. The service component does not directly interact with a user of the computing device. The computing device transfers an instance of the service component to a server so that the service component can be executed at the server. The computing device then receives from the server a result message generated by the instance of the service component executed at the server. The computing device feeds the result message to a user interface component of the computer application via a procedure call such that the user interface component retrieves the result message as if it were generated by an instance of the service component executed at the computing device.
    Type: Grant
    Filed: January 16, 2014
    Date of Patent: December 27, 2016
    Inventors: Michael A. Chan, Tom Moss, Daniel R. Bornstein, Michael K. Fleming, Justin Quan, Linda Tong
  • Patent number: 9524151
    Abstract: Technology is disclosed for context sensitive synchronization of a distributed cloud-based file system across multiple devices and for providing seamless merging of conflicting data objects. In some embodiments, data objects of a user are stored across multiple computing devices associated with a user, e.g., mobile computing devices such as a tablet, a laptop, or a smartphone, and/or at server systems, e.g., cloud-based storage servers, in a distributed cloud-based storage system. The described technology intelligently synchronizes the data objects based on context and manages potential conflicts.
    Type: Grant
    Filed: March 21, 2014
    Date of Patent: December 20, 2016
    Inventors: Michael A. Chan, Justin Quan, Daniel R. Bornstein, Tom Moss, Linda Tong
  • Patent number: 9509737
    Abstract: Technology is disclosed herein for client side data encryption with a recovery mechanism. According to at least one embodiment, a computing device encrypts at least one data set into an encrypted data set using a private encryption key. The computing device encrypts the private encryption key using a password provided by a user of the device. The password is also encrypted using the user's answers to password recovery questions. The encrypted data set, the encrypted key and the encrypted password are transmitted to and stored by a server. The computing device can retrieve and decrypt the encrypted data set form the server. The encryption key can be recovered by decrypting the encrypted key using the password. The password can be recovered by decrypting the encrypted password using answers to the password recovery questions provided by the user.
    Type: Grant
    Filed: October 2, 2013
    Date of Patent: November 29, 2016
    Inventors: Michael A. Chan, Justin Quan, Michael K. Fleming
  • Patent number: 9462022
    Abstract: Technology is disclosed herein for migrating at least portions of computer applications to a server. According to at least one embodiment, a computing device identifies a service component of a computer application executed at the computing device. The service component does not directly interact with a user of the computing device. The computing device transfers an instance of the service component to a server so that the service component can be executed at the server. The computing device then receives from the server a result message generated by the instance of the service component executed at the server. The computing device feeds the result message to a user interface component of the computer application via a procedure call such that the user interface component retrieves the result message as if it were generated by an instance of the service component executed at the computing device.
    Type: Grant
    Filed: October 1, 2013
    Date of Patent: October 4, 2016
    Inventors: Michael A. Chan, Tom Moss, Daniel R. Bornstein, Michael K. Fleming, Justin Quan, Linda Tong
  • Patent number: 9442705
    Abstract: Technology is disclosed for sharing an authentication profile of a user between a group of user devices for accessing an access restricted computing environment (“the technology”). The access restricted computing environment can require the user to input authentication information, such as a username, password, or answers to challenge questions, to authenticate the user. For example, to access a wireless network on a first user device, a user may have to input a password for the wireless network. To access the same wireless network on a second user device, the user may have to input the password again on the second user device. The technology facilitates the user to obtain the authentication information required to access the wireless network from another user device, e.g., a device from which the user has accessed the wireless network previously. This can eliminate the need for the user to manually input the authentication information repeatedly.
    Type: Grant
    Filed: March 20, 2014
    Date of Patent: September 13, 2016
    Inventors: Michael A. Chan, Justin Quan, Daniel R. Bornstein, Tom Moss, Linda Tong
  • Patent number: 9398063
    Abstract: Technology disclosed herein includes a method for loading a carrier specific OS onto a computing device depending on what network the computing device is connected to. The computing device detects an identity of a network to which a computing device is connected or is to be connected during a network identification process executed on the computing device. The network can be identified, e.g., by examining a subscriber identification module (SIM) card electronically connected to the computing device. The device then sends a request including the identity of the network to a remote registration service. In turn the device receives an instruction from the remote registration service identifying a distribution of an operating system (OS) specific for the network. After retrieving the OS distribution, the device loads the distribution of the operating system on the computing device.
    Type: Grant
    Filed: January 16, 2014
    Date of Patent: July 19, 2016
    Inventors: Michael A. Chan, Tom Moss, Justin Quan
  • Patent number: 9380093
    Abstract: Technology for decomposing an application into fragments and streaming the application in fragments is disclosed herein. According to at least one embodiment, a computer-implemented method includes steps of determining multiple application fragments of a computer application, wherein each application fragment of the application fragments includes a code to present at least one interface of the computer application; storing the application fragments at a storage device; generating a resource dependency data structure, wherein for each specific application fragment of the application fragments, the resource dependency data structure includes identifications of resources that are needed for running the specific application fragment; and streaming, via a network component, at least one application fragment of the application fragments to a computing device.
    Type: Grant
    Filed: March 27, 2014
    Date of Patent: June 28, 2016
    Assignee: Nextbit Systems, Inc.
    Inventors: Justin Quan, Michael A. Chan
  • Patent number: 9374407
    Abstract: Technology for decomposing an application into fragments and streaming the application in fragments is disclosed herein. According to at least one embodiment, a computer-implemented method includes steps of determining multiple application fragments of a computer application, wherein each application fragment of the application fragments includes a code to present at least one interface of the computer application; storing the application fragments at a storage device; generating a resource dependency data structure, wherein for each specific application fragment of the application fragments, the resource dependency data structure includes identifications of resources that are needed for running the specific application fragment; and streaming, via a network component, at least one application fragment of the application fragments to a computing device.
    Type: Grant
    Filed: April 18, 2013
    Date of Patent: June 21, 2016
    Assignee: Nextbit Systems, Inc.
    Inventors: Justin Quan, Michael A. Chan
  • Patent number: 9276980
    Abstract: Technology is disclosed herein for data synchronization based on file system activities. According to at least one embodiment, a computing device monitors one or more file system operations for a file stored in the computing device. The computing device records the file system operations for the file sequentially into a log data structure. The computing device synchronizes the file with a server by sending the log data structure to the server. The server can apply the file system operations recorded in the log data to an instance of the file stored in the server such that data of the file stored in the computing device are consistent with data in the instance of the file stored in the server after the file system operations are applied.
    Type: Grant
    Filed: October 2, 2013
    Date of Patent: March 1, 2016
    Inventors: Michael A. Chan, Justin Quan, Michael K. Fleming
  • Publication number: 20150370428
    Abstract: In some examples, an electronic device may offload an application to a network storage. For instance, the application, associated application data, and/or saved application state information may be deleted from the electronic device. Subsequently, an application launcher may present a launcher user interface (UI) on a display associated with the electronic device. The launcher UI may include a first set of application representations corresponding to applications offloaded from the electronic device, and a second set of application representations corresponding to applications currently installed on the electronic device. In response to receiving a selection of one of the representations from the first set via the launcher UI, the selected application may be onloaded onto the electronic device. Further, in some cases, the electronic device may receive from the network storage at least one of the application data or the application state information for the onloaded application.
    Type: Application
    Filed: August 31, 2015
    Publication date: December 24, 2015
    Inventors: Michael A. CHAN, Justin QUAN, Brian CHU, Aanchal JAIN
  • Publication number: 20150373107
    Abstract: An electronic device may offload an application to a network storage to free up storage on the electronic device. For instance, an application file and, in some cases, associated application data and/or saved application state information may be stored at the network storage and deleted from the electronic device. Subsequently, a data management module may receive an instruction to onload the application back onto the electronic device, such as in response to a user input that selects the offloaded application, a determination that an upcoming activity may include use of the offloaded application, or a determination that a user usage pattern indicates that the offloaded application is likely to be used. In response, the data management module may download the corresponding application file from the network storage. In some cases, the electronic device may also receive associated application data and/or saved application state information from the network storage.
    Type: Application
    Filed: August 31, 2015
    Publication date: December 24, 2015
    Inventors: Michael A CHAN, Justin QUAN, Brian CHU, Aanchal JAIN
  • Publication number: 20150365463
    Abstract: In some examples, an electronic device may offload an application to network storage. Subsequently, if a user attempts to execute the application on the electronic device, the application may be executed remotely while the application is downloaded to the electronic device. As one example, a remote computer may use an emulator to execute the application and send application execution data to the electronic device. The user may interact with the remotely executing application while the application is downloaded and reinstalled on the electronic device. Application state information may be obtained from the remotely executing application and used to initiate execution of the application locally on the electronic device. As another example, a web application version of the application may be executed remotely and accessed through a browser on the electronic device while the application is downloaded and reinstalled on the electronic device.
    Type: Application
    Filed: August 26, 2015
    Publication date: December 17, 2015
    Inventors: Justin QUAN, Michael A. CHAN
  • Publication number: 20150365817
    Abstract: In some examples, a first mobile device is placed into communication with a second mobile device, such as through a short-range radio connection. User information is transferred from the first mobile device to the second mobile device. For example, application information for an application and saved application state information may be transferred to the second mobile device. The second mobile device may configure the application on the second mobile device based in part on the application state information received from the first mobile device. In addition, a user communication ID may be transferred from the first mobile device to the second mobile device, and may be used for communication with a third device with which the first mobile device has previously communicated. For instance, the user communication ID may be used in place of a device communication ID when sending communications from the second mobile device.
    Type: Application
    Filed: August 26, 2015
    Publication date: December 17, 2015
    Inventors: Brian CHU, Justin QUAN, Michael A. CHAN
  • Publication number: 20150365491
    Abstract: In some examples, an electronic device may reduce the resolution or otherwise downsize content items to conserve storage space on the electronic device. Further, the electronic device may offload full resolution versions of content items that have been downsized, and the full resolution versions may be stored at a cloud storage or other network storage location. Subsequently, if the user, an operating system module, or an application on the electronic device requests a higher resolution version of the downsized content item, the higher resolution version may be downloaded from the network storage to the electronic device. Various techniques may be used for determining a size or resolution of the content item to download from the network storage.
    Type: Application
    Filed: August 26, 2015
    Publication date: December 17, 2015
    Inventors: Michael A. CHAN, Justin QUAN, Brian CHU, Aanchal JAIN
  • Patent number: 9210203
    Abstract: Technology for decomposing an application into fragments and streaming the application in fragments is disclosed herein. According to at least one embodiment, a computer-implemented method includes steps of determining multiple application fragments of a computer application, wherein each application fragment of the application fragments includes a code to present at least one interface of the computer application; storing the application fragments at a storage device; generating a resource dependency data structure, wherein for each specific application fragment of the application fragments, the resource dependency data structure includes identifications of resources that are needed for running the specific application fragment; and streaming, via a network component, at least one application fragment of the application fragments to a computing device.
    Type: Grant
    Filed: January 17, 2014
    Date of Patent: December 8, 2015
    Inventors: Justin Quan, Michael A. Chan
  • Publication number: 20150326655
    Abstract: The subject disclosure relates to systems and methods for casting an application from a source device to a destination device. In particular, a process can include steps for causing a source application executing as a foreground process in an operating system of a source computing device to store state data, transmitting the state data of the source application to a set of destination computing devices, and transmitting a cast command to the destination computing device, where the cast command is configured to instruct the destination computing device to execute the source application on the destination computing device using the state data.
    Type: Application
    Filed: July 21, 2015
    Publication date: November 12, 2015
    Inventors: Justin Quan, Jaikumar Ganesh, Linda Tong, Michael A. Chan, Tom Moss
  • Publication number: 20150283462
    Abstract: Techniques introduced here enable cloud-based file prefetching for gaming applications running on electronic devices. The electronic devices store certain gaming data files on a remote storage server and preload some of the files locally to include file access efficiency. Gaming data file access patterns on the electronic devices are analyzed, individually and collectively, using a cloud service to detect global access patterns and help determine which gaming data files to preload on each of the electronic devices.
    Type: Application
    Filed: April 8, 2014
    Publication date: October 8, 2015
    Applicant: NEXTBIT SYSTEMS INC.
    Inventors: Michael A. Chan, Michael K. Fleming, Justin Quan
  • Publication number: 20150283456
    Abstract: Techniques introduced here enable cloud-based file prefetching for gaming applications running on electronic devices. The electronic devices store certain gaming data files on a remote storage server and preload some of the files locally to include file access efficiency. Gaming data file access patterns on the electronic devices are analyzed, individually and collectively, using a cloud service to detect global access patterns and help determine which gaming data files to preload on each of the electronic devices.
    Type: Application
    Filed: May 7, 2014
    Publication date: October 8, 2015
    Applicant: NEXTBIT SYSTEMS INC.
    Inventors: Michael A. Chan, Michael K. Fleming, Justin Quan
  • Patent number: 9146716
    Abstract: At least one embodiment of this disclosure includes a method of resource balancing execution of an application involving multiple devices. The method can include: identifying an application executing on an operating system of a first computing device; identifying a resource type to facilitate the executing of the application; identifying multiple computing devices each having at least an available resource instance of the identified resource type, wherein the multiple computing devices are reachable by a communication protocol of the first computing device; and selecting a target computing device to offer up a target resource instance of the resource type to the application based at least partly on a comparable limitation of each available resource instance of the multiple computing devices.
    Type: Grant
    Filed: March 20, 2014
    Date of Patent: September 29, 2015
    Inventors: Michael A. Chan, Justin Quan, Daniel R. Bornstein, Tom Moss, Linda Tong
  • Patent number: 9122491
    Abstract: Technology is disclosed for determining a serialization scheme used in serializing a software object by an application (“the technology”). A source application can serialize the object using multiple serialization schemes. In order for another application to deserialize the object serialized by the source application, the application may have to know the serialization scheme used in serializing the object. The technology can analyze an intermediate code, e.g., bytecode, of the source application to determine the serialization scheme used by the source application. The technology compares a portion of the code of the source application that serializes the objects with multiple serialization scheme templates having code for known serialization schemes and determines the serialization scheme used by the source application based on a matching serialization scheme template.
    Type: Grant
    Filed: March 6, 2014
    Date of Patent: September 1, 2015
    Inventors: Michael A. Chan, Justin Quan, Michael K. Fleming, Daniel R. Bornstein