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)
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
~~.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?