Patents by Inventor William L. Cheng

William L. Cheng 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: 10069940
    Abstract: For applications that are designed to operate across multiple computer environments, an application distribution service may store multiple different versions of application packages, the different versions being applicable to different computing environments. Application targeted metadata associated with the application packages may be utilized to quickly diagnose the applicability of the application packages to a client device with low bandwidth cost, and before any package distribution is commenced.
    Type: Grant
    Filed: September 10, 2015
    Date of Patent: September 4, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Phillip E. Smith, William L. Cheng, Jason Salameh, Andres C. Petralli
  • Publication number: 20180239894
    Abstract: A computer-implemented method comprises executing a first application package in a runtime having a first application security context, identifying a dependency element in a second application package, and if the dependency element is associated with the first application package, then executing the second application package within the runtime and security context for the first application package.
    Type: Application
    Filed: February 17, 2017
    Publication date: August 23, 2018
    Inventors: Sarjana Sheth Mitra, John M. Sheehan, John J. Vintzel, Jason G. Salameh, Carl W. Russell, Howard S. Kapustein, Paul Sliwowicz, Letao Wang, Stephen R. Reading, William L. Cheng
  • Patent number: 9965604
    Abstract: Registration of an application in a per-user registration model includes the creation and storage of duplicate registration data for multiple user accounts present on a system. This duplication of registration data may be reduced by storing at least a portion of identical data in a per-machine location in the system memory where it is accessible to all user accounts. Instead of needing to separately re-compute and/or re-store duplicate registration data in multiple per-user locations in the memory, each user account may access and utilize the registration data stored in the per-machine location. Pre-computing and storing a portion of the application registration data in a per-machine location in the memory may also allow the system to defer the registration of the application.
    Type: Grant
    Filed: September 10, 2015
    Date of Patent: May 8, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Phillip E. Smith, William L. Cheng, Jason Salameh, Andres C. Petralli, Adam D. Stritzel
  • Publication number: 20170076075
    Abstract: Registration of an application in a per-user registration model includes the creation and storage of duplicate registration data for multiple user accounts present on a system. This duplication of registration data may be reduced by storing at least a portion of identical data in a per-machine location in the system memory where it is accessible to all user accounts. Instead of needing to separately re-compute and/or re-store duplicate registration data in multiple per-user locations in the memory, each user account may access and utilize the registration data stored in the per-machine location. Pre-computing and storing a portion of the application registration data in a per-machine location in the memory may also allow the system to defer the registration of the application.
    Type: Application
    Filed: September 10, 2015
    Publication date: March 16, 2017
    Inventors: Phillip E. Smith, William L. Cheng, Jason Salameh, Andres C. Petralli, Adam D. Stritzel
  • Publication number: 20170078377
    Abstract: For applications that are designed to operate across multiple computer environments, an application distribution service may store multiple different versions of application packages, the different versions being applicable to different computing environments. Application targeted metadata associated with the application packages may be utilized to quickly diagnose the applicability of the application packages to a client device with low bandwidth cost, and before any package distribution is commenced.
    Type: Application
    Filed: September 10, 2015
    Publication date: March 16, 2017
    Inventors: Phillip E. Smith, William L. Cheng, Jason Salameh, Andres C. Petralli
  • Patent number: 8978028
    Abstract: Described is installing multiple software packages to a computing device in a single transaction, whereby the multiple package installation commits if successful, or the device is rolled back to a determined state if unsuccessful. A client process provides a system service (installer) with a package, and the service partitions package installation actions into execution, commit and rollback phases, with the execution phase run for each package. If successful, the transaction is committed by performing the multiple commit phases. If unsuccessful, the installation is rolled back via the rollback phases. The phases may be interleaved, with execution and commit phases performed in FIFO order, and rollback phases performed in LIFO order. A client process may dynamically determine which packages to install, a client process may be embedded in a package and join the transaction, and/or one client process may delegate control to another client to add package actions to the transaction.
    Type: Grant
    Filed: October 10, 2007
    Date of Patent: March 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Charles Flaming, Hemchander V. Sannidhanam, Venkata Kiran Kumar Annamraju, William L. Cheng, Kin Yip Kenneth Wong, Carolyn L. Napier
  • Publication number: 20140359606
    Abstract: One or more techniques and/or systems are provided for generating a bundle package, digitally signing the bundle package, selectively disturbing the bundle package, and/or indexing one or more resource packages retrieved from the bundle package. That is, a bundle package (e.g., an application or game bundle package) comprises one or more app packages comprising application code configured to execute on various computing environments (e.g., operating systems, processors, etc.). The bundle package may comprise one or more resource packages comprising supplemental data used to provide optional user experience functionality for the application (e.g., French language support, high resolution textures, a gaming pad support, etc.). In this way, a client device may selectively download portions of the bundle package that may be relevant, which may mitigate download bandwidth, storage space, or resources otherwise used to obtain unnecessary portions of the bundle package (e.g.
    Type: Application
    Filed: May 30, 2013
    Publication date: December 4, 2014
    Inventors: Jason Salameh, Erik Fortune, Phillip Smith, John Michael Sheehan, Wade H. Curtiss, Kyle Grayson Conroy, Samuel Aaron Beard, Jonathan L. Davis, William L. Cheng, Ravi Kiran Kunapuli
  • Publication number: 20130067459
    Abstract: In accordance with one or more aspects, a first one or more packages are included in a deployment collection for a software product. One or more identifiers of each of a second one or more packages are also included in the deployment collection for the software product. The deployment collection is obtained at a device. For each of the second one or more packages, the package is obtained based on the identifier of the package, and the first one or more packages and the second one or more packages are installed on the device.
    Type: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Hemchander Venkateshwara Sannidhanam, John M. Sheehan, William L. Cheng, Zainab Hakim, Jerome Thomas Holman
  • Publication number: 20090100421
    Abstract: Described is installing multiple software packages to a computing device in a single transaction, whereby the multiple package installation commits if successful, or the device is rolled back to a determined state if unsuccessful. A client process provides a system service (installer) with a package, and the service partitions package installation actions into execution, commit and rollback phases, with the execution phase run for each package. If successful, the transaction is committed by performing the multiple commit phases. If unsuccessful, the installation is rolled back via the rollback phases. The phases may be interleaved, with execution and commit phases performed in FIFO order, and rollback phases performed in LIFO order. A client process may dynamically determine which packages to install, a client process may be embedded in a package and join the transaction, and/or one client process may delegate control to another client to add package actions to the transaction.
    Type: Application
    Filed: October 10, 2007
    Publication date: April 16, 2009
    Applicant: Microsoft Corporation
    Inventors: Robert Charles Flaming, Hemchander V. Sannidhanam, Venkata Kiran Kumar Annamraju, William L. Cheng, Kin Yip Kenneth Wong, Carolyn L. Napier