Us 8250105

Embed Size (px)

Citation preview

  • 8/13/2019 Us 8250105

    1/41

    U n i t e d S t a t e s P a t e n t

    US008250105B2

    1 2 ) 1 0 )P a t e n t N 0 . : US 8,250,105 B 2B o l l i n g e re t a l . ( 4 5 )D a t e o f P a t e n t : A u g . 2 1 , 2 0 1 2

    (54 ) INPUT DATA STRUCTURE FOR DATA 2003/0028509 A 1 * 2/2003 s a i l e t a 1 . . . . . . . . . . . . . . . . . . . . . . . . .. . 707/1

    ( 7 5 )

    MINING

    I n v e n t o r s : T o n i B o l l i n g e r , W e i l d e r S t a d t ( D E ) ;A n s g a rD o r n e i c h ,H o l Z g e r l i n g e n( D E ) ;C h r i s t o p hL i n g e n f e l d e r ,H e r r e n b e r g( D E )

    ( 7 3 ) A s s i g n e e : I n t e r n a t i o n a l B u s i n e s sM a c h i n e sC o r p o r a t i o n ,A r m o n k ,NY U S )

    * ) N o t i c e : S u b j e c tt o a n y d i s c l a i m e r , t h e t e r m o f h i sp a t e n t i s e x t e n d e do r a d j u s t e d u n d e r 3 5U . S . C .1 5 4 ( b )b y 8 3 5 d a y s .

    ( 2 1 ) A p p l .N o . :1 1 / 6 7 1 , 6 2 3

    ( 2 2 ) F i l e d : F e b . 6 , 2 0 0 7

    ( 6 5 ) P r i o r P u b l i c a t i o nD a t a

    U S 2 0 0 7 / 0 2 2 0 0 3 0A 1 S e p . 2 0 , 2 0 0 7

    ( 3 0 ) F o r e i g n A p p l i c a t i o nP r i o r i t yD a t a

    M a r. 1 4 , 2 0 0 6 ( E P ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 06111140

    O c t . 4 , 2 0 0 6 ( E P ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 06121742

    ( 5 1 ) I n t .C l .G06F 7 / 0 0 ( 2 0 0 6 . 0 1 )

    ( 5 2 ) US. l . . . . . . . .. . 707/793; 707/796; 707/803; 707/811(58 ) Fie ld o f C l a s s i ? c a t i o n S e a r c h . . . . . . . . . . . . . . . . . . . . . .. . None

    ( 5 6 )

    S e e a p p l i c a t i o n ? l ef o rc o m p l e t es e a r c hh i s t o r y .

    References Ci ted

    U . S . PATENT DOCUMENTS

    6,618,725 B1* 9 / 2003 Fukuda t a 1 . . . . . . . . . . . . . . . . . . ... 7 0 7 / 66 , 8 0 4 , 6 6 4B 1 * 1 0 / 2 0 0 4 H a r t m a n t a 1 . 1 / 17 , 5 4 8 , 9 2 8 B1 6/2009 Dean t a 1 . . . . . . . . .. . . 1/1

    7 , 6 3 0 , 9 9 6 B1 1 2 / 2 0 0 9 H e r s h k o v i c h e t a l . . . . . . . . . . . . . . .. . l / l

    2004/0024790 A1 * 2/2004 E v e r e t t . . . . . . . 707/200

    2006/0106797 A1 * 5 / 2 0 0 6 Sr in ivasa e t a l . . . . . . . . . . . . . . . . ... 7 0 7 / 6

    OTHER PUBLICATIONS

    A g r a W a l ,R . a n d R . S r i k a n t . F a s tA l g o r i t h m sf o rM i n i n gA s s o c i a t i o nR u l e s . P r o c e e d i n g s o ft h e 2 0 t h VLDB o n f e r e n c e , p p . 4 8 7 - 4 9 9 .S a n t i a g o , C h i l e , l 9 9 4 .Ay r e s , J a y e t a l . S e q u e n t i a lP a t t e r nM i n i n g U s i n ga B i t m a pR e p r es e n t a t i o n . P r o c e e d i n g s o ft h e 8 t h ACM I G K D D n t l .C o n f e r e n c e ,p p . 4 2 9 - 4 3 5 .ACM r e s s , NeWYork, NY, 2 0 0 2 .Y i n - F u Huang e t a l : M i n i n gg e n e r a l i z e da s s o c i a t i o n r u l e su s i n gp r u n i n gt e c h n i q u e s D a t a M i n i n g , 2 0 0 2 . P r o c ee d i ng s .2 0 0 2IEEEI n t e r n a t i o n a l C o n f e r e n c eo n M a e b a s h iC i t y ,J a p a n D e c .9 - 1 2 , 2 0 0 2 ,L o s A l a m i t o s ,CA, USA,IEEE C o m p u t .S o c . U S , D e c . 9 , 2 0 0 2 ,p p .2 2 7 - 2 3 4 ,X P 0 1 0 8 0 5 1 2 0 ISBN: 0 - 7 6 9 5 - 1 7 5 4 - 4 .

    ( C o n t i n u e d )

    P r i m a r y E x a m i n e r * e b b i e Le

    Ass i s t an t Examiner * nh ai Tr a n

    ( 7 4 ) A t t o r n e y ,A g e n t , o r Fi rmiMol lbom P a t e n t s ,I n c . ;F r e d r i k Mollbom

    ( 5 7 ) A B S T R A C TM e t h o d sa n d a p p a r a t u s ,i n c l u d i n g c o m p u t e rp r o g r a mp r o du c t s ,i m p l e m e n t i n ga n d u s i n g t e c h n i q u e sf o rc o m p r e s s i n gd a t a i n c l u d e di n s e v e r a l t r a n s ac t i o n s . Each t r a n s a c t i o n h a s a tl e a s tone t e m .A n i q u ei d e n t i ? e r s a s s i g n e dt o e a c hd i f f e r e n ti t e m a n d , i f taxonomy s d e ? n e d ,t o e a c hd i f f e r e n ttaxonomyp a r e n t . S e t s o f t r a n s a c t i o n s a r e formed from h e s e v e r a lt r a n sa c t i o n s . The s e t s o f t r a n s a c t i o n s a r e s t o r e du s i n g a compute rd a t a s t r u c t u r e i n c l u d i n g :a l i s tof d e n t i ? e r s of i f f e r e n t i t e m si n t h e s e to f t r a n s a c t i o n s , i n f o r m a t i o ni n d i c a t i n g number o fi d e n t i ? e r s i n t h e l i s t ,a n d b i t ? e l d i n f o r m a t i o n i n d i c a t i n gp r e s e n c eo f t h e d i f f e r e n t i t e m s i n t h e s e to f t r a n s a c t i o n s , s a i db i t? e l d i n f o r m a t i o nb e i n g o r g a n i z e di n a c c o r d a n c eW i t ht h el i s t f o r f a c i l i t a t i n ge v a l u a t i o no f p a t t e r n s W i t hr e s p e c t t o t h es e t o f t r a n s a c t i o n s . A a t a s t r u c t u r e f o r c o m p r e s s i n gd a t ai n c l u d e di n a s e to f t r a n s a c t i o n s i s a l s o p r o v i d e d .

    3 2 C l a i m s , 2 2D r a w i n g S h e e t s

    800I

    5 0 1 d e t e r m i n i n gs t a t i s t i c a lm e a s u r e sa b o u t i t e m s a n d ,it o e t i n e o ,t a x o n o m yp a r e n t s

    d i s c a r d i n g n o n - f r e q u e n t i t e m st h a th a v e n of r e q u e n tt a x o n o m yp a r e n t s

    a s s i g n i n g a u n i q u ei d e n t i l i e ft o e a c hd i f f e r e n ti t e m a n d vil t a x o n o m yi s d e f i n e d vto e a c hd i l l e r e n t

    t a x o n o m yp a r e n t

    804

    807

    t o i m i n gs e t s of t r a n s a c t i o n s

    d e t e r m i n i n g t h en u m o e io fd i t l e i e n ti t e m s a n d , ii d e t i n e d ,t a x o n o m yp a r e n t s in t h e s e t oi t r a n s a m i o n s

    d e t e r m i n i n gi d e n t i f i e r sot t h e d i t t e r e n ti t e m sa n d p o s s i b l et a x o n o m yo a i e n t s

    B08

    809

    d e t e r m i n i ng p r e s e n c eo ft h e d i l f e r e n ti t e m s a n dp o s s i b l et a x o n o m yp a r e n t si nt h e

    t r a n s a c t i o n s a n d p r e s e n t i n g t h i si n f o r m a t i o nas b i t f i e l di n f o r m a t i o n

    s t o r i n g0 1 9d a t a S U U C I U Y Bc o n t a i n i n g t h ei n f o r m a t i o ns p e c i l i e d in s t e p s 8 0 6 - 5 0 6

  • 8/13/2019 Us 8250105

    2/41

    U S 8 , 2 5 0 , 1 0 5B2P a g e2

    OTHER PUBLICATIONS

    P r a d e e p S h e n o ye t a l . : T u r b o - c h a r g i n gv e r t i c a lm i n i n g o f l a r g ed a t a b a s e s P r o c e e d i n g so f t h e 2000 ACM SIGMOD n t e r n a t i o n a lC o n f e r e n c eon M a n agemen t f D a t a , 2 0 0 0 ,p p . 2 2 - 3 3 ,XP00243 5 0 7D a l l a s Te x a s , U n i t e dS t a t e s .S r i k a n tR t a 1 : M i n i n gG e n e r a l i z e dA s s o c i a t i o nR u l e s P r o c e e d i n g so f t h e I n t e r n a t i o n a l C o n f e r e n c eo n Ve r yL a r g e D a t aB a s e s , S e p . 1 1 ,1 9 9 5 , p p .4 0 7 - 4 1 9 ,XP000671664.M o h a m m e d . Z a k i e t a l . : F a s t v e r t i c a l m i n i n gu s i n g d i f f s e t s P r oc e e d i n g s o ft h e N i n t hACM SIGKDD n t e r n a t i o n a l Conference on

    K n o w l e d g eD i s c o v e r y a n d D a t a M i n i n g , 2 0 0 3 ,p p . 3 2 6 - 3 3 5 ,XP002431508 Wa s h i n g t o n ,DC, S .P C T i I n t e r n a t i o n a lS e a r c h i n gA u t h o r i t y : I n v i t a t i o n t o pay a d d it i o n a lf e e s c o m m u n i c a t i o ni n c o u n t e r p a r t P C T a p p l i c a t i o n PCT/E P 2 0 0 7 / 0 5 l 0 2 5 ,May 5 , 2 0 0 7 .

    P C T i I n t e r n a t i o n a lS e a r c hR e p o r ta n d The W r i t t e n O p i n i o n o ft h eI n t e r n a t i o n a lS e a r c h A u t h o r i t y . PCT a p p l i c a t i o n :P C T / E P 2 0 0 7 /0 5 1 0 2 5 .Mailed N o v . 1 4 ,2 0 0 7 .

    * c i t e d by examiner

  • 8/13/2019 Us 8250105

    3/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t1 o r 2 2 US , 2 5 0 , 1 0 5B 2

    / -26

    STORE

    MININGPROGRAMI N T E R FA C E

    i n p u td a t a 16/ MININGc o m p r e s s i o n PROGRAM

    V

    22

    c o m p r e s s e di n p u td a t aS E R V E RCOMPUTER

    F I G . 1

  • 8/13/2019 Us 8250105

    4/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t2 o r 2 2 US , 2 5 0 , 1 0 5B 2

    200

    /2O1\\ P r o v i d i n gf i l t e rc o n d i t i o n s

    i D e t e r m i n i n gt h r e e d i s j o i n t s e t s o f f i l t e rc o n d i t i o n s

    i\\ D e t e r m i n i n ga n d e v a l u a t i n ga f i r s ts e t o f c a n d i d a t ep a t t e r n s

    a s { i t e m 1 } - ) { i t e m 2 }f o ra l lp o s s i b l e i t e m p a i r s .

    203

    V

    204 \\ S e l e c t i n g a n e v a l u a t e dc a n d i d a t ep a t t e r n as a p a r e n t

    c a n d i d a t ep a t t e r n a n d m a i n t a i n i n ge v a l u a t i o n i n f o r m a t i o na b o u t t h e p a r e n t c a n d i d a t ep a t t e r n

    205 v

    \ \ G e n e r a t i n gc h i l dc a n d i d a t ep a t t e r n sb y e x t e n d i n gt h ep a r e n tc a n d i d a t e p a t t e r n and t a k i n g i n t oa c c o u n tt h e f i r s ts e t o f

    f i l t e rc o n d i t i o n s .

    V

    2O6\_ E v a l u a t i n gc h i l dc a n d i d a t ep a t t e r n si ns e t so fs i m i l a r c a n d i d a t ep a t t e r n s t a k i n g i n t oa c c o u n tt h e second

    s e t o f f i l t e rc o n d i t i o n s . A d d p o s i t i v e l y e v a l u a t e dc h i l dp a t t e r n s t o s e t o f c a n d i d a t e sa n d / o r r e s u l t p a t t e r n s .

    207

    \ a i n t a i n e v a l u a t i o ni n f o r m a t i o na b o u tt h e p o s i t i v e l ye v a l u a t e dc h i l dc a n d i d a t ep a t t e r n s

    208y e s F u r t h e rp a r e n t c a n d i d a t e

    p a t t e r n s ?

  • 8/13/2019 Us 8250105

    5/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t3 0 1 2 2 U S 8 , 2 5 0 , 1 0 5B 2

    300a P a r e n t p a t t e r n

    { i t e m s _ t } ,{ i t e m s _ 2 } ,{ i t e m s _ n }

    @ C h i l d p a t t e r n

    { i t e m s _ t } ,{ i t e m s _ 2 } ,{ i t e m s _ n .n e w _ i t e m }

    F I G . 3A

    300a P a r e n t p a t t e r n

    { i t e m s _ t } , { i t e m s _ 2 } ,{ i t e m s _ n }

    3 1 1 C h i l d p a t t e r n

    { i t e m s _ t } ,{ i t e m s _ 2 } ,{ i t e m s _ n }{ n e w _ i t e m }

    F I G . 38

    Lb P a r e n t p a t t e r n

    { i t e m s _ t } ,{ i t e m _ 2 }

    @ C h i l dp a t t e r n

    { i t e m s _ t ,n e w _ i t e m } ,{ i t e m _ 2 }

    F I G . 3 C

  • 8/13/2019 Us 8250105

    6/41

    US. P a t e n t A u g .2 1 ,2 0 1 2

    401

    S h e e t 4 0 f 22

    402/

    U S 8 , 2 5 0 , 1 0 5B2

    a s t s e t s i n g l e t o n ,AND yes c r e a t e u p t o N

    l e n g t h o f s e q u e n c e = 2 > e q u e n c e s by a d d i n gAND 1 i t e m t o 1 s t s e t

    s t s e t e x t e n s i b l

    4 0 44 1 /

    l a s ts e t yes c r e a t e u p t o Ne x t e n s i b l e > equences b y a d d i n g

    1 i t e m t o l a s ts e t

    4 0 5

    s e q u e n c ee x t e n s i b l e

    2

    c r e a t e u p t o N \s e q u e n c e sb y

    a p p e n d i n g as i n g l e t o ns e t t o s e q u e n c e

    i n c 4 0 8I

    r e t u r n n o c a n d i d a t e sI

    r e t u r ng e n e r a t e ds e q u e n c e s( m a x . N )

    F I G . 4

  • 8/13/2019 Us 8250105

    7/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t5 0 1 2 2 U S 8 , 2 5 0 , 1 0 5B 2

    @ / 0 0 r e a dd a t a a n d c r e a t e b i n a r y f o r m

    502\ \ v

    c o m p u t ei n i t i a ls t a t i s t i c s( e . g .p a i rs u p p o r t )

    5 0 3 l\ \c o m p u t ei n i t i a l( s i m p l e s t ) p a t t e r nc a n d i d a t e s

    5 0 4 l\\

    GE e v a l u a t ec a n d i d a t e s

    n e we x t e n s i b l e e v a l u a t e| \ |c a n d ' d a t e s c a n d i d a t e s

    r e m o v e 1/506f r o m p u s h c a n d i d a t e sa n d t h e i rS t a c k h i s t o r i e s on s t a c k

    /

    / l510 e x t e n d s e l e c t e d ,/ 0 7

    c a n d i d a t e N - f o l d

    F I G . 5

  • 8/13/2019 Us 8250105

    8/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t6 0 1 2 2 U S 8 , 2 5 0 , 1 0 5B 2

    N T O TTAs TA G S

    f \

    012 4 5 6 7 8 9101112131415

    0110001101. . . 0001101001. . . 0110001101. . .

    \

    %,J\611 6 1 2 \ 6 1 3N p a t t e r n s

    F I G . 6A

    3 250 493 617

    . j . . . | | |Y Y Y

    246 1 4 2 1 236 2 1 TA s / TA G TAS/TAGS TAS/TAGS

    622 623

    F I G . 6B

  • 8/13/2019 Us 8250105

    9/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t7 0 1 2 2 U S 8 , 2 5 0 , 1 0 5B 2

    N T O TTAs TA G S

    f \

    O 12 3 4 5 6 7 8 9101112131415

    I I 6 3

    6 3 1F

    F I G . 6C

  • 8/13/2019 Us 8250105

    10/41

  • 8/13/2019 Us 8250105

    11/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t9 0 1 2 2 U S 8 , 2 5 0 , 1 0 5B 2

    800/

    \ d e t e r m i n i n gs t a t i s t i c a lmeasures a b o u t i t e m s a n d ,i fd e f i n e d , t a x o n o m yp a r e n t s

    V

    802 \ I I\ i s c a r d i n g n o n - f r e q u e n t i t e m st h a t have n o

    f r e q u e n tt a x o n o m yp a r e n t s

    l\ a s s i g n i n g a un ique i d e n t i f i e r t o each d i f f e r e n ti t e m a n d , i ftaxonomy s d e f i n e d , t o e a c h d i f f e r e n t

    t a x o n o m yp a r e n t

    8 0 3 \

    V

    8 0 4 \ forming s e t s o f t ransact ions

    806

    \d e t e r m i n i n gt h e number o f d i f f e r e n ti t e m s a n d , i fd e f i n e d ,taxonomy p a r e n t s i n t h e s e t o f t r a n s a c t i o n s

    8O7\ \ d e t e r m i n i n gi d e n t i f i e r so f t h e d i f f e r e n ti t e m sa n d p o s s i b l e t a x o n o m yp a r e n t s

    8 0 8 \ \ d e t e r m i n i n gp r e s e n c eo f t h e d i f f e r e n ti t e m s a n dp o s s i b l e t a x o n o m yp a r e n t s i n t h e

    t r a n s a c t i o n s and p r e s e n t i n gt h i si n f o r m a t i o nas b i t f i e l di n f o r m a t i o n

    809 I . .

    \ s t o r i n g t h e d a t a s t r u c t u r e c o n t a i n i ng t h ei n f o r m a t i o ns p e c i f i e d i n s t e p s 8 0 6 - 8 0 8

    F I G . 8

  • 8/13/2019 Us 8250105

    12/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t1 0 0 1 2 2 U S 8 , 2 5 0 , 1 0 5B 2

    900

    /~ d e t e r m i n i n g s t a t i s t i c a l m e a s u r e s abou t t h e i t ems

    a n d p o s s i b l e t a x o n o m yp a r e n t s

    l\ i s c a r d i n g n o n - f r e q u e n t i t e m st h a t have no

    f r e q u e n tt a x o n o m yp a r e n t s

    ld e t e r m i n i n gN a n d Ml

    \ a s s i g n i n g a u n i q u e i d e n t i f i e r t o each d i f f e r e n ti t e m a nd , i ftaxonomy s d e f i n e d , t o e a c h d i f f e r e n t

    t a x o n o m yp a r e n t

    l\ d i s c a r d i n g t r a n s a c t i o n sh a v i n g l e s s i t e m s t h a na u s e r - s p e c i f i e d m i n i m u m r u l el e n g t h

    9 0 3 \ lo r d e r i ng t h er e m a i n i n gt r a n s a c t i o n s b a s e d

    on t h e i r s i m i l a r i t y

    l804a \Jorming e t s o f N t r a n s a c t i o n s

    ls t e p 805

    802 \

    \

    8 0 3 \

    F I G . 9A

  • 8/13/2019 Us 8250105

    13/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t1 1 0 f2 2 US , 2 5 0 , 1 0 5B 2

    910

    d e t e r m i n i n gs t a t i s t i c a lmeasures a b o u t t h e i t e m sa n d p o s s i b l e t a x o n o m yp a r e n t s

    l\ i s c a r d i n g n o n - f r e q u e n t i t e m st h a t have no

    f r e q u e n tt a x o n o m yp a r e n t s

    l911\\ d e t e r m i n i n gT a n d M

    \ a s s i g n i n g a u n i q u e i d e n t i f i e rt o each d i f f e r e n ti t e m a n d , i f taxonomy i s d e f i n e d , t o e a c h d i f f e r e n t

    t a x o n o m yp a r e n t

    l\ forming s e t s o f t r a n s a c t i o n s

    l- d i s c a r d i n g s e t s o f t r a n s a c t i o n h a v i n g l e s s

    r e m a i n i n gi t e m s t h a n a p r e d e f i n e dnumbero f i t e m s o r l e s s t r a n s a c t i o n s t h a n a p r e d e f i n e d

    number o f t r a n s a c t i o n s

    ls t e p 8 0 5

    8 0 2 \

    8 0 3 \

    F I G . 9B

  • 8/13/2019 Us 8250105

    14/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t1 2 0 f 2 2 US , 2 5 0 , 1 0 5B 2

    1 0 0 1 A / 1 0 0 0\

    \

    s t a r tw i t h c a n d i d a t er u l e 1 c o n t a i n i n g k d i f f e r e n t i t e m s

    / 1 0 0 2n o /1\ y e sqffpa 10 0 4r 1 ' 1 /f

    1003\

    \

    f e t c h f i r s tT A s e t 9 f e t c h p a r e n t s f i r s ta c t i v e [ TA s e t9

    l

    a c t i v e TA s: = f i n d A c t i v e TA s (g , k i t e m s f r o m r )

    + / 1 0 0 7a b s S u p p c r t [r ] : =a b s S u p p o r t [r ] + c o u n t 1 B i t s ( a c t i v e TA / s )

    l

    1006\

    1 0 0 8( f i x1009 LQ/I'MESPEH' we 1010I / 1 1 s/ 1 1 /

    f e t c h n e x t T A s e t g f e t c h p a r e n t s n e x t a c t i v e T A s e t 9

    | |1 1 1

    n o e t c h successfu yes

    f i n i s h e d

    F I G . 1 0 A

  • 8/13/2019 Us 8250105

    15/41

    U S . P a t e n t

    (130)

    ( 1 3 6 )

    ( 1 3 7 )

    ( 1 3 8 )

    BITFIELDiN findActiVeTAS

    BITFIELD_N activeTAs : =

    ITEM i t e m P o s i _ gITEM itemPOSi

    A u g .2 1 ,2 0 1 2 S h e e t 1 3 0 f 2 2 US , 2 5 0 , 1 0 5B 2

    TAGROUP g ,

    ITEMH i t e m l D s ,ITEM numberOfltems

    all N bits set to l;

    I 0;

    w h i l e ( i t e m P o s i i g < g.numberOfDifferentltems ){

    i f ( q . i t e m l D [ i t e m P o s i _q ] < i t e m l D s [ i t e m P o s i ]{

    itemPosi_q :2 itemPosi_g + l ;

    }e l s e i f ( g . i t e m I D [ i t e m P o s i _g ] > i t e m l D s [ i t e m P o s i ]

    }return 0 ;

    else

    {activeTAs : = activeTAs & g.bitField[itemPosiig]

    itemPosi_g : = itemPosi_g + l ;

    itemPosi : : itemPosi + 1 ;i f (itemPosi = numberOfltems) return activeTAs;

    return 0 ;

    F I G . 10B

  • 8/13/2019 Us 8250105

    16/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t1 4 0 f 2 2 US , 2 5 0 , 1 0 5B 2

    (150) i n l i n e i n t c o u n t l B i t s ( u n s i g n e d l o n g l o n g b i t F i e l d

    = (unsigned char*) (&bitField)

    n b l B i t s [(152) u n s i g n e d char* p( 1 5 3 ) i n t nbItems

    ( 1 5 4 )1 ;

    ]]

    nbIterrs +: nblBits

    nbItems += nblBits

    nbIterns += nblBits

    nbIterns += nblBits

    nbIterts += nblBits

    nbIterrs += nblBits

    nbItenis += nblBits

    return n b I t e m s ;1 5 6 )

    (160) c o n s t unsigned c h a r n b l B i t s [ 2 5 6 ]

    I

    2 223I3

    F I G . 10C

  • 8/13/2019 Us 8250105

    17/41

  • 8/13/2019 Us 8250105

    18/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t1 6 0 1 2 2 U S 8 , 2 5 0 , 1 0 5B 2

    12001 2 0 1

    / /s t a r tw i t h c a n d i d a t e l i s t l ,c o n t a i n i n g N r u l ec a n d i d a t e s

    w i t h k i t e m s , 1 1 - 1o f them i d e n t i c a l f o r a l l c a n d i d a t e s

    1002a,\/ ,

    1003 l . h a s P a r e n t . 1004\ \ i f 11 I1

    f e t c h f i r s tTA e t 9 f e t c h p a r e n t s f i r s ta c t i v e T A s e t 9

    no / y e s. n b D | f f | t e n | s < k

    1 2 0 2 1 0 0 5a c t i v e TA s: = f i n d A c t i v e TA s ig , k - 1 i d e n t i c a li t e m s )

    n o HIE e s1 2 0 4 < I a \ c 1 1 v e TA se m\ I 2 0 3i : = 0 ; i temPosi : = 0

    1 1 1 2 0 5/_/

    A . 1 2W 8 5 s

    [ I 2 0 6A a c t i v e TA s _ i: : a c t i v e TA s& f i n d A c t i v e TA s (g , a d d e d i t e m ? ] ,i t e r h P o s i)ia b s S u p p o r t [i ] : : a b s S u p p o r t [i ] + c o u n t 1 B i t s (a c t i v e TA s _ i // 2 0 7

    ii : = i + 1 / / 1 2 O 8

    1 0 0 8 ain o >/\ e s1 ?

    1009 1010\ \ 1 1 1 1 /

    f e t c h n e x t TA e t 9 f e t c h p a r e n t s n e x t a c t i v e TA e t g

    ? / w / t i b y g , Y E Sf i n i s h e d 1 0 1 1

    F I G . 1 2 A

  • 8/13/2019 Us 8250105

    19/41

    U S . P a t e n t

    B I T F I E L D _ N f i n d A C t i Ve TA S (

    A u g .2 1 ,2 0 1 2 S h e e t 1 70 f 2 2 US , 2 5 0 , 1 0 5B 2

    TAGROUP g , ITEMH i t e m l D s , I T E MnumberOfltems

    BITFIELD_N activeTAs : 2ITEM itemPosi_g I 0 ;

    ITEM itemPosi : 2 0;

    w h i l e ( i t e m P o s i _ g < g.numberOfDifferentltems ) ){

    i f

    {

    all N bits set to l;

    ( g . i t e m l D [ i t e m P 0 s i _ g ] < i t e m l D s [ i t e m P o s i ] )

    itemPosi_g : 2 itemPosi_g + l ;

    else i f{

    ( g . i t e m I D [ i t e m P o s i _ g ] > i t e m l D s [ i t e m P o s i ] )

    return 0 ;

    else

    {activeTAs : = activeTAs & g.bitField[itemPosi_g]

    itemPosi_g :2 itemPosi_g + l ;

    itemPosi : 2 itemPosi + 1;

    if (itemPosi I numberOfltems) return activeTAs;

    return 0 ;

    F I G . 12B

  • 8/13/2019 Us 8250105

    20/41

    US. P a t e n t A u g .2 1 ,2 0 1 2 S h e e t1 8 0 1 2 2 U S 8 , 2 5 0 , 1 0 5B 2

    BITFIELD_N findACtiVeTAS( TAGROUP g , ITEMID i t e m I D , i n t &i t e m P o s i

    {w h i l e ( i t e m P o s i < g.numberOfDifferentItems(){

    i f (g.itemID[itemPosi] < i t e m I D ){

    itemPosi : 2 itemPosi + l ;

    }i f ( g . i t e m I D [ i t e m P o s i ] > i t e m I D ) {

    itemPosi : 2 g.numberOfDifferentItems()

    1

    e l s e {return g.bitField[itemPosi]

    return 0 ;

    F I G . 12C

  • 8/13/2019 Us 8250105

    21/41

  • 8/13/2019 Us 8250105

    22/41

  • 8/13/2019 Us 8250105

    23/41

  • 8/13/2019 Us 8250105

    24/41

  • 8/13/2019 Us 8250105

    25/41

  • 8/13/2019 Us 8250105

    26/41

  • 8/13/2019 Us 8250105

    27/41

  • 8/13/2019 Us 8250105

    28/41

  • 8/13/2019 Us 8250105

    29/41

  • 8/13/2019 Us 8250105

    30/41

  • 8/13/2019 Us 8250105

    31/41

  • 8/13/2019 Us 8250105

    32/41

  • 8/13/2019 Us 8250105

    33/41

  • 8/13/2019 Us 8250105

    34/41

  • 8/13/2019 Us 8250105

    35/41

  • 8/13/2019 Us 8250105

    36/41

  • 8/13/2019 Us 8250105

    37/41

  • 8/13/2019 Us 8250105

    38/41

  • 8/13/2019 Us 8250105

    39/41

  • 8/13/2019 Us 8250105

    40/41

  • 8/13/2019 Us 8250105

    41/41