Mirror Worlds, LLC v. Apple, Inc.

Filing 150

CLAIM CONSTRUCTION BRIEF filed by Apple, Inc.. (Attachments: #1 Affidavit, #2 Exhibit A, #3 Exhibit B, #4 Exhibit C - Part 1, #5 Exhibit C - Part 2, #6 Exhibit C - Part 3, #7 Exhibit C - Part 4, #8 Exhibit C - Part 5, #9 Exhibit C - Part 6, #10 Exhibit C - Part 7, #11 Exhibit C - Part 8, #12 Exhibit D, #13 Exhibit E, #14 Exhibit F, #15 Exhibit G - Part 1, #16 Exhibit G - Part 2, #17 Exhibit G - Part 3, #18 Exhibit G - Part 4, #19 Exhibit G - Part 5, #20 Exhibit H)(Cherensky, Steven)

Download PDF
Mirror Worlds, LLC v. Apple, Inc. Doc. 150 Att. 16 Figures 2f and 2g show two different embodiments which utilize an outer zone and inner zone for allowing the user to select between the creation of a pile where the user can control the appearance of the pile and the creation of a 5 pile where the user delegates to the system the task of placing the document neatly on top of a new pile. An inner zone 77 is contained within the interior of the circle shown over an icon of a document 75 in Figure 2g. The inner zone 77 is used to indicate to the computer system that the user desires to indicate to the computer system that the user desires to control the positioning of documents in 10 the pile so that the appearance of the graphical representation of the pile is, at least to the extent of the orientation of documents in the pile, controlled by the user. An outer zone 76 is contained within the circle shown over the icon 75 excluding the region in the inner zone 77. That is, the outer zone 76 is an annular ring having two boundaries defined by the outer circle of Figure 2f and the inner circle of Figure 2g; this annular ring may be thought of as the subtraction of the area within the inner circle from the area within the outer circle. The outer zone 76 is used to indicate to the computer system that the user desires to allow the computer system to control the positioning of documents in the pile. The user may when adding one document to the pile 20 use the inner zone 77 to control positioning, and then when adding another document to the pile the user may use the outer zone 76 to allow the computer system to control the positioning of the new document in the pile. The circles of Figures 2 f a n d 2g would typically not be shown during use of the invention, and they are shown in these figures for purposes of illustration. The shape and size 25 of the inner and outer zones is a design choice which may be varied to suit the . user's desire. The operation of using the inner and outer zone will be described 36 101 FH 041 Do MW .Jus ia. 85 APckets002t58com by referring to Figures 11 a and 11 b which use a different shape and size for the inner and outer zones. Figure 11 a shows the circumstance where the user, by using the outer 5 zone, allows the system to neatly place the document on top of the new pile, and Figure 11 b shows four stages of where the operation where the user creates a new pile and controls, by using the inner zone, the positioning of the documents in the pile and hence the appearance of the pile. In the embodiment shown in Figure 11 a, the user selects a document and moves the selected document on top of the document 450 shown at stage 451 of Figure 11 a. The document which has been selected is.not shown at this stage in the figure in order not to obscure the outer and inner zones of the document 450. The outer and inner zones are not normally displayed during the use of the invention, and they are shown in Figures 11 a and 11 b for purposes of illustration. The user, having selected a document positions the cursor 453 over the outer zone 452 of the document 450 as shown in stage 451. This is also shown at stage 455 where the cursor 453 has been used to select document 454 and the document 454 and the cursor 453 have been moved on top of the outer zone of document 450. When the user releases the mouse button indicating that the document 454 is no longer selected, the computer responds with animation as shown at stage 457 where the document icons 458 and 460 are inclined and rotated and finally in stage 459 are shown deposited neatly on top of a base 461 as a new pile. The operation of creating the new pile causes the base 461 to appear. In an alternative embodiment of the use of the outer zone 452, the user moves the 25 selected document over the outer zone 452 of the document 450 so that at least a portion of the inner zone (or some other central "hot spot") of the selected document (e.g. the inner zone of document 454) is over a portion of the outer 37 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _.·Il'i!lIIIll:·n%~~~ t_ : 101 FH 042 APMW0025886 zone of the document 450. Then the user indicates that the selected document is no longer selected (or that a pile is to be created) and the computer responds with the animation shown in stages 457 and 459 to create a neat graphical representation for the pile over the base 461. 5 The operation of creating a new pile while maintaining user control via the appearance of the pile is shown in Figure 11b and proceeds in a manner similar to that described for Figure 11a except t h a t t h e user positions the cursor 467 over the inner zone 466 of the document 450. Thus, as shown at stage 465 C!i \,],) ~1l;.~1 10 of Figure 11b, the cursor 467, after having selected a document and moving the document and the cursor while keeping the document selected, i s positioned over the inner zone 466 of the document 450. This is also shown at stage 470 of Figure 11b where the c u r s o r 467 is shown over the original document 482 which is selected, and the cursor 467 is also over the inner zone 466 (not ~Ji m ~rtji m C~If l ~, i~i'i ! 15 shown). Upon the user's reaching the inner zone of the bottom document icon 450, the computer responds at stage 473 by inclining and rotating the document icons and then by observing the position the user indicates by moving the cursor 467 relative to the bottom, document icon 481. As long as the top document icon is left touching the bottom document icon, the computer follows ru ',,;,~ i1i I:~' ~.;>(, " 20 the positioning of the top document relative to the bottom document and allows the user to position the document at any location. If the user moves the cursor outside of the b c t t o m d o c u m e n t icon such at the top document icon is no longer touching the bottom document icon then the computer system reverts back to showing two separate document icons which are not inclined and rotated. 25 When the user is satisfied with the position of the top document icon, relative to the bottom document icon user releases the selection on the top document (by releasing the mouse button) which causes the computer to respond as shown at 38 -------------------------------~'.:;:;:_'.;;;_M"~~ 101 FH 043 APMW0025887 stage 475 by creating a pile having a base 461 with the top document aligned according the user positioning of the top document relative to the bottom document as described previously. In an altemate embodiment of the use of the inner zone 466, the user moves the selected first document over the inner 5 zone 466 of the document 450 so that at least a portion of the inner zone (or some other central "hot spot") of the selected document 482 is over a portion of the inner zone of the bottom document 450 for at least a predetermined period of time. Then the user indicates that the selected document is no longer selected (or that a pile is to be created) and the computer responds with the 10 t"i .~IlI' animation shown in stages 473 and 475 to allow the user to position the top document 482 over the bottom document 450 in the manner described above. In en \t.jl ~'U ~ l;'~~~ ~~ nJ1 15 Figures 12a and 12b show the outer and inner zone designs respectively for the process of adding an item to a pile. The inner and outer zones are shown in Figures 12a and 12b for the purpose of illustration. The operation of adding to the pile and allowing the system to control the location of the new document, as shown in Figure 12a, is similar to the operation described relative to Figure 1 1 a . l n particular, the user selects a document and moves the document over to the pile and positions the cursor 503 (or alternatively the inner I~Ji n~ \~ ~~I nJ1 C~ 20 zone/hot spot of the selected document) in the outer zone of the pile as shown in stage 501. As shown in stage 50S, the document 506 which has been selected and moved along with cursor 503 is positioned over the pile and the cursor 503 is positioned in the outer zone. Upon releasing the selection of the document while the document and the cursor is positioned over the pile and 25 particularly the cursor is positioned over the outer zone, the computer responds at stage 511 by inclining the document 506 as it is positioned by the system on top of the pile. At stage 514, the operation is complete as the icon 506 is shown 39 101 FH 044 APMW0025888 on top of the graphical representation of the pile, which representation is dynamic as illustrated in the figures. The operation shown in Figure 12b allows the user 10 add a document anywhere in the pile. This is accomplished by selecting the document and taking the document with the cursor 517 and 5 positioning the cursor (or alternatively the inner zone/hot spot of the selected document) over the pile and particularly over the inner zone 516 of the pile shown at stage 515. After a predetermined period of time, the computer responds as shown at stage 520 with the view cone 518 and the proxy 519 within the view cone, which proxy shows the document immediately underneath .j.".';, ~ 10 the current location i n t h e pile which the user has selected by placing the cursor 517 (or alternatively the inner zone/hot spot of the selected document) into the inner zone. If the user is satisfied with this location the user releases the selection by typically releasing the mouse button on the mouse causing the pile appear as shown at stage 525. -"j\ \i~ o~ rJ~ r1l ia FP ~ q4j! " m ru ' ' Ji ~li . i' i:~i 15 The invention provides a method for the user to include a user defined specification, such as a script, for a pile. A user defined specification may be provided by the user (e.g. typing keywords as a specification or selecting a sample document, having an internal representation which is described below ~~~; 20 and which provides the specification) or may be suggested by the system and ratified by the user. Normally, the user can control whether a pile has such a specification and thus the system will not create such a specification without the user's approval. Not every pile needs or will have a user defined specification, although every pile will have an internal representation (described below) or a 25 user defined specification. 40 101 FH 045 APMW0025889 A tool for visualizing and organizing the contents of a pile will now be described by referring to Figure 13a and 13b. A pile 550 is shown within the visualization window 551 of Figure 13a. Typically, the user would select the pile 550 and then select a command from the c o m p u t e r which would invoke and 5 display this visualization window with the selected pile 550 within the window 551. The window 551 includes several command options which allow the user to view the pile in different ways and to order the contents of the pile in ~ifferent ways and to select between those different ways in order to obtain different appearances of the pile or to otherwise reorganize the pile (e.g. create subpiles 10 from a single original pile). For example, by placing the cursor over the arrow icon 555 and by selecting the icon 555 by depressing the mouse button or otherwise signalling to the computer to select the a r r o w icon 555, the user causes the computer to display a pull down menu indicating the various ways in which the contents of the pile may be ordered. The system shows in box 556 15 . that the pile is currently ordered by date which means either that the most recent items are on the top or the oldest items are on the top depending on the designer's preference. Other options which may be included in the "order" pUll down menu (activated by selecting arrow 555) may include: ordering by content; ordering by size; ordering by author (alphabetically). The operation of 20 the pull down menu is well known in the art and has been described for example in U.S. Patent Reissue 32,632. The arrow icon 560 allows the user to select the way in which the pile is colored. As shown in box 561 the system currently has colored the pile by date in which, in one embodiment, the most saturated shade of a color is displayed near the bottom of the pile (indicating 25 the older documents) then the top of the pile has a lesser saturated shade of the same color. It will be apparent to those in the art how to implement this function by assigning colors; for example picking a color in a perceptual color space 41 ----------~--------------------.$-§_fnlWlla d- a ~ ~ . 101 FH 046 APMW0025890 (e.g..Munsell color space) and varying the saturation of the c o l o r holding the luminance constant and the hue of the color constant. The range of the dates would be used to set the outer limits of the saturation. That is, the oldest and most recent documents would form the extremes of the saturation range and a 5 date in the middle of that range would specify a color in the middle of the saturation range. Other ways of presenting various colors according to a measure of the date/age of the document will be appreciated by those in the art, particularly by 10 referring to art relating to color management systems in computers. For example, the hue may be varied (e.g. from red to blue) while keeping a constant saturation and luminance. Alternatively, preselected colors (and the color values) may be used in a look-up table for mapping the measure of date/age of the document to one of the preselected colors in the look-up table. In a similar manner, the user may desire to view the color of the pile 550 according to the content of the pile. This would be done by the user selecting the arrow icon 560 to cause a pull down menu to appear below the arrow icon 560, which pull down menu would include the command option of "coloring by 20 content." The user would then select this command option placing the cursor over that command option and releasing the selection (e.g. by releasing the mouse button) which then causes the word "content" to appear within the box 561 indicating that the system will color the pile by content. This will be described in more detail below particularly with reference to Figure 20. 25 The visualization window 551 also includes an arrow icon 565 which activates a pull down menu to allow the user to select the manner in which the 42 101 FH 047 APMW0025891 pile is organized (e.g. "pile by content"). As shown in Figure 13a, the user has selected "pile by content" which may cause the system (depending on how related all documents are within the pile 550) to create subpllas from this pile 550. The user could have selected other options available in the pull down 5 menu from icon 565, such as, "pile by date," "pile by stamps," "pile by data type". "pile by source," etc. Let us assume that pile 550 is a pile of mail messages obtained through electronic mail which the user has moved out of a mail window such as window 61 and has selected this pile for visualization in a visualization window 551. Because it is a mail message pile, it is likely that the 10 contents of the various documents in the pile will vary over a large range and that the pile would be better organized into several subpiles according to ~) content. Accordingly the user has placed the pile into the visualization window 551 and desires to pile by content; that is, the user desires to make subpiles from the original pile. The user does this by selecting a command to indicate fJ~ n~ ~~i r.uJ ·,; riJ; ~ C~ nJi 15 that the pile should be piled by content. In the embodiment shown in Figure 13a, the user selects this by selecting the "arrow" button 565 which the user may do, for example, by placing the cursor over the region of the button 565 and pressing and releasing the mouse button or by otherwise signalling to the computer to make this selection. Upon making the selection, visualization 20 window 13b appears wherein three organized piles 575, 576 and 578 are displayed along with a miscellaneous pile ("other") 577. The system has, in addition to creating the subpiles, provided a name for each pile in the manner described below, particular with reference to Figure 15. At this point, the user may instruct the computer system to infer a user defined specification, for 25 example, a script, from the system created subpiles which could then be used to automatically file new mail documents received over the electronic mall network into one of the subpiles according to the particular script of the subplls. The 43 101 FH 048 APMW0025892 system infers the script by using the system provided internal representation of each subpile; for example, the 'N' (where N is an integer) most characteristic words in the pile's internal representation (e.g. the pile's vector described below) could be used. The user could then review the list of the 'N' (set by 5 some system threshold value) most characteristic words and approve or disapprove of all or some of these words and then create the script. More details concerning scripts will be presented below with reference to Figure 14. The piles in Figure 13b were created from the original pile 550 by t:J! ~4~ ' 1.J1 10 allowing the system to create the subplles as described in the manner below. In this way, the user of the computer may more efficiently review the various mail messages and other documents within the original pile rather than having to browse through the pile to see the keyword proxy of Figure 4f or otherwise select documents from the original pile. Thus, for example, if the user is most \tJi m ij~~ nF,.' . n.~ 11;:;~ ij'~ ru ~~ C'"" "._.If 15 interested in "art, design" documents, then the user may begin looking at documents in that pile first and defer examining the other subpiles or perhaps the "notebook computer" pile depending on the interests and priorities of the user. As will be described in more detail. the system analyzes each document in the original pile based on the content of the document and then determines I"~I 20 the most appropriate subpile in which to place the document. Each sub pile will have a representation of the content of the documents within the subpile and that representation will be compared against the representanon provided by the system for the particular document. The closer the match between the two representations and the more likely the particular document will end up in the 25 particular subplle. 44 101 FH 049 APMW0025893 If the user is satisfied with the results of the subpiling process shown in Figure 13b, the user may retain this structure by selecting the "Ok" button icon 571. Otherwise, the user may cause the documents in the subpiles to be reassembled into the original pile 550 by selecting the "Revert" button icon 570. 5 If the user selects "Ok" 581, the filing system creates a new pile for each subpile, which in one implementation involves changing the path name of each document in each subpile in the manner described above. Figure 14 shows another tool, a script window 601, for manipulating piles 10 which have a user defined specification (e.g. a script) and controlling the way they work in the computer system. The user may obtain the window 601 or other windows for creating and/or editing scripts in various ways, such as providing a command to the computer to display such a window on a display screen 22 (e.g. a "Create script" command) or adding a document to a pile that already contains a script where the document's content does not match the script i n a close enough way and where the system has been instructed to so notify the user when this occurs. In either instance, the script window 601 appears on the display screen 22. If the window was invoked by adding an item to a pile and the user does not mind that the content of the document does not eli ~JI ~'JI ~~ii m ~iU m 15 /ij o~ ru FIJi Cj \'11 t,"~'' ~.~, .. 20 precisely match the script of the pile, the user may select the command "just add this item" by selecting this command in the various ways known to select the command in a graphical user interface. This would typically take place by positioning the cursor near the button icon 602 and selecting this command while the cursor is positioned over the button 602. If the user desired to modify 25 the pile's script to accommodate the new document which was added then the user may select this option by placing the cursor in the button 603 and selecting that option (e.g. by depressing and releasing the mouse button while the cursor 45 101 FH 050 APMW0025894 is held over button 603). As shown in Figure 14, the user has selected the option of modifying the pile'S script. The script window 601 as shown in Figure 14 has appeared after the 5 user attempted to add a text document from Richard Mander (dated April 19, 1991 and regarding design competition update) to a pile having a script. Since the document's representation did not match in a close enough manner the criteria of the pile's script, the computer displayed the window 601. The script of the pile to which the Richard Mander document was added can now be r;,) ·,ti< 10 modified by selecting various options within the script window 601. The region 605 of window 601 contains three check boxes 607,608 and 609. If the user selects any of these three check boxes this will instructthe system to modify the script to cause the system to collect into the pile items "from Richard Mander" or items "dated April 19, 1991" or items "regarding design competition update", I,n aT! n~ ~JJI ;1 "r,~ '111 m ~ ~~ 15 depending on which option or options are selected by the user. For example, if the user selects the option to collect items "from Richard Mander" then the computer system searches the filing system for documents containing a "from" line or field indicating that.Richard Manderis the author of the document or an author of the document. Similarly, if the user selects the option of collecting m 'J '.:) !. 20 items which are dated April 19, 1991, the system will collect documents which are dated April 19, 1991 into the pile which is controlled by this script. Typically, the user will select any of these options by manipulating the cursor control means to position the cursor over one of the check boxes and then by selecting the check box, which may occur by depressing and releasing the mouse's 25 button. Thus, for example, if the user wanted to pull all documents into the pile which have a regarding line "design competition update" then the user would position the cursor over the check box 609 and select that option by depressing 46 101 FH 051 APMW0025895 and releasing the mouse button. This causes the system (after the user selects the command) to pull in all documents into the pile controlled by this script which contain "design competition update" in the regarding line/field of the document. In this manner, the system may automatically classify information for 5 the user and the user may instruct each pile separately according to the needs and criteria of the user or the basis of a user defined specification. Region 611 of the script window 601 contains a list provided by the system which indicates the most unique used words in the particular document 10 i:~ ~ji ....J, from Richard Mander (Le. the document which was added to the pile and then caused the system to display the script window 601 on the display screen 22). As will be described below, the system can provide a ranked list of the most frequently used w o r d s in a document which also best characterize the document relative to all other documents in the file system of the computer. This ~~i .Oil ~J~ ~1d1 ru , ~"'~i 15 is done by the use of, in one implementation, the vector described below for the document. In this implementation, each word listed in region 611 is one component of an n dimensional vector which describes the document and provides a representation of the contents of the document. As shown in script window 601 , the word "design" is the most characteristic word followed by MJ. ~~Ji r;;,~1 ~~li m 20 "competition" and "interface". The system provides this listing in region 611 and the user may scroll through the various words in this listing by selecting the scroll arrows 627 and 628 or by using the scroll bar 629. The scrolling of the contents of region 611 is accomplished in the normal manner of the prior art. The user may select a n y o n e or all or some of the words in region 611. When 25 these words are selected, they appear in region 612 indicating to the system that the pile's script should be modified such that the representation 'of the pile (e.g. the pile's vector), as described below, is modified to take into account the 47 101 FH 052 APMW0025896 words selected by the user. Alternatively, the user may type words into region 612 to thereby modify the script of the pile. In this manner, the script of the pile is modified to take into account the new document from Richard Mander which was added to the pile by the user before the script window 601 was displayed. 5 For example, the user could select·"competition" and the word "children" and these words would then appear in region 612; when the u s e r selects "add to script" button 620 this causes the system to update the script for the pile causing the internal representation of the pile to be modified in order to allow the user to control the way the script behaves in the computer system. The selection of the w o r d s in region 611 may be accomplished in any of a number ways which are familiar to user's of computer systems having graphical user interlaces (e.g. positioning the cursor over a word and selecting the word or "shift-clicking" to select multiple words). In a similar manner, the script of the pile may be modified to take into account labels w h i c h specify certain criteria such as label 614 shown in region 630. These labels contain certain "canned" criteria specified by the user and the user may select these labels by positioning the cursor over the particular label and selecting the label causing the icon of that label to a p p e a r in region 20 617. These labels may be the programmable user interlace elements described in the application having serial number 07nOO,729 which was filed May 15, 1991 and is entitled "A User Interface System Having Programmable User Interface Elements" and is assigned to the assignee of this application. These labels provide a programmable means for causing the execution of a 25 series of instructions and may include, for example, a requirement that all documents in a pile be dated after a certain date. 48 101 FH 053 APMW0025897 Once the user has determined and selected the various criteria which are to be used to modify the internal description of the pile (pile's script) then the user may indicate to the system that the script should be modified by selecting the "add to script" button 620 and then by selecting the okay button 623 which 5 causes the execution of the script wherein the system checks for documents managed by the filing system which match the modified script. If the user does not like certain criteria which have been previously selected, the user may cancel the selection by selecting the cancel button 625. If the user selects the "script. .." button 621 the system provides a window for the user to type in words C) 1 0 <J~ ~~j .,,~ or other criteria which will then be used to modify the script of the pile. This modified script may then be selected by selecting the add to script button 620 and okay button 623. If the user has requested a script window similar to window 601 while nQ1 adding to a pile, then the user desires to modify the script of the pile; this is accomplished by entering commands into a script window in a O"i ~'J! ru !:jl ~jl "' 15 . ru "~~ C~ 11JI manner similar to that described for window 601. The manner in which the filing system of the computer takes into account the representation of each document and each pile and performs the various operations with piles which have been described above, will now be described l·IA 20 by referring to the various flow charts of Figures 15 through 21. Figure 15 shows one method according to the present invention for creating the internal representation used by the filing system in organizing piles, which internal representation is for each document in the filing system (or for a 25 certain selected group of documents as specified by the user) and for. every pile maintained in the filing system (or for piles which have been selected by the user to have their internal representation determined). Typically, the filing 49 101 FH 054 APMW0025898 system will perform this operation for every document (usually user documents, not system documents such as operating system files) and for every pile in the system. If the filing system is using the method of the invention for the first time, then the method shown in Figure 15 must be applied to every document in the 5 system; that is, every document in the system must be treated' as a new document. The method 700 for indexing documents begins at step 701 which is merely a node point in the process. The first operational step of the system involves a test for whether the document is a new document at step 702. A modified document is considered a new document as well as a new document 10 which the user creates or which comes into the user's computer system via electronic mail. It is also noted that a document that is deleted affects the internal representation of all other documents in the system and the designer of systems using the present invention may want to eventually (e.g. in background processing on the computer system) recompute each document's vector and Iii C~ ru l:) nJ. 15 each pile's vector in this circumstance also. If there is a new document in the computer system processing proceeds to step 703 in which the computer system counts the number of times certain words are used in a document. Only certain words are counted because many words (e.g. the, it, a, and, etc.) are used too commonly and would not provide a good internal representation of the 'm,~ t-' ' 20 contents of any document. Therefore, these words (referred to as "stop words") are discarded in analyzing and indexing documents. This may be accomplished by the system establishing a "stop word" table which is examined for each word in a document which is being indexed. The system should also "stem" each word being indexed in order to prevent unnecessary redundancies 25 between the singular and plural of a word (e.g. "horse" and "horses")' and different tenses of a verb and other techniques which are known in the art may be applied for stemming the words (e.g. child and children would be considered 50 101 FH 055 APMW0025899 the same word). During indexing of each document. the system adds a new (non-stop) word to a table of unique words for the document or if the word is already in the document's table the system increments the count component for that word in that table. It will understood that this table will be maintained for a 5 document dUring indexing and the table contains an index to each non-stop word in the document along with a count of the number of times the word appears in the document. The index typically refers to (indexes) a global document frequency table which contains a list of all non-stop words used in all documents managed by the filing system of the present invention. Also dUring indexing a document in step 703, the global document frequency table is updated in the following manner. That is, step 705 is typically performed at the same time as step 703 although it need not be. For each unique word in a document the system adds the word or increments the count for the word in the global document frequency table but only for the first time the unique word is CJl 15 m 'r;.~ found in the document. This global document frequency table is maintained for all documents in the system which are to be indexed and shows the number of documents in the system which use the particularword: If during indexing a . unique (non-stop word) is found which is not in the global document frequency table then the word is added to that table but only for the first time the word is WU c:~ !»~ 20 found in the document. That is, subsequent uses of that word in the same document will not cause a modification of the global document frequency table. If that same word is found in another document then, during indexing of that other document, the system increments the count for that word in the global document frequency table. thereby indicating that the word is contained in two 25 documents. 51 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _· llllIJM~~ 101 FH 056 APMW0025900 After indexing a new document, step 703, processing proceeds to determining the number of documents in the system (documents which are previously indexed) which use each of the certain words in the new document. This is determined by examining the global document frequency table, which 5 may be a hash table, for each word in the document which has been Indexed. If all documents are new in the system, a special initialization process which is accomplished in two phases must be performed in order to properly index .all documents in the system. In the first phase. word frequencies are computed for all the documents; in other words, step 703 is performed for each document in a C~ 1 0 ~.t# "'41 system and then the global document frequency count table will then be completed. In the second phase the document vectors are calculated, which is shown as step 707, for each document in a system. Step 704 performs. in effect, this two phase initialization process by forcing step 703 to be repeated when system initialization occurs; step 703 is repeated until all documents are indexed and then the global document frequency table is completed. System initialization may be determined by searching for the global document frequency table; if it exists when a new document is indexed in step 703 then the system has been initialized and otherwise the system has not been initialized and initialization proceeds until all documents are indexed in step ~£~i 01 '1Jr ;Jji iffi m C!i 15 ru i1_q. ~itr!~ iI"' iJ ~!l1~1 V:r.; :~f 20 703. In step 707 the internal non-normalized representation of a document is determined by calculating the document's vector. This is done by determining, for each of the non-stop words in the document the ratio of the number of times 25 the particular word in the document is used ("tf"--obtained from the document's table) divided by the number of documents in the system with the same particular word ("df"--obtained from the global document frequency table). This 52 101 FH 057 APMW0025901 ratio is sometimes referred to as the term frequency (tf) of the word divided by the document frequency df of the word (tf/df). This ratio provides a weight for the particular word for this document as shown in step 709. Typically these individual weights are normalized in the manner shown below. Then the 5 system will typically sort, in step 711 , the normalized weights of a particular document to select a predetermined number of strongest normalized weights. The vector for the document is the collection of the predetermined number of strongest normalized weights. In a typical embodiment, 50 to perhaps an unlimited number of the strongest weights (which represent 50 to an unlimited ~~ CJ! 1 0 iJ~ number of the most characteristics words of the document) would be used for the document's vector. If an unlimited number of weights is used, the system will tend to operate slower. At this point, the system has the information necessary to display the proxy shown in Figure 4f (used in the case of mail documents) because the most strongest weights identify the most characteristic lr'll;jJ! ~ , Ii .., iiJI rl.\ ill ~t~ i'"u1 ;,1 C~~ ~,.ih fU C~ 15 words in the document, and it is these words which are displayed in this proxy (together with, if desired, words in preselected fields of a document, such as "To", etc.). At step 717, the system determines whether the new document is Iii part of a pile. If it is not processing loops back to node A (701) which is a waiting node in which the system waits for a new document in the filing system 20 of the computer. If the new document is part of a pile then processing proceeds to step 719 in which the internal representation (e.g. a vector) for the pile is determined. This representation may be a n y o n e of several possible types, including the average of all document vectors in the pile (which is representative of the internal context of the pile) or the pile's representation may 25 be designated by a script a s described above or designated by a sample document (Le. the pile's vector is the same as a sample document's vector) or the pile's vector may be designated by certain key words having user 53 101 FH 058 APMW0025902 establlshed weights. It will be appreciated that if the method 700 for indexing a document is being performed during initialization of the system then the determination of a pile vector will occur after all documents have been indexed and the global document frequency table has been completed. After step 719, 5 processing loops back to node A wherein the system waits for an interrupt or other messages indicating a new document has been placed into the filing system of the computer. The methods employed in steps 703,705,707, 709 and 711 are known 10 100ll ".. ;1' in the art and various ways of determining an internal (or content) representation of a document are available in the information retrieval art. See, e.g. "Term-Weighting Approaches in Automatic Text Retrieval," G. Salton and ;J~i o"JI ~lJI IJ'~ m :w l'!'~ n~ iJ:~ C. Buckley, Information Processing & Management, Vol. 24, N o . 5 , pp. 513-523, 1988. However, these methods have not been used in the context of piles as 15 described in this invention. In one implementation of the invention, the ru ~~1 _ _-:::determined according to the formula: C:~ ~~I nJl ~.. f -- normalized weight for a partlcular word (tltw1") in a particular document is ~---------tf 1 ~1 ---------- - - - - - -.-(-ft .(-0 ~.J~2 1= tw=-.========= 1 (O 1 I Q~ J 9 I I) 20 where: N = total number of documents in the filing system which are selected for indexing 25 (default selection is all user documents); 54 101 FH 059 APMW0025903 nj= df for the word "i" (df is document frequency for word "i" from the global document frequency table) 5 tfj = term frequency for the "ith" non-stop word in the particular document a = number of unique non-stop words in the 10 particular document (i.e. the number of components in the vector for the particular document) n1 = the df for the particularword having its normalized weight being determined 15 tf1 = tf (term frequency) of the particular word in the particular document; tw1 is the normalized weight for this particular word in this particular document Other implementations may be used according to the needs of the system designer. 25 Figure 16 shows a method for performing the operation of browsing of a pile. From node E, the system begins at step 751, in which the system examines the location of the cursor and determines whether or not it is pointing to a pile. It will be appreciated that the system will typically monitorthe position of the cursor in anyone of the many ways known to those in the art. If the cursor 30 is not pointing to the pile processing loops back to node E.. If the cursor is 55 101 FH 060 APMW0025904 pointing to a pile then processing proceeds to step 752 in which the computer determines whether the cursor has continued to point to a document on the pile f o r a predetermined period of time. If not (e.g. cursor moved away from pile) processing loops back to node E in which the system continues to monitor the 5 position of the cursor. If the cursor has pointed to a document on a pile for a predetermined period of time then processing proceeds to step 753 in which the system arranges the pile for viewing. This step may involve nothing or it may involve shifting a portion of the pile as shown in Figure 4e. Processing then proceeds to step 755 in which the view cone is shown and a proxy of the 10 I:) ~,lll selected document in the pile is displayed. Then the system continues to monitor the position of the cursor to determine whether the user has pointed to another item in the pile (step 757). If this is true, processing loops back to step 753 to arrange the pile for viewing (e.g. pile is re-arranged to reflect a new shifted portion) and processing continues to step 755 in which the view cone continues to be displayed and a new proxy of the new selected document is also displayed in the view cone. If the same document is still being displayed because the pointer has not moved away from the document processing proceeds from step 757 to step 758 in which the computer determines whether or not the'user has signalled to the computer to page through the selected proxy \~~ ;~fJ! nli 4~ ~~'t nJi ~'ii 1 5 m m (",, ~1Il~. ~l;' 'I·Jl [...1< 20 to the extent the proxy has multiple pages. If not, then processing goes to step 760; otherwise processing proceeds to step 759 in which the system shows the desired page of the multiple page proxy in the view cone on the display screen 22. Since the computer continues to monitor the position of the cursor and the status of the mouse's button, the computer system continues to determine 25 whether the cursor is pointing to the pile (step 760); if not processing loops back to node E and otherwise processing loops back to step 755. 56 101 FH 061 APMW0025905 As noted above, the system provides various automatic or user invoked actions on piles in order to assist the user in organizing the documents stored stored in the user's filing system on the computer. The various ways in which the system of the present invention performs these functions will now be 5 described with reference to Figure 17. Figure 17 shows three distinct processing flows from three nodes (G, G1 and G2). It will appreciated by those in the art that any of these nodes may be entered into on the basis of an interrupt provided to the system or some other user action so that entry may occur into the flow chart of Figure 17 at any node point. such as node point G, ~,~ 1 0 ~n G1, or G2 depending on the action by the user. Processing begins from node G at step 801 which determines whether or not the user has given a document to the system to file in existing piles. This may occur by the user providing a "put away" instruction to the filing system after selecting a document to be put away. If this occurs, then processing proceeds to step 803 in which the system attempts to find a pile with the closest pile vector to the document's vector and places that document in that pile. This is typically done in such a mannerthat the similarity between the content of the document and content of each pile is determined. In a typical embodiment this similarity is determined by computing the unit dot product of the pile's vector and the document's vector. A system or "~'J~) fj'i fiJI I'U \f,~ 20 user supplied predetermine threshold may then be used to compare against each dot product and the highest dot product above the threshold will indicate which pile to place the document into. Alternatively, the document (copies thereof) or aliases (pointers) thereof may be placed into all piles which produce dot products with the document's vector which exceed the preselected 25 threshold. It should be noted that step 803 could be performed automatically by the system for any new or modified document if the user so instructs the computer system to perform this function automatically. That is, the user may 57 101 FH 062 APMW0025906 instruct the filing system on the computer to always be active in putting away documents into piles rather than doing this only when specifically invoked by the user (e.g. a "put away" command). An example of a method for determining a measure of similarity will now be provided. Consider a document vector and ------------ 5 a pile vectoLS.h~_. Document Vector pile Vector in.ds.x 5 M 0.1 1m1B.X 5 1w 0.2 0.17 0.17 27 0.2 0.15 16 10 ~~ 503 257 CJi ~,~ 600 ~jJi j~t n; ~~ Each index may be a pointerlindex to an entry to the global document frequency table where the index "5" is for one word in the table and index "27 is for another word in that table. Note that in this example there is only one word (non-stop word) which is common between the document's vector and the pile's vector. The dot product, which is a way to measure the similarity between the content of the document and the content of the pile, for this example is fll: 1 5 1il til M1i ni> ~~.l C~ ~~ 20 determined by searching for matches in the indexes (e.g. index 5) and mUltiplying the tw's for each matched index. In this case, the dot product is: 0.1 x 0.2 =0.02 since there is only one match. This dot product may then be compared to other dot products showing the similarity between the document and other piles. 25 Step 805 is performed any time after entry from node g1. In step 805, the system determines whether or not the user has given the system a sample 58 101 FH 063 APMW0025907 document which should be used in order to start a pile. If not, processing proceeds to node g2. If the system has been given a sample document and been instructed by the user to start a pile on the basis of that "seed" document, processing proceeds to step 807 in which the syste~ uses the vector of the 5 sample document to find all documents which are closer than the preselected threshold based on the intemal representation of each document, such as the document's vector. Copies or aliases of such documents are stored in the pile which was created from the sample document. 10 Step 809 may occur from an interrupt to the system or a command to the system; this interrupt may occur from the action of adding a document to the pile when the user has instructed the system to monitorthe addition of documents to a pile having a script where the internal representation of the document does not match the criteria of the script of the pile. As an alternate embodiment, the ii m !'lJ! C~ 15 user may instruct the computer to observe the "cohesion" of each pile (whether or not the pile has a script) and indicate a warning to the user that a newly added document to a pile does not match in a close enough manner (determined by a similarity measurement being compared to a preselected threshold), which warning gives the user an opportunity to remove the 20 document from the pile. It is noted that the user could actually instruct the computer to ignore any such steps which in effect results in an automatic "no" to the decision made at step 811. If the user has instructed the filing system to monitor the addition of documents to a pile having a script, then step 809 will be invoked when the user adds a document to such a pile which does not match 25 the document. In other words, the script of the pile does not closely match the internal representation of the document. If this occurs processing proceeds to step 811 in which the system displays a dialog box or window to the user asking 59 101 FH 064 APMW0025908 the user whether the pile's script should be modified. This dialog box or window may be similar to the window 601 shown in Figure 14. If the user indicates that the pile's script is to be modified, processing proceeds to step 813 in which the system displays existing criteria and/or the script for the pile. 5 Alternatively, the script and criteria could be displayed in step 811 with a decision box requiring the user to decide whether or not to just add the document to the pile or modify the pile's script. At step 815, the system displays proposed script/criteria changes to the pile's criteria or script. This is shown in Figure 14 by the words found in the Richard Mander document which are I=~ ~1: ~",I bf';i ~r.' 10 shown in the region 611 or by the items in region 605 such as the author of the document (from "Richard Mander'"). In step 817, the user selects changes to the criteria and indicates to the computer that these changes are acceptable. This causes the system to respond in step 819 by pulling in copies or aliases of all documents on the system having vectors which match the new pile's script ijil n,¥ r~.~ ;,.0 il fj'~'!'!!f~~ 15 vector. After step 819, the system proceeds back to monitoring any of the various actionslinterrupts which cause entry into the processing shown in Figure 17. The use of a script has many possibilities, for example, it is noted that the script could include the use of the vector representation of the pile as well as other features which may be matched in a boolean "AND" fashion or IlP ru t) ',,",j i,,!~1 20 matched in a boolean "OR" fashion. Figure 18a shows a method of the present invention for creating subpues from a pile or other selected set of documents (e.g. documents within a folder). This method would be invoked in various ways by the user or perhaps under 25 system control automatically (e.g. as a result of a search where the user requests the search results pile to be processed into subpiles after the search). For example, the user could place a pile such as pile 550 into the visualization 60 101 FH 065 APMW0025909 window 551 shown in Figure 13a and then select the command pile by content causing the system to respond, as shown in Figure 13b with four subpiles created by the system. If the system determines, in step 851, that the user wants to create subpiles from a pile, then processing proceeds to step 853 in which 5 the system determines whether there any documents which are left in the original pile. If no documents are left in the pile processing proceeds through node F2 to step 871. In the beginning of a subpiling process, typically documents will be remaining in the pile and thus processing proceeds to step 855 in which the first document is taken from the pile and is designated as t h e , Cji ~~~l 10 current document. Then processing proceeds to step 857 in which the system compares the similarity of the current document to each existing subpile. This can be done in many different ways as described above, including the calculation of the dot product between the vector of the document and each subpile's vector. The similarity measure, which may be the dot product described above, is compared to a threshold which may be establ.ished by the system or by the user. For example, the user may be presented with a graphical slider, the knob of which may be selected and moved along the slide to vary the threshold which will then vary the amount of subpiles which are created by the system during the process of subpiling. In the case of the first document from a "'Ji 20 pile, this test in step 859 will result automatically in the creation of a new subpile since there are no existing subpiles. After the first document in the pile, the test in step 859 will determine whether a new subpile is created, which occurs in step 861. In step 861, the new subpile is created with the current document as the seed document of the new subpile which thereby determines the internal 25 representation of the subpile. If processing proceeded through step 861, then it loops back to step 853 as shown in Figure 18a. 61 101 FH 066 APMW0025910 If the result of the test in step 859 is a "yes" then processing proceeds to step 863, in which the system sorts the matching.subpiles (i.e. subpiles producing a similarity measure with the document which exceed the threshold) by similarity measurement to the current document. Then in step 865, the 5 system determines whether a document is allowed to be in more than one subpile. If not, processing proceeds to step 869 in which the current document is added to best matching (on the basis of a similarity measure) subpile. Also in step 869, the system updates the running similarity score by adding t h e · similarity score, which may be the dot product between the document's vector C~! 1 0 and the best matching subpile's vector, to the running total of the similarity. score for the entire subpiling system, which is initialized at zero prior to beginning the process shown in Figure 18a. If a current document is allowed to be in more than one subpite, then processing proceeds to step 867 in which the current document is added to all matching subplles having a similarity measurement "lJi :'1~ \;,tJi tj1i i'1.~ ~n f'~ 15 which exceeded the threshold. As in step 869, the running similarity score for the system is updated by adding the dot products or other similarity scores (one for each matching subpile to which the current document was added) to the running total for the system. Following step 867 or 869, processing loops back to node F1 and the various steps described above. It is noted that if the 20 document is to be added to more than one subplle, either a copy of the document or an aliases/pointer to a copy of the document may be stored in the subpile, in a manner which is similar to the conventional prior art technique of storing a file or an aliases/pointer of a file in a subdirectory or folder. 25 If at any step of the process of creating a subpile, there are no documents left in the original pile, then the decision required in step 853 results in the system proceeding to step 871 in which the system determines whether there 62 101 FH 067 APMW0025911 are any subpiles which contain only a single document. If no such subpile exists then processing proceeds to node F3 which results in step 876 being performed, otherwise, processing proceeds from step 871 to step 873 in which a miscellaneous subplle is created. Then, in step ~4, each document from a 5 single document subpile is transferred to the misceUaneous pile (and the running similarity score is updated) and the singlecSocument sUbpiles are removed from the system in step 875. Then, in step 876, the system determines whether any improvement to the total system simil(;llity score has occurred since the last total similarity score. This system similarity score is computed as \in CJ! 10 described above in steps 867 and 869 each time a document is added to a matching subpile and after all documents have been removed from the original pile this test in step 867 is typically performed; obviously, in the first pass through this step, the system will place all documents back in the original pile by proceeding to step 877 and then back to node F1, repeating the process while maintaining in storage a record of the prior total similarity score. It will be appreciated that this total similarity score is only for documents in the original pile and only for similarity measurements between those documents and subplles created during the subpiling process described here. The test in step 876 maylnciude a comparison to a threshold where the difference, which \J ~j~ !JJ; rUI m ~ ~J.Ji CJi 1 5 ru ~"~l 11J. t~'~ i 20 should be an improvement, between the prior total system similarity score and the current total system similarity score is compared to a threshold and if that difference does not exceed the threshold, then no effective improvement has occurred and processing is completed. A designer of a system using the present invention may decide that it is efficient and reasonably accurate to 25 merely repeat the process of subpiling only once or some fixed number of times rather than attempting to access an improvement at the end of each subpiling pass. 63 101 FH 068 APMW0025912 Figure 18b shows an alternative subpiling process according to the present invention where the user chooses the number of subpues which are to be created from the original pile. This is typically done in order to avoid 5 unnecessary clutter of subpiles. Without this feature, it is possible that the computer filing system of the present invention could create too many subplles making it more difficult for the user to manage and organize the piles created in this manner. The process of Figure 18b beings at step 880 in which the system determines the number of subpiles which are allowed by the user when a (:ji 1 0 ~n subpiling process is invoked. Processing then proceeds to step 882 to determine whether the desired number of subpiles have been created so far in the subpiling process. If they have, processing proceeds through node J2 to step 891, and otherwise processing proceeds to step 884 in which the system computes the total similarity of each remaining document in the original pile to all existing subpiles. In the special case of the first document which is removed from the original pile, there is nothing to compute since no subpile exists. Then, in step 886 the remaining documents are sorted from least to most total similarity. Then in step 888, the document in the original pile with the least total similarity is removed from the original pile. In the case of the first document "'-'Jl ~;i m .JjI f1J ~~ "jt 1 5 i: rlll Itr. ~~JI F~I ~I¢' 1"'1' 20 which is removed from the original pile, any document will do. Then, in step 890 a new subpne is created with the document which was removed in step 888, using that document as the seed for the similarity measurement comparisons (e.g. the document's vector is used for the subpile's vector). Then processing proceeds back to step 882 in which this process repeats through 25 steps 884 through 890 unless processing proceeds through node J2 to step 891. In the second pass through steps 884 through 890, step 884 does involve the computation of the total similarity of each remaining document in the original 64 101 FH 069 APMW0025913 pile to all existing subplles. This is done in the fashion described above wherein the internal representation of each document Is used with the internal representation of each sUbpile to compute a similarity measurement between the document and each subpile. The total similarity for a document to all 5 existing subpiles is a summation of each similarity measurement between the document and all existing subpiles. Thus, for example, if four subpiles exist when the computation is made, four dot products may be computed as the. similarity measurement, each dot product being between the document's vector and the seed vector of the four existing subpllss: these four dot products are !:Ji 1 0 then added together to provide a total similarity measurement for the document. Then in step 886, these total similarity measurements for each document are sorted. The document with the least total similarity in this sorted list is removed from the pile in step 888 and a new subpile is created with this document as a seed as shown in step 890 and the processing continues back to step 882. fJ. t~ 1 5 When the number of subpues which exist by virtue of the subpiling process equals the desired number selected by the user, processing proceeds to step 891 which determines whether there are any documents left in the original pile. If the answer is no, the process is completed. However, if the answer from step 891 is yes, processing proceeds to step 893 in which the system takes the first i'U m ~~Jl b~ ~~\ 20 remaining document from the original pile and labels it the current document and then proceeds to step 895. In step 895, the system compares the similarity of the current document to each existing subpile and then in step 897, the system sorts the matching subpiles by similarity to the current document. In step 899, the system adds the current document to the best matching subpile and 25 proceeds back to step 891. The forgoing description of the process of sUbpiling from an original pile has been described with reference to a specific procedure; however, using known information retrieval technology, other implementations 65 101 FH 070 APMW0025914 will be available to those in the art upon reference to this description and the information retrieval art. An alternative to the process of creating a subpile according to either of 5 the methods shown in Figure 18a or 18b will be described. Prior to starting the subpiling process. the user may want to specify certain subpiles which must be created; this may be done by specifying a "seed" document which is representative of a desired subpile or a "virtual" seed document (specified by keywords which may be used to create an internal/content representation of the suopite). These desired subpiles are then used by the system as subpiles which exist immediately upon beginning the process (e.g. entering step 853) of creating subpiles from a pile. It should also be noted that the process of l~~ creating subpiles may be performed from several original piles merely by combining them into one original pile or by using one pile as an original pile WU e ill i'l~ 15 and the other original piles as pre-existing subpiles. t,; ~,~, 'JI t:j; The system and method of the present invention also provide a mechanism for searching documents in the file system of the computer whether those documents are in piles or conventional subdirectories/folders. This 20 method is shown in Figure 19 and begins at step 901. in which the system determines whether the user wants to search for documents matching a set of terms which are specified by the user. Typically the user will indicate that a I search is desired and the system will respond with a question asking the user whether the user wishes to define a set of terms or to specify a sample 25 document. It will be appreciated that, other possible means of requesting a search or formulating a search may be used. If the user wants to specify a set of terms, the system allows in step 903 the user to do so and then creates in the 66 101 FH 071 APMW0025915 step 905 a virtual document vector (or other representation of the terms) for the set of terms (and their user selected weights, unless by default the terms are equally weighted). That is, the user specifies terms and then those terms are used to specify a vector of a virtual document which is used later when ° 5 processing. Processing from step 905 proceeds dir8cuyto step 911. If the user wishes to search using a sample document (e.g. create °8 pile from a sample document manually by searching and obtaining a list of the documents or automatically create a pile containing the search results) then processing proceeds from step 901 to step 907 in which the system requests the user to ° 10 specify the sample document; if no sample document is SPecified processlnq loops back to node C waiting for an interrupt or other instruction indicating to begin the search process. After the sample document is specified in step 907, the system proceeds to step 911 in which it compares each document's vector (or other representation of the document) in the system with the document 15 vector (or other representation) of the sample document or the document vector (or other representation) of the virtual document created in step 905. This may occur by any of a number of ways of determining a similarity measure, including by determining the unit dot product of the sample document's vector against the vector of all documents in the system. It will be appreciated that alternative 20 similarity measures or search routines may be employed, such as measuring the similarity between the document and each pile or folder and then searching within those piles or folders having the best matches to the document. It is noted that this comparison can eliminate documents which are not close enough by testing each dot product against a preselected threshold. 25 In step 915 the system sorts the list of documents based on the comparison with the document vector of the sample (or virtual) document. This 67 101 FH 072 APMW0025916 list may be limited by the comparison against a preselected threshold as described above. Then in step. 917 the system creates and displays a pile of the sorted documents which are closest to the sample (or virtual) document. Following step 917 processing proceeds back node C which waits for a 5 command to search from the user. Alternatively, the pile may be divided into subplles according to the techniques of the invention. The user may also, after the search pile is created, manipulate that pile to perform other searches such as a new or revised search. ~.~i ~';: 1 0 Figure 20 shows a method for using color to assist in organizing information in a computer and to assist a user in understanding the content and organization of piles within the following system. This method begins in step 951 wherein the user selects a pile and then in step 953 selects a method of visualization such as the visualization window 551 shown in Figure 13a. This \tji \jj ~~ll l~~ m ~Jjl r~~ 15 causes the system, in step 955, and display the visualization window showing the pile within the window (or the user may have

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?