IP Library Granted Patent US 7,813,331
Granted Patent B2
US 7,813,331 · App. 11/846,440 · Granted Oct 12, 2010

Apparatus, system, and method for implementing failover in a polling adapter without support from an application server

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 7,813,331
App. No.
11/846,440
Granted
Oct 12, 2010
Kind
B2
Abstract

An apparatus, system, and method are disclosed for implementing failover in a polling adapter without support from an application server. A priority list is stored as part of an adapter configuration that specifies the server names that will participate in a group cluster. Adapters associated with the servers, in addition to accessing the event table when active, access a failover table which contains information about which adapter is currently active and when it last polled the event table. When a preconfigured failover interval has elapsed since the last poll of the event table by the active adapter, a next highest priority takes over the processing duties by polling the event table and logging its last poll time in the failover table.

Claims (16)

1. A computer program product comprising a computer readable medium having computer usable program code stored on a tangible medium and executable on a processor to perform operations for implementing failover in a polling adapter without support from an application server, the operations of the computer program product comprising:

defining a group of two or more redundant servers forming a cluster, each server in electronic communication with an enterprise information system (EIS) via an associated polling adapter, the EIS comprising an event table for publishing event information and having access to a failover table shared by each adapter for determining which polling adapter is currently active and the time at which the currently active polling adapter last polled the event table;

determining a priority level for each polling adapter in the group and marking the highest priority polling adapter as active in the failover table;

polling the event table with the highest priority polling adapter in response to the highest priority polling adapter being marked as active;

setting a last poll time in the failover table for the highest priority polling adapter each time the highest priority polling adapter completes a poll of the event table;

marking a next highest priority polling adapter as active in the failover table and marking the highest priority polling adapter as inactive in response to the passage of a predetermined failover time since a last poll time of the highest priority polling adapter; and

polling the event table with the next highest polling adapter and setting a last poll time in the failover table in response to the next highest priority polling adapter completing a poll of the event table.

2. The computer program product of claim 1 , further configured to re-determine a priority level for a previously highest priority polling adapter that has been marked as inactive.

3. The computer program product of claim 1 , further comprising marking all of the polling adapters in the group as inactive in response to a crash of the entire group.

4. A computer program product comprising a computer readable medium having computer usable program code stored on a tangible medium and executable on a processor to perform operations for implementing failover in a polling adapter without support from an application server, the operations of the computer program product comprising:

accessing a priority list by way of a first polling adapter and validating that a first server associated with the first polling adapter is recorded in the priority list, the priority list defining a group of two or more redundant servers each with an associated polling adapter and specifying a priority level for each of the polling adapters, each polling adapter in electronic communication with a shared enterprise information system (EIS) and a shared failover table, the EIS comprising an event table for publishing event information, the failover table comprising a server name, an active status indicator, and a last poll time for each server in the group;

determining the priority level for the first polling adapter relative to the other polling adapters in the group;

accessing the failover table and marking the first polling adapter as active in response to determining that the first polling adapter has the highest priority level in the priority list, polling the event table with the first polling adapter, and setting a last poll time for the first polling adapter in the failover table in response to the first polling adapter completing a poll of the event table; and

accessing the failover table and determining which polling adapter is currently marked active in the failover table in response to determining that the first polling adapter does not have the highest priority level in the priority list, polling the failover table to obtain the last poll time of the active polling adapter, marking the active polling adapter as inactive in response to determining that a predetermined amount of time has been exceeded since the last poll time of the active polling adapter, marking the first polling adapter as active in response to determining that the first polling adapter has the next highest priority level, polling the event table with the first polling adapter, and setting a last poll time for the first polling adapter in the failover table in response to the polling adapter completing a poll of the event table.

5. The computer program product of claim 4 , further comprising validating that the number of redundant servers in the group equals the number of servers recorded in the priority list.

6. The computer program product of claim 4 , wherein a user manually updates the failover table in response to a crash of the entire group.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2007
From: NELSON, TRAVIS E.; VIDYARTHI, SURAKSHA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019869/0138 →