Patents Assigned to moka5, Inc.
  • Publication number: 20150186172
    Abstract: The disclosed embodiments provide a system that facilitates the use of a computer system with virtualization software. During operation, the system obtains a set of hardware attributes from the computer system and a hardware compatibility list (HCL) for the virtualization software. Next, the system uses the hardware attributes and the HCL to predict a compatibility of a hardware component in the computer system with the virtualization software. The system then uses the predicted compatibility to manage use of the computer system with the virtualization software.
    Type: Application
    Filed: December 31, 2013
    Publication date: July 2, 2015
    Applicant: moka5, Inc.
    Inventors: Geoffrey G. Thomas, John Whaley, Umesh Agashe
  • Publication number: 20150186668
    Abstract: The disclosed embodiments provide a system that processes data. The system includes a first client that encrypts a first set of data, uploads the encrypted first set of data to a volume on a cloud storage system, and creates a commit record of the upload. The system also includes a synchronization server that verifies access to the volume by the first client and includes the commit record in a change set containing a set of commit records associated with the volume. The synchronization server also signs the change set and provides the change set for use in synchronizing the upload with a second client.
    Type: Application
    Filed: December 30, 2013
    Publication date: July 2, 2015
    Applicant: moka5, Inc.
    Inventors: John Whaley, Thomas Joseph Purtell, II, Geoffrey G. Thomas
  • Publication number: 20150188887
    Abstract: The disclosed embodiments provide a system that provides a virtual private network (VPN). The system includes a routing apparatus on a public network. The routing apparatus accepts a first connection with a client on the VPN and a second connection with a gateway in a private network extended by the VPN. Next, the routing apparatus receives a first set of packets from the client over the first connection, wherein the first set of packets is encrypted. The routing apparatus then routes the first set of packets to the gateway. The system also includes the gateway, which establishes the second connection with the routing apparatus. Next, the gateway decrypts the first set of packets and routes the decrypted first set of packets to a host in the private network.
    Type: Application
    Filed: December 31, 2013
    Publication date: July 2, 2015
    Applicant: moka5, Inc.
    Inventors: Geoffrey G. Thomas, John Whaley
  • Patent number: 9063814
    Abstract: Methods, systems, and apparatus, including computer program apparatus, implementing techniques for publishing, subscribing to, or playing live appliances. A live appliance includes a current virtual machine image. In publishing, a proxy file of a live appliance file type is provided to the publisher. The type is mapped to a live appliance player; so that when a proxy file is opened, the current virtual machine image is run. The player automatically binds a writeable file system external to the virtual machine image to the image to provide file storage that is accessible from within the virtual machine image and from a host operating system. The player also creates a subscription to the live appliance on the host computer if one does not exist when the proxy file is run. With the subscription, the player runs the then-current virtual machine image whenever the live appliance is run.
    Type: Grant
    Filed: August 2, 2007
    Date of Patent: June 23, 2015
    Assignee: Moka5, Inc.
    Inventors: Monica Sin-Ling Lam, Andrew D. Berkheimer, Constantine P. Sapuntzakis, John C. Whaley, Ramesh U. V. Chandra, Michael K. Chen, Won-Suk Chun, Kelvin Kam-Suen Yue
  • Patent number: 9038064
    Abstract: The disclosed implementations are related to trace-assisted prefetching of a virtual machine from a network resource to improve interactive performance of the virtual machine on a host device. Trace patterns can be automatically uploaded to a network resource, which aggregates the patterns, and serves the patterns back to the host device, or a different host device, when the host device downloads a virtual machine for the first time.
    Type: Grant
    Filed: November 29, 2011
    Date of Patent: May 19, 2015
    Assignee: Moka5, Inc.
    Inventors: John C. Whaley, Wen-Suk Chun, Monica Sin-Ling Lam, Constantine P. Sapuntzakis
  • Patent number: 8839221
    Abstract: An automated approach to updating, testing, and distributing virtual machine images is described. Centralized updates allow for a virtual machine image executed locally on thousands of machines to be updated in a single place and the automated testing and distribution signaling provides for smooth rollouts of the updates.
    Type: Grant
    Filed: September 10, 2008
    Date of Patent: September 16, 2014
    Assignee: Moka5, Inc.
    Inventors: Constantine P. Sapuntzakis, Martin Rinard, Gautam Kachroo
  • Patent number: 8839451
    Abstract: Methods, systems, and apparatus, including computer program products, for retaining the function of product activation schemes and other persistent state changes based on hardware identifiers, even when running in a virtual machine monitor. It can tie such schemes to a single identifier, e.g., a USB serial number, instead of the multiple hardware identifiers.
    Type: Grant
    Filed: August 7, 2007
    Date of Patent: September 16, 2014
    Assignee: Moka5, Inc.
    Inventors: Monica Sin-Ling Lam, Constantine P. Sapuntzakis, Dan Boneh, Ramesh U. V. Chandra
  • Patent number: 8805788
    Abstract: Some embodiments provide a system that provides a virtual disk in a computer system. During operation, the system stores data for the virtual disk in a virtual disk file on the computer system. Next, the system loads a differential location data structure corresponding to a snapshot of the virtual disk into memory on the computer system and processes input/output (I/O) operations to the virtual disk using the differential location data structure and the virtual disk file. Finally, the system periodically generates a new snapshot of the virtual disk by transactionally committing changes made to the differential location data structure by the I/O operations to the virtual disk file.
    Type: Grant
    Filed: May 4, 2009
    Date of Patent: August 12, 2014
    Assignee: Moka5, Inc.
    Inventors: Jesse Ernest Gross, IV, John Whaley, Thomas Joseph Purtell, II
  • Publication number: 20140189363
    Abstract: The disclosed embodiments provide a system that processes data. During operation, the system uses a first key to protect a write operation on the data. Next, the system uses a second key to protect a read operation on the data.
    Type: Application
    Filed: December 28, 2012
    Publication date: July 3, 2014
    Applicant: moka5, Inc.
    Inventors: Geoffrey G. Thomas, John Whaley, Thomas Joseph Purtell, II
  • Patent number: 8769528
    Abstract: A universal appliance combines the benefits of a fixed-function CE device with the generality of a PC. The universal appliance includes a host environment for supporting fixed functions and virtual machines that can provide general computing capabilities (e.g., a Windows® OS). The user can select fixed functions and virtual machines for operation on the universal appliance. In some implementations, software environments, including the fixed functions and virtual machines, can be delivered by a universal appliance service provider over a network or other communication medium. The software environments for fixed functions and virtual machines can also be delivered by a removable or portable medium (e.g., a USB flash drive, compact disk, media player, mobile phone). Twenty-four hour server functions can be provided with the universal appliance to allow for automatic data backup, remote access to personal data and an Internet telephone that can accept calls 24 hours a day.
    Type: Grant
    Filed: July 16, 2007
    Date of Patent: July 1, 2014
    Assignee: Moka5, Inc.
    Inventors: Monica Sin-Ling Lam, Kelvin Kam-Suen Yue, Won-Suk Chun, Constantine P. Sapuntzakis
  • Patent number: 8601470
    Abstract: Systems and methods for augmenting the functionality of a device using a virtual machine monitor is provided. In general, in one aspect, a computer implemented method is provided. The computer implemented method includes launching a virtual machine monitor on a host device and for a peripheral device. The virtual machine monitor comprises one or more software components capable of performing actions including connecting a peripheral device to a host device, where the peripheral device memory includes peripheral device specific software and one or more available software bundles. The software components can launch the virtual machine monitor for the peripheral device and execute the peripheral device-specific software and an available software bundle on the host device. In one implementation, the computer implemented method includes connecting a peripheral device to a host device, where the peripheral device memory includes peripheral device-specific software that is executed on the host device.
    Type: Grant
    Filed: January 7, 2008
    Date of Patent: December 3, 2013
    Assignee: Moka5, Inc.
    Inventors: Kelvin Kam-Suen Yue, Monica Sin-Ling Lam, Thomas J. Purtell
  • Patent number: 8589918
    Abstract: Systems and methods for detecting, selecting and running environments on a host device is provided. In general, in one aspect, a computer implemented method is provided. The computer implemented method includes detecting a device including a plurality of platform specific virtual machine monitors, identifying a virtual machine monitor that is compatible with a specified platform; and enabling a launch of the identified virtual machine monitor on the specified platform. In another aspect, a computer implemented method includes detecting a first device including one or more environments, launching an application on a second device, and using the application to collect a list of stacks, collect a list of environments, and determine environments capable of running on a stack. The method further includes receiving a selection of an environment and a stack, and running the selected environment on the selected stack.
    Type: Grant
    Filed: March 20, 2008
    Date of Patent: November 19, 2013
    Assignee: Moka5, Inc.
    Inventors: Constantine P. Sapuntzakis, Monica Sin-Ling Lam
  • Patent number: 8578064
    Abstract: One embodiment provides a system that processes an input/output (I/O) operation associated with a portable storage device. During operation, the system loads a virtual computing environment stored on the portable storage device into a host computer system coupled to the portable storage device. Next, the system intercepts the I/O operation from the virtual computing environment to the portable storage device. Finally, the system decouples the I/O operation from the virtual computing environment by processing the I/O operation independently of a representation of the I/O operation in the virtual computing environment.
    Type: Grant
    Filed: May 4, 2009
    Date of Patent: November 5, 2013
    Assignee: Moka5, Inc.
    Inventors: John Whaley, Thomas Joseph Purtell, II
  • Patent number: 8572741
    Abstract: The disclosed embodiments provide a system that protects an application from malware on a host system. During operation, the system receives a command to commence execution of the application on the host system. In response to the command, the system causes a security scan to be performed on the host system to detect malware, wherein the malware can compromise the security of the application. The system also restricts one or more operations associated with the application until the security scan successfully completes.
    Type: Grant
    Filed: October 14, 2010
    Date of Patent: October 29, 2013
    Assignee: Moka5, Inc.
    Inventors: Constantine P. Sapuntzakis, Burt A. Toma, Phanindra V. R. Ganti, Robert A. Iannucci, Jr., Prakash Linga
  • Patent number: 8527982
    Abstract: Systems and methods for detecting, installing and uninstalling a virtual machine monitor on a host device is provided. In general, in one aspect, a computer implemented method is provided. The computer implemented method includes initiating a user session on a host device, where the user session is initiated upon the insertion of a peripheral device into the host device. Additionally, a virtual machine monitor and a virtual machine are stored on the peripheral device and the virtual machine monitor is automatically installed on the host device. In some implementations, the virtual machine monitor is automatically uninstalled when the user session is terminated.
    Type: Grant
    Filed: January 14, 2008
    Date of Patent: September 3, 2013
    Assignee: moka5. Inc.
    Inventors: Constantine P. Sapuntzakis, Michael K. Chen, John C. Whaley
  • Patent number: 8484721
    Abstract: Some embodiments of the present invention provide a system that presents an alternate computing environment on a host computing device. During operation, this system detects the presence of a removable storage device which is in communication with an interface of the host computing device. The system also locates code which implements the alternate computing environment on the removable storage device. Finally, the system runs the code which presents the alternate computing environment through an environment player on the host device, wherein the environment player prevents a user of the alternate computing environment from interacting directly with a native computing environment of the host computing device.
    Type: Grant
    Filed: August 3, 2009
    Date of Patent: July 9, 2013
    Assignee: Moka5, Inc.
    Inventors: Monica Sin-Ling Lam, Constantine P. Sapuntzakis
  • Patent number: 8266576
    Abstract: Methods, systems, and apparatus, including computer program apparatus, implementing techniques for publishing, subscribing to, or playing live appliances. A live appliance includes a current virtual machine image. In publishing, a proxy file of a live appliance file type is provided to the publisher. The type is mapped to a live appliance player; so that when a proxy file is opened, the current virtual machine image is run. The player automatically binds a writeable file system external to the virtual machine image to the image to provide file storage that is accessible from within the virtual machine image and from a host operating system. The player also creates a subscription to the live appliance on the host computer if one does not exist when the proxy file is run. With the subscription, the player runs the then-current virtual machine image whenever the live appliance is run.
    Type: Grant
    Filed: August 2, 2007
    Date of Patent: September 11, 2012
    Assignee: moka5, Inc.
    Inventors: Monica Sin-Ling Lam, Andrew D. Berkheimer, Constantine P. Sapuntzakis, John C. Whaley, Ramesh U. V. Chandra, Michael K. Chen, Won-Suk Chun, Kelvin Kam-Suen Yue
  • Publication number: 20120096550
    Abstract: The disclosed embodiments provide a system that protects an application from malware on a host system. During operation, the system receives a command to commence execution of the application on the host system. In response to the command, the system causes a security scan to be performed on the host system to detect malware, wherein the malware can compromise the security of the application. The system also restricts one or more operations associated with the application until the security scan successfully completes.
    Type: Application
    Filed: October 14, 2010
    Publication date: April 19, 2012
    Applicant: MOKA5, INC.
    Inventors: Constantine P. Sapuntzakis, Burt A. Toma, Phanindra V. R. Ganti, Robert A. Iannucci, JR., Prakash Linga
  • Publication number: 20120072911
    Abstract: The disclosed implementations are related to trace-assisted prefetching of a virtual machine from a network resource to improve interactive performance of the virtual machine on a host device. Trace patterns can be automatically uploaded to a network resource, which aggregates the patterns, and serves the patterns back to the host device, or a different host device, when the host device downloads a virtual machine for the first time.
    Type: Application
    Filed: November 29, 2011
    Publication date: March 22, 2012
    Applicant: MOKA5, INC.
    Inventors: John C. Whaley, Wen-Suk Chun, Monica Sin-Ling Lam, Constantine P. Sapuntzakis
  • Patent number: 8087017
    Abstract: The disclosed implementations related to prefetching of virtual machines. Some embodiments can receive a virtual disk including a first page table block corresponding to one or more other page table blocks or one or more data blocks. Next, the embodiments can generate a representation of the first page table block, the representation of the first page table block including presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk that are pointed to by the first page table block. The embodiments can then sign the representation of the first page table block. Next, the embodiments can use the signature and the generated position independent representation to verify the integrity of the first page table block, and/or change the offset of the one or more other page table blocks or the one or more data blocks.
    Type: Grant
    Filed: April 9, 2008
    Date of Patent: December 27, 2011
    Assignee: moka5, Inc.
    Inventors: John C. Whaley, Won-Suk Chun, Monica Sin-Ling Lam, Constantine P. Sapuntzakis