IP Library Granted Patent US 7,734,681
Granted Patent B2
US 7,734,681 · App. 10/223,976 · Granted Jun 8, 2010

Inter-process messaging using multiple client-server pairs

Assignee: Symantec Operating Corporation
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,734,681
App. No.
10/223,976
Filed
Aug 20, 2002
Granted
Jun 8, 2010
Kind
B2
Art Unit
2451
USPC
709/203
Abstract

A plurality of virtual circuits, each including at least two network nodes, may be established over a single network connection for inter-process messaging. The network connection may be opened asynchronously via a non-blocking open. A virtual circuit including three or more nodes may be implemented in a star formation or a relay formation. Messages may be sent as unicast or broadcast messages. An additional virtual circuit may be opened for the purpose of transmitting status information regarding the network connection between the networked computer systems.

Claims (52)

1. A method for providing virtual circuits for inter-process messaging, wherein the method comprises:

opening a network connection between a first computer system and a second computer system by opening a first socket on the first computer system and a second socket on the second computer system, wherein the first and second sockets comprise connections to a network protocol;

opening a first virtual circuit over the network connection between a first process and a second process, wherein the first process comprises a first application having write access for the first socket, and wherein the second process comprises a second application having read access for the second socket;

opening a second virtual circuit over the network connection between a third process and a fourth process, wherein the third process comprises a third application having write access for the first socket, and wherein the fourth process comprises a fourth application having read access for the second socket;

sending a first message over the first virtual circuit from the first process to the second process;

sending a second message over the second virtual circuit from the third process to the fourth process.

2. The method for providing virtual circuits for inter-process messaging as recited in claim 1 , further comprising:

extending the first virtual circuit to include a fifth process on a third computer system;

sending a third message over the first virtual circuit to the fifth process on the third computer system.

3. The method for providing virtual circuits for inter-process messaging as recited in claim 2 , wherein the first virtual circuit is implemented in a star formation.

4. The method for providing virtual circuits for inter-process messaging as recited in claim 2 , wherein the first virtual circuit is implemented in a relay formation.

5. The method for providing virtual circuits for inter-process messaging as recited in claim 2 , further comprising sending the third message as a unicast message.

6. The method for providing virtual circuits for inter-process messaging as recited in claim 2 , further comprising sending the third message as a broadcast message.

7. The method for providing virtual circuits for inter-process messaging as recited in claim 1 , wherein the network connection is opened asynchronously.

8. The method for providing virtual circuits for inter-process messaging as recited in claim 1 , further comprising calculating a difference between a clock on the first computer system and a clock on the second computer system for clock synchronization.

9. The method for providing virtual circuits for inter-process messaging as recited in claim 1 , further comprising opening a third virtual circuit for transmitting status information regarding the network connection between the first computer system and the second computer system.

10. The method for providing virtual circuits for inter-process messaging as recited in claim 9 , wherein the status information comprises a current clock on the first computer system and a current clock on the second computer system.

11. The method for providing virtual circuits for inter-process messaging as recited in claim 9 , wherein the status information comprises a status of the network connection.

12. A computer system comprising:

one or more microprocessors;

a memory coupled to the one or more microprocessors, the memory including program instructions executable to implement a method of:

opening a network connection between a first computer system and a second computer system by opening a first socket on the first computer system and a second socket on the second computer system, wherein the first and second sockets comprise connections to a network protocol;

opening a first virtual circuit over the network connection between a first process and a second process, wherein the first process comprises a first application having write access for the first socket, and wherein the second process comprises a second application having read access for the second socket;

opening a second virtual circuit over the network connection between a third process and a fourth process, wherein the third process comprises a third application having write access for the first socket, and wherein the fourth process comprises a fourth application having read access for the second socket;

sending a first message over the first virtual circuit from the first process to the second process;

sending a second message over the second virtual circuit from the third process to the fourth process.

13. The computer system as recited in claim 12 , wherein the method further comprises:

extending the first virtual circuit to include a fifth process on a third computer system;

sending a third message over the first virtual circuit to the fifth process on the third computer system.

14. The computer system as recited in claim 12 , wherein the network connection is opened asynchronously.

15. The computer system as recited in claim 12 , wherein the method further comprises calculating a difference between a clock on the first computer system and a clock on the second computer system for clock synchronization.

16. The computer system as recited in claim 12 , wherein the method further comprises opening a third virtual circuit for transmitting status information regarding the network connection between the first computer system and the second computer system.

17. A computer readable storage medium including program instructions executable to implement a method of:

opening a network connection between a first computer system and a second computer system by opening a first socket on the first computer system and a second socket on the second computer system, wherein the first and second sockets comprise connections to a network protocol;

opening a first virtual circuit over the network connection between a first process and a second process, wherein the first process comprises a first application having write access for the first socket, and wherein the second process comprises a second application having read access for the second socket;

opening a second virtual circuit over the network connection between a third process and a fourth process, wherein the third process comprises a third application having write access for the first socket, and wherein the fourth process comprises a fourth application having read access for the second socket;

sending a first message over the first virtual circuit from the first process to the second process;

sending a second message over the second virtual circuit from the third process to the fourth process.

18. The computer readable storage medium as recited in claim 17 wherein the method further comprises:

extending the first virtual circuit to include a fifth process on a third computer system;

sending a third message over the first virtual circuit to the fifth process on the third computer system.

19. The computer readable storage medium as recited in claim 17 , wherein the network connection is opened asynchronously.

20. The computer readable storage medium as recited in claim 17 , wherein the method further comprises calculating a difference between a clock on the first computer system and a clock on the second computer system for clock synchronization.

21. The computer readable storage medium as recited in claim 17 , wherein the method further comprises opening a third virtual circuit for transmitting status information regarding the network connection between the first computer system and the second computer system.

22. The computer readable storage medium as recited in claim 17 , wherein the status information comprises a current clock on the first computer system and a current clock on the second computer system.

23. The computer readable storage medium as recited in claim 22 , wherein the status information comprises a status of the network connection.

24. A system for providing virtual circuits for inter-process messaging, wherein the system comprises:

means for opening a network connection between a first computer system and a second computer system by opening a first socket on the first computer system and a second socket on the second computer system, wherein the first and second sockets comprise connections to a network protocol;

means for opening a first virtual circuit over the network connection between a first process and a second process, wherein the first process comprises a first application having write access for the first socket, and wherein the second process comprises a second application having read access for the second socket;

means for opening a second virtual circuit over the network connection between a third process and a fourth process, wherein the third process comprises a third application having write access for the first socket, and wherein the fourth process comprises a fourth application having read access for the second socket;

means for sending a first message over the first virtual circuit from the first process to the second process;

means for sending a second message over the second virtual circuit from the third process to the fourth process.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2002
From: XU, MING; LE, PHUONG THAO TRUNG
To: VERITAS OPERATING CORPORATION
Reel/Frame 013226/0192 →
Continuity (1)
Related Publication 20040039774A1 · Feb 26, 2004