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: 10069940Abstract: 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: GrantFiled: September 10, 2015Date of Patent: September 4, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Phillip E. Smith, William L. Cheng, Jason Salameh, Andres C. Petralli
-
Publication number: 20180239894Abstract: 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: ApplicationFiled: February 17, 2017Publication date: August 23, 2018Inventors: 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: 9965604Abstract: 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: GrantFiled: September 10, 2015Date of Patent: May 8, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Phillip E. Smith, William L. Cheng, Jason Salameh, Andres C. Petralli, Adam D. Stritzel
-
Publication number: 20170076075Abstract: 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: ApplicationFiled: September 10, 2015Publication date: March 16, 2017Inventors: Phillip E. Smith, William L. Cheng, Jason Salameh, Andres C. Petralli, Adam D. Stritzel
-
Publication number: 20170078377Abstract: 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: ApplicationFiled: September 10, 2015Publication date: March 16, 2017Inventors: Phillip E. Smith, William L. Cheng, Jason Salameh, Andres C. Petralli
-
Patent number: 8978028Abstract: 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: GrantFiled: October 10, 2007Date of Patent: March 10, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Robert Charles Flaming, Hemchander V. Sannidhanam, Venkata Kiran Kumar Annamraju, William L. Cheng, Kin Yip Kenneth Wong, Carolyn L. Napier
-
Publication number: 20140359606Abstract: 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: ApplicationFiled: May 30, 2013Publication date: December 4, 2014Inventors: 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: 20130067459Abstract: 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: ApplicationFiled: September 9, 2011Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Hemchander Venkateshwara Sannidhanam, John M. Sheehan, William L. Cheng, Zainab Hakim, Jerome Thomas Holman
-
Publication number: 20090100421Abstract: 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: ApplicationFiled: October 10, 2007Publication date: April 16, 2009Applicant: Microsoft CorporationInventors: Robert Charles Flaming, Hemchander V. Sannidhanam, Venkata Kiran Kumar Annamraju, William L. Cheng, Kin Yip Kenneth Wong, Carolyn L. Napier