IP Library Granted Patent US 12,413,409
Granted Patent B2
US 12,413,409 · App. 17/804,843 · Granted Sep 9, 2025

Extending a security perimeter into a tenant-specific public cloud partition

Inventors: Arindam Mukherjee (Pune, IN); Nitin Parab (Palo Alto, CA); Shrikant Janardhan Jadhav (Pune, IN); Sunil Khushal Patil (Pune, IN)
Assignee: Nutanix, Inc.
H04L9/3213H04L9/3226H04L9/3271
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,413,409
App. No.
17/804,843
Filed
May 31, 2022
Granted
Sep 9, 2025
Kind
B2
Art Unit
2431
USPC
713/168
Abstract

Methods, systems, and computer program products for executing trusted software components in public computing clouds. Verifiably authentic software components are installed into a tenant partition of a multi-tenant public cloud-based environment. To do so, a software component installer is configured to install registered software components into the tenant partition. Installer processing includes (1) obtaining a component-specific token for a software component wherein the component-specific token is specific to both the software component to be installed and a particular tenant, and (2) installing the software component on behalf of the given tenant in the multi-tenant public cloud-based environment. Prior to executing the underlying code of the tenant-specific software component, the software component is authenticated with a component registry using the component-specific token. Additional trusted components are installed based on demand from within the tenant partition. No user or administrator intervention is needed and no credentials are hard-coded into the software components.

Claims (55)

1. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor cause the processor to perform acts for loading one or more registered software components in a multi-tenant public cloud-based environment the acts comprising:

instantiating, into a tenant partition of a multi-tenant public cloud architecture, a software component installer that is configured to install a software component into the tenant partition by:

obtaining a component-specific token for the software component to be installed into the multi-tenant public cloud architecture, wherein the component-specific token is specific to the software component to be installed and a given tenant; and

installing the software component on behalf of the given tenant in the multi-tenant public cloud architecture; and

authenticating the software component with a component registry, wherein the software component is authenticated by using the component-specific token for the software component.

2. The non-transitory computer readable medium of claim 1 ,

wherein the software component installer accesses the component registry to request generation of the component-specific token,

the multi-tenant public cloud architecture is communicably connected to an external computing environment,

the external computing environment includes the component registry and a trusted service, and

the trusted service retrieves the component-specific token from the component registry and sends the component-specific token to the software component installer to authenticate the software component from within the multi-tenant public cloud architecture.

3. The non-transitory computer readable medium of claim 1 , wherein the software component installer loads the software component as an authenticated software component into the multi-tenant public cloud architecture.

4. The non-transitory computer readable medium of claim 1 , further comprising instructions which, when stored in memory and executed by the processor cause the processor to perform further acts of:

establishing a mutual trust relationship between the software component and a further software component by:

generating a further component-specific token for the further software component to be installed into the multi-tenant public cloud architecture, wherein the further component-specific token is specific to the further software component and the given tenant; and

installing the further software component on behalf of the given tenant in the multi-tenant public cloud architecture.

5. The non-transitory computer readable medium of claim 4 , further comprising instructions which, when stored in memory and executed by the processor cause the processor to perform further acts of authenticating the further software component with the component registry, wherein the further software component is authenticated by using the further component-specific token for the further software component.

6. The non-transitory computer readable medium of claim 4 , further comprising instructions which, when stored in memory and executed by the processor cause the processor to perform further acts of carrying out a communication exchange between the software component and the further software component, wherein the communication exchange includes sharing of the further component-specific token.

7. The non-transitory computer readable medium of claim 4 , wherein the software component and the further software component carry out a communication exchange by executing trust protocol code.

8. A method for loading one or more registered software components in a multi-tenant public cloud architecture comprising:

instantiating, into a tenant partition of a multi-tenant public cloud architecture, a software component installer that is configured to respond to a command to install a software component into the tenant partition by:

obtaining a component-specific token for the software component to be installed into the multi-tenant public cloud architecture, wherein the component-specific token is specific to the software component to be installed and a given tenant; and

installing the software component on behalf of the given tenant in the multi-tenant public cloud architecture; and

authenticating the software component with a component registry, wherein the software component is authenticated by using the component-specific token for the software component.

9. The method of claim 8 , wherein the software component installer accesses the component registry to request generation of the component-specific token,

the multi-tenant public cloud architecture is communicably connected to an external computing environment,

the external computing environment includes the component registry and a trusted service, and

the trusted service retrieves the component-specific token from the component registry and sends the component-specific token to the software component installer to authenticate the software component from within the multi-tenant public cloud architecture.

10. The method of claim 8 , wherein the software component installer loads the software component as an authenticated software component into the multi-tenant public cloud architecture.

11. The method of claim 8 , further comprising:

establishing a mutual trust relationship between the software component and a further software component by:

generating a further component-specific token for the further software component to be installed into the multi-tenant public cloud architecture, wherein the further component-specific token is specific to the further software component and the given tenant; and

installing the further software component on behalf of the given tenant in the multi-tenant public cloud architecture.

12. The method of claim 11 , further comprising authenticating the further software component with the component registry, wherein the further software component is authenticated by using the further component-specific token for the further software component.

13. The method of claim 11 , further comprising carrying out a communication exchange between the software component and the further software component, wherein the communication exchange includes sharing of the further component-specific token.

14. The method of claim 11 , wherein the software component and the further software component carry out a communication exchange by executing trust protocol code.

15. A system for loading one or more registered software components in a multi-tenant public cloud architecture comprising:

a storage medium having stored thereon a sequence of instructions; and

a processor that executes the sequence of instructions to cause the processor to perform acts comprising,

instantiating, into a tenant partition of a multi-tenant public cloud architecture, a software component installer that is configured to respond to a command to install a software component into the tenant partition by:

obtaining a component-specific token for the software component to be installed into the multi-tenant public cloud architecture, wherein the component-specific token is specific to the software component to be installed and a given tenant; and

installing the software component on behalf of the given tenant in the multi-tenant public cloud architecture; and

authenticating the software component with a component registry, wherein the software component is authenticated by using the component-specific token for the software component.

16. The system of claim 15 , wherein

the software component installer accesses the component registry to request generation of the component-specific token,

the multi-tenant public cloud architecture is communicably connected to an external computing environment,

the external computing environment includes the component registry and a trusted service, and

the trusted service retrieves the component-specific token from the component registry and sends the component-specific token to the software component installer to authenticate the software component from within the multi-tenant public cloud architecture.

17. The system of claim 15 , wherein the software component installer loads the software component as an authenticated software component into the multi-tenant public cloud architecture.

18. The system of claim 15 , further comprising instructions which, when stored in memory and executed by the processor cause the processor to perform further acts of:

establishing a mutual trust relationship between the software component and a further software component by:

generating a further component-specific token for a further software component to be installed into the multi-tenant public cloud architecture, wherein the further component-specific token is specific to the further software component and the given tenant; and

installing the further software component on behalf of the given tenant in the multi-tenant public cloud architecture.

19. The system of claim 18 , further comprising instructions which, when stored in memory and executed by the processor cause the processor to perform further acts of authenticating the further software component with the component registry, wherein the further software component is authenticated by using the further component-specific token for the further software component.

20. The system of claim 18 , further comprising instructions which, when stored in memory and executed by the processor cause the processor to perform further acts of carrying out a communication exchange between the software component and the further software component, wherein the communication exchange includes sharing of the further component-specific token.

21. The system of claim 18 , wherein the software component and the further software component carry out a communication exchange by executing trust protocol code.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: MUKHERJEE, ARINDAM; PARAB, NITIN; JADHAV, SHRIKANT JANARDHAN; PATIL, SUNIL KHUSHAL
To: NUTANIX, INC.
Reel/Frame 062202/0778 →
Priority Claims (1)
IN 202141042145 · Sep 17, 2021 · national
Continuity (1)
Related Publication 20230088927A1 · Mar 23, 2023
References Cited (69)
US 6269377B1 · Collie · 2001 [cited by examiner]
US 6574734B1 · Colson · 2003 [cited by examiner]
US 7900046B2 · Baliga et al. · 2011 [cited by applicant]
US 8549518B1 · Aron et al. · 2013 [cited by applicant]
US 8601473B1 · Aron et al. · 2013 [cited by applicant]
US 8850130B1 · Aron et al. · 2014 [cited by applicant]
US 9317844B2 · Richelson · 2016 [cited by examiner]
US 9772866B1 · Aron et al. · 2017 [cited by applicant]
US 9898344B2 · Kalali · 2018 [cited by examiner]
US 10298515B1 · Kirchhofer · 2019 [cited by examiner]
US 10645073B1 · Agarmore · 2020 [cited by examiner]
US 10715564B2 · Mohamad Abdul · 2020 [cited by examiner]
US 10979416B2 · Kulkarni et al. · 2021 [cited by applicant]
US 11526339B1 · Kruayatidee · 2022 [cited by examiner]
US 20130132530A1 · Asahara · 2013 [cited by examiner]
US 20140019516A1 · Banerjee · 2014 [cited by examiner]
US 20140317716A1 · Chao et al. · 2014 [cited by applicant]
US 20150089031A1 · Kalali · 2015 [cited by examiner]
US 20150200948A1 · Cairns · 2015 [cited by examiner]
US 20150229628A1 · Kosim-Satyaputra · 2015 [cited by examiner]
US 20160132214A1 · Koushik · 2016 [cited by examiner]
US 20160203074A1 · Van Grinsven · 2016 [cited by examiner]
US 20170201549A1 · Vincent · 2017 [cited by examiner]
US 20170257216A1 · Perga · 2017 [cited by examiner]
US 20180060523A1 · Farh · 2018 [cited by examiner]
US 20180278715A1 · Uchibori · 2018 [cited by examiner]
US 20190222574A1 · Akbar et al. · 2019 [cited by applicant]
US 20190363886A1 · Atwood · 2019 [cited by examiner]
US 20200153623A1 · Asanghanwa et al. · 2020 [cited by applicant]
US 20200257516A1 · Totale · 2020 [cited by examiner]
US 20200358752A1 · Palmer · 2020 [cited by examiner]
US 20210019381A1 · Kurimura · 2021 [cited by examiner]
US 20210105274A1 · Bender · 2021 [cited by examiner]
US 20210157896A1 · Hashmi · 2021 [cited by examiner]
US 20210226788A1 · Bahrenburg · 2021 [cited by examiner]
US 20210373878A1 · Padmanabhan · 2021 [cited by examiner]
US 20220114238A1 · Padmanabhan · 2022 [cited by examiner]
EP 3874674A1 · 2021 [cited by applicant]
WO WO2020092225A1 · 2020 [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Oct. 15, 2013), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 11, 2014), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jun. 20, 2014), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 7, 2015), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jun. 9, 2015), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Sep. 4, 2015), from https://nutanixbible.com/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 12, 2016), from https://nutanixbible.com/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jun. 9, 2016), from https://nutanixbible.com/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 3, 2017), from https://nutanixbible.com/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jun. 8, 2017), from https://nutanixbible.com/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 3, 2018), from https://nutanixbible.com/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jun. 25, 2018), from https://nutanixbible.com/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 8, 2019), from https://nutanixbible.com/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jul. 9, 2019), from https://nutanixbible.com/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Feb. 3, 2020), from https://nutanixbible.com/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Aug. 1, 2020), from https://nutanixbible.com/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 30, 2021), from https://nutanixbible.com/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Sep. 9, 2022), from https://nutanixbible.com/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Cano, I. et al., “Curator: Self-Managing Storage for Enterprise Clusters”, [cited by applicant]
“Citrix XenDesktop 7.1 on Microsoft Hyper-V Server 2012 R2 on Nutanix Virtual Computing Platform—Solution Design,” Citrix Validated Solutions, Prepared by: Citrix APAC Solutions, dated Jun. 25, 2014. [cited by applicant]
Hörandner, F., et al., “Credential: A Framework for Privacy-Preserving Cloud-Based Data Sharing,” 2016 11th International Conference on Availability, Reliability and Security (ARES), dated Aug. 1, 2016. [cited by applicant]
Lv, Y., et al., “Heterogeneous Cross-Domain Identity Authentication Scheme Based on Proxy Resignature in Cloud Environment,” Mathematical Problems in Engineering vol. 2020, Article ID 2078032, 12 pages, dated Nov. 17, 2… [cited by applicant]
“Setting up Encryption Key per Tenant,” UiPath, URL: https://docs.uipath.com/orchestrator/v2019/docs/setting-up-encryption-key-per-tenant, date found via Google as Mar. 15, 2012. [cited by applicant]
“Using vRealize Operations Tenant App for vCloud Director as a Service Provider,” VMWare, Copyright 2022. [cited by applicant]
“How to Complete Installation Prerequisite Tasks Manually,” Grid Infrastructure Installation Guide, Oracle Help Center, URL: https://docs.oracle.com/cd/E11882_01/install.112/e41961/manpreins.htm#CWLIN406, date found via… [cited by applicant]
“Installing IBM Spectrum Virtualize for Public Cloud Software,” IBM, dated Jul. 29, 2021. [cited by applicant]
“Creating an API key,” IBM, dated Mar. 3, 2021. [cited by applicant]
“Installing IBM Spectrum Virtualize for Public Cloud software,” Earlier Version, IBM, dated Mar. 3, 2021. [cited by applicant]
“Secure Cloud-Native Computing with Identity and Access Management,” Onelogin, date found via Google as Aug. 9, 2021. [cited by applicant]
Pozo-Hidalgo, S., “Establishing Trust in-Cloud Environments,” DevOps in the Cloud, dated Aug. 6, 2021. [cited by applicant]
Cited By (1)
US 12,719,869