Netflix, Inc. v. Blockbuster, Inc.

Filing 22

Attachment 3
Request for Judicial Notice re 21 MOTION to Dismiss OR, ALTERNATIVELY, TO BIFURCATE AND STAY DEFENDANT BLOCKBUSTER'S ANTITRUST COUNTERCLAIMS AND TO STRIKE AFFIRMATIVE DEFENSES OF UNENFORCEABILITY AND PATENT MISUSE filed byNetflix, Inc.. (Attachments: # 1 Exhibit A 1 of 2# 2 Exhibit A 2 of 2# 3 Exhibit B# 4 Exhibit C 1 of 2# 5 Exhibit C 2 of 2# 6 Exhibit D 1 of 2# 7 Exhibit D 2 of 2# 8 Exhibit E# 9 Exhibit F# 10 Exhibit G 1 of 2# 11 Exhibit G 2 of 2# 12 Exhibit H 1 of 2# 13 Exhibit H 2 of 2# 14 Exhibit I)(Related document(s)21) (Durie, Daralyn) (Filed on 7/6/2006)

Download PDF
Netflix, Inc. v. Blockbuster, Inc. Doc. 22 Att. 3 Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 1 of 36 EXHIBIT B Dockets.Justia.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 USOOS9S1643A Page 2 of 36 111111111111111111111111111111111111111111111111111111111I1IIII11111I111111 United States Patent (19) Shelton et al. (54) MECHANISM FOR DEPENDABLY ORGANIZING AND MANAGING INFORMATION FOR WEB SYNCHRONIZATION AND TRACKIG AMONG MULTIPLE BROWSERS (75) Inventors: James A. Shelton, Holmdel; Michael i. (11) Patent Number: 5,951,643 Sep. 14, 1999 (45) Date of Patent: 5,734,835 5,737,619 5,742,768 5,774,660 5,774,670 5,784,058 5,793,972 5,796,952 5,802,299 5,809,250 5,862,330 5,887,143 3/1998 Selker ................................... 709/249 4/1998 Judson ................................... 707/500 4/1998 Gennaro et al. ................... 395/200.33 6/1998 Brendel et al. .................... 395/200.31 6/1998 MontulJ ................................ 709/227 7/1998 LaStrange et al. ..................... 345/340 8/1998 Shane ..................................... 709/219 Ingrnssia, Jr., Edisn; Thomas M. Rowland, Fair Haven, all of N.J. (73) A~signee: NCR Corporation, Dayton, Ohio (21) (22) (51) (52) (58) 8/1998 Davis et al. ...................... 395/200.54 9/1998 Logan et al. .................... 395/200.48 9/1998 Kior ...................................... 709/227 1/1999 Anupam et al. ....................... 709/204 3/1999 Saito et al. .............................. 709/248 AppJ. No.: 08/944,124 Filed: Oct. 6, 1997 Primary Examiner--sna Lim Attorney, Agent, or Fimi-Ying Tuo; Kenneth M. Berner (57) ABSTRACT Int. Ci.6 ........................... G06F 13/00; G06F 13/14 U.S. Ci. .......................... 7091227; 709/224; 7091223; 709/248 Field of Search ................................... 707/104, 500; 395/200.33, 200.57, 200.54, 200.48; 709/227, Described is a mechanism for dependably organizing and managing information for web synchronization and tracking among multiple consumer browsers. A session is created for each of one of the consumer browsers when an individual 224,223,248 (56) Reicrences Cited consumer downloads an initial web page from an HTT server. A unique ID is assigned to that session. After the session has been created for an individual browser, the information about the all activities from that consumer browser will be recorded into the session. Such a mechanism overcomes the diffculty to organize and manage the activities from the multiple consumer browsers that are in stateless nature. u.s. PATENT DOCUMENTS 5,260,878 5,535,256 5,544,649 5,715,453 5,727,129 11/1993 Luppy. 7/1996 Maloney el al. . 8/1996 David et al. . 2/1998 Stewart .................................. 707/104 3/1998 Barrett et al. ............................. 706/10 23 Claims, 22 Drawing Sheets ~102A.,.. . Ival\ TERMINAL 1 ~102K ; iu4K ~102N... ; lU4N TERMINAL N 114N 115N SESSIONID APPLET DTS APPLETS MASTER APPLET 128A SESSIONID APPLET DTS APPLETS MASTER APPLET 128N 126A 126N 124N 146 149 156 ww.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 3 of 36 u.s. Patent Sep. 14, 1999 Sheet 1 of 22 5,951,643 FIG. i Wi10104A - 2A TERMINAL 1 Wi10104K - 2K TERMINAL K 114A Wi10104N - 2N TERMINAL N 114K WEB BROWSER WEB BROWSER WEB BROWSER 114N 115A 115K 115N ... ... 129 NETWORK 134 WTS GATEWAY 142 152 144 WTS SERVER SESSION TABLE MASTER APPLET, DTS APPLET, & 146 SESSION 10 APPLET USER CLASS TABLE 147 ... 148 DATABASE MASTER APPLET,I AGENT APPLET & SUPERVISOR 149 APPLET PROCESSING APPLICATION ... 156 www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 4 of 36 u.s. Patent Sep. 14, 1999 Sheet 2 of 22 5,951,643 ~102A i 104A TERMINAL 1 czi 0104K 1 2K TERMINAL K ~102N i 104N TERMINAL N 114K 114A WEB WEB BROWSER 115A BROWSER 115K WEB BROWSER 114N 115N SESSIONIO APPLET OTS APPLETS ... 126A 128A SESSIONIO APPLET DTS ... 126K 128K SESSIONIO APPLET DTS 128N APPLETS MASTER APPLET APPLETS MASTER APPLET 126N MASTER APPLET 124A 124K 124N FIG. 2 NETWORK 134 WTS GATEWAY 142 152 144 WTS SERVER SESSION TABLE USER CLASS TABLE 145 MASTER APPLET, DTS APPLET, & SESSION ID APPLET 146 147 ... IMAA~J~~~ ~~~~!,i 148 OAT ABASE t\i- 1'1 I t\r r Lot: I & SUPERVISOR APPLET 149 PROCESSING APPLICATION ... 156 www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 5 of 36 u.s. Patent Sep. 14, 1999 Sheet 3 of 22 5,951,643 ~102A i 104A TERMINAL 1 FIG. 3 114A (3) WEB BROWSER ----, (6) I -------- r' +I 204 0( -------t-;-T------- ~ \:i 208 115A I to( --------1"--,-------- ~ l SESSIONIO APPLET OTS 128A : I 0( --------\~-------- ~) I i .~ I I _I 126A 124A APPLETS MASTER APPLET r---I I I__(5)-JI---I-_I I I~-(7) I _ I ---I - I- I L ii (1 ) 1(4) I (2) I ----, '---------__ -I i I II I I I I I I 152 HTTPSERVER 145 I I WTS SERVER SESSION TABLE USER CLASS TABLE I I I I MASTER APPLET, OTS APPLET, & 146 SESSION 10 APPLET ... 147 148 OAT ABASE IMt,""...... :ib~LE~,1 i J'J~~ I.. I ..E. & SUPERVISOR 149 APPLET ... PROCESSING APPLICATION 156 www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 6 of 36 U.S. Patent Sep. 14, 1999 Sheet 4 of 22 5,951,643 FIG. 4 (t102A i 104A TERMINAL 1 214 114A (3) WEB BROWSER ----1 (4) 115A 1 : 1-+-- c( -------t-:-t--m-- ;; i:I r c( -------(~r------- ;; 1 L c( ____--__\-__1--__--__ ;; '- 208 SESSIONID APPLET DTS APPLETS MASTER APPLET 1 128A I I I: _I I 126A : 124A 1 I (1) I I 1 '---------, I (2) I (5) '----1 I WTS SERVER SESSION TABLE USER CLASS TABLE MASTER APPLET, 145 DTS APPLET, & 146 SESSION ID APPLET ... 147 MASTER APPLET, AG ENT APPLET & SUPERVSR APPLET ... 148 DATABASE 149 PROCESSING APPLICATION 156 www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 7 of 36 u.s. Patent Sep. 14, 1999 Sheet 5 of 22 5,951,643 ~102A i 104A TERMINAL 1 FIG. 5 224 WEB BROWSER -----(1 ) 114A (4) I .: -------t-~-_------ ;: I:J . .: --------\---1-------- ;: 208 115A I t .: -------t0r------ ;: J I I SESSIONID APPLET DTS 128A: 126A I I APPLETS MASTER APPLET I I I ___________-i 124A (2) I 134 I I L.---l I (3) I I I 152 144 154 WTS SERVER SESSION TABLE USER CLASS TABLE MASTER APPLET, DTS APPLET, & SESSION 10 APPLET ... 146 147 ;48 DATABASE MASTER APPLET, AGENT APPLET & SUPERViSOR APPLET ... 149 PROCESSING APPLICATION DATABASE 156 ww.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 8 of 36 u.s. Patent LO Sep. 14, 1999 Sheet 6 of 22 5,951,643 "" .. w :2 I(z ! : -i a: :: W W 1= w U) z 0 I() W a: Cl CI CI ... a I(! Z Cl :: w CJ e. a: w :-: e: ~ a: :: -- w a: Cl Cl .. 0 -i w n I- .. u. :: :: 9 c: zZ CI () Ia: .. I2 .. a. z :: :: l- ~ c: w :2 e: :z ... a a: :: w -i .. a. 2 Cl .. 0 -i Cl ~ e: c: UJ ~ e: z: ci -: UJ LL z .. Cl :: :: 0 () Cl lZ 0; xx ~~ oI 02 C CI Clw n w we:: CI CI ~ CI a: .. I-I lC a: c :: a:. I2: Cl c a. 2 () 0 CI I- CI a: w ... CI a () a. I2 e .. () .. Cl .. () I- ICI a: c. -i a: )- e a: -i CI w a: CI 0: ~ 2 IZ 0: 0 I.. l-I e C :z :: 0 .. U) I- (f c: Uf 0 (J a: e: a. e: a. 02 Ien 0 en :i .. l-I C :: Cl 2 .. :: :: 0 () la: .. a. Cl CI 2 0I C W en ICI 2 a: :2CI -i -i .. 0 I- Cl :: :: I- I:: CI CI -i -i l- I- )- :: Z a. I- en z CI I- :i .. CI a: -i I- :: O()~::~ WI c: a: c: C 0. :: 0 0 ~ :: \0 t Ci t t t ll+l " ~ .. fT, . L- ci w t en 2 z 0I oI Cf ( C :: CI w CI CI 0i e CI w CI Z ... b z 0 CI CI w CI x x www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 9 of 36 u.s. Patent Sep. 14, 1999 Sheet 7 of 22 5,951,643 FIG. 7 START) , 702 TYPE IN AN AGENT URL (OR A SUPERVISOR URL) ,l 704 RETRIEVE AGENT PAGE (OR SUPERVISOR PAGE) , r706 DOWNLOAD AGENT PAGE (OR SUPERVISOR PAGE) , /708 r7 10 DOWNLOAD MASTER APPLET AND AGENT APPLET (OR MASTER APPLET AND SUPERVISOR APPLET) ,l OPEN A DEDICATED SOCKET AND ESTABLISHES A SOCKET CONNECTION ,l 712 CREATE AGENT SESSION INTERFACE (OR SPERVISR SESSlN INTERFACE) ,It END) www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 10 of 36 u.s. Patent Sep. 14, 1999 Sheet 8 of' 22 5,951,643 c .o . co o' C co \ ~~ ~ !; ~~ \~ DDD .s i c Q) IIQ == cr :: .. 1: :i .. E C :: m :i C c. 0 o 13 1: 'j 'm .. ~i E r: : rI r: a. :: Q) o () .. r: I. . r: 1i ~ o io - :: = o l~~~ ~ r\ ~ r: o co ~I o , ~ E U2 j ..ll e H~ Q ~D 0 ~ c i 0: Q) Z m m o ~i Q r~ c .e r- = i: o (i5 rn c. .13 .-2 m a. .Q ~ c ~ IIVI Q) en en Q) CJ Q) "5 r: ~c -$ .. ~ ~ . jW l \ .. S i: Cl ~ m a. m r , '. 13 c. I \ \ -. o \ CO o co co \ ) co T" co . 'I www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 11 of 36 u.s. Patent Sep. 14, 1999 Sheet 9 of 22 5,951,643 FIG. 8B (8008 i: AdminSupervlsor Agent 1I..1IL1I1X SESSION LIST SERVER STATISTICS Session Count I I - -. I - 834 83 2- ltr I - ~ User Count I Agent Count I I Server Start Time I I SER AA UserlD User Name I AgentiD AgentCustomer # .- 836 838 -- -- -11 Select Session II II Go To User II 840 www.freepatentsonline.com li Lj . '" (1 (1 Q) .1( :: .J ( o :: FIG. 8C 800e II .iii:iiix rJ . ~ :: (1 (" ~ ~ ~ Case 3:06-cv-02361-WHA o 3 Agent Input Enter Session ID Select Leadership Position Session Length en Admin Supervisor Agent = ~ '? rJ ~ ~~ ~ LeaderI Participant count o Follower 852 URL Count Document 22-4 844 - -- --l Join Session II 846 Participant Name AgEintlD ~ Drop Session l8848 ~ 50 Current URL I r-~ C~ L:J I .. .. I. I. I. rJ ParticipantlD URL History ~ !Q II ~ ~ ~ Go To URL ii II 858 (" (' :: .. Filed 07/06/2006 856 - 0. - .. c N N i- ~ 860 0 ~1 \C Page 12 of 36 " ~" 0' 01 . ~ Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 13 of 36 U.S. Patent Sep. 14,1999 Sheet 11 of 22 5,951,643 FIG. 9 902 BROWSE A WEB PAGE 920 STORE THE PARTICIPANTID 904 CONNECTED TO THE CALL CENTER AND PARTICIPANTADDRESS 922 SET SYNCHRONIZATION DIRECTION 906 IDENTIFY CURRENT SESSION ID 908 ENTER THE CURRENT SESSION ID SEND THE CURRENT URL TO THE (ADMINISTRATION) MASTER APPLET 924 910 SEND A COMMAND FROM 926 OPEN A BROWSER WINDOW (A SECOND BROWSER 1t.IQT M,If"t:\ ..1IV I ru'tVL-j AGENT APPLET TO WTS SERVER r- 912 SEND THE INFORMATION REQUESTED TO THE AGENT APPLET 928 DOWNLOAD WEB PAGE 914 IDENTIFIED BY CURRENT URL DISPLAY INFORMATION RECEIVED BY THE AGENT APPLET 930 DOWNLOAD (CONSUMER) MASTER APPLET, A SET OF DTS APPLETS AND SESSIONID APPLET 916 SELECT JOIN BUTTON IN AGENT SESSION INTERFACE 932 SYNCHRONIZE WITH THE 918 SENDS Vv'TS SERVER A COMMAND TO JOIN THE WEB PAGES SELECTED SESSION www.freepatentsonline.com :: :: :: -0 CD CD :i. L .j r .J Q) rCD :: rne o :: :: ~ CD Case 3:06-cv-02361-WHA () o 3 800A FIG. 10 1004 ~ ~ ~ = ~ f'__ Selecll.dership Posltoo I l' rt: ( ~.l I: TELEPHONE BILL ~ 1200 107101/95 - 0l01l95 -i Time Period 804 I i1 FOllower. 80S ~ 0 Leader I ~ Agent Input Enler SesIon JD .. .. \C N. Partnantcoont c= \C \C URlCouiit c= Name ISli.nK""g 1 Acunl Balaiia IS100.00 -. Document 22-4 S06 Drop Session i- Join Seion Curront URL I :: --- = J URL History ParldpatlO Partclpant Name AgenllO Payment I -i Comments 81 i -i r: :: (t (t .. SessionlD 1123467 -i Call Center Number 11-80056-77:J ~ J Go TO URL I , /i i .. N o. . N N Filed 07/06/2006 818 S:W O .. l \0 Ol .. Page 14 of 36 ~ "' .i ~ Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 15 of 36 U.S. Patent Sep. 14, 1999 Sheet 13 of' 22 5,951,643 FIG. 11 1104 1106 INITIALIZE AND INVOKE MASTER APPLET 1108 ESTABLISH A SOCKET CONNECTION TO WTS GATEWAY AND SEND A COMMAND TO WTS SERVER 1110 IDENTIFY SESSION 1112 SEND A COMMAND (TOGETHER WITH THE URL) TO ALL THE PARTICIPANT TERMINALS 1114 PASS URL TO RESPECTIVE BROWSERS 1116 DOWNLOAD AND DISPLAY WEB PAGE II (,(,f'Dnlt.l~ I unL. MVVVnUIl'4UTf'vII DI www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 16 of 36 u.s. Patent Sep. 14,1999 Sheet 14 of 22 5,951,643 FIG.12A r 1200 TELEPHONE BILL Name I Susan King Time Period 0 107/01/95 - 08/01/95 Account Balance 1$100.00 11202 11204 11206 r-1208 Payment Comments SessionlD 11234567 j1210 1 1212 ,I Call Center Number 11-800-456-7777 11214 www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 17 of 36 u.s. Patent Sep. 14, 1999 Sheet 15 of 22 5,951,643 FIG. 12B TELEPHONE BILL 1200 Name Time Period ISue Grant __________+~2~~__ r: 1204 107/01/95 - 08/01/95 J Account Balance rt100.00 J changed r: 1206 Payment 11208 1210 Comments Account name has been _---r --- --- Session I D 11234567 J r: 1212 Call Center Number 11-800-456-7777 J r: 1214 r 1200' TELEPHONE BILL Name. Time Period ISueGrant ~_______~~=~2~__ r:1204' 107/01/95 - 08/01/95 J Account Balance 1$100.00 J r: 1206' Payment 11208' 1210' .- Comments Account name has been - - . changed ---' -SessionlD 11234567 11212' Call Center Number 11-800-456-7777 11214' ww.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 18 of 36 U.s. Patent Sep. 14, 1999 Sheet 16 of 22 5,951,643 FIG. 13 1304 CHANGE NAME IN NAME FIELD FROM SUSAN KING TO SUE GRANT 1306 DETECT CHANGE AND PASS CHANGE TO MASTER APPLET 1308 SEND A COMMAND (TOGETHER WITH CHANGE) TO WTS SERVER 1310 1312 SEND A COMMAND (TOGETHER WITH THE CHANGE) TO MASTER APPLETS IN PARTICIPANT TERMINALS 1314 PASS CHANGE TO RESPECTIVE DTS APPLETS 1316 DiSPL Y CHNGE www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 19 of 36 U.S. Patent Sep. 14, 1999 Sheet 17 of 22 5,951,643 FIG. 14 1404 DOWNLOAD WEB PAGE 1420 1406 INITIALIZE AND INVOKE MASTER APPLET, DTS APPLETS, AND SESSIONID APPLET 1422 LOCATE SESSIONLIST AND URL HISTORY LIST 1408 ESTABLISH A SOCKET CONNECTION AND SEND URL TO WTS GATEWAY ISSUE TIME STAMP (UNLOADING TIME), AND STORE URL AND TIME STAMP TO URL HISTORY LIST 1424 1410 1412 I...,"V" I L. I U..VI L-V I I y.. Ci:CCI('\l\1 I ("\'liTi: Oi:COi:f'TI\1i: VL-VVIVI ~ 1426 DISCONNECT SOCKET CONNECTION LIST AND URL HISTORY LIST 1414 ISSUE TIME STAMP (LOADING TIME), AND STORE URL AND TIME STAMP TO URL HISTORY LIST 1416 LOAD SUBSEQUENT WEB PAGE 1418 SEND A COMMAND ITri~CTUCD IAIITU 1101 \IV,-L.iiii-n YYIIII uni- IDENTIFYING PREVIOUS PAGE) TO WTS SERVER www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 20 of 36 u.s. Patent Sep. 14, 1999 Sheet 18 of 22 5,951,643 FIG. 15 START 1504 MAKE CHANGE 1506 DETECT CHANGE AND PASS CHANGE TO MASTER APPLET 1508 SEND COMMAND (T()'" I-=THI=i. ... . .. . ITHJ: I~~at\I~J:' ~ I . . ~. ~ WITH ... '" I. 1.1 "".. J \.- TO WTS SERVER 1510 IDENTIFY SESSION 1512 STORE URL AND CHANGE INTO DATA LIST END www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 21 of 36 U.S. Patent Sep. 14, 1999 Sheet 19 of 22 5,951,643 FIG. 16 1604 CREATE SUPERVISOR SESSION INTERFACE IN FIRST BROWSER INSTANCE 1618 DISPLAY INFORMATION 1606 1620 1608 1622 OPEN THIRD BROWSER INSTANCE CREATE SUPERVISOR AGENT SESSION INTERFACE IN SECOND BROWER INSTANCE 1610 SET SYNCHRONIZATION DIRECTION 1624 DOWNLOAD WEB PAGE IDENTIFIED BY CURRENT URL 1612 1626 UVVVI'IL.Vl\U \'-VI uivii::n f"l-'All.lI 1" A r" '''rlNt'1 II .Ir-~'\\) MASTER APPLET, DTS 1614 SENDS A COMMAND (TOGETHER WITH THE APPLETS, AN 0 SESSIONID APPLET 1628 ESTABLISHES SOCKET CONNECTION TO WTS GATEWAY FOR THIRD BROWSER INSTANCE SELECTED SESSION 10) TO WTS SERVER 1615 LOCATE SESSION INDICATED BY SELECTED SESSION ID AND SEND INFORMATION TO MASTER APPLET ~~~Q LULU 1630 SYNCHRONIZE THE WEB PAGES ADD NEW RECORD IN PARTICIPANT LIST www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 22 of 36 u.s. Patent Sep. 14, 1999 Sheet 20 of 22 5,951,643 C\ or 0 0 ~ ~ r'" .. .. v o r- -i -i U zJ 0 !; 5 8 'D "" "" i ~ '" on "- :i i: " UJ -iJ U .. Je '" E '" ~ g ~ ~ .. Cl ~ ~ ;0 : .~ (J " z Ii 1: 1l E ~ i: E i= '" j ai z 0 ~ " i'" : ." l Q) ~ 8 E E Q ) - 0 0 0 cx ~~D~ C\ La cx go ~ ~ !! ~ l. ~ uit ~ ~ . : I ~ ~ r 0 to cx cx La cx cx V cx In a. :: 0 I~= I ~ j 0 ~ ! to .. cx ,~ ii 0 I 2"~ W ~ I to La cx " ~ ~ t. .. CD o o cx v" C CI "C" CZ u ~ f0 II w (J F= CI CI DODD " .3 '~ C' cx to C\ :; II w ~ ! 0 ~ "5 .3 " ~ ~ & l 0 L1 CI c: CX f0 CI :: :: n CJ CI z 0 w ~ D .s IUi o l l .. ~~ l ,' (l i "i o .x . c cx C" cx ww.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 23 of 36 U.S. Patent Scpo 14, 19?9 Shcet 21 of 22 5,951,643 FIG. 18 1802 REVIEW URLs FOR WEB PAGES PREVIOUSLY BROWSED 1804 1806 SEND A COMMAND (TOGETHER WITH THE SELECTED URL) TO WTS SERVER 1808 SEND COMMAND (TOGETHER URLAND TIME INFORMATION) TO MASTER APPLETS ~ n~ n IOIV CHECK WHETHER BROWSER PREVIOUSLY PERFORMED ANY ACTIVITIES TO DATA FIELDS ON WEB PAGE IDENTIFIED BY URL 1812 IF BROWSER PREVIOUSLY PERFORMED ANY ACTIVITIES, SEND A COMMAND (TOGETHER WITH DATA FIELD NAMES, VALUES OF DATA FIELDS, AND TIME INFORMATION) TO MASTER APPLETS PSS COMMND DATA FIELD NAMES AND DATA FIELD VALUES TO DST APPLETS ,, 1814 www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 24 of 36 u.s. Patent Sep. 14, 1999 Sheet 22 of 22 5,951,643 FIG. 19 1902 REVIEW THE URLs FOR ALL WEB PAGES PREVIOUSLY BROWSED www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 25 of 36 5,951,643 1 2 There is another need for an improved method to dependably organize and manage information for web synchroni- There is yet another need for an improved method to design applications for dependably organizing and managRELATED APPLICATIONS ing information for wcb synchronization and tracking that This application relates to five other applications: (1) U.S. are portable to different software environments. Ser. No. 08/944,757 filed Oct. 6, 1997, entitled "DEPENDThe present invention meets these needs. ABLE DATA ELEMENT SYNCHRONIZATION MECHA- 10 MECHANISM FOR DEPENDABLY ORGANIZING AND MAAGING INFORMATION FOR WEB SYNCHRONIZATION AND TRACKIG AMONG MULTIPLE BROWSERS zation and tracking without requiring knowledge of. the details about the web navigation software. sites (network sites) via the Internet. The basic model for retrieving information from web sites is user initiated infor- SUMMARY OF TIlE INVNTION entitled "DEPENDABLE DATA ELEMENT TRACKING MECHANISM"; (3) U.S. Ser. No. 08/944,759 fied Oct. 6, In one aspect, 'the invention provides a method for estab1997, entitled "DEPENDABLE WEB PAGE ilACKlNG lishing a session to manage activities being performed to SYSTEM"; (4) U.S. Ser. No. 08/944,121 filed Oct. 6, 1997, 15 pages at a first terminaL. The method comprises the steps of: entitled "DEPENDABLE WEB PAGE SYNCHRONIZA(a) receiving an initial request from said first terminal for TION MECHANSM"; and (5) U.S. Ser. No. 08/944,125 retrieving an initial page; filed Oct. 6, 1997, entitled "MECHASM FOR DEPEND(b) creating a session for said first terminal in response to ABLY WEB SYNCHRONIZATION AND TRACKING said initial request; OPERATIONS AMONG MULTIPLE BROWSERS". 20 (c) receiving subsequent requests from said fist terminal BACKGROUND OF THE INVNTION for retrieving subsequent pages; The present invention relates generally to a method and (d) monitoring activities performed to any of said initial system forgetting access to Internet web sites by a group of and subsequent pages at said first terminal; web browsers that are being run at a group of user terminals. (f) storing information about said activities performed to It is known that users can retrieve information from web 25 any of said initial and subsequent pages at said first terminal into said session created for said first terminaL. NISM"; (2) U.S. Ser. No. 08/944,951 filed Oct. 6, 1997, mation searching. Specifically, a user interacts with (via a terminal) a web browser to send a request to a web site. In In another aspect, the invention provides a method for establishing sessipns to manage activities being performed 30 to pages at a plurality of user terminals. The method response to the request, the web server for the web site retrieves the information requested and sends the web browser the information arranged in so called web page comprises the steps of: (a) receiving an initial request from each one of said user terminals for retrieving an initial page for said each.one of said user terminals; (HTML) format. One of the unique features of this model is the feature of "hyper-text link" embedded in web pages that 35 have been retrieved. This feature enables a user searching for information to "navigate" from one vieb page to another. In order to provide services (or assistam:e) to users (or consumers) via the Internet, it is desirable to provide features to: (1) synchronize web pages that are being browsed 40 (b) creating a session for each one of said user terminals in response to initial requests sent from said user terminals; ( c) receiving subsequent requests from each one of sa id user terminals for retrieving subsequent pages for each one of said user terminals; among a group of web browsers, (2) track activities performed to the web pages, and (3) synchronize activities performed to data elements on a web page that is being displayed at a group of user terminals, and (4) track activities performed to data elements on a web page that is being 45 displayed at a group of user terminals. (d) monitoring activities performed to any of said initial and subsequent pages at each one of said user terminals; One diffculty in achieving such features is that individual browsers do not report all the activities performed to a web server. For example, when a browser loads web pages from send requests to any web servers. This increases the dif- (e) storing information about the activities performed to any of said initial and subsequent pages at each one of said user terminals into sessions created for each one of said user terminals. The present invention also provides corresponding system its browser cache space or from a proxy server, it does not 50 for the respective aspects mentioned above. culty to synchronize and' track the activities from the browser. BRIEF DESCRIPTION OF THE DRAWINGS The purpose and advantages of the present invention will be apparent to those skiled in the art from the following Another diffculty in achieving such features is to design application programs portable to diferent web browsers. 55 detailed description in conjunction with the appended drawing, in which: Application programs designed to perform the feature for FIG. 1 shows a system includes N terminals, a network, one web browser are typically not portable to aoother web and a web site, in accordance with the present invention; browser manufactured by another vendor because browser interface mechanisms are proprietary. FIG. 2 shows a situation where each of the N terminals Still another difculty in achicving such featurcs is that 60 has downloaded its respective Master Applets, DTS Applets, individual browsers send their requests to web servers in a and SessionID Applet, in accordance with the present invenDTS Applets, and SessionID Applet being downloaded into Therefore, there is a need for an improved method to 65 a terminal, in accordance with the present invention; dependably organize and manage information for web synPIG. 4 shows the process the (consumer) Master Applet, chronization and tracking. DTS Applets, and SessionID Applet being invoked, in stateless manner. To a web server, a preceding request has no relation with a subsequent request. In processing of requests, a web site has no control over the sequences of the requests. tion; FIG. 3 shows the process the (consumer) Master Applet, www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 26 of 36 5,951,643 3 response to loading a subsequent web page, to perform the operations in accordance with the present invention, when these Applets have been previously downloaded and cached in a terminal; 4 the spirit and scope of the invention. Thus, the present invention is not intended to be limited to the embodiment(s) shown, but is to be accorded with the broadest scope consistent with the principles and features disclosed herein. FIG. 5 shows the process of the (consumer) Master Applet, DTSApplets, and SessionID Applet being invoked, in response to loading a subsequent web page, to perform the Referring to FIG. 1, there is shown an exemplary web page synchronization system 100, in accordance with the present invention. operations in accordance with the present invention, when As shown in FIG. 1, the system includes N terminals both these Applets and the web page have been previously (104A, . , combination of 104N), a network 129 (the 10 Internet,. or. a 104K, . . . , andthe Internet and an Intranet), downloaded and cached in a terminal; FIG. 6 shows a session table in greater detail, in accorand a web site 134. Each of the terminals has a telephone set dance with the present invention; (102A, . . . , 102K, . . . , or 102N) installed in its vicinity. Each of the terminals can be a PC computer, a workstation, FIG. 7 shows how an agent (or supervsor) can create a session interface by downloading an agent page (or a supervisor page) from administration page repository 149, in accordance with the present invention. FIG. 8A shows an agent session interface, in accordance with the present invention; 15 a Java station, or even a web TV system. Web site 134 includes a WTS (Web Tracking and Synching) gateway 142, a WTS server 144 containing a session table 145 and a user class table 147, a database processing application 148, an HTf (Hyper Text Transfer FIG. 8B shows a browser supervisor session interface, in 20 Protocol) server 152, and a hard disk unit 154 for storing consumer page repository 146, administration page reposiaccordance with the current invention; . tory 149, and database 156. All the components in web site FIG. 8C shows a supervisor agent session interface, in 134 can be installed in one or more computer systems. Each accordance with the present invention; of the computer systems includes a processing unit (which FIG. 9 shows a flowchart illustrating the operation of joining a session by an agent, in accordance with the present 25 mayainclude a plurality of processors), a memory device, and disk unit (which may include a plurality of disk sets). invention; Each of the terminals (104A, . . . , I04K, . . . , or 104N) FIG. 10 shows a screen display containing two browse instances, in accordance with the present invention; includes a processor unit (not shown) and a memory area (115A, . . . , 115K, . . . , 115N), and runs a Java enabled web FIG. 11 shows a flowchart ilustrating the operation of 30 browser (114A, . . . , 114K, . . . , or 114N). Each of the web page synchronization, in accordance with the present memory area (115A, . . . , 115K, . . . , or 115N) is maintained invention; by its respective browser (114A, . . . , 114K, . . . , or 114N). Via network 129, each of the browsers (114A, . . . , I'G.12Ashows a web page containing five data fields, in 114K, . . . , or 114N) is able to send requests to and receive accordance with the present invention. FIG. 12B shows a web page that is similar to that of FIG. 35 web pages from HTTP server 152, and. to display the web pages received at its respective terminaL. Each of the brows12A, except that the data in one of the five data fields is ers (114A, . . . , 114K, . . . , or 114N) is able to run a Master changed, in accordance with the present invention; Applet (124A, . . . , 124K, . . . , or 124N), a set of DTS (Data FIG. 13 shows a flowchart illustrating the operation of Tracking and Synching) Applets, a SessionID Applet, and an data synchronization, in accordance with the present inven40 Agent Applet. As shown in FIG. 1, these Applets are stored tion; in consumer page repository 146 and can be downloaded FIG. 14 shows a flowchart illustrating the operation of from consumer page repository 146 and stored in the web page tracking, in accordance with the present invention; memory areas of the terminals (104A, . . . , 104K, . . . , I04N). FIG. 15 shows a flowchart illustrating the operation of data tracking, in accordance with the present invention; 45 Referring to FIG. 2, there is shown the situation where each of the terminals (104A, . . . , 104K, . . . , or 104N) has FIG. 16 shows a flowchart illustrating the operation of joining a session by a supervisor, in accordance with the downloaded its respective Master Applets (124A, . . . , 124K, . . . , or 124N), DTS Applets (126A, . . . , 126K, . . . , present invention. FIG. 17, there shows three browser instances for a supervisor, in accordance with the present invention; or 128N), and SessionID Applet (128A, . . . , 128K, . . . , 50 128N), in accordance with the present invention. In FIG. 2, each of the (consumer) Master Applet FIG. 18 shows a flowchart ilustrating the operation of (124A, . . . , 124K, . . . , or 124N) is primarily responsible re-browsing a web page previously viewed in a session, in for: (1) in response to loading each web page at its respective accordance with the present invention; and browser, opening a dedicated socket, and establishing a FIG. 19 shows a flowchart illustrating the operation of 55 socket connection to WTS gateway 142 via network 129 for re-browsing all web pages previously viewed in a session, in its respective browser (114A, . . . , 114K, . . . , 114N), (2) accordance with the present invention. communicating with WTS server 144 via the socket connection, from which WTS server 144 is able identify the DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS origin (i.e. which browser, which web page, etc.) of the 60 commands and information that are being delivered through, The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular applica tion and its requirements. Various modifications to the preferred (3) monitoring the activities of its respective browser, (4) sending the information about its respective browser's activities to WTS server 144, (5) receiving and processing the information about other browsers' activities, (6) via the to WTS server 144 for DTS Applets (126A, . . . , 126K, . . . , or 126N), SessionID Applets (128A, . . . , 128K, . . . , or embodiment(s) will be readily apparent to those skilled in 65 socket connection, providing a single communication path the art, and the principles defined herein may be applied to other embodiments ancl applications without departing from ww.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 27 of 36 5,951,643 5 U8N), or any other consumer Applets embedded on the 6 embedded into consumer web pages. Exemplary consumer same page with the Master Applet, (7) sending commands .to Applets include: (consumer) Master Applet, DTS Applets, WTS server 144 to request services, for itself and for DTS SessionID Applet, etc. Applets (126A, 126K, . . . , or 126N), SessionID Applets Administration page repository 149 stores the web pages (USA, . . . , 128K, . . . , or U8N), or any other consumer 5 and Applets for call center administration users, including: App1ets embedded on the same page with the Master Applet, administrator, supervisor, agent, etc. Administration Applets and (8) sending user class information together with the can be selectively embedded into administration web pages. commands, to indicate that its respective browser is a Exemplary administration Applets include: (administration) consumer user. Master Applet, Agent Applet, Supervisor Applet, etc. Each set of DTS Applets (126A, . . . , 126K, . . . , or 126N) 10 To better describe the present invention, the Applets contains one or more individual DTS Applets, which are stored in (or downloaded from) repository 146 can be primarily responsible for: (1) displaying and monitoring the referred to as consumer Applets, and the Applets stored in data activities (data inputs or data updates of data fields) on (or downloaded from) repository 149 can be referred to as web pages that are being displayed by its respective browser, administration Applets. For example, the Master Applet (2) sending the data activities to WTS server 144 via its 15 stored in (or downloaded from) repository 146 can be respective Master Applet, (3) receiving the data activities referred to as consumer Master Applet, and the Master from other browsers via its respective Master Applet, and (4) Applet stored in (or downloaded from) repository 149 can be processing the data activities from other browsers for the referred to as administration Master Applet~. HTT server web pages that are being displayed by its respective browser. 152 contains a security application that allows consumer Each of the SessionID Applets (U8A, . . . , 128K, . . . , 20 users to get access only to the web pages stored in consumer or 12SN) is responsible for retrieving, and for displaying on page repository 146, and allows administration users (such as administrator, supervisor, agent, etc.) to get access to the a web page the current SessionlD. web pages stored in both consumer page repository 146 and A~ shown in administration page repository 149, Agent Applet (or Supervisor Applet) is responsible for creating a 25 administration page reposIlory 149. session intedace, joining, monitoring, and controlling a Session table 145 is responsible for maintaining the session through the session interface. The( administration) information for all active sessions. Master Applet is primarily responsible for: (1) opening a Class table 147 is responsible for keeping records of user dedicated socket, and establishing a socket connection to classes assigned to diferent users. Listed are exemplary user WTS gateway 142 via network 129 for the session interface administrator, supervisor, agent, created by Agent Applet, Supervisor Applet, or any other 30 classes: d on user classes (administrator, and consumer. Base supervisor, agent, administration Applet~ embedded on the same web page and consumer), WTS server 144 provides the following with the Master Applet, (2) communicating with WTS server services: 144 via the socket connection, from which WTS server 144 (1) crea ting a session (consumer); is able identify the origin (i.e. from which session interface) 35 (2) storing data received from a session participant of the commands and information that are being delivered through, (3) via the socket ccn.riecticn, providing a single communication path to WTS server 144 for Agent Applet, Supervisor Applet, or any other administration Applets (supervisor, agent, and consumer); embedded on the same web page with the Master Applet, 40 and (4) sending user class information together with the commands, to indicate that its respective browser is an administration user. WTS gateway 142 is responsible for maintaining all socket connections between Master Applets and WTS server 45 144. The connections between Master Applets and WTS (3) listing active sessions (administrator and supervisor); (4) listing the information associated with active sessions (administrator, and supervisor); (5) listing current users (administrator); (6) joining a session (supervisor and agent); (7) terminating a session (supervisor); gateway 142 take place using standard sockets. The connection between WTS gateway 142 and WTS server 144 takes place using RMI (Remote Method Invocation). (8) monitoring a session (supervisor and agent); (9) configuring a session parameters (administrator); and (10) sending commands and information to a consumer Master Applet or an aclministration Master Applet in a participating browser (supervisor, agent, and consumer). WTS server 144 is responsible for: (1) managing and 50 tracking the activities of all browsers participating in active session table 145. sessions, exemplary activities including: loading of, interHTT server 152 is responsible for processing the acting with, and unloading of web pages, (2) recording the requests issued by one of the web browsers, retrieving the information about the activities, (3) managing the synchroweb pages from eIlher consumer page repository 146 or nization of the activities for all browsers participating in the 55 administration page repository 149, and sending the web active sessions, (4) creating a session when a consumer user pages to the browsers that have generated these requests. (via a browser) sends a request to web site 134 for the first Database processing application 148 is responsible for time, (5) defining the session length intervals, (6) purging writing the.data collected in session table 145 into database sessions that have been inactive for more than the specifed 156. session length intervals, (7) adding and deleting participants 60 Referring to FIG. 3, there is shown the process of how the to a session, and (8) providing services to all commands (consumer) Master Applet, DTS Applets, and SessionID from consumer Applets, such as: (consumer) Master Applet, Applet being downloaded into terminal 104A from HTT DTS Applets, SessionID Applets, and administration server 152 in response to loading an initial web page, and Applets, such as: (administration) Master Applet, Agent then being invoked to perform the operations in accordance Applets, and Supervisor Applet. 65 with the present invention. Consumer page repository 146 stores the web pages and As shown in FIG. 3, a (consumer) Master Applet, a set of Applets for consumers. Consumer Applets can be selectively DTS Applets, and a SessionID Applet are embedded into Database 156 is responsible for storig data collected in ww.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 28 of 36 5,951,643 7 web page 204 by using a set of appli:t tags 208. Web page 8 126A, and SessionID Applet 12SA. As indicated by dotted line (3), web browser 114A loads web page 214. As indi- 204 is associated with a specific URL indicating the location of web page 204 in HTT server 152. cated by dotted lie (4), in response to the loading of web As indicated by dotted line (1), web browser 114Asends page 214, web browser 114A locates Master Applet 124A, a request including the URL of web page 204 to HTlP 5 DTS Applets 126A, and SessionID Applet 128A (based on server 152 via network 129. As indicated by dotted line (2), the indication of applet tags 208) that are cached by browser 114Ain memory area 115A, and initializes these in response to the request, HTT server 152 retrieves web. page 204 from consumer page repository 146 and sends it to web browser 114A via network 129. Web page 204 contains a set of applet tags 208, which indicate the location of 10 Applets and thcn invokes them. As indicated by line (5), Master Applet 124A opens a dedicated socket and establishes a socket connection to WTS gateway 142 for browser 114A and web page 214. Via the socket connection established for browser Master Applet, DTS Applets, and SessionID Applet in HTT server 152. As indicated by dotted line (3), web browser 114A loads web page 204. As indicated by dotted line (4), since Master Applet, DTS Applets, and SessionID Applet have not been downloaded, web browser 114A sends 15 114A and web page 214, Mastcr Applet 126A sends a command, together with the ID unique to browser 114A and the URL of web page 214, to inform WTS server 144 that web page 214 has been loaded. WTS server 144 issues a time stamp (loading time) indicating the time the command requests via network 129, to download these Applets based on applet tags 208. As indicated by dotted line (5), HTT server 152 sends Master Applet, DTS Applets, and SessionID Applet to browser 114A via network 129. As indi124A, DTS Applets 126A, and SessionID Applet 128A into was received and stores the URL and time stamp of web page into the session created for browser 114A. As wil be seenin the description in connection with FIG. 6, following, cated by dotted lie (6), browser 114Astores Master Applet 20 URL, command, and loading time are stored in a URL history list and a command list created for the session. Referring to FIG. S, there is shown the process of the (consumer) Master Applet 124A, DTS Applets 126A, and are running togethcr with web browser 114A, to monitor and SessionID Applet 128A being invoked, in response to loadproces the activities for which they are assigned to be 25 ing a subsequent web page 224 (subsequent to web page responsible. As indicated by line (7), Master Applet 124A 214), to perform the operations in accordance with the opens a dedicated socket and establishes a socket connection present invention, when both these Applets and web page to WTS gateway 142 for browser 114A and web page 204. 224 have been previously downloaded and cached by Via .the socket connection, Master Applet 126 sends WTS browser 114A in terminal 104A. server 144 a command, together with an ID unique to 30 A~ indicated by dotted line (1), web browser 114A loads browser 114A. In response to the command from Master web page 224 cached in memory area USA maintained by Applet 126, WTS server 144 creates a session for browser browser 114A. Like wcb pages 204 and 214, wcb page 224 114A based on the unique ID, and issues a time stamp contains a set of applet tags 208 indicating the location of Master Applet 124A, DTS Applets 126A, and SessionID (loading time) indicating the time at which the command was received, and stores the URL and time stamp of web 35 Applet 128A. Before loading web page 224, the following page 204 into the session created for browser 114. As will events occur: (a) browser 114A instructs Master Applet see in the description in connection with FIG. 6 following, 124A to run a stop routine, (b) via the socket connection the URL, command, and loading time are stored in a URL established for browser 114A and web page 214A, Master history list and a command list created for the session. Applet 124A sends a command to inform WTS server 144 Referrig to FIG. 4, there is shown the process of the 40 that wcb page 214 has been unloaded, and disconnects the socket connection established for browser 114A and web (consumer) Master Applet 124A, DTS Applets 126A, and SessionID Applet 128A being invoked, in response to loadpage 214, (c) WTS server 144 issues a time stamp ing a subsequent web page 214 (subsequent to web page (unloading time) indicating the time the command was memory area 115A of terminal 104A, and initializes and invokes these Applets. Afer being invoked, these Applets 204), to perform the operations in accordance with the received, and (d) WTS server 144 records the URL and time present invention, when these Applets have been previously 45 downloaded and cached in terminal 104A. A~ indicated by dotted line (1), to download web page 214, web browser 114A sends a request including the URL of web page 214 to HTT server 152 via network 129. routine, (b) via the socket connection established for stamp of web page 214 into the session created for browser 114A. As will be seen in the description in connection with FIG. 6, following, the URL, command, and unloading time are stored in a URL history list and a command list creatcd for the session. As indicated by dotted line (2), in rcsponse 128A that have been cached by browser 114A in memory Before loading web page 214, the following events occur: 50 to the loading of web page 224, browser 114A locates Master Applet 124A, DTS Applets 126A, SessionID Applet (a) browser 114Ainstructs Master Applet 124A to run a stop browser 114A and web page 204, Master Applet 124 sends a command to inform WTS server 144 that web page 204 has been unloaded, and disconnects the socket connection estab- 55 area llSA in terminal 104A, and initializes and invokes these Applets. As indicated by line (3), Master Applet 124A opens a dedicated socket and establishes a socket connection to WTS gateway 142 for browser 114A and web page 224. Via the socket connection established for browser 1141\ and web page 224, Master Applet 126A sends a command, lished for browser 114A and web page 204, (c) WTS server 144 issues a time stamp (unloading time) indicating the time the command was received, and (d) records the URL and the time stamp of web page 204 into the session created for time are stored in a URL history list and a command list created for the session. As indicated by dotted line (2), HTTP server 152 retrieves web page 214 from consumer together with the ID unique to browser 114A and the URL browser 114A. As will be seen in the description in connec- 60 of web page 224, to inform WTS server 144 that web page tion with FIG. 6, following, URL, command, and unloading 224 has been loaded. WTS server 144 issues a time stamp (loading time) indicating the time the command was received and stores the URL and time stamp into the session created for browser U4. As wil be seen in the description page repository 146 and sends it to browser 114A. Like web 65 in connection with FIG. 6, following, the URL, command, page 204, web page 214 contains a set of applet tags 208 for and loading time are stored in a URL history list and a indicating the location of Master Applet 124A, DTS Applets command list created for the session. www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 29 of 36 5,951,643 9 In the example shown in FIG. 5, it should be appreciated 10 a session, (4) a data list for maintaining information about that even through no request arrives at HTT server 144 the data fields on the web pages visited by all participants in when web page 224 is loaded from cached memory in a session, and (5) a command lit for maintaining information about all commands issued to WTS server 144 by the terminal I04A, Master Applet 124A still sends browsing activities to WTS server 144. 5 various participants in a session. Typical items in a session list are: (1) SessionID for It should be noted that the processes shown in FIGS. 3-5 identifying a session, (2) UserName for indicating the actual of loading and invokig Master Applet, DTS Applets, and name for whom the session is created, (3) StartTime for SessioolD Applet for terminal 104A can also be used for indicating the time of starting the session, (4) StopTime for terminals 104K, . . . , I04N. In FIGS. 3-5, Master Applet, DTS Applets, and Ses- 10 indicating the time of stopping the session, and (5) SessionNotes for recording the notes of the session. sionlD Applet are all embedded into web pages 204, 214, Typical fields contained in a participant list are: (1) and 224. However, it should be noted that not all the Applets SessionlD for linking the participant list to a session, (2) are required to be embedded into a web page. Depending on ParticipantID for identifying a participant, (3) Participanthe desired functions to be performed, respective Applets can be selectively embedded into a web page by selectively 15 Class for indicating the user class of the participant tAddresses for indicating a participant's IP address, (4) setting applet tags in the web page. For example, if data synchronization and trackig of individual elements are not needed, the applet tags for ling DTS Applets can be eliminated from the web page. By the same token, if Typical fields contained in a URL history list are: (1) additional functions are needed, additional applet tags can 20 SessionID for linking the URL history list to a session, (2) be added into the web page to link additional Applets. PageURL for indicating the URL of a web page visited, (3) Referring to FIG. 6, there is shown session table 145 (see ParticipantID for identifying a participant who visited the web page, (4) LoadingTime for indicating the loading time FIG. 1) in greater detail, in accordance with the present of the web page, and (4) UnloadingTime for indicating the invention. While browsers at their respective terminals are browsing 25 unloading time of the web page. Typical fields contained in a data list are: (1) SessionID through the web pages in web site 134, WTS server 144 for ling the data list to a session, (2) WasRelayed for collects and analyzes the information about the interactions indicating if this data field has been broadcasted, (2) Fieldbetween all browsers and the web pages that have been Name for indicating the actual name of the data field, (3) downloaded to the browsers from web site 134. One diffD for of culty in collecting and analyzing such information is that 30 onataNamepage,indicating the nameindicatingthe data field displayed a web (4) DataValue for the value of the browsing individual web pages in web site 134 is a stateless data field, (5) TimeStamp for indicating the time at which process. More specifically, web site 134 receives a sequence this data field is updated, (6) URL for indicating the web of requests from different browsers, and sends the respective page on which the data field was displayed, and (7) Particiweb pages to the respective browsers in response to the pantID for indicating the participant browser who updated sequence requests. Since in processing the requests from an 35 this data field. individual browser, web site 134 does maintain a constant Typical fields contained in a command list are: (1) Sesconnection lo the same browser to keep an one-to-one sionib for linkng the data list to a session, (2) Comrra'nd for relationship, web site 134 has no control over, or maintain indicating the specifc command executed (loading a pagc, data on, the sequences of the requests from the browsers. unloading a page, changing a data field, etc.), (3) URL for To meaningfly collect and analyze thc information 4D indicating the web page to which the command operated, (4) about the interactions between the browsers and web pages, FieldPoint for indicating the data field to which the coma session is defined as a collection of web page interactions mand operated, and (5) TimeStamp for indicating the time at that occur over a given period of time from a specific which command was executed. browser. A session is created when a browser first hits web Before a session is purged from session table 145, datasite 134, and a session window (or session length interval) 45 base processing application 147 stores the associated session (customer, agent, supervisor, administrator, etc.) and (5) Direction for indicating the synchronization direction for the participant browser. is defined for the session. If activities from a specifc browser (identified by an ID unique to the browser, isued by list, URL history list, and command list to database 156. The data contained in these three lists can be late used by data warehouse integration applications. Referring to FIG. 7, there is shown an operation for a respective Master Applet) does not occur within the session window, the session is terminated and cleaned up by time zero) each time the information about the associated WTS server 144. A session window is refreshed (reset to 50 creating a session interface for an agent (or a supervisor) by downloading an agent page (or a supervisr page) from browser is sent to WTS server 144. For example, if a session window is defined as 15 minutes, as long as the associated terminal has some activity every 15 minutes, the session wil administration page repository 149, in accordance with the present invention. In the example shown in FIG. 7, it is assumed that administration user class (either agent user the access to the web page stored in both consumcr pagc remain open. After 15 minutes of inactivity, the session is 55 class or supervisor user class) is assigned to terminal 104N, terminated and purged. A subsequent request from the same so that the security application in HTT server 152 grants terminal will cause a new session to be created. l\fter a session has been created for a terminal, one or more other repository 146 and administration page repository 149. terminals can join the session. At step 702, an agent at terminal 144N types in an agent As shown in FIG. 6, session table 145 includes M Session 60 URL at terminal 104N, and browser 114N sends the URL to IDs created for M sessions respectively. Each of the session HTT server 152, to retrieve an agent page, in which an ID is associated with: (1) a session list for maintaining (administration) Master Applet and an Agent Applet are informa tion about a session, (2) a participant list for mainembedded. For a supervisor, he/she types in a supervisor taining information about all participant browsers in a URL at terminal 104N, and browser 114N sends the URL to session (note: when a session is first created, it only contains 65 HTT server 152, to retrieve a supervisor page, in which an one participant), (3) a URL history list for maintaining (administration) Master Applet and a Supervisor Applet are information about all web pages visited by all participants in embedded. www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 30 of 36 5,951,643 11 At step 704, HTT server 152 retrieves the agent page (or a supervsor page) from administration page repository 149 and sends it to browser 114N. 12 consumer page repository 146 via browser 114A, (2) session list 1 shown in FIG. 6 has been created for browser 114A, (3) an agent class has been assigned to browser 114N, (4) At step 706, browser 114N downloads the agent page, in page, in which a Master Applet (administration Master Applet) and a Supervisor Applet are embedded. At step 708, browser 1l4N downloads the Master Applet which a Master Applet (administration Master Applet) and 5 displayed on terminal 104N; (5) a (administration) Master an Agent Applet are embedded; or downloads the supervisor Applet and Agent Applet have been previously downloaded agent session interface 800A shown in FIG. 8A has been into browser 114N, (6) a dedicated socket connection has been established for session interface 800A displayed at and Agent Applet from HTT server 152, initializes and 10 terminal 100N by the (administration) Master Applet, and (7) the agent at terminal 104A is on duty at a call center. invokes these Applets; or downloads the Master Applet and As shown in FIG. 9, at step 902, the consumer is browsing Supervisor Applet from H'ITP server 152, initializes and invokes these Applels. At step 710, Master Applet opens a dedicated socket, establihes a socket connection to WTS gateway 142, and a web page at terminal 104A. On the web page, SessionlD Applet 128A displays the current session ID. A call center telephone number the consumer can call is also displayed on sends an ID unique to browser 114N to WTS server 144. 15 the web page. At step 904, the consumer is connected to the call center WTS server 144 is able to identif browser 114N based on by dialing the telephone number via telephone 102A (see the unique ID. FIG. 1), and the call is directed by the call center to the At step 712, Agent Applet creates an agent session inter- face 800A shown in figure BA for the agent user; or Supervisor Applet creates a supervisor session interface 20 agent. 800B shown in FIG. 8B for the supervisor agent. Referrig to FIG. 8A, there is shown an agent session interface 800A created for an agent at step 712, in accordance with the present invention. At step 906, the consumer tells, via telephone 102A (see FIG. 1), the agent the current session ID displayed. It should be noted that, instead of using the telephone, the agent can be informed of the current session ID by alternative methods. For example, the consumer can enter his!ler telephone number into a special web page that contains the caller ID As shown in FIG. 8A, the session interface contains a text 25 box 804 for enterig a session ID, a Join session button 806 for joining a session identified by the session ID, a drop button 808 for leaving a session, a leader check box 810 (selecting of which designates a browser as a leading of the consumer along with the current session ID. This information can be stored into a special lookup table that can be used by the agent to lool-up the current session ID. At step 908, at terminal 104N, the agent types the current browser in synchronization), a follower check box 812 30 session ID into text box 804 (see FIG. 8A). At step 910, in response to a loss of focus or a pressing (selecting of which designates a browser as a following browser in synchronization), a scrollable list box 816 for of the Enter key, through the socket connection established displaying the information contained in the participant list associated with a selected session, a scrollable list box 818 for displaying the information in an identified URL history 35 list, and a text box 820 for displaying the information in an identiled data list. If both the leader and follower check boxes 810 and 812 are selected in the agent session interface, browser 114A acts as both leading and following browser in synchronization. Referring to FIG. 8B, there is shown a browser supervisor session interface 800B created for a supervisor at step 712, in accordance with the current invention. 40 for agent session interface 800A displayed on terminal 104N, the (administration) Master Applet at terminal 100N sends a command to WTS server 144, to retrieve the information in participant list 1, URL history lit 1, and data list 1 (see FIG. 6) for the Agent Applet. At step 912, WTS server 144 sends the information requested to the Agent Applet (via the Master Applet). At step 914, the Agent Applet at terminal 104N displays some information from participant list 1 and URL history list 1 in (participant) scrollable list box 816 and (URL history) scrollable list box 818, respectively. At step 916, the agent selects join button 806 in agent As shown in FIG. 8B, the session interface contains a sessions in session table 145 and for selecting one of the session IDs, a text box 834 for displaying relevant statistics of WTS server 144, a multi column scrollable list box 836 for displaying details about the session selected in scrollable scrollable list box 832 for displaying session IDs of all active 45 session interface 800A displayed on terminall04N. At step 918, in response to the selection at step 916, through the socket connection which has been established for agent session interface displayed on terminal 104N, the (administration) Master Applet sends WTS server 144 a list box 832, a select session button 838 for selecting a 50 command to join the selected session. Based on the identisession from scrollable list box 832. By using the informa- tion in scrollable list box 832, a supervisor agent can monitor all active sessions. By using the information in multi column scrollable list box 836, a supervisor can monitor operational status of a session selected from scrol- 55 fication associated with the socket connection, WTS server is able to generate a ParticipantID for browser 114N and to find the ParticipantAddress for terminal 104N. lable list box 832, including: (1) whether this session is being helped by an agent, (2) user name, and (3) agent !D. At step 920, WTS server 144 stores the ParticipantID and ParticipantAddress into participant list 1. At this step, participant list 1 includes two participant records (two rows) containing the Participant!Ds for browsers 114A and 114N By selecting select session button 838, a supervisor can respectively. create an agent session interface as shown in FIG. 8C At step 922, at terminal 104N, the agent selects: leading Referring to FIG. 8C, there is shown a supervisor agent 60 check box 810 or following check box 812, or both of them. session interface 800C, in accordance with the present By only selecting leader check box 810, the activities at invention. terminal 104N are synchronized at terminal 104A, but not Referring to FIG. 9, there is shown a flowchart ilustrating other way around. By only selecting follower check box the operation of joining a session by an agent, in accordance 812, the activities at terminal 104A are synchronized at with the present invention. In the example shown in FIG. 9, it is assumed that: (1) a consumer at terminal 104A is browsing web pages from 65 terminal 104N, but not other way around. By selecting both leader and follower check boxes 810 and 812, the activities at terminals 104A and 100N are synchronized with each www.freepatentsonline.com Case 3:06-cv-02361-WHA Document 22-4 Filed 07/06/2006 Page 31 of 36 5,951,643 13 other (bi-directional synchronization). In response to the selection(s), through the socket connection which has been established for agent session interface SOOA, the 14 At step 1106, in response to the loading of the web page, browser 114A initializes and invokes Master App1et 124A, DTS Applets 126A, and SessionID Applet 12SA. At step 110S, Master Applet 124A: (1) opens a dedicated 5 socket, and establishes a socket connection to WTS gateway 142 for browser 114A and the web page loaded, and (2) via the socket connection, sends WTS server 144 a command command designating the synchronization direction. WTS server 144 stores the synchronization direction information into the Direction fields of the two records in participation list 1. In this example, it is assumed that the bi-directional synchronization has been selected for terminals 104A and 104N. (administration) Master Applet sends WTS server 144 a together with an ID unique to browser 114A and the URL of the web page loaded. Based on the unique ID, WTS server At step 1112, WTS server 144 locates all IP addresses. assigned to participant terminals in participant list 1 (shown At step 926, the Agent Applet at terminal 104N opens a in FIG. 6), and sends a command, together with the URL, to browser widow 1004 (a second browser instance) as shown 15 all the participant terminals (except that WTS server 144 in FIG. 10. does not sent the URL to terminal 104A, because the URL browsed at terminal 104A. At step 924, WTS server 144 sends the (administration) Master Applet the URL of the web page being currently 10 is able to identify the session created for browser 114A. At step 1110, WTS server 144 identifies the session for browser 114A. At step 928, browser 114N downloads the web page identied by the URL from consumer page repository 146, is originated from terminal 100A). At step 1114, upon receiving the command, the and displays it in browser widow 1004. A (consumer) Master Apple!, a set of DTS Applets, and a SessioolD Applet 20 tialize themselves and pass the URL to their respective browsers. (consumer) Master Applets in the participant terminals ini- are embedded in the web page downloaded. At step 930, browser 114N downloads (consumer) Master Applet 124N, set of DTS Applets 126N, and SessionID Applet 12SN. At step 1116, the respective browsers in the participant terminals dbwnload and display the web page according to the URL. At step 932, the web pages displayed in second browser 25 window 1004 at terminal 104N are being synchronized with the web pages being displayed at terminal 104A. It should be noted that, like terminal 104A, each of the participant terminals (at which agent session interface is displayed) can lead the page synchronization using the After step 932, if the agent (the first agent) at terminal 104A needs assistance from another agent (the second agent) operation shown in FIG. 11. Referring to FIG. 12A, there is shown a web page at terminal 104K, the first agent can call the second agent 30 containing five data fields, specifically: name 1202, time and tell him!ler the current session ID. The second agent can period 1204, account balance 1206, payment 120S, comthen join the current session using an agent session interface ments 1210, a text box 1212 for displaying the current as shown in FIG. SA displayed at terminal 104K. session ID, and a text box for displaying the call center Referring to FIG. 10, there is shown a screen display number the consumer can call, in accordance with the containing two browser instances (SOOA and 1004) at ter- 35 present invention. minal 104N, in accordance with the present invention. Referring to FIG. 12B, there is shown a web page that is As shown in FiG. l, at terminal l4N, the first browser similar to that of FIG. 12A, except that the data in the field instance provides an agent session interface SOOA to control of name .202 is changed from Susan King to Sue Grant and and monitor the current session, and the (adm

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?