IP Library Granted Patent US 6,891,837
Granted Patent B1
US 6,891,837 · App. 09/684,593 · Granted May 10, 2005

Virtual endpoint

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 6,891,837
App. No.
09/684,593
Granted
May 10, 2005
Kind
B1
Abstract

A system or network may provide for communication between two or more applications. The communication is achieved by initiating communication between a first and second application. The communication is directed from the first application to a second virtual address of the second application. An actual address associated with the second application is determined. A first data channel is established between a first computer associated with the first application and a second computer associated with the second application over a control channel, to coordinate the communication over the first data channel. The communication is then directed to the actual address associated with the second application over the data channel. Further, the first data channel is taken down and a second data channel is established to maintain communication without the knowledge of the first and second applications.

Claims (108)

1. A method for providing communication between at least two applications, comprising:

initiating communication from a first application;

determining at least a destination address;

establishing a first data channel;

connecting the communication to a second application; and

determining if a first data channel is already established between the first application and the second application prior to determining at least the destination address, wherein the determining if the first data channel is already established includes verifying a status of the communication channel for the communication between the first application and the second application.

2. The method as claimed in claim 1 , wherein:

initiating communication includes directing the communication from the first application to a second virtual address of the second application.

3. The method as claimed in claim 2 , wherein:

initiating the communication includes directing the communication from a first virtual address of the first application.

4. The method as claimed in claim 2 , wherein:

determining at least a destination address includes determining a second actual address associated with the second application.

5. The method as claimed in claim 4 , wherein:

determining at least a destination address includes determining a first actual address associated with the first application.

6. The method as claimed in claim 4 , wherein:

connecting the communication to a second application includes directing the communication to the second actual address.

7. The method as claimed in claim 2 , wherein:

establishing the first data channel includes:

communicating between a first computer associated with the first application and a second computer associated with the second application; and

coordinating the communication over the first data channel.

8. The method as claimed in claim 7 , wherein:

communicating includes communicating over a control channel.

9. The method as claimed in claim 1 , further comprising

associating the first data channel with at least one, socket.

10. The method as claimed in claim 9 , wherein:

associating the first data channel with at least one socket includes:

associating the first data channel with a first socket associated with the first application; and

associating the first data channel with a second socket associated with the second application.

11. The method as claimed in claim 1 , further comprising

destructing the first data channel to halt communication between the first and second application.

12. The method as claimed in claim 11 , further comprising

reconstructing a second data channel to allow communication between the first and second applications.

13. The method as claimed in claim 12 , wherein

destructing the first data channel includes receiving an external signal to close the first data channel.

14. A method for providing communication between at least two applications, comprising:

initiating communication from a first application;

determining at least a destination address, the determining including:

generating a fault notification;

initiating a translation; and

returning the actual address for the destination address;

establishing a first data channel; and

connecting the communication to a second application.

15. A method for providing communication between at least two applications, comprising:

initiating communication from a first application;

determining at least a destination address;

establishing a first data channel;

connecting the communication to a second application;

updating a first status of the first data channel associated with the first application; and

updating a second status of the first data channel associated with the second application.

16. A method for providing communication between at least two applications, comprising:

initiating communication from a first application;

determining at least a destination address;

establishing a first data channel;

connecting the communication to a second application;

destructing the first data channel to halt communication between the first and second application, wherein destructing the first data channel includes receiving an external signal to close the first data channel;

reconstructing a second data channel to allow communication between the first and second applications;

updating a status of the first data channel; and

removing an association between a socket and the first data channel.

17. The method as claimed in claim 16 , wherein: updating the status includes:

updating a first status associated with the first application; and

updating a second status associated with the second application.

18. The method as claimed in claim 16 , wherein:

removing an association includes:

removing a first association between a first socket associated with the first application and the first data channel; and

removing a second association between a second socket associated with the second application and the first data channel.

19. A method for providing communication between at least two applications, comprising:

initiating communication from a first application;

determining at least a destination address;

establishing a first data channel;

connecting the communication to a second application;

destructing the first data channel to halt communication between the first and second application, wherein destructing the first data channel includes receiving an external signal to close the first data channel;

reconstructing a second data channel to allow communication between the first and second applications; and

coordinating the destruction of the first data channel over a control channel.

20. A method for providing communication between at least two applications, comprising:

initiating communication from a first application;

determining at least a destination address;

establishing a first data channel;

connecting the communication to a second application;

determining if the first data channel remains active;

constructing a second data channel if the first data channel is not active; and

connecting the second data channel.

21. The method as claimed in claim 20 , wherein

the second data channel is different from the first data channel.

22. The method as claimed in claim 20 , wherein

the second data channel is the first data channel.

23. The method as claimed in claim 20 , further comprising

updating a status of the second data channel to an active state;

associating the second data channel with a first socket associated with the first application; and

associating the second data channel with a second socket associated with the second application.

24. A computer system providing a method for providing communication between at least two applications, comprising:

establishing communication between at least a first application and a second application over a first data channel;

taking down the first data channel such that the first and second applications are unaware that the data channel has been taken down; and

reconstructing a second data channel to provide communication between at least the first and second application; wherein:

establishing the communication includes:

utilizing at least a first virtual address for the first application and utilizing at least a second virtual address for the second application;

directing the communication at least from the first application to the second virtual address associated with the second application;

determining at least a second actual address associated with the second application; and

redirecting the communication to the second actual address.

25. The computer system as claimed in claim 24 , wherein:

taking down the first data channel includes:

coordinating the bringing down of the first data channel;

updating a status of the data channel; and

removing an association of at least a first socket associated with the first application and removing an association of at least a second socket with the second application.

26. The computer system as claimed in claim 24 , wherein:

reconstructing a second data channel includes:

determining an actual address for at least the second application;

coordinating the reconstruction of the second data channel;

associating the data channel with a least a third socket which is associated with the first application and associating the data channel with at least a fourth socket which is associated with the second application.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2015
From: SYMANTEC OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 036199/0642 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
AGREEMENT AND PLAN OF MERGER Recorded Apr 10, 2006
From: EJASENT, INC.
To: VERITAS OPERATING CORPORATION
Reel/Frame 017766/0744 →
SECURITY INTEREST Recorded Jan 22, 2002
From: EJASENT, INC.
To: GATX VENTURES, INC.; SILICON VALLEY BANK
Reel/Frame 012493/0729 →