IP Library Granted Patent US 10,659,286
Granted Patent B2
US 10,659,286 · App. 15/783,355 · Granted May 19, 2020

Method and system for simplifying distributed server management

Inventors: Thomas M. Kraus (Natick, MA); Vijay G. Manwani (Needham, MA); Sekhar Muddana (South Attleboro, MA)
Assignee: BladeLogic, Inc.
H04L41/022G06F9/466H04L41/082H04L41/0803H04L41/084H04L41/0806H04L41/0853H04L41/0863H04L67/10H04L67/1002H04L67/1008H04L67/1014H04L67/42G06F11/1471G06F2201/84H04L67/1034
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 10,659,286
App. No.
15/783,355
Granted
May 19, 2020
Kind
B2
Abstract

A method and system for managing a large number of servers and their server components distributed throughout a heterogeneous computing environment is provided. In one embodiment, an authenticated user, such as a IT system administrator, can securely and simultaneously control and configure multiple servers, supporting different operating systems, through a “virtual server.” A virtual server is an abstract model representing a collection of actual target servers. To represent multiple physical servers as one virtual server, abstract system calls that extend execution of operating-system-specific system calls to multiple servers, regardless of their supported operating systems, are used. A virtual server is implemented by a virtual server client and a collection of virtual server agents associated with a collection of actual servers.

Claims (41)

1. A method comprising:

providing through a graphical user interface (GUI) a representation of a plurality of servers as a single virtual server, the representation of the single virtual server implemented by a virtual server client and a plurality of virtual server agents, each server of the plurality of servers running a respective virtual server agent of the plurality of virtual server agents, and a first server of the plurality of servers having an operating system that differs from a second server of the plurality of servers;

receiving via the GUI a system call that requests a service from an operating system of at least one of the plurality of servers, the system call being provided via the GUI by a user with an authenticated identity for the GUI;

transmitting the system call to a first respective virtual server agent for the first server and to a second respective virtual server agent for the second server;

the first respective virtual server agent selecting a first local user identity for the first server based on a role associated with the authenticated identity;

the second respective virtual server agent selecting a second local user identity for the second server based on the role associated with the authenticated identity; and

executing the system call using the first local user identity on the first server and using the second local user identity on the second server.

2. The method of claim 1 , further comprising receiving, at the virtual server client, execution results from the first respective virtual server agent and the second respective virtual server agent.

3. The method of claim 1 , further comprising:

translating the system call to an abstract system call; and

translating, at the first respective virtual server agent and at the second respective virtual server agent, the abstract system call into an operating-system-specific system call.

4. The method of claim 1 , wherein permissions used to execute the system call on the first server differ from permissions used to execute the system call on the second server.

5. The method of claim 1 , wherein the first local user identity is granted access rights based on an access control list associated with the first server.

6. The method of claim 1 , wherein the first local user identity is a guest account that corresponds to the role.

7. A system comprising:

a virtual server management system running a virtual server client; and

a plurality of servers each running a respective virtual server agent, wherein a first server of the plurality of servers has an operating system that differs from a second server of the plurality of servers,

wherein the virtual server management system includes instructions that, when executed by at least one processor, cause the virtual server management system to perform operations including:

receiving via a graphical user interface (GUI) a system command that requests a service from an operating system of at least one of the plurality of servers, the system command being provided via the GUI by a user with an authenticated identity for the virtual server management system, and

transmitting, by the virtual server client, the system command to at least some of the plurality of servers, and

wherein each respective virtual server agent includes instructions that, when executed by at least one processor of its respective server of the plurality of servers, cause the respective virtual server agent to perform operations including:

receiving the system command,

mapping the authenticated identity to a local user identity for the respective server of the plurality of servers, the mapping being based on a role associated with the authenticated identity, and

executing the system command on the respective server using the local user identity.

8. The system of claim 7 , wherein the mapping on a first server of the plurality of servers maps the authenticated identity to a first local user identity and the mapping on a second server of the plurality of servers maps the authenticated identity to a second local user identity.

9. The system of claim 8 , wherein permissions used to execute the system command on the first server differ from permissions used to execute the system command on the second server.

10. The system of claim 7 , wherein the virtual server management system further includes instructions that cause the virtual server management system to receive execution results from the respective virtual server agents of the at least some of the plurality of servers.

11. The system of claim 7 , wherein the local user identity is granted access rights based on an access control list associated with the respective server.

12. The system of claim 7 , wherein the local user identity is a guest account that corresponds to the role.

13. The system of claim 7 , wherein:

the virtual server client further includes instructions that cause the virtual server management system to translate the system command to an abstract system command, wherein the abstract system command is transmitted to the at least some of the plurality of servers; and

each respective virtual server agent includes instructions that cause the respective virtual server agent to translate the abstract system command into an operating-system-specific system command for the respective server.

14. The system of claim 7 , wherein the local user identity has access rights based on an access control list associated with the respective server.

15. The system of claim 7 , wherein the local user identity is a guest account on the respective server that corresponds to the role.

16. The system of claim 7 , wherein the virtual server client is implemented by a network-aware code library.

17. The system of claim 7 , wherein:

the virtual server client further includes instructions that cause the virtual server client to encrypt the system command prior to transmitting the system command; and

each respective virtual server agent includes instructions that cause the respective virtual server agent to decrypt the system command.

18. The system of claim 7 , wherein the virtual server client further includes instructions that cause the virtual server client to identify the at least some of the plurality of servers based on information included in the system command.

19. The system of claim 18 , wherein the information is a network address.

20. The system of claim 18 , wherein the information identifies a target server of the plurality of servers and identifying the at least some of the plurality of servers includes identifying servers in a group to which the target server belongs.

Assignments (12)
CHANGE OF NAME Recorded Jan 10, 2025
From: BLADELOGIC, INC.
To: BMC HELIX, INC.
Reel/Frame 069870/0796 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Jun 22, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046176/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2017
From: KRAUS, THOMAS MARTIN; MANWANI, VIJAY G.; MUDDANA, SEKHAR
To: BLADELOGIC, INC.
Reel/Frame 043861/0737 →
Continuity (6)
Division 14802507 · Jul 17, 2015
Division 13856089 · Apr 3, 2013
Continuation 10414959 · Apr 16, 2003
Provisional Application 60388112 · Jun 12, 2002
Provisional Application 60453308 · Mar 10, 2003
Related Publication 20180069747A1 · Mar 8, 2018
Cited By (1)
US 12,681,712