IP Library Granted Patent US 6,931,491
Granted Patent B2
US 6,931,491 · App. 10/341,211 · Granted Aug 16, 2005

Hardware-assisted tuple space

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,931,491
App. No.
10/341,211
Granted
Aug 16, 2005
Kind
B2
Abstract

A hardware-assisted tuple space, comprising a tuple memory for storing tuples of key-value pairs of data; an anti-tuple memory for storing anti-tuples of key-value pairs of data; tuple attribute array memory for storing selected attributes of respective ones of the tuples and anti-tuples; and an input/output and memory control interface for (i) exchanging tuples and anti-tuples between an external process and the tuple and anti-tuple memories, (ii) performing preliminary searches of the tuple attribute array memory to identify possible matching tuples and anti-tuples, and (iii) comparing the key-value pairs of the possible matching tuples and anti-tuples to identify actual matching tuples and anti-tuples.

Claims (23)

1. A hardware-assisted tuple space, comprising:

a tuple memory for storing tuples of key-value pairs of data;

an anti-tuple memory for storing anti-tuples of key-value pairs of data;

tuple attribute array memory for storing selected attributes of respective ones of said tuples and anti-tuples; and

an input/output and memory control interface for (i) exchanging tuples and anti-tuples between an external process and said tuple and anti-tuple memories, (ii) performing preliminary searches of said tuple attribute array memory to identify possible matching tuples and anti-tuples, and (iii) comparing said key-value pairs of said possible matching tuples and anti-tuples to identify actual matching tuples and anti-tuples.

2. The hardware-assisted tuple space of claim 1 , wherein said tuple memory and said anti-tuple memory are implemented using RAM.

3. The hardware-assisted tuple space of claim 2 , wherein at least one of said selected attributes indicates the number of said key-values pairs of each of said tuples and anti-tuples.

4. The hardware-assisted tuple space of claim 2 , wherein at least one of said selected attributes is a flag which indicates whether said respective ones of said tuples and anti-tuples are activated for inclusion in said preliminary searches or deactivated for exclusion from said preliminary searches.

5. The hardware-assisted tuple space of claim 2 , wherein at least one of said selected attributes indicates the starting addresses in said tuple memory and anti-tuple memory for each of said tuples and anti-tuples, respectively.

6. The hardware-assisted tuple space of claim 2 , wherein at least one of said selected attributes provides the length of each of said tuples and anti-tuple in words.

7. The hardware-assisted tuple space of claim 2 , wherein at least one of said selected attributes indicates an absolute system time at which each of said tuples and anti-tuple is to be cancelled.

8. The hardware-assisted tuple space of claim 2 , wherein at least one of said selected attributes is a flag which indicates whether said respective ones of said tuples and anti-tuples is to be cancelled and removed from memory.

9. The hardware-assisted tuple space of claim 1 , wherein said tuple attribute array memory comprises a first array memory for storing attributes of said tuples in said tuple memory and a second array memory for storing attributes of said anti-tuples in said anti-tuple memory.

10. A method of operating a tuple space implemented in memory, comprising:

storing tuples of key-value pairs of data;

storing anti-tuples of key-value pairs of data;

storing selected attributes of respective ones of said tuples and anti-tuples;

performing preliminary searches of said selected attributes to identify possible matching tuples and anti-tuples; and

comparing said key-value pairs of said possible matching tuples and anti-tuples to identify actual matching tuples and anti-tuples.

11. The method of claim 10 , wherein at least one of said selected attributes indicates the number of said key-values pairs of each of said tuples and anti-tuples, and wherein said preliminary searches include comparing said number of said key-values pairs of each of said tuples and anti-tuples to identify said possible matching tuples and anti-tuples.

12. The method of claim 10 , wherein at least one of said selected attributes indicates the starting addresses in said memory for comparing said key-value pairs of said possible matching tuples and anti-tuples, respectively.

13. The method of claim 10 , wherein at least one of said selected attributes provides the length of each of said tuples and anti-tuple in words, and wherein said preliminary searches include comparing said length of each of said tuples and anti-tuples to identify said possible matching tuples and anti-tuples.

14. The method of claim 10 , wherein at least one of said selected attributes is a flag which indicates whether a respective one of said tuples or anti-tuples is to be cancelled and removed from said memory and at least one further selected attribute indicates a starting address in said memory for said respective tuple or anti-tuple, and wherein said method further comprises searching said attributes for said flag and in response to locating said flag moving successive ones of said tuples and anti-tuples upward in said memory beginning immediately below said starting address, thereby removing said respective one of said tuples or anti-tuples.

Assignments (29)
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: ANKURA TRUST COMPANY, LLC
To: MITEL (DELAWARE), INC.; MITEL COMMUNICATIONS, INC.; MITEL CLOUD SERVICES, INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071722/0721 →
SECURITY INTEREST Recorded Feb 14, 2023
From: RINGCENTRAL, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062973/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2022
From: MITEL CLOUD SERVICES, INC.
To: RINGCENTRAL, INC.
Reel/Frame 058900/0662 →
RELEASE OF SECURITY INTEREST Recorded Jan 19, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: MITEL CLOUD SERVICES, INC.
Reel/Frame 058698/0162 →
RELEASE OF SECURITY INTEREST Recorded Jan 19, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: MITEL CLOUD SERVICES, INC.
Reel/Frame 058698/0085 →
SECURITY INTEREST Recorded Dec 13, 2018
From: MITEL CLOUD SERVICES, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047772/0355 →
SECURITY INTEREST Recorded Dec 13, 2018
From: MITEL CLOUD SERVICES, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047772/0330 →
CHANGE OF NAME Recorded Dec 6, 2018
From: MLN ACQUISITIONCO ULC
To: MITEL NETWORKS ULC
Reel/Frame 047694/0607 →
MERGER AND CHANGE OF NAME Recorded Dec 6, 2018
From: MITEL NETWORKS CORPORATION; MLN ACQUISITIONCO ULC
To: MLN ACQUISITIONCO ULC
Reel/Frame 047734/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2018
From: MITEL NETWORKS ULC
To: MITEL CLOUD SERVICES, INC.
Reel/Frame 047694/0721 →
RELEASE OF SECURITY INTEREST Recorded Dec 3, 2018
From: CITIZENS BANK, N.A.
To: MITEL NETWORKS CORPORATION
Reel/Frame 048096/0785 →
RELEASE OF SECURITY INTEREST Recorded Mar 25, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT; BANK OF AMERICA, N.A., (ACTING THROUGH ITS CANADA BRANCH), AS CANADIAN COLLATERAL AGENT
To: MITEL US HOLDINGS, INC.; MITEL NETWORKS CORPORATION; MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL COMMUNICATIONS, INC.; MITEL BUSINESS SYSTEMS, INC.
Reel/Frame 042244/0461 →
SECURITY INTEREST Recorded Mar 23, 2017
From: MITEL NETWORKS CORPORATION
To: CITIZENS BANK, N.A.
Reel/Frame 042107/0378 →
SECURITY INTEREST Recorded May 28, 2015
From: MITEL NETWORKS CORPORATION
To: BANK OF AMERICA, N.A.(ACTING THROUGH ITS CANADA BRANCH), AS CANADIAN COLLATERAL AGENT
Reel/Frame 035783/0540 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2015
From: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
To: MITEL US HOLDINGS, INC.; MITEL NETWORKS CORPORATION; MITEL COMMUNICATIONS INC. FKA AASTRA USA INC.
Reel/Frame 035562/0157 →
SECURITY AGREEMENT Recorded Feb 14, 2014
From: MITEL US HOLDINGS, INC.; MITEL NETWORKS CORPORATION; AASTRA USA INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 032264/0760 →
RELEASE OF SECURITY INTEREST Recorded Feb 10, 2014
From: BANK OF AMERICA, N.A.
To: MITEL NETWORKS CORPORATION; MITEL US HOLDINGS, INC.
Reel/Frame 032210/0245 →
RELEASE OF SECURITY INTEREST Recorded Feb 6, 2014
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: MITEL NETWORKS CORPORATION; MITEL US HOLDINGS, INC.
Reel/Frame 032167/0464 →
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2013
From: BANK OF NEW YORK MELLON, THE; MORGAN STANLEY & CO. INCORPORATED; MORGAN STANLEY SENIOR FUNDING, INC.
To: MITEL NETWORKS CORPORATION
Reel/Frame 030264/0470 →
SECURITY AGREEMENT Recorded Apr 8, 2013
From: MITEL NETWORKS CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 030186/0894 →
SECURITY INTEREST Recorded Apr 8, 2013
From: MITEL NETWORKS CORPORATION
To: WILMINGTON TRUST, N.A., AS SECOND COLLATERAL AGENT
Reel/Frame 030201/0743 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 2, 2013
From: WILMINGTON TRUST, NATIONAL ASSOCIATION FKA WILMINGTON TRUST FSB/MORGAN STANLEY & CO. INCORPORATED
To: MITEL NETWORKS CORPORATION
Reel/Frame 030165/0776 →
RELEASE & DISCHARGE OF SECURITY INTEREST Recorded Oct 21, 2008
From: HIGHBRIDGE INTERNATIONAL LLC/BNY TRUST COMPANY OF CANADA
To: MITEL NETWORKS CORPORATION
Reel/Frame 021794/0510 →
SECURITY AGREEMENT Recorded Sep 13, 2007
From: MITEL NETWORKS CORPORATION
To: MORGAN STANLEY & CO. INCORPORATED
Reel/Frame 019817/0847 →
SECURITY AGREEMENT Recorded Sep 13, 2007
From: MITEL NETWORKS CORPORATION
To: MORGAN STANLEY & CO. INCORPORATED
Reel/Frame 019817/0881 →
SECURITY AGREEMENT Recorded Jul 25, 2005
From: MITEL NETWORKS CORPORATION, A CORPORATION OF CANADA
To: BNY TRUST COMPANY OF CANADA, TRUST COMPANY OF CANADA
Reel/Frame 016891/0959 →
SECURITY AGREEMENT Recorded Jul 18, 2005
From: HIGHBRIDGE INTERNATIONAL LLC
To: MITEL NETWORKS CORPORATION
Reel/Frame 016345/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2005
From: MITEL KNOWLEDGE CORPORATION
To: MITEL NETWORKS CORPORATION
Reel/Frame 016164/0677 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2003
From: GRAY, THOMAS; WOOD, DEREK; RAE, CHARLES; PEREIRA, AUBERT
To: MITEL KNOWLEDGE CORPORATION
Reel/Frame 013668/0167 →