IP Library Patent Application 12723858
Patent Application
App. No. 12/723,858

METHOD AND APPARATUS FOR DETECTING ACTIVE AND ORPHAN SESSION-BASED CONNECTIONS

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 None
App. No.
12/723,858
Abstract

A method and apparatus for determining whether a session-based circuit or connection between a first computing device, such as a server device, and a second computing device, such as a client device, is an active session that should remain open or an orphan session that is terminated. The method includes marking the value of a TCP/IP ACK counter, sending a NetBios KeepAlive packet from the first computing device to the second computing device. If, after a first duration of time, the value of the TCP/IP ACK counter has not changed, the connection is treated as an orphan session and terminated. If, during the first duration of time, the value of the TCP/IP ACK counter has changed due to the receipt of a TCP/IP ACK response by the first computing device from the second computing device, the connection is treated as an active session and remains open.

Claims (35)

1 . A method for determining the status of a session connection between a first computing device and a second computing device, wherein the session connection has associated therewith a communication protocol that includes the generation of a NetBios KeepAlive packet and a TCP/IP ACK response to the NetBios KeepAlive packet, the method comprising:

marking the value of a TCP/IP ACK counter within the first computing device;

sending a NetBios KeepAlive packet from the first computing device to the second computing device;

if, after a first duration of time, the value of the TCP/IP ACK counter has not changed, terminating the session connection between the first computing device and the second computing device; and

if, during the first duration of time, the value of the TCP/IP ACK counter changes, keeping the session connection between the first computing device and the second computing device open and active.

2 . The method as recited in claim 1 , wherein the value of the TCP/IP ACK counter changes when the first computing device receives from the second computing device the TCP/IP ACK response to the NetBios KeepAlive packet.

3 . The method as recited in claim 1 , wherein the TCP/IP ACK response to the NetBios KeepAlive packet includes an updated TCP/IP ACK counter value, and wherein the TCP/IP ACK response to the NetBios KeepAlive packet updates the value of the TCP/IP ACK counter when the first computing device receives from the second computing device the TCP/IP ACK response to the NetBios KeepAlive packet.

4 . The method as recited in claim 1 , wherein the communication protocol includes a TCP/IP layer, and wherein the TCP/IP ACK response is sent by the second computing device and received by the first computing device via the TCP/IP layer.

5 . The method as recited in claim 1 , wherein the communication protocol includes an application layer and a TCP/IP layer, and wherein sending the NetBios KeepAlive packet further comprises sending the NetBios KeepAlive packet by the first computing device to the second computing device via the application layer.

6 . The method as recited in claim 1 , wherein the first duration of time is determined by a time-out mechanism.

7 . The method as recited in claim 6 , wherein the communication protocol includes an application layer and a TCP/IP layer, and wherein the time-out mechanism is implemented via the application layer

8 . The method as recited in claim 1 , wherein marking the value of the TCP/IP ACK counter includes setting a CURRENTACK variable equal to the current value of the TCP/IP ACK counter, and wherein the method further comprises determining if the value of the TCP/IP ACK counter has changed by comparing the value of the CURRENTACK variable to the value of the TCP/IP ACK counter.

9 . The method as recited in claim 1 , wherein the first computing device is a server device, wherein the second computing device is a client device, and wherein the session connection is a client/server session.

10 . A computing device, comprising:

an operating system; and

a client/server session detection module coupled to the operating system, wherein the client/server session detection module is configured to

mark the value of a TCP/IP ACK counter,

send a NetBios KeepAlive packet to a client device coupled to the computing device via a client/server session-based connection,

if, after a first duration of time, the value of the TCP/IP ACK counter has not changed, terminate the client/server session-based connection between the computing device and the client device, and

if, during the first duration of time, the value of the TCP/IP ACK counter changes, keep the client/server session-based connection between the computing device and the client device open and active.

11 . The device as recited in claim 10 , wherein the value of the TCP/IP ACK counter changes when the first computing device receives from the second computing device a TCP/IP ACK response to the NetBios KeepAlive packet.

12 . The device as recited in claim 11 , wherein the TCP/IP ACK response to the NetBios KeepAlive packet includes an updated TCP/IP ACK counter value, and wherein the TCP/IP ACK response to the NetBios KeepAlive packet updates the value of the TCP/IP ACK counter when the first computing device receives from the second computing device the TCP/IP ACK response to the NetBios KeepAlive packet.

13 . The device as recited in claim 10 , wherein the client/server session-based connection has associated therewith a communication protocol that includes the generation of a NetBios KeepAlive packet and a TCP/IP ACK response to the receipt of the NetBios KeepAlive packet.

14 . The device as recited in claim 10 , wherein the client/server session-based connection has associated therewith a communication protocol that includes an application layer and a TCP/IP layer, and wherein the computing device is configured to receive a TCP/IP ACK response from the client device via the TCP/IP layer.

15 . The device as recited in claim 10 , wherein the client/server session-based connection has associated therewith a communication protocol that includes an application layer and a TCP/IP layer, and wherein the computing device is configured to send the NetBios KeepAlive packet to the client device via the application layer.

16 . The device as recited in claim 10 , wherein the client/server session detection module is configured to determine the first duration of time using a time-out mechanism.

17 . The device as recited in claim 10 , wherein the client/server session detection module is configured to mark the value of the TCP/IP ACK counter by setting a CURRENTACK variable equal to the current value of the TCP/IP ACK counter, and wherein the client/server session detection module is configured to determine if the value of the TCP/IP ACK counter has changed by comparing the value of the CURRENTACK variable to the value of the TCP/IP ACK counter.

18 . The device as recited in claim 10 , wherein at least a portion of the client/server session detection module resides in the operating system.

19 . The device as recited in claim 10 , wherein the computing device is a server connected to a client device within a client/server session.

20 . The device as recited in claim 10 , wherein the computing device is a client device connected to a server device within a client/server session.

21 . A computer readable medium having instructions stored thereon which, when executed by a processor, carry out a method for determining the status of a session connection between a first computing device and a second computing device, the instructions comprising:

instructions for marking the value of a TCP/IP ACK counter;

instructions for sending a NetBios KeepAlive packet from the first computing device to the second computing device;

instructions for terminating the session connection between the first computing device and the second computing device if, after a first duration of time, the value of the TCP/IP ACK counter has not changed; and

instructions for keeping the session connection between the first computing device and the second computing device open and active if, during the first duration of time, the value of the TCP/IP ACK counter changes.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2010
From: RUSS, CRAIG F
To: UNISYS CORPORATION
Reel/Frame 024520/0715 →
LIEN Recorded May 7, 2010
From: UNISYS CORPORATION
To: DEUTSCHE BANK NATIONAL TRUST COMPANY
Reel/Frame 024351/0405 →