IP Library Granted Patent US 8,456,994
Granted Patent B2
US 8,456,994 · App. 11/524,999 · Granted Jun 4, 2013

Transmit request management in a distributed shared storage system

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,456,994
App. No.
11/524,999
Granted
Jun 4, 2013
Kind
B2
Abstract

If a distributed shared storage system is used to provide high bandwidth real-time media data that is shared by a large number of users, several complexities arise. In such an application, the high bandwidth real-time media data is distributed among multiple storage devices or servers. Multiple client applications or machines may access the data. To access the data, clients and servers communicate among themselves using short control messages that contain queries and responses, and using longer data messages that contain media data. To reduce this variability in latency, short control messages are posted for transmission immediately, whereas long messages are posted for transmission in a controlled fashion. For example, the number of long messages that may be outstanding at any one time may be limited. Thus, a long message is not posted to the transmit queue if the maximum number of long messages has been reached. A long message may be posted when transmission of an outstanding long message has been completed. In this way, the latency for any short message is limited by the amount of time it takes to send a long message and the number of long messages that are permitted to be outstanding at any one time.

Claims (38)

1. A system for transmitting messages over a network between a client computer and one or more server computers that store media data, such transmission using a protocol involving short control messages for communicating queries and responses and long data messages including media data, comprising:

a queue in a network interface of the client computer for storing transmit requests from applications on the client computer for short control messages and long data messages prior to transmission over the network of the messages from the client computer to one of the server computers; and

a queue manager in the client computer configured to:

add short control messages to the end of the queue when the application submits a short control message;

if a number of long data messages in the queue does not exceed a maximum number of long data messages, post a long data message to the end of the queue when the application submits the long data message; and

if the number of long data messages in the queue exceeds the maximum number of long data messages, hold a long data message when the application submits the long data message until transmission of a previously posted long data message in the queue is completed, and then post the long data message to the end of the queue.

2. A method of transmitting messages over a network between a client computer and one or more server computers that store media data, such transmission using a protocol involving short control messages for communicating queries and responses and long data messages including media data; comprising:

providing a queue in a network interface in the client computer for transmit requests from applications on the client computer for short control messages and transmit requests from applications on the client computer for long data messages prior to transmission over the network of the messages from the client computer to one of the server computers;

receiving transmit requests from applications on the client computer for short control messages and posting the transmit requests for short control messages to the end of the queue when received; and

receiving transmit requests from applications on the client computer for long data messages;

posting a received long data message transmit request to the end of the queue when received, if a maximum number of long data messages in the queue is not exceeded; and

if the maximum number of long data messages in the queue is exceeded, then holding the received long data message transmit request until transmission of a previously posted long data message in the queue is completed, and then posting the long data message to the end of the queue.

3. A system for transmitting messages over a network between a client computer and one or more server computers that store media data, such transmission using a protocol involving short control messages for communicating queries and responses and long data messages including media data, comprising:

one or more applications on the client computer that generate short control messages for communicating queries and responses to one or more of the server computers and long data messages for communicating media data to one or more of the server computers;

a queue, in a network interface of the client computer, configured to store transmit requests from applications on the client computer, for short control messages and for long data messages prior to transmission over the network of the messages; and

a queue manager, in the client computer, configured to:

add short control messages to the end of the queue when the application submits a short control message;

if a number of long data messages in the queue does not exceed a maximum number of long data messages, post a long data message to the end of the queue when the application submits the long data message: and

if the number of long data messages in the queue exceeds the maximum number of long data messages, hold a long data message when the application submits the long data message until transmission of a previously posted long data message in the queue is completed, and then post the long data message to the end of the queue.

4. A system for transmitting messages over a network between a client computer and one or more server computers that store media data, such transmission using a protocol involving short control messages for communicating queries and responses and long data messages including media data, comprising:

a queue in a network interface of at least one of the one or more server computers for storing transmit requests from applications on the one or more server computers for short control messages and long data messages prior to the server initiating transmission of the messages over the network from the at least one server computer to the client computer; and

a queue manager in the at least one of the one or more server computers configured to:

add short control messages to the end of the queue when the application submits a short control message; and

if a number of long data messages in the queue does not exceed a maximum number of long data messages, post a long data message to the end of the queue when the application submits the long data message; and

if the number of long data messages in the queue exceeds the maximum number of long data messages, hold a long data message when the application submits the long data message until transmission of a previously posted long data message in the queue is completed, and then post the long data message to the end of the queue.

5. A method of transmitting messages over a network between a client computer and one or more server computers that store media data, such transmission using a protocol involving short control messages for communicating queries and responses and long data messages including media data, comprising:

providing a queue in a network interface in at least one of the one or more server computers for transmit requests from, applications on the one or more server computers for short control messages and transmit requests from applications on the one or more server computers for long data messages prior to the server computer initiating transmission of the messages over the network from the at least one server computer to the client computer;

receiving transmit requests from applications on the at least one server computer for short control messages and posting the transmit requests for short control messages to the end of the queue when received; and

receiving transmit requests from applications on the at least one server computer for long data messages;

posting a received long data message transmit request to the end of the queue when received, if a maximum number of long data messages in the queue is not exceeded; and

if the maximum number of long data messages in the queue is exceeded, then holding the received long data message transmit request until transmission of a previously posted long data message in the queue is completed, and then posting the long data message to the end of the queue.

6. A system for transmitting messages ever a network between a client computer and one or more server computers that store media data, such transmission using a protocol involving short control messages for communicating queries and responses and long data messages including media data, comprising:

one or more applications on at least one of the server computers that generate short control messages for communicating queries and responses to the client computer and long data messages for communicating media data to the client computer;

a queue, in a network interface in the at least one of the server computers, configured to store transmit requests from applications on the server computer, for short control messages and for long data messages prior to the server computer initiating transmission of the messages over the network; and

a queue manager, in the at least one of the server computers, configured to:

add short control messages to the end of the queue when the application submits a short control message; and

if a number of long data messages in the queue does not exceed a maximum number of long data messages, post a long data message to the end of the queue when the application submits the long data message; and

if the number of long data messages in the queue exceeds the maximum number of long data messages hold a long data message when the application submits the long data message until transmission of a previously posted long data message in the queue is completed, and then post the long data message to the end of the queue.

Assignments (10)
PATENT SECURITY AGREEMENT Recorded Nov 8, 2023
From: AVID TECHNOLOGY, INC.
To: SIXTH STREET LENDING PARTNERS, AS ADMINISTRATIVE AGENT
Reel/Frame 065523/0194 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 054900/0716) Recorded Nov 8, 2023
From: JPMORGAN CHASE BANK, N.A.
To: AVID TECHNOLOGY, INC.
Reel/Frame 065523/0146 →
SECURITY INTEREST Recorded Jan 5, 2021
From: AVID TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054900/0716 →
RELEASE OF SECURITY INTEREST Recorded Jan 5, 2021
From: CERBERUS BUSINESS FINANCE, LLC
To: AVID TECHNOLOGY, INC.
Reel/Frame 055731/0019 →
RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Mar 1, 2016
From: KEYBANK NATIONAL ASSOCIATION
To: AVID TECHNOLOGY, INC.
Reel/Frame 037970/0201 →
ASSIGNMENT FOR SECURITY -- PATENTS Recorded Feb 26, 2016
From: AVID TECHNOLOGY, INC.
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 037939/0958 →
RELEASE OF SECURITY INTEREST Recorded Jun 30, 2015
From: WELLS FARGO CAPITAL FINANCE, LLC
To: AVID TECHNOLOGY INC.; AVID SYSTEMS, INC.
Reel/Frame 036037/0693 →
PATENT SECURITY AGREEMENT Recorded Jun 23, 2015
From: AVID TECHNOLOGY, INC.
To: KEYBANK NATIONAL ASSOCIATION, AS THE ADMINISTRATIVE AGENT
Reel/Frame 036008/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2012
From: KUNINSKY, MITCH
To: AVID TECHNOLOGY, INC.
Reel/Frame 028797/0619 →
SECURITY AGREEMENT Recorded Nov 9, 2010
From: AVID TECHNOLOGY, INC.; PINNACLE SYSTEMS, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 025675/0413 →