Method and an apparatus to store data patterns
First Claim
Patent Images
1. A method, comprising:
- receiving a first data stream from one or more clients, wherein the first data stream comprises one or more data patterns referenced by one or more pointers stored in one or more storage devices;
receiving a second data stream from the one or more clients;
checking if a copy of a particular data pattern of the second data stream is already stored in a pattern repository;
in response to the copy of the particular data pattern already stored in the pattern repository, storing a new pointer in the one or more storage devices to reference the copy of the particular data pattern already stored in the pattern repository based on an access time of the copy of the particular data pattern in the pattern repository being less than a predetermined access time;
in response to the copy of the particular data pattern already stored in the pattern repository, storing a new copy of the particular data pattern in the pattern repository and storing the new pointer in the one or more storage devices to reference the new copy of the particular data pattern based on the access time of the copy of the particular data pattern in the pattern repository being greater than the predetermined access time; and
in response to the copy of the particular data pattern not already stored in the pattern repository, storing the new copy of the particular data pattern in the pattern repository and storing the new pointer in the one or more storage devices to reference the new copy of the particular data pattern.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and an apparatus to store data patterns are presented. In one embodiment, the method includes searching a pattern repository to find prior copies of a pattern and to reference one of the prior copies, or insert a new copy, based on the access time of the prior copy and the effect on the sequential stream performance.
-
Citations
17 Claims
-
1. A method, comprising:
-
receiving a first data stream from one or more clients, wherein the first data stream comprises one or more data patterns referenced by one or more pointers stored in one or more storage devices; receiving a second data stream from the one or more clients; checking if a copy of a particular data pattern of the second data stream is already stored in a pattern repository; in response to the copy of the particular data pattern already stored in the pattern repository, storing a new pointer in the one or more storage devices to reference the copy of the particular data pattern already stored in the pattern repository based on an access time of the copy of the particular data pattern in the pattern repository being less than a predetermined access time; in response to the copy of the particular data pattern already stored in the pattern repository, storing a new copy of the particular data pattern in the pattern repository and storing the new pointer in the one or more storage devices to reference the new copy of the particular data pattern based on the access time of the copy of the particular data pattern in the pattern repository being greater than the predetermined access time; and in response to the copy of the particular data pattern not already stored in the pattern repository, storing the new copy of the particular data pattern in the pattern repository and storing the new pointer in the one or more storage devices to reference the new copy of the particular data pattern. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
one or more storage devices; a pattern repository; a processing logic configured to receive a first data stream from one or more clients, wherein the first data stream comprises one or more data patterns referenced by one or more pointers stored in one or more storage devices; the processing logic further configured to receive a second data stream from one or more clients; the processing logic further configured to check if a copy of the particular data pattern of the second data stream is already stored in a pattern repository; the processing logic further configured to store, in response to the copy of the particular data pattern already stored in the pattern repository, a new pointer in the one or more storage devices to reference the copy of the particular data pattern already stored in the pattern repository based on an access time of the copy of the particular data pattern in the pattern repository being less than a predetermined access time; the processing logic further configured to store, in response to the copy of the particular data pattern already stored in the pattern repository, a new copy of the particular data pattern in the pattern repository and store the new pointer in the one or more storage devices to reference the new copy of the particular data pattern based on the access time of the copy of the particular data pattern in the pattern repository being greater than the predetermined access time; and the processing logic further configured to store, in response to the copy of the particular data pattern not already stored in the pattern repository, the new copy of the particular data pattern in the pattern repository and store the new pointer in the one or more storage devices to reference the new copy of the particular data pattern. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer readable storage medium storage containing executable program instructions executed by a processor, comprising:
-
program instructions that receive a first data stream from one or more clients, wherein the first data stream comprises one or more data patterns referenced by one or more pointers stored in one or more storage devices; program instructions that receive a second data stream from the one or more clients; program instructions that check if a copy of a particular data pattern of the second data stream is already stored in a pattern repository; program instructions that store, in response to the copy of the particular data pattern already stored in the pattern repository, a new pointer in the one or more storage devices to reference the copy of the particular data pattern already stored in the pattern repository based on an access time of the copy of the particular data pattern in the pattern repository being less than a predetermined access time; program instructions that store, in response to the copy of the particular data pattern already stored in the pattern repository, a new copy of the particular data pattern in the pattern repository and store the new pointer in the one or more storage devices to reference the new copy of the particular data pattern based on the access time of the copy of the particular data pattern in the pattern repository being greater than a predetermined access time; and program instructions that store the new copy of the particular data pattern in the pattern repository and store the new pointer in the one or more storage devices to reference the new copy of the particular data pattern, in response to the copy of the particular data pattern not already stored in the pattern repository.
-
Specification