IP Library Granted Patent US 8,787,391
Granted Patent B2
US 8,787,391 · App. 12/603,678 · Granted Jul 22, 2014

Techniques for using the network as a memory device

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,787,391
App. No.
12/603,678
Granted
Jul 22, 2014
Kind
B2
Abstract

Techniques for using the network as a memory device are provided. Network packets continue to circulate on a network using the network communication channel as a memory device. Nodes of the network are configured to selectively copy, use, verify, modify, create, and purge the network packets using file management semantics.

Claims (39)

1. A method implemented and residing within a non-transitory computer-readable storage medium that is executed by one or more processors of a network to perform the method, comprising:

configuring network nodes of the network to detect network packets of a predefined type and to forward those network packets among the network nodes without removing the network packets from the network, the network packets are identified as memory objects of the network,

each network node retrieves particular memory objects of the predefined type and reinserts those particular memory objects, without storing those particular memory objects on that node, back into the network for acquisition and inspection by other ones of the network nodes when that network node determines that the particular memory objects are not needed by particular applications residing on that network node; and

using, by each of the network nodes, the network packets that are cyclically traversing the network as a memory device shared among the network nodes, information housed in the memory objects resides in network transmission lines and bandwidth of the network without being written to memory or storage of any of the network nodes operating on the network until consumed or needed by applications interfaced to the network nodes, wherein configuring further includes configuring the network nodes to take a copy of particular ones of the network packets that applications in communication with the network nodes are looking for or requesting, and once the copy is taken the particular ones of the network packets are re-injected into the network by the network nodes.

2. The method of claim 1 , wherein configuring further includes configuring the network nodes to use two or more different communication paths when forwarding the network packets throughout the network.

3. The method of claim 1 , wherein configuring further includes identifying a special network node to continually inspect each of the network packets and verify a digital signature for each of the network packets.

4. The method of claim 3 , wherein identifying further includes configuring the special network node to remove each network packet from the network when that network packet's digital signature is invalid.

5. The method of claim 1 , wherein configuring further includes configuring the network nodes to compare an expiration date and time stamp for each of the network packets against a current date and time for the network and then to purge particular network packets from the network when the current date and time is equal to or is past the expiration date and time stamp.

6. The method of claim 1 , wherein configuring further includes configuring the network nodes to flush particular network packets to the storage or the memory of the network nodes when evaluation of a policy indicates that the particular network packets are to be flushed to the storage or the memory.

7. The method of claim 1 , wherein configuring further includes at least one of:

configuring the network nodes to use a predefined channel of the network when forwarding the network packets throughout the network; and

configuring a logging node to log the network packets satisfying a logging filter applied by the logging node for subsequent evaluation.

8. A method implemented and residing within a non-transitory computer-readable storage medium that is executed by one or more processors of a node on a network to perform the method, comprising:

detecting one or more network packets on the network as being associated with a network memory object that is cyclically traversing the network using the network as a memory device where the network memory object and information housed in the network memory object reside on network transmission lines of the network and does not reside on any specific network node operating on the network until an application interfaced to the specific network node consumes or needs the memory object;

copying the memory object off the network as a copied memory object when the network memory object includes a predefined tag indicating that the application needs the memory object, otherwise the network memory object is not copied and is reinserted back into the network for delivery and inspection by other nodes of the network;

passing the copied memory object to a service that is configured to process the copied memory object when the application needs the memory object; and

injecting the network memory object back into the network over the network transmission lines for use by other nodes of the network when the application needs the memory object.

9. The method of claim 8 , wherein detecting further includes buffering and ordering the one or more network packets to assemble the network memory object from the network.

10. The method of claim 8 , wherein copying further includes determining at the node that the node is a first node to receive the network memory object on the network and in response thereto sending an acknowledgement to a sending node that injected the network memory object thereby permitting the sending node to remove the network memory object from memory of the sending node.

11. The method of claim 8 , wherein copying further includes determining that a lock set on the network memory object has exceeded a predefined elapsed period of time and removing the lock from the network memory object and the copied memory object and removing the lock before the network memory object is injected back into the network.

12. The method of claim 8 , wherein copying further includes at least one of:

maintaining metadata file semantics, flags, and keys that existed with the network memory object in the copied memory object before passing the copied memory object to the service; and

injecting a new memory object into the network having new metadata created and associated with that new memory object.

13. The method of claim 8 , wherein passing further includes:

receiving a lock request from the service; and

setting a lock flag on the network memory object before injecting the network memory object back into the network.

14. The method of claim 13 further comprising:

receiving a modified version of the copied memory object back from the service after the network memory object had already been injected back into the network; and

performing one of:

waiting for the network memory object to be detected on the network at the node a second time and then replacing the network memory object with the modified version of the copied memory object with the lock removed back into the network; and

injecting the modified version of the copied memory object with the lock removed back into the network and then remove the network memory object when the network memory object is detected on the network the second time.

15. The method of claim 8 further comprising:

receiving a second memory object in an encrypted format from the service;

receiving a public key from the service, that public key has to be used in combination with one or more private keys associated with one or more second nodes of the network to decrypt the second memory object;

injecting the second memory object into the network and delaying the injection of the public key into the network until a policy is satisfied; and

removing the public key from memory and storage of the node once the public key is injected into the network.

16. The system of claim 14 , wherein the memory objects maintain metadata while on the network, the metadata used for security management, content type identification, and file management.

17. The system of claim 14 , wherein each of the first and the second network memory device services are further configured to copy select ones of the memory objects off the network and provide those select memory objects to one or more additional services that process the select memory objects.

18. The system of claim 14 , wherein the first and second nodes are network routers or network proxy devices.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2009
From: CARTER, STEPHEN R.
To: NOVELL, INC.
Reel/Frame 023511/0826 →