IP Library Granted Patent US 8,892,783
Granted Patent B2
US 8,892,783 · App. 12/818,306 · Granted Nov 18, 2014

Systems and methods for initialization and link management of NICS in a multi-core environment

Inventor: Ramanjaneyulu Y Talla (Karnataka, IN)
Assignee: Citrix Systems, Inc.
G06F9/52
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,892,783
App. No.
12/818,306
Granted
Nov 18, 2014
Kind
B2
Abstract

The present application is directed towards systems and methods for coordination and management of a shared resource in a multi-core system. In a multi-core system, multiple cores may be utilizing a shared resource. However, internal resources common to the shared resource may need to be initialized by only one core, and independent and uncoordinated initialization by multiple cores may cause errors. The present invention provides systems and methods for coordinating such initialization and use through a handshaking protocol.

Claims (29)

1. A method for initializing a resource shared by a plurality of cores in a multi-core device, the method comprising:

(a) communicating, by an interface master executing on a multi-core device, a first message to one or more interface slaves, each of the one or more interface slaves executing on a corresponding core of the multi-core device;

(b) receiving, by the interface master, a second message from each of the one or more interface slaves indicating that the one or more interface slaves completed initialization of a local resource of the corresponding core;

(c) initializing, by the interface master responsive to receiving the second message from each of the one or more interface slaves, a resource shared by each core of the multi-core device; and

(d) communicating, by the interface master, a third message to the one or more interface slaves indicating that the shared resource is initialized.

2. The method of claim 1 , wherein step (a) further comprises broadcasting, by the interface master, the first message as an inter-core message.

3. The method of claim 1 , wherein step (a) further comprises communicating, by the interface master, the first message to indicate that a shared resource is being initialized.

4. The method of claim 1 , wherein step (a) further comprises communicating, by the interface master, the first message to indicate that a shared resource is enabled.

5. The method of claim 1 , wherein step (a) further comprises communicating, by the interface master, the first message to indicate that a shared resource has a connected link.

6. The method of claim 1 , wherein step (a) further comprises initializing, by the interface master, the first message to indicate that a shared resource is enabled.

7. The method of claim 1 , wherein step (c) further comprises initializing, by the interface master responsive to receiving the second message from each of the one or more interface slaves, the resource of a network interface shared by each core of the multi-core device.

8. The method of claim 1 , further comprising communicating, by the interface master, the third message as an inter-core message.

9. The method of claim 1 , further comprising determining, by the one or more interface slaves, that the shared resource is available for use responsive to the third message.

10. A system for initializing a resource shared by a plurality of cores in a multi-core device, the system comprising:

a multi-core device comprising a plurality of cores;

one or more interface slaves executed by a corresponding one or more cores of the plurality of cores; and

an interface master executed by a core of the plurality of cores, the interface master configured for:

communicating a first message to the one or more interface slaves,

receiving a second message from each of the one or more interface slaves indicating that the one or more interface slaves completed initialization of a local resource of the corresponding core,

initializing, responsive to receiving the second message from each of the one or more interface slaves, a resource shared by each core of the multi-core device, and

communicating a third message to the one or more interface slaves indicating that the shared resource is initialized.

11. The system of claim 10 , wherein the interface master is further configured for broadcasting the first message as an inter-core message.

12. The system of claim 10 , wherein the interface master is further configured for communicating the first message to indicate that a shared resource is being initialized.

13. The system of claim 10 , wherein the interface master is further configured for communicating the first message to indicate that a shared resource is enabled.

14. The system of claim 10 , wherein the interface master is further configured for communicating the first message to indicate that a shared resource has a connected link.

15. The system of claim 10 , wherein the interface master is further configured for initializing the first message to indicate that a shared resource is enabled.

16. The system of claim 10 , wherein the interface master is further configured for initializing, responsive to receiving the second message from each of the one or more interface slaves, the resource of a network interface shared by each core of the multi-core device.

17. The system of claim 10 , wherein the interface master is further configured for communicating the third message as an inter-core message.

18. The system of claim 10 , wherein the one or more interface slaves are configured for determining that the shared resource is available for use responsive to the third message.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2010
From: TALLA, RAMANJANEYULU Y
To: CITRIX SYSTEMS, INC.
Reel/Frame 024574/0461 →
Continuity (2)
Provisional Application 61219254 · Jun 22, 2009
Related Publication 20100325391A1 · Dec 23, 2010