Bedrock Computer Technologies, LLC v. Softlayer Technologies, Inc. et al
Filing
284
Response to CLAIM CONSTRUCTION BRIEF filed by AOL Inc, Amazon.com Inc., Google Inc., Match.Com LLC, MySpace Inc., Softlayer Technologies, Inc., Yahoo! Inc.. (Attachments: #1 Affidavit, #2 Exhibit 1, #3 Exhibit 2, #4 Exhibit 3, #5 Exhibit 4, #6 Exhibit 5-1, #7 Exhibit 5-2, #8 Exhibit 5-3, #9 Exhibit 5-4, #10 Exhibit 5-5, #11 Exhibit 5-6, #12 Exhibit 6)(Chaikovsky, Yar)
Bedrock Computer Technologies, LLC v. Softlayer Technologies, Inc. et al
Doc. 284 Att. 4
EXHIBIT 3
Dockets.Justia.com
111111
11111111
III
11111
11111
11111
11111
1111111111
11111
11111
liii
III
11111
liii
USD05
121495A
United States Patent
Nemes METHODS AND APPARATUS FOR INFORMATION STORAGE AND RETRIEVAL UTILIZING HASHING
TECHNIQUES
Inventor Assignee Richard
Patent
Number
of
5121495
Jun
1992
Date
Patent
Computer Science 1973 506549
and
Information
Processing
pp
Pas
Data cal N.Y Inc
Structures
with
Abstract
Data
Types
and
Stubbs
and
Webre
Section
Brooks/Cole
Nemes
Publishing
Brooklyn Research
mentations
Company 1985 pp 310336
and
7.4 Hashed
Imple Kruse
BeH
Communications
Data
Structures
Program Design
1984 Section 3.7
Livingston
N.J
AppI
Filed
No
430901 Oct 31
1989
PrenticeHal 112126
Inc
Hashing
pp
Primary ExaminerGareth
Assistant
Shaw
Kulik
ExaminerPaul
Agent
or
Related
Continuation of
U.S
5cr
Application
Data
Attorney
FinnJames ABSTRACT
Fak
No
151639
Feb
1988
aban method and
in uses
doned
apparatus information hashing of the
for
performing system
In
storage
is
and
mt
U.S
CL5 Cl 364/222.82
GO6F
15/411 395/600
GO6F
12/00
retrieval
an
the
storage
disclosed
which
364/222.81 364/252.3
expiring File
technique
order to
prevent used
contamination 364/281.1 364/282.1
storage
medium
collection
by automatically technique
is
364/DIG
Field of
records removes
all
garbage
expired data
Search
..
364/200
MS
Cited
File 900
MS
which of
records in the
storge
neighborhood
probe each
is
into
the
system
retrieval the
More
particu of of re
References
larly
probe an
for insertion to
or deletion chain
U.S
4121286
4.215402 10/
PATENT
1978 7/1980 5/1984 2/1985
DOCUMENTS
et et et al
record cords
364/900 364/200 364/200
occasion
for
search
entire
found and
expired the
records chain
expired
and
then
removing
collection in
Venton
Mitchell Bolton
them
closing
This
garbage
4447875 4502118 4716524 4775932
automatically the vicinity
removes of the
the
record contamination
Hagenmaier
Oxley Oxley
et et
Jr
et
al
364/200 364/200 364/200
probe
thereby automatically space up
in
decon
long term
it is
12/1987 10/1988
taminating
storage
Because
the present are
no
contamination
useful for large require
can
build bases
system used
data the
fast
which
OTHER PUBLICATIONS The
Art of Searching
heavily
and
which
Sorting Series
access
provided
by hashing
Computer Programming Knuth AddisonWesley
and
in
aaims
Drawing
Sheets
DEF00004032
U.S
Patent
June
1992
Sheet
of
5121495
FIG.1
FIG.2
20
22
DEF00004033
U.S
Patent
June
1992
Sheet
of
5121495
FIG
30
31
NO
.37
SAVE
OF IN CAN
LOCATION CELL RECORD
EMPTY WHICH
BE
INSERTED
36
RETURN SUCCESS
DEF00004034
U.S
Patent
June
1992
Sheet
of
5121495
FIG
51
55
YES
58
BASE
CELL
POSITION
IN
BECOMES WHICH CAN
POSITION
NEW
RECORD
DEF00004035
U.S
Patent
June
1992
Sheet
of
5121495
QTART
FIG
r71
SEARCH-TABLE SEARCH RECORD AND TARGET
IN
FOR TABLE
CLEAN CHAIN
r72
YES
RECORDFOUND
NO
573
PUT
IN BY
RECORD SAVED NO TABLE LOAD THRESHOLD
76
CELL
SEARCH-TABLE
YES
r74
RETURN RETURN FULL
77
-78
PUT IN
RECORD SAVED
CELL
BY
SEARCHTABLE
ADJUST LOAD ONE
TABLE
TO REFLECT ADOITIONAL RECORD
F80
RETURN FiLL
DEF00004036
U.S
Patent
June
1992
Sheet
of
5121495
FIG
DEF00004037
U.S
Patent
June
1992
Sheet
of
5121495
FIG
100
101
YES
NO
103
DEF00004038
5121495
searched
to locate desired
records
With
the
passage
the
of
METHODS
INFORMATION
UTILIZING
This application
AND APPARATUS FOR STORAGE AND RETRIEVAL
HASHING
is
time
such
storage retrieval
contamination
operations
can below
reduce
perfor
levels
mance of
Problems
detail in
acceptable
in
TECHNIQUES
of application Ser
of Data
this
type
are
discussed
considerable
Structures
and
Program
Design
by 1984
continuation
Kruse
Prentice-Hall
Englewood
Structures with
Cliffs
N.J
No
pp
07/151639
filed
Feb
1988
now
abandoned
TECHNICAL FIELD
This
retrieval invention relates to
and Data 112126 and PASCAL by Brooks/Cole and
Abstract
Data
Types
Stubbs
and Calif
Webre
1985
Publishing
Monterey
pp
information
particularly
storage to the use
10
310336
In the prior
systems techniques
and
in
more
such
of
art by
such
storage
space
contamination
that eliminated
hashing
systems
was
avoided
deletion replacing the
procedures
the
BACKGROUND
Information
storage particular
OF THE INVENTION
in
deleted
records by record and
thus in
deleted
record
chain leaving
with of re any
in the
another
15
collision-resolution the
or data stored can be
computer-controlled by searching
for
cords
deleted
close
chain
without
is
mechanism key in the matching
retrieved
records
One such
text
procedure
at
shown 527
stored the
records search
require
The
is
stored
record
aforementioned nately
necessity 20 take so
by
Knuth
page
Unfortu
due
to the
with Such
key
key
then
retrieved
accesses
such
for
non-contaminating
successive that
procedures
into the
searching
into In the
techniques
storage
repeated
to
or
probes they can hence
storage
space
the
probes
mechanism and
perform key systems search
com
such
much time
is
be used
only when
for
parisons searching
rithms sive
large
if
storage
retrieval
data ing
base
off
line
and
not available
access
even
as
augmented search
by
efficient
algo
such
binary
often
requires
an exces
The problem then
of hashing techniques
25
is
to
provide
large
the speed
heavily data
of access infor
at the
amount
of time well-known
retrieving
for
and
used
Another
storing involves
and
much
faster
method
for store
mation same
storage
systems having
the large-scale
expiring
and
and
information
so-called also
from computer
time
prevent
contamination
which
large
the
use
of
are
hashing
called In
techniques
scatter-stor
normally results
heavily
from expired
records in such
and
These
techniques
sometimes techniques upon
used
systems
age or key-transformation hashing tion
to the
system using hashing
storage
is
key
is
operated
storage
by
in the
func-
30 In
SUMMARY OF THE
accordance
these
INVENTION
embodiment
are
produce
the
address
space with or
in 35
with the and
illustrative
of the
called
to
hash
the
table
desired accesses
This storage
storage
address
then used
invention using
other problems procedure
the storage
access
location
directly sequential described
garbage
collection to
on
data
overcome by the fly while
are taking or insertion
fewer
binary the
storage
or
probes techniques
than
are
other types of access place
retrieval In particular
space
searches
text
Hashing by
during
the data
normal store the
classic
Knuth Volume
entitled Sorting
The
Art of
Com
probes into
expired obsolete neighborhood records in record to be
retrieval
puter Programming
and
Searching 1973
the
records are identified of the
the 40
and removed in the
expired
pp 506549
Hashing
verse
Addison-Wesley
functions are
Reading
to
Mass
probe
are
Specifically
or obsolete
the
designed
translate
uni
collision-resolution
chain
as
including
of
keys
the
into
addresses table
uniformly hashing
distributed operations
accessed procedure This
the
removed
part
of the
normal
throughout
include
hash
Typical
truncation
folding
transposition
and
modulo
is
incremental
garbage of by
the
collection automatically
technique
has
arithmetic
disadvantage
of hashing
into
techniques
the
that
decided
advantage caused
that
eliminating
more than one key can
address causing operations sometimes vided forward empty
latter
is
translate in
same or
storage retrieval strategy 45
contamination without such
for
obsolete data
or expired
records
collisions
storage
requiring
base be taken off-line for
is
Some form of
called the
initial
collision-resolution
garbage
data bases to
collection requiring the user
This
rapid
particularly access
important continuous
rehashing
must
therefore
be
pro
first
and
For
example
the
simple strategy
storage will resolve
of
to
searching
the
availability
population
from
storage
address
the
location
is
collision If the
This 50
BRIEF DESCRIPTION
complete understanding by
OF THE DRAWING
of the
the present invention detailed
technique
to
called
linear so to
probing
that
hash table beyond
the
considered of the
the
be circular
addresses
may be
description
gained
in in
considering
following
the
end then i.e
table
map back
probing
is
the
beginning
of the
table
conjunction
with
accompanying of
the
linear the
done
table
with
as
open
addressing space
in the 55
drawing
which
general
with
that
entire collision
hash
overflow
FIG
storage
shows
block
in
diagram which
the
computer information
invention
event
occurs
system hardware and
arrangement system
Some forms of data records have limited lifetime which activi they become obsolete Scheduling ties for example involves records which become obso
after lete after
retrieval
of
present
might be implemented
FIG
60
shows
general
block
in
diagram which
the
of
the
computer information
invention
the scheduled
locations
activity
has occurred
Such
since
system
storage
software arrangement and
retrieval
record storage
this location
cannot
link in
be simply emptied chain of locations
system
of
present
may be
during
solution
previ
might fmd use
ously
created
collision-resolution to this
procedure
to
FIG
operation
65
shows
which
in
general flow chart might be used
in
for table
searching
storage
The
cord
the
classic as
problem
as
is
mark
and
the to
re
hashed
deleted
rather In
than
empty
the excessive
leave
system
accordance shows
with the
general
present chart
invention
for
record in place
time
however
by an
locations
storage
space be
FIG
collecting table
flow
garbage
part
can
become
or
contaminated
obsolete
number of
must
remove procedure
operation of
which
forms
of the
deleted
storage
that
searching
FIG
DEF00004039
5121495
FIG
tion
shows
general
flow
chart in
for
record
inser
number of
computer assemblers
utility
programs
22
of
general
use
to
the
operations
which
might be used with the
hashed
storage
user Utilities and
22 might for example mathematical
comprise
basic
system in accordance
present chart
invention
for storage
compilers and
routines
FIG
trieval
shows
operation
general for use the in
flow
record system
re
in
file
handling routines computer
system maintenance
also
facilities
hashed
Many
software systems 23 which base
disk 13
include access to
data
the for as
accordance
with
present
invention
chart for
and record dele hashed stor
FIG
tion
shows
general
flow
base manager program records in data data example
disk 10 reside
controls
24
Data
unit
base
24
may
such
operation which
in
might be used with
the
in the present
on
storage
or units
application use
age system
accordance
invention refer
storage
unit
of
FIG
program 23 to access
deleting
User
prothe data
To
ence
to the
facilitate
reader understanding
are
identical
grams
such
as application
25 then
data
numerals
figures
used
to
designate
elements
common
base manager data base 24 records
It is
program
for the
base records in modifying
data
adding
efficient
and of
data
DETAILED DESCRIPTION
Referring ings there
puter
realization
base
man
to
of the drawmore particularly to FIG is shown of com general block diagram system comprising Access
stored
15
base manager program ager such as data which the present invention is directed Before ment proceeding
to description
it is first
23 in
FIG
of one
useful
embodi
to discuss
hardware
Central Processing
Unit
unit
10 and Random 11 Computer programs by
CPU
by
Memory
in the
RAM
RAM
11 are at 20
of the present techniques
invention
in
hashing been
general Hashing very
fast
techniques
to static
have
short in the
used classically
as tables storage
for
access
accessed time
CPU
10 and
executed
stored
one
in the
instruction portions
term data such such need
In storage for the
compiler symbol
deletions table are
table Typically
infrequent
CPU
are
10
Data
other
of
and
RAM
tions
11
with
operated by
accessed
CPU
by upon 10 from
data
program
instruc
in
disappears
quickly
RAM
10
11
also
all
accor
and
25
dance
well-known Processing
disk
processing
techniques
controls in disk
Central accesses cesses units
Unit
CPU
unit
controller stored storage are
12
digital
data disk data
on
unit stored
one
which or more
In disk
turn
ac
some common types of data storage systems data records become obsolete merely by the passage of time or by the occurrence of some event If such expired or obsolete records are not removed from the lapsed
storage
storage
table
they will in time
the
seriously
degrade
or
such
as
13
on
this disk
normal
operation
unit 13 30
contaminate Contamination need
tions to search
performance
arises
of the of
the
retrieval
system
programs
until
and
storage
because
ever-increasing
required data are
by
CPU 10 At
from
11 in
time
such
programs
unit 13 in
longer and longer chains which
are
of record loca reach
desired
and
retrieved
storage
many
of
expired
to
blocks
and
stored
RAM
Unit
for rapid
access
controls in
location
Central
Processing
Input-Output
vides access ray to
10
tube
such
for
CPU
14
input
10 also
an
pro
More
logically 35
particularly
hash
circular
table
list
can
be described
as
controller of
which
devices
as
turn
as
contiguous
fixed-sized
of consecutively nuin
called cells
plurality terminal as
such
CRT
of
bered
ble
storage
units
cathode
15
as well
plurality 15
of storing
single
item called
field
record
called the
each capa Each record
is
output devices mechanism
structions
printer
16 Terminal
operator to
the
provides
contains
distinguishing the basis for
key which
the table
computer
into
introduce system
other
in
of
40
used
ated base
as
storing
and
retrieving the
associ data
and and such
commands may
be card and
readers printer
computer with
record
are
The keys throughout
and unique
for associate
hash record
FIG
devices terminals vices
supplemented
tape
input
distinct
each with
Hashing
addresses
as
readers remotely located other types of input
functions are tinct usually
which
not into
keys
storage
optical
and
16
de
for
one-to-one
the
in that
they map
many
dis
Similarly
the
provides
mechanism
keys
store
same
location
cell
displaying
results
of the
operation of the
computer
To
new record
the
number
on
the
is
generated
for the the
by
system
of
FIG
for the
computer
user Printer
similarly
be supplemented
by line printers
graphical
16 may 45 cathode ray and
invoking record record
collision
hashing
cell
function
is cell
key
If
is
this
location
not occupied
location
is
new new
be
tube
displays
phototypesetters
plotters
stored
there If this and
occupied must
other types
of output devices of the computer system of
has occurred elsewhere
in
the
new
area
record
using
The
and
art
constituents
FIG
in the 50
stored priate
an overflow
an appro
colli
is
their
cooperative
typical
operation are
all
well-known systems frame
collision-resolution
technique which under
will
common
be described addressing
area
is
and
are
of
computer main of such
from small
sion-resolution
strategy probing
that
here
personal architecture
computers and
since not
to
large
systems
are present
The
well-
known
hash
55
as
linear
open
Open
entire
operation
systems of the here
addressing
table
means
itself
the
overflow probing with the
the
known
vention
In
and
will
they form no be
is
part
in
of
Linear beginning
indicates
sequential recalling collision
further
described
graphical for
scanning
that
is
of cells
storage
next cell
FIG
as that
there
shown
architecture in
representation
the
table
is
viewed
circularly
The
first
typical
software
computer
system
resolved by storing
the
record in the
unoccupied
such
shown
access
FiG
The software of
20
FIG
60
cell
found
retrieve
comprises
personal ing to the
an
mechanism
computers system
may comprise
In larger
which for simple no more than turnproviding password
in access service
To
cell
record
If the
the
key
is
is
hashed
to
generate for
location
record
not there following
the keys do not
the
on
systems
login
match
the the 65 In
searching
as
continues
same
larger
number of users
typically access
and
proce
ward path
retrieval
record storage procedure
An
dures would nism
login
be implemented mechanism
is
mecha
the
which
empty cell terminates has then failed to find
20 Once
procedure
20 has completed placed
in the
record to be
retrieved
is
the user
operating 21 coordi of
FIG
there for
shown
the
flowchart hash
table
of
search
table to
system
nates the the
environment
activities
21
of
all
Operating
system
procedure
inserting
searching
preparatory
of the hardware
in
components and provides
retrieving
or deleting comprise
the
record
data
The hash
of
table
computer
system
shown
FIG
may
for
example
base 24
FIG
DEF00004O4O
5121495
and
the search table data
procedure
of
portion in
of the 30
base manager
table
23 of
FIG FIG
of
for In
comprise
Starting
record to be
for
removed
in
forward
at
direction
searching
cell
record whose
key hashes
or
is
behind the
it
to
be
box
of the
search
procedure searched of
cell
FIG
is
the in the
removed
the
is
When
as
such
search
key of the
to
record being
the the address
hashed
cell
of the record to
taken the
is found copied to be removed The copied record
record
box 31 empty empty
pied cell
provide
past
box
32
then
is
record
the
to
be
removed of the
and search
is
the
pro
is
cell just cells
is is
end of the i.e
the
first
search chain succeeding
of non-
cess
continued
In prior
until
end
chain marked
located
In
unoccu
one
the to 10
reached empty
box
to
54
the
final the
copied
record
cell
found
box 33
current
the
procedure
moves
teminating might
procedure
The
portion
remove of the
backward of the
from the
cell position
now
the If
at
procedure data base
Starting
of
FIG
comprise of
end
chain
whether
Decision
the cell
box 34
is
examines or not
decision
cell the
manager
determine
tested
empty match
cell
23 program at starting box 50 of
location
FIG
the
FIG
box 51
adjusted
procedure
is
in decision to
box
34
if
is
empty
box
35
is
entered
is
with the
the
of
cell to
be removed which
is
entered found
determine
key
was previously
called load
base cell
in the
Initially table
is
entered to
where
the
in decision
box 41 as will be described
successful in terminal
below
in
is
If
15
the
count
reflect
is
so
and
the
search
is
and returns box 39 of the
In If
success
box 36
removal
of one record
cells
terminates
not box 37
is is
en
for
ber of occupied
this
The load of course As previously noted
to disable
the
num
of
the
value of
tered
where
the
location insertion cell
possible since
record an empty
cell empty box 38 failure
saved
load can
be
the
used
load
the insertion low enough
the
new
value
returned with
records until
to 20
has reached
In
was
found
before
cell
matching
key
cell
The procedure
tested
is
permit efficient
searching
to the next
box
52
procedure beyond
to see
again
terminates
in
box
39
If the in decision to
is
of
the
FIG
base
is
advances
cell In If
it
cell
in the
chain
is
decision
is
box 53 this cell
the
tested
box
34
is if
not empty record in
if it
decision that
cell
box 40
has
entered This
determine determined of
the in the the
the
empty
and
empty
is is
end of the chain
to
has been
cell as
if
reached by comparing record record
to
box
54
entered then
search
mark
the to
base
expired of
the
some
external
portion
contents
some
for
25
empty
matched
Decision
box 55
entered
table
if
determine
condition
timestamp with of an
that
ex
record was found
the
by
the
procedure
the
which
is
ample could
natively with event
entered the the field
if
be compared occurrence
identifying
time-of-day can be
Alter
not In
search
key
terminated in terminal
and box 56
is
so
procedure
If
event
compared any 41
is
matching
to
record was
if
event
in the
record
found
is
decision
box 57 of the
is
entered
location
determine
the
the to
record
has not expired
if
decision
box
base cell
30 If
ahead
hash
of the
search key
If the the
determine
the
key
the
in this cell
record
is
matches saved
If the
in
not
the
procedure hash ahead
terminated in box 56 search record
base base
the
search
key
the
If
it
does
location to
cell
does
of the
then
In
box cord
42 and
procedure not match
to
returns the
box
33
the
rš
35
cell
can be used
for storing cell
is
new record
therefore
box 58
as
key does
directly
search key
location
procedure
ble
of this empty
site to
saved
possi
returns If
box 33 40 determines
to that the
insertion
decision
box
is
record
has 59
Returning
is
box 53
to
if
the
next
if
cell
is
not
empty box
in
is
expired
ing in
box 43
entered
perform
as
non-contaminat
will
entered
determine base cell
cell
in
the
record
this
cell
deletion
of the with
expired record
be
described of
40
hashes ahead
to
of the
the
If the
so box 52
chain
re-entered cell
connection 43
FIG
operates
In to
general the
procedure
advance
at to
to
next
If this next
box
FIG
the
move
into the
record
position
further
hashes entered
cell tents
or behind copy
the
the
base
cell
however
cell the
if
box
to the
cell
60
is
toward record
pired
end
of the
chain
of
the
the
contents
of this next
base
which record
has
expired
at the
thereby time
removing
closing the
ex
thereby
obliterating
is
removing
to
test
base
con
table
is
and
same
search
Box 61
to
then
entered
the
search
chain
It
procedure can be seen that
to the search the table
found
matching
to the
record
next
If
not box 52
If
procedure chain part and
of
FIG
of
45
re-entered
advance
cell
is
matching
to If test
if
operates
examine
entire
is
of records
to
record
the
was found
to the
decision
is
box base
to the
62
cell
entered
which
the
searched-for
record
delete
matching
is
record
the
record
cell
not box
expired records by chain-filling such
the
rather
than
by marking of
50
52
ing
re-entered
is
advance
next
If the
is
match
to
records
storage
as
deleted by
In
this
way
contamination
is
record
the
base cell of the
however
box 63
cell
entered
space each
expired table
records search such of
removed
in the
store
location
former base
as
is
the
position to
vicinity
of
new
even
the
If
contamination garbage can be has had
re55
of the advance
It
matching
to the
record and
next cell the
then box 52 search of
re-entered
becomes collection
inhibited
too large then
until to
with
automatic records
in the
chain
insertion search table
new
can
be
seen that
the entire
procedure
FIG
operates
the
procedure
to
examine
search chain
in the
and to move vacated
records
in
chance cords
to
remove
sufficient
number of expired
from
the
later positions
chain
is
to
positions
render the operation of the
system sufficiently
chain
the
such
that
the
chain
is
entirely
closed at the
cells are
left
end
to
efficient
of
search
is
procedure break
That up
no empty
The
table
procedure
in the
illustrated
generally as
in
erroneously nection
60
search chain expired records of
As noted
are will
in
con
to in
FIG
like
implemented Source on
Appendix
suitable
PASCALcompilation software from by
this
with
FIG
FIG
subjected
pseudocode execution
code
for
the remove connection
data
procedure with
are also
FIG
to the
As
be
noted
and
any standard can
readily
hardware be
and
records to be deleted remove
from the of
computing pseudocode person
In
system and
the
devised
base
subjected
procedure
flowcharts
in the
of the
figures
any
FIG
The remove
procedure
in the illustrated generally as for in
of ordinary
skill is
art flowchart of
the
FIG
and
FIG
there
shown
remove database
In
65
is
implemented
Appendix
suitable
PASCAL-like
compilation
procedure
either
which
removes
records from or expired by traversing
pseudocode execution puting on
Source
code
records to be deleted
is
records
the
gen
any standard can
readily
hardware be devised
and software from
this
com
eral this
accomplished
chain
of the
system
pseudo-
DEF00004O41
5121495
code and
the
skill
flowchart
in the there
is
of
FIG
detailed in the
by
any
person
of
with
failure
matching of the
key
If
not box procedure
If
103
is
entered
the
to
report
is
ordinary
In insert
art
deletion
and
procedure
FIG
shown
for use
flowchart information invention
starting
of an stor
terminated in box
as
106
matching remove
record was found procedure
in
procedure
retrieval
suitable
determined
is
by box 102 the
in
of
FIG
with
age and
insert
system of
is
of the
present as
The
70
table
invoked
this at the
box
104
As noted
the the
connection
procedure
FIG
entered
is
begins
In
box
FIG
and
is
procedure same
to
removes
closes
record to be deleted chain
to
from which procedure
the
box 71 of
box 71 the with the
in
search
time
search
Box 105
the
FIG
invoked
search
key
of
then
entered
report
successful
is
deletion
call
record to
the
be inserted
table
As noted
procedure
search
connection
the target
with
cell 10
ing
program
delete
and the
procedure
terminated in box 106
in
FIG
location pired
search
if
locates
The code
tion
procedure
in the
illustrated generally as for
FIG
is
and
cells
part that
of
chain
removes
all
ex
is
implemented Source
Appendix
suitable
PASCAL-like
compilation and
pseudo-
from
search
is
chain
Decision whether
box
72
code
execu
and
skill
then entered
search table If
where
it
determined
or not the matching
to
on any standard
readily
hardware
and software computing from this pseudocode of ordinary
procedure
is
found entered
storage
record with where
table the
system can
15
be devised
key
the
so box 73
in
record
be of
the
flowchart art
of
FIG
Appendix
by any person
inserted old
put into
the
in the In
position
in the
record with
reports
matching
the old
key
box 74 the
insert
The attached
for
all
contains functions
pseudocode necessary These
further to
listings
procedure by the
terminal
that
record has been
is
replaced
in 20
of the
data
programmed
base manager
the
imple
new record and box 75
to decision decision
is
the
procedure
terminated
ment
23
FIG
invention 3-7 and
operating in
ac
cordance follow and
skill
with
present
listings explain
Returning not found
table load
box
is
72
if
matching
to
record
if
is
the
flowcharts of
the art
FIGS
no
box 76
entered
determine
the
elucidate in the
flowcharts
will
Any
person
of ordinary
below of the
preselected table the
threshold If table entered the
is
typically load
full is
have
difficulty
implementing language
to
about below
access the the
75%
the
capacity
storage
not be
25
these
functions
in
any desired
program those
run
threshold and
too
to
to
on
any desired
It
efficiently table
is full
box
the
77
is
report
that
should
computer also be clear
hardware
to
configuration
skilled in the art that
and
record cannot
in terminal
be inserted box 75 where
cell
further
embodiments
those skilled
of the
in the present
present art
invention
may
be
The procedure
load
is
then terminates
the
If the the 30
made by
the
without
departing from
below
threshold
is
box 78
in the
is
entered
teachings
of the
invention
record to be inserted found
is
placed
empty
In
position the
by the search
to reflect
table the
procedure
addition reports
box 79
load
the Junctions Provided
kPprsDix
adjusted
of one
that
record to
the
storage inserted
table the procedure
in
record was
in
box SO and
the
procedure
terminated
box
35 The following functions are
75 The code
tion insert
sad
available
to
the
procedure
in the
illustrated generally as for
in
FIG
is
application
prograa
record
implemented Source on
Appendix
suitable
PASCAL-like
compilation and
pseudo-
code
execu
40
ins.rt
record
tvoe rcord.kev
and software computing any standard hardware and system can readily be devised from this pseudocode
the
skill
Returns was found
replaced in the
if table
record and
associated subsequently
with
flowcharts of the
in the
FIG
show
is
by any person
of ordinary
Returns inserted found in if the record table
replaced
with record.kev was
art
there
is
associated and
In
FIG
detailed
flowchart
retrieve in
of
was
not
th
passed
record
retrieve
procedure
which
used
to
record box 90
using the the In 45
subsequently
inserted
from the
search
data base 24 of procedure record to be determined
the search
FIG
invoked
retrieved
Starting in as
table
is
box
the
91
Returpa not found
full in
if the
record table load
associated and passed has
with record reached
record.kev could sax not load
was be factor
key
of the
it
search key matching
If
box 92
is
if
record with procedure
retrieve
inserted
because
factor
key
retrieve 50 Returns found success in the if record and
was found by
is
table
not box 93
and matching
the
entered
to
report
is
failure
of the
in
record
record
type
procedure
If
the
procedure record
terminated box 94
buffer
is
box
96
to
associated to
with
record.lcev
was
record was found
ing into
entered
for
copy
match
by
the
table
assigned
store
is
processing
to return
calling tion
program
successful in
box
95
entered and
an
indica
termi55 Returns delete failure if Icey search record was key unsuccessful
of
retrieval
the
procedure of
nated
box 96
for the retrieve
The pseudo-code
is
procedure
FIG
for
all
record
type
included
in the
Appendix
and system by
those
Executable
code
Returns found 60 Returns in
success
if
record and
associated
with deleted
record
kay
common
can
the In delete
hardware
software arrangements
skilled in the art
was
th
table
subsequently
readily
be devised and
there the
is
from
flowchart
pseudo-code
failure
it
none-found
FIG
shown
for
detailed actively
flowchart
of
procedure
useful
removing
at
records the
65
fiitioas
The following the forsal definitions
from the data base procedure dare of be deleted
if
24 of
first
FIG
invokes
Starting the the
box 100
table
of
FIG
in
search
proce-
ar
required
fur
FIG
box 101 using
key
of the record to
it is
specifying
insertion
retrieval
md
deletion
as the table
search key In box 102 procedure
determined record
algoritbsa cout
table size size of bash table
the
search
was
able
to locate
DEF00004042
5121495
10
rout
sax load factor sax load factor dummy
variable
/A last not two
table
sizei
to rezove are hera
arguments
var
table
azrsyO
/5
table hash
sizei
5/
of
record
type
relevant
table
Tar
load
table
sizei
number hash of occupied array entries of
bsgin
tab
initially
if
search
table
record
key
position
them .lgnritbms 10
begin
remove Algorithms given for the functions described above are
position
dummy
dummy
variable
variable
below
insert record
function
type
full
15
return
success
replaced
inserted
var
position
table position insert
sizei
in table to by update search or else
5/
return
failure
returned
table
end 20
/delete/
if
search
table
ecord
position
function
search Tar
table
record key
table
record
key
tvoe
position
sizei
and delete
biolean
then
begin 25 search expired index of table for record in key expired
in
tableposition
return
record
records found
target or
chain
position empty
set
to
replaced
record
appropriate
cell
Tar /5 misc if
table used both for
sizei
scanning
chain
backwards
g4/table
size
sax
load
factor
3Q
forwards
then
begin
posppy
index of
table leftzost of
sizel
empty 5/ cell
loadl
tableposition
35 return
to
right
position
inserted
rec
found
boolean
whether search is successful
5/
indicates
ala
returO
full
40
begin
posi __ n ____tio_ is function retrieve rec found
hash
r___o_d___ey ec _ r _ k false
var
record
record
type
if 45
success position
failure
table
begin
in not
empty
then
var
table position resides in
sizei
i2
where by
ecord table
returned
earch
position
repeat 50
/5
loop acan
initialization forward to end of chain
begin
containing
positiOfl
if
search
table
reeord
position
11
until
sod
table
size
then
begin
tablei
empty
is
empty
record return
tahlepositien3 sucoess
55 poe
iltable
while else ruturu
size
sod
table
size
tablei
/ecan
deleting
is
not in
empty revarse
entrie
do
failure
chain
expired
and
retrieve begin
function
delete
record
key
record
key
type
if 65
success position
/5
failure
tableI
is
expired remove is rec
them
found
var
table position resides in
sizei
where by record search
position
posecty recordf
returned
tabi
lse
if
tablei
DEF 00
04 04
5121495
11
then begin
12
hashing cords
is
techniques
to
provide
rapid
access
to
the
re
of said system
to store
and utilizing
the
linear
probing tech addreSs
at
rec
found
nique
least
records with
said
same
hash
potitio
some of
records automatically
expiring
said
system
comprising means
utilizing the
record search
search key to access same hash address
for identi
jltable
end
while
size
tod
table
size said
chain
of records having
record search means and
said
including
means
fying 10
removing chain and
said
all
expired ones
of said records chain
is
from
of records each
time said
if
not
is
rec
found
then
position
pen
epotv
accessed
end
return
then
means
ing tern
utilizing retrieving
record
deleting
search means records from removing accessed
for
insert
and
the
said
sys
is
rae
found
and
at
same
time
all
expired
ones
end procedure table sax pos of /5 search to rae table 5/
of said
records in the
chains
of re
cords
m9e
search
call
is
dcl found eapty boclean
table
The information sizei
20
sizei
storage
and
retrieval
system
ac
rec
02
cording means
to
claim
further
comprising record from
later
for
recursively in said
moving
/5
Delete
table
size-i
to
del
tj
position
chain
of records into the
position
of
one
vex table
of said
expired records
storage
The information
cording
to
and
retrieval
system
ac
said
claim
further the
including
begin load
25
means
for
counting
number of records means
in
loadi
system
means responsive
do forever ing the insertion
to said
counting
for inhibit said
of new
records into
in said
system
when
call to
the
number of records
value
storage
system exceeds
del
save position ci .sptied slot 5/
30
preselected
The information
cording to claim
also
and
retrieval
system
ac
for said
further
repeat
scan
forward to
looking
for in chain
including to said
record
fill hole
means
35
responsive the the
counting
means
re-enabling cell to del
insertion
of new
records into
in said
cell
to
dell
Sod
table
size
system when
falls
number of records
preselected
system
below
said for
value
retrieving to
if
tablecell
10
dcl
is espty
method
records using
cess to said to
storing
and
information
rapid
hashing
techniques
utilizing the
provide
ac
techat said
then
begin
records and
linear
probing
tablei
if not is
espty
40
nique
least
store
records with
same
hash
address
rec
found
then
some of said records automatically method comprising the steps of
accessing
expiring
if or or
poe poe
then
of pos
search espty pos
rec pos of of
pen search rec
zv
rec
45
chain
or
records
having
the
same
hash
address
identifying the automatically
spty
pot
expired
ones
of
said
search
records removing chain
all
eapty automatically expired
records from said chain
is
of records each
time said
return
accessed
end
50
and
inserting retrieving
or deleting following
to
one
said
of said
records
hae
until or or Cell
aiscel1
cell to del to
to
del.fy
from said
system
step
of removing compris
The method according
dcl ing the step of record from
the
claim
further
cell
to
del
tablecell
to
moving
later position
in said
chain
expired
of
records into
position
of
one
of
said
dcl
to plug bole in chain
records
use
f.tfcell found
rec search
to
del
The method according
ing the steps of
the the
to
claim
further
compris
if
is
of
rec
and cell rae to
counting dcl
inhibiting
number of records
insertion the
in said
system
said
and sys
ucs
then
search of
of new
records into
in said
poe
tem
rises
when
above
number of records
value
to
system
preselected
The method according
ing 65 re-enabling the step
claim
further
compris
of
the insertion the said of new records into number of records in said system
What
system when
is
claimed
is
falls
below
said
An
preselected
value
information
storage
and
retrieval
system
using
DEF00004044
/OF
..I
III
IIIIII
Ill
11111
11111
11111
11111
11111
11111
11111
11111
111111
III
11111
II
USOO5 121495A
United States
Nemes METHODS
Patent
Patent
Number
of Patent
5121495
Jun
1992
Date
AND APPARATUS FOR INFORMATION STORAGE AND RETRIEVAL UTILIZING HASHING
TECHNIQUES
Inventor Assignee Richard
Bell
Computer
Science 1973
and
Information
Processing
pp
Pa.s
506549
Data cal
Structures
with
Abstract
Data
Types
and
Stubbs
and 1985
Webre
Section
Brooks/Cole
Nemes
Brooklyn Research
N.Y
Inc
Publishing
Company
pp
and Inc
7.4 Hashed
Imple Kruse
mentations Communications
310336
Program 1984
Data
112126
Structures
Design
3.7
Livingston
N.J
Prentice-Hall
Section
Hashing
pp
AppI
Filed
No
430901
Oct
31
1989
P-imary ExaminerGareth
Assistant
Shaw
Kulik Faik
EraminerPaul
Agen4
or
Related
U.S
of
Application
Data
Attorney aban method
FirmJames ABSlRACT
Continuation
Ser
No
151639
Feb
1988
doned
and
in
apparatus
for
performing system
In
storage
is
and
mt CL
U.S
CI 364/222.82 Search
GO6F
364/281.1
15/411 395/600 364/282.1
006F
retrieval
12/00 which
uses
an
the
information hashing of the
storage
disclosed
364/222.81 364/252.3
expiring
technique
order
to
prevent used
contamination
storage
medium
collection
by automatically technique
the
is
S7O
364/DIG
Field of
..
records removes
all
garbage
expired data
364/200
MS
Cited
File 900
MS
which
File
records storge
in
neighborhood
of References
larly
probe each
is
into
the
system
retrieval the
More
particu of of re
probe an
for insertion to
or deletion chain
U.S
4121286 4215402 4447875 4502118 4716524 4775932
PATENT
7/1980 5/1984 2/1985
DOCUMENTS
et et ci al ii al
record cords
364/900 364/200 364/200
occasion
for
search
records
entire
found and
expired the
and
then
removing
collection in
10/1978
Venton
Mitchell Bolton
them
closing
chain
expired
This
garbage
automatically the vicinity
removes of the
the
record contamination
Hagenmaier Oxley Oxley
et Ct al al
Jr
Ct
al
364/200 364/200 364/200
probe
thereby automatically space up Because
present are heavily
decon
long term
it is
12/1987 10/1988
taminating
storage
no
contamination
useful for large require
can
build bases
in the
system used
data the
fast
which
and
OTHER PUBLICATIONS The
Art of Searching
which
Sorting Series
access
provided
by
hashing
Computer Programming Knuth Addison-Wesley
and
in
Claims
Drawing
Sheets
DEF00004045
5121495
searched
to locate desired
records
With
the
METHODS
11FORMATION UTIUZING
This application
AND APPARATUS FOR STORAGE AND RETRIEVAL
HASHING
is
passage
the
of
time such
storage retrieval
contamination
operations
can below
reduce
perfor
levels
mance
detail
of
acceptable in
TECHNIQUES
of application Ser
Problems
in
of Data
this
type are and
discussed
considerable
Structures
Program
Design
by 1984
continuation
No
07/151639
filed
Feb
1988
now
abandoned
Kruse Prentice-Hall Englewood and Data Structures wirh 112126
and
Cliffs
N.J
pp
Abstract
Data
Types
TECHNICAL FIELD
This
retrieval invention relates to
PASCAL
by Publishing art such by
deletion replacing
Stubbs
and Calif
Webre
1985
Brooks/Cole
storage to the
Monterey
pp
information
particularly
and
use
10
310336
In the prior storage
systems
techniques
and
in
more
such
of
space
contamination
that eliminated
hashing
systems
was
avoided
procedures
the
BACKGROUND
Information
or data
OF THE INVENTION
stored in
deleted
records by record and
thus
deleted
record
chain leaving
with of re any
in the
another
15
in the close
collision-resolution the
computer-controlled by searching
for
cords
deleted
chain
without
is
5/
s23
storage particular
mechanism key
in the
can
be retrieved records
search require
records
One such
text
procedure
at
shown 527
due
stored the
The
is
stored
record
aforementioned nately
necessity 20 take data
by
K.nuth
page
Unfortu
to the
with Such
key
matching
key
then
retrieved
accesses or
such
for
non-contaminating
successive
procedures
into the
searching into In the
techniques
storage
repeated
to
probes they can hence
storage
space
the
probes
mechanism and
perform key systems
search
com
such algo
so much base
is
time that
line
be
not
used only when
available for
parisons searching
rithms sive
large
if
storage
retrieval
off
and
access
even
as
augmented
by efficient
often
ing
such
binary search
requires
an exces
The problem
of hashing
25
then
is
to
provide the and
speed
of access used infor
at the
amount
of time well-known
retrieving use
techniques
for large
heavily data
Another
storing involves
and
much
faster
method
for
mation same
storage
systems having
the
expiring
and
and
information socalled
also
from computer
store
time
prevent
large-scale
contamination
in
which
large
the
of
are
hashing
called In
techniques
scatter-stor
normally results
heavily
from expired
records
such
and
These
techniques
sometimes techniques upon
used
systems
age or key-transformation hashing tion
to the
system using hashing
storage
is
key
is
operated
storage
by
in the
func-
30 In
SUMMARY
accordance
these
OF THE INVENTION
illustrative
produce
the
address
space with or
in 35
with the and
embodiment
are
of the by while
taking
called
to
hash
the
table
desired accesses
This storage
storage
address
then used
invention
using
other problems procedure
the storage
overcome
the
3Co
access
location
directly sequential described
fewer binary
the
storage
or
probes
than
are
other place
garbage collection of access to types
In particular
on
data
fly
are
ii
space
searches
text
Hashing by
techniques
entitled Sorting
during
normal
insertion
or
classic
Knuth
The
Art of
Com
retrieval
probes into the data
store the expired obsolete
in the
puter Programming
Volume
are
and
Searching 1973 the uni
40
records are identified of the probe
the
and removed
expired
neighborhood records in record to be
retrieval
pp 506549
Hashing
verse
Addison-Wesley
functions
Reading
to
Mass
Specifically
or obsolete
the
designed
translate
collision-resolution are
chain including
as part
of
keys
the
into
addresses
uniformly hashing
distributed operations
accessed procedure This
the
removed
of the
normal
throughout
include
hash
table folding
Typical
truncation
transposition
and
modulo
is
incremental
garbage of by
the
collection automatically
technique
has
arithmetic
disadvantage
of hashing
into
techniques
the
that
decided
advantage caused
that
eliminating
more than one key can
address causing operations sometimes vided forward empty
latter
is
translate in
same or
storage retrieval strategy 45
contamination without such
for
obsolete data base
is
or expired
records
collisions
storage
requiring
be taken off-line for important continuous
Some form of
called the
initial
collision-resolution
garbage
data bases to
collection requiring the user
This
rapid
particularly access
rehashing
storage will
must therefore
be
pro
first
and
For
example
the
simple strategy address
the
of searching
to the
availability
population
from
storage
location
is
resolve
collision If the
This 50
BRIEF DESCRIPTION
complete understanding by
considering
OF THE DRAWING
of the
the present invention detailed
technique
to
called
linear so
probing
that
hash table beyond
the table
considered of the
be circular
addresses
may be gained
description in in
following
the
end
table
map back
probing
is
to the
beginning
of the
conjunction
with
accompanying
then the i.e
linear
done
table
with
as
open
addressing space
in the 55
drawing
which
general
with the
that
entire collision
hash
overflow
FIG
storage
shows
block
in
diagram which
of
the
computer information
invention
event
occurs
system hardware and
arrangement system
lifetime Some forms of data records have limited which activi they become obsolete Scheduling involves records which become obso ties for example after lete after the
retrieval
of the
present
might
be implemented shows
general
FIG
60 storage
block
in
diagram which
the
of
the
computer information
invention
scheduled
locations
activity
has occurred
Such
since
system software arrangement and
retrieval
record storage
this location
cannot be simply emptied
in
system
of
present
may be slink
chain
of locations
previ
might find
use
general
collision-resolution owly created during procedure The classic solution to this problem is to mark the re cord as deleted rather than as empty and to leave the
FIG
operation 65
shows which
flow chart be used
in
for table
searching
storage
might
hashed
system in accordance
with the
general
present chart
invention
for
record in place
In
time however by an
the
storage
space be
FIG
collecting table
shows remove
flow
garbage of the
can
become
or
contaminated
obsolete
excessive
number of
must
procedure of
which
forms part
deleted
storage
locations
that
searching
operation
FIG
DEF00004046
5121495
FIG
tion
shows
general
flow
chart
in
for
record
mser
number of
computer
assemblers
operations
in
which
might be used with
the
hashed
storage
22 of general the utility use to programs user Utilities 22 might for example comprise and compilers and mathematical
routines basic
8cc
gL2q
system
accordance shows
present chart
invention
for storage
FIG
trieval
general for the use
in
flow
record system
re
in
file
handling routines computer
system maintenance systems
also
facilities data to the for as
operation
hashed
Many
base
data
software
include access
accordance
with shows
present
invention
and record dele hashed stor
FIG
tion
general
flow chart used
for
in
manager program records in data
reside unit as
23 which
base disk
controls
24
storage
Data
unit
base or
24
units
may
such
operation
which
in
might be
the
example
disk 10
on 13
age
system
accordance
reader are
with the
present
invention refer
storage
of
FIG
23 to access
deleting
User
application the
pro.-
To
encc
to the
facilitate
understanding
to designate
identical
grams such
base data
application
program
25 then use
data
data
numerals
figures
used
elements
common
manager base 24
It is
program
for the
base records in modifying
data data
adding
efficient
and of
DETAILED DESCRIPTION
Referring ings
puter there
is
records ager such of the of
realization
base
man
to
as
data base
manager
is
program directed
23 in
FIG
more particularly shown general
10 and
to
FIG
Central
block
diagram
draw com
15
which
the
present
invention to
Before ment
proceeding
present
description
it
of one
useful
embodi
to discuss
hardware
system comprising
Processing
of the
invention
in
is
first
Unit
unit
CPU
by by
Random
Access
stored
Memory
in the
11 Computer programs
RAM
RAM
11 are at 20
hashing been
techniques
classically
general Hashing very
fast
techniques
to static
have
short in the
used
for
access table
accessed time
CPU 10 and CPU 10 Data
are
executed
stored
one
in the
instruction portions
term data such need
In
such
ass compiler symbol
tables deletions table are
Typically and
other
of
RAM
tions
storage for the
infrequent
II
operated by
upon
by
program
instruc
in
storage
disappears
quickly
accessed
CPU
10 from
data
RAM
10
11
all
accor
dance
with well-known Processing
disk digital
processing
techniques
also controls in
some common types of data storage.systems data records become obsolete merely by the passage of time
25
Central accesses cesses units
Unit
CPU
unit
and
or by
lapsed storage
the
occurrence
of some event
If
such
expired from
the or
controller stored storage are
12
which
In
turn
ac
or obsolete
table
records are
not removed
seriously
data disk
on
unit stored
one
or more disk normal
storage
they will in time
the
degrade
such
as
13
on
this disk for
operation
unit
contaminate Contamination
30
performance
arises
of the of
the
retrieval
system
1362-
programs
until
and
data
disk
storage
13
because
ever-increasing
required data are
by
CPU
in
10 At
from
11
time
such
programs
unit
need
tions
to
search longer and of which
are
longer chains expired
to
of record loca reach
desired
and
retrieved
storage rapid
13
in
many
blocks
and
stored
RAM
Unit
access
also
in
location an
33
372-
Central
Processing
Input-Output
vides access ray to
10
tube
such
for
CPU
14
10
controls
More
logically 35
particularly
hash
circular
table
list
can
be described
as
controller
which
devices
well as
turn
as
pro
contiguous
fixed-sized
of consecutively
called cells
num
capa
record
is
plurality terminal as
of input
such
CRT
of
bered
ble
storage
units
each
cathode
15
as
plurality 15
of storing
single
item called
field
record
called the
Each
the
output devices mechanism
structions
printer
16 Terminal
operator to
the
provides in of
40
contains
distinguishing the basis
key which
table
5-D
373
computer
into
introduce system
other
used
ated
as
for storing
and
retrieving the
associ
data
and and such
commands may
be card and
readers printer
computer with
record
are
The keys throughout
and unique
for associate
hash record
FIG
devices terminals
supplemented
tape
input
base
distinct
each with
Hashing
addresses
as
readers remotely located other types of input
functions are usually
which
not
keys
storage
optical
and
de
for
one-to-one
the
in that
they map
many dis
by
3s-
vices
Similarly
the
16 provides
operation
mechanism of the
tinct
keys into
store the If
is
same
location
cell
displaying
results
of the
computer 16 may
ray 45
To
new record
hashing
cell this location
number
on
the not
is
generated
for the the
system of
similarly
FIG
be
for the
computer
user Printer
invoking record record
collision
function
is
key
supplemented
by line printers
graphical
cathode
plotters
occupied
is
new new
be
tube
other
displays
types
phototypesetters
and
stored
there If this and
cell
location
occupied must
of output devices of the computer system of
has occurred elsewhere
in
the
new
area
record
using
The
and
art
constituents
FIG
in the small 50
stored priate
an overflow
an appro
colli
their
cooperative
typical
operation are
all
well-known systems frame from
collision-resolution
technique which under
will
common
be described addressing
area
is
and
are
of
computer main of such no
sion-resolution
strategy probing
that
here
is
personal architecture
computers and
since
to
large
systems
are present
The
well-
known
hash
55
as
linear
open
Open
entire
operation they form
systems of the here
addressing
table
means
itself
the
overflow probing
the
known
vention
In
and
will
part
in
Linear beginning
indicates next cell
sequential recalling collision
not be further
is
described graphical for
scanning
that
is
of cells
storage
with the
FIG
as that
there
shown
in
representation
of
the
table
is
viewed
circularly
first
The
typical
software architecture
such
shown
access
FIG
The
20
system computer software of FIG
resolved by storing
the
record in the
unoccupied
cell
found
retrieve
comprises
personal ing to the
an
mechanism
computers system
may comprise
In larger
which for simple no more thin turnproviding
service
To
60 cell
record
If the
the
key
is
is
hashed
to
generate
location
record
continues
not there following
the keys do not
the cell
on
systems
match
ward
the the 65
searching
as
same
for
number of users login and password proce dures would typically be implemented in access mecha
larger
path
retrieval
record storage procedure
An
empty
has
terminates to find
which
then
failed
nism 20
login
Once
access the
mechanism
user
is
20 has completed placed
in the
the
record to
In
be retrieved
is
procedure environment
activities
operating 21 coordi of
FIG
there for
shown
the
flowchart hash
table
of
search
table to
system
nates the
21
of
all
Operating of the
system
procedure
inserting
searching
preparatory
the
hardware
in
components and provides
retrieving
or deleting
record
data base
The hash
24 of
table
computer
system
shown
FIG
may
for
example
comprise
the
FIG
DEF00004047
5121495
and
the search table
procedure manager
table
of
portion in
of the data 30 of the key of the
base
23 of
FIG FIG
of
for In
comprise
Starting
record to be
for
removed
in
forward
direction
searching
cell
record whose key hashes at or behind the
to
be
to
box
search
procedure
FIG
is
the
in
removed
the
is cell
When
as
such
record
is
found
it
is
copied
search
record being searched address end of
cell search
hashed
of the record to be removed The copied
taken the
record
the
box
31 to
provide the
past the
box
32
the
then
is
record to be removed
the
and
search
is
pro
is
empty
empty
pied
cell
cell just cells
is is
of the
first
chain
of non
cess
continued
In prior
until
end
of
the
chain marked
located
In
i.e the box
succeeding
cell
found
33
the
procedure
unoccu moves one
at the cell to 10 the
reached empty
box
to
54
the
final
copied
record
teminating
the
procedure
The remove
portion
backward of the
from the
current
cell position
now
procedure data
base
of
FIG
starting
might comprise program 23 of
of the
end
chain
whether
Decision
the cell
is
box 34 examines
is
manager
at
determine
tested
empty
or
not
If the
cell
Starting entered
is
box 50 of of
FiG FIG the
to
procedure
is
in decision to
box 34
if
empty
decision
box
35
is
with the location
the base cell in the
cell
be removed
51
is
which where
the
entered found
determine
key
match
was
previously
called load
Initially table
is
box
entered to
in decision search
is
box 41 as will be described
successful in terminal
below
in
is
If
15
the
count of one
adjusted
reflect
is
so
and
the
and returns box 39 of the
In If
success
box 36
removal
record
cells
terminates
not
box 37
is is
en
for
ber of occupied
this load
The load of course As previously noted
to disable the
the
num
of
the
value of
tered
where
the
location insertion cell
empty
cell
saved
can
be
used
insertion
new
possible since
record an empty
box 38
failure
returned
records until the
to
load has
reached
In
was
found
before
cell
with
in
matching
key The procedure
cell tested
is
permit efficient
searching
to the next
box
low enough value 52 the procedure
chain
is
again
terminates
box
20
of
the
39
If the in decision to
is
FIG
base
is
it
advances
cell In If
it
cell
in the
beyond
to see
decision
is
box 53 this cell
the
tested has
box
34
if
is
not
empty
if
decision that cell
box 40
entered
determine determined of the
in the the
the
record in comparing
to
empty
empty
is is
end of the
to
chain the base
been
as
if
has expired
of the
This
reached by record record
and box
54
entered
mark
cell
some
external
portion
contents
some
for
25
empty Decision
record was matched found
the
in
box 55
then entered
search table
if
to
determine
condition
timestamp with of an
that
ex
by
the
procedure
the
which
is
ample could
be compared occurrence
identifying
time-of-day can
the
Alter
search
terminal
key
599
natively with event
entered the
the
event
in
be compared record
In
terminated not found
base
is
and box 56
is
so
procedure
If
matching
to
record was
if
field
if
event
decision
box 57 of the
is
entered location
determine
the
any
cell
is
the to
record
has not
if
expired key
the
decision
box 41
ahead
hash
of the search
If the
30 If
key
base base the
determine
the
in this cell
record matches
is
not
can
the
procedure hash ahead
terminated in box 56 record
search
key
the
If
it
does
location to
saved
If the
cell in
does
of the search
then the
In
box 42 cord
and
procedure
not to
returns the
box 33
the
re
cell
be used
for storing cell
is
new record
therefore
box 58
as
key
does
match
search key
procedure
location ble
of this empty
site to
saved
p0551-
returns If
directly
box 33 40 determines
to that the
insertion
decision
box
is
record
has 59
Returning
is
box 53
to
if
the
next
if
cell
is
not
empty
in is
box
cell
expired
ing in
box 43
entered
perform
as
non-contaminat
will
entered
determine
base cell
in
the
record
this
deletion
of the with
expired record
be described procedure of
hashes ahead
to
of the
to the
If the
so box 52
chain
re-entered
cell
connection 43
FIG
operates the
In to
general the
advance
at to
next
cell
If this next
box
FIG
the
move
into the
record
position
further
hashes
entered cell tents
or behind copy
the
the
base
cell
however
cell
box
to the cell
60
is
toward .2.
end
of
chain
of
the
the cx-
contents
of this next
the
if
base
2..X
record
plied
which
has expired
at the
thereby time
removing
closing the
thereby obliterating
removing
to
test
base
con
table
is
record and
same
search
Box 61
is
then
entered
the
search
chain
It
procedure can be seen that
to the search the table
found
to
matching
to the
record
next
If
not box 52
If
procedure of and
of
FIG
delete
45
re-entered
advance
cell
is
matching
to If test
if
operates
examine
entire
is
chain part
records of
to
record
the
was
found
decision
is
box 62 base
to the cell
entered
which
expired
the
searched-for
record
matching
is
record
to the
the
record
cell
not
box
records by chain-filling records as deleted
In
this
rather
than
by marking of
tj
52
ing
re-entered
is
advance
cell
next
If the
is
match
to
such
the
way
contamination
is
record
the
base
however box 63
box 52
is
entered
storage
space each
by expired records
removed
in the
store
location
of the former base record and then
next that entire
cell
cell as the
position to
vicinity
of
new
even
the
table
search such of
If
contamination garbage can had
ress
of the advance
It
matching
to the
re-entered
becomes
collection inhibited
too large then
until to
with
automatic records
in the
search of
chain
insertion search
new
be
to
can
be seen
the
the
procedure chain
to
FIG
operates
the
table
procedure
has
expired
examine
search in the
and to move vacated
closed cells
records
in
chance cords
to
remove
sufficient operation
number of
of the
from
the
later positions that
chain
is
positions at the are
left
render the
system sufficiently
chain such
the
chain is
entirely
end
to
efficient
of the
search
is
procedure
That up
no
empty
chain
The
table
procedure
in the
illustrated
generally as
in
erroneously break
nection 60 the
search expired
As noted
will
in
con
to in
FIG
like
implemented Source on
Appendix
suitable
PASCALcompilation software from
this
with
FIG FiG
records are
subjected
pseudocode execution
code
for
remove
procedure with
also
of
FIG
to the
As
be
noted
and
any standard can
readily
hardware be
and
connection
data
records to be deleted remove
from the of
computing pseudocode person
In
system and
the
devised
base are
subjected
procedure
flowcharts
in the
of the
figures
by any remove database
In
FIG
The remove
procedure
in the illustrated generally as for in
of ordinary
there
skill is
art flowchart of
the 65
is
FIG
and
FIG
shown
implemented
Appendix
suitable
PASCAL-like
compilation
goc
procedure
either
which
removes
records from or expired by traversing
pseudocode execution
Source
code
records to be deleted
this
is
records
the
gen
on any standard
readily
hardware be devised
and software
com
era
accomplished
chain
of the
puting system can
from this pseudo-
DEF00004048
Ic
5121495
11
then begin
12
hashing
found techniques to
provide
rapid
access
to
the
re
cords of said system
is
and utilizing
the
linear
probing tech address
at
tee
position
mque
least
to
store
records with
records
same
hash
some
of said
automatically
expiring
said
and
system comprising record search means
utilizing the search
key to access hash address
for identi records chain
is
iltabls
end
/5
size
sod
table
size said
chain
of records having means
all
same
record search and
including expired
means ones
ehil
10
fying
removing chain and
said
of said
said
from said accessed
of records
each
time
if
sot
is
ran
found
tbsp
position
poe
empty
sad
ratnrs
then
5/
means
ing tern
15
utilizing retrieving
record search
deleting
means
for insert said
and
the
records from removing accessed
all
sys
is
yen
found
table
and
at
same
in
time
the
expired
ones
Cd
of said
records
chains
of re
esareb resove
cords
proc.dnre table mar poe
cell r.c
to
del found .epty boolean
table
The information sizei
20
sizei
search
storage
and
retrieval
system
ac
is tee pee
cording to means
for
claim
further
of
comprising record from
the later
recursively in said
moving
records
storage
/C
Delet
tIblecell
to
del
position
chain of records into
position
of
one
Tar table
of said
expired
size-i
The
cording to
25
information claim
and
retrieval
system
ac
said
further the
including
means
for
counting
number
of
records
in
system
means
do gorav.r ing
responsive the insertion
to said
counting
means
for inhibit said
of new
records into
in said
system
when
ca.l to /5
the
number of records
value
storage
system exceeds
del
save position of .apti.d slot
30
preselected
The
cording
information
to
and
retrieval
system
ac
for said
claim
further
including to said
rupsat
scan rscord
forward to
locking
for in chain
fill
bel
end
means
35
also
responsive
the the
counting
means
re-enabling cell to del
insertion
of new
records into
in said
c.ll
to
d.11
table
ci
system
falls
when
number of records
preselected
system
below method
said for
value
retrieving to information rapid
if
c.l1
tbsa begin
to
del
is .spty
storing
and
records using
cess to said to
hashing
techniques
utilizing the
provide
ac
techat said
records and
linear
probing
eepty
if set is found then
40
mque
least
store
records with
said
same
hash
address
some of
records automatically
steps
expiring
ran
method
comprising the chain
of
the
if Or or
pee poe
thea
of poe
search eeptv poe
tee poe of of
poe s.arcl ran
sv
ran
45
accessing
or records having
same
hash
address
identifying the automatically expired
ones
vf
said
.ectwc poe
search
records removing chain
all
eapty
automatically
expired
records from said chain
is
of records each
time said
accessed
returp
sad
50 buii
and
inserting retrieving
or deleting following
to
one
said
of said
of
records
c.ll
call
to to 4.1
to
dsi.5
ing
from said
system
step
removing compris chain
expired
The method nU.1
or or cell
according
claim
further
del
the
step
of record from
into the later position in said
cell
to
d.l
moving
55
of
records records
position
of
one
of said
sea
c.li
fuwd
.sarch of
atcll
to
to deli
del
to plug hole in chain ing
The method
the steps
according
to
claim
further
.coinpris
of
the the
if
is
of pee
Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.
Why Is My Information Online?