IP Library Granted Patent US 8,966,497
Granted Patent B2
US 8,966,497 · App. 14/031,382 · Granted Feb 24, 2015

Name service object clustering

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 8,966,497
App. No.
14/031,382
Granted
Feb 24, 2015
Kind
B2
Abstract

Methods and systems for load balancing of Common Object Request Broker Architecture (CORBA) object servers. A name service cluster is invoked. It is indicated to a user whether bind interceptors are in use. The user is provided with a class having relevant methods if bind interceptors are in use. The class that contains the most relevant methods is specified. Name service clusters are established for object servers where each name service cluster contains a unique object binding table containing object server reference bindings. Object server reference bindings having identical names are clustered into common clusters. A load balance is performed by having a name service select an object server located in an invoked cluster. A cluster component is appended to the invoked cluster to provide failover upon failover of the object server; and a selected object server reference binding is forwarded to a client upon completion of the load balance.

Claims (52)

1. A method for load balance of Common Object Request Broker Architecture (COBRA) object servers, comprising:

invoking a name service cluster;

indicating to a user whether bind interceptors are in use;

providing the user with a class having relevant methods if bind interceptors are in use;

specifying the class such that the class contains the most relevant methods, the most relevant methods comprising: Bind, Bind_Succeeded, or Bind_Failed, or any combination thereof;

establishing name service clusters for object servers each name service cluster containing a unique object binding table containing object server reference bindings;

clustering together object server reference bindings having identical names into common clusters such that loads are equitably distributed among object servers;

performing a load balance by having a name service select an object server located in an invoked cluster;

appending a cluster component to the invoked cluster to provide failover upon failure of the object server; and

forwarding a selected object server reference binding to a client upon completion of the load balance.

2. The method of claim 1 , wherein the invoking comprises binding to an object server using an IP Address and a port number contained in an object server reference binding.

3. The method of claim 1 , further comprising:

checking the bind interceptors if the object server fails; and

selecting an alternative server if a bind interceptor contains a predetermined method; said selecting being performed by the user upon entry of the predetermined method by the user.

4. The method of claim 3 , further comprising:

intercepting a cluster component of the object server which failed based on the bind interceptor;

invoking a load balance algorithm of the cluster via the bind interceptor to select and return a new object reference located in the cluster to the client; and

establishing communications with the client and a server of the new object reference; and marking the failed object server to indicated failure thereof.

5. The method of claim 4 , further comprising:

removing the marked failed object server from the cluster.

6. The method of claim 3 , wherein the predetermined method is Bind_Failed.

7. The method of claim 3 , wherein the predetermined method is a Round robin load balancing algorithm.

8. The method of claim 1 , further comprising:

specifying a load balance algorithm upon creation of a naming service cluster to perform name service load balancing of object references contained within the clusters, wherein said load balancing is performed based on a predetermined method.

9. The method of claim 1 , wherein each cluster contains an object binding table which contains object server reference bindings; and wherein each object server reference binding represents a single object server.

10. A system for load balance of Common Object Request Broker Architecture (CORBA) object servers, comprising:

a processor configured for:

invoking a name service cluster;

indicating to a user whether bind interceptors are in use;

providing the user with a class having relevant methods if bind interceptors are in use; and

specifying the class such that the class contains the most relevant methods, the most relevant methods comprising: Bind, Bind_Succeeded, or Bind_Failed, or any combination thereof;

establishing name service clusters for object servers, each name service cluster containing a unique object binding table containing object server reference bindings;

clustering together object server reference bindings having identical names into common clusters such that loads are equitably distributed among object servers;

performing a load balance by having a name service select an object server located in an invoked cluster;

appending a cluster component to the invoked cluster to provide failover upon failure of the object server; and

forwarding a selected object server reference binding to a client upon completion of the load balance.

11. The system of claim 10 , wherein the invoking comprises binding to an object server using an IP Address and a port number contained in an object server reference binding.

12. The system of claim 10 , the processor further configured for:

checking the bind interceptors if the object server fails; and

selecting an alternative server if a bind interceptor contains a predetermined method; said

selecting being performed by the user upon entry of the predetermined method by the user.

13. The system of claim 12 , the processor further configured for:

intercepting a cluster component of the object server which failed based on the bind interceptor;

invoking a load balance algorithm of the cluster via the bind interceptor to select and return a new object reference located in the cluster to the client; and

establishing communications with the client and a server of the new object reference; and marking the failed object server to indicated failure thereof.

14. The system of claim 13 , the processor further configured for:

removing the marked failed object server from the cluster.

15. The system of claim 12 , wherein the predetermined method is Bind_Failed.

16. The system of claim 12 , wherein the predetermined method is a Round robin load balancing algorithm.

17. The system of claim 10 , the processor further configured for:

specifying a load balance algorithm upon creation of a naming service cluster to perform name service load balancing of object references contained within the clusters, wherein said load balancing is performed based on a predetermined method.

18. The system of claim 10 , wherein each cluster contains an object binding table which contains object server reference bindings; and wherein each object server reference binding represents a single object server.

Assignments (7)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2014
From: ZHAO, CUIE; KASARAVALLI, VISHWANATH; NATARAJAN, VIJAYKUMAR
To: BORLAND SOFTWARE CORPORATION
Reel/Frame 033420/0567 →