`
`
`
`US 20050010593A1
`
`
`
`
`
`
`as) United States
`
`
`
`
`
`
`
`
`a2) Patent Application Publication 0) Pub. No.: US 2005/0010593 Al
`
`
`
`
`
`
`
`
`Fellenstein et al.
`(43) Pub. Date:
`Jan. 13, 2005
`
`
`
`
`
`
`
`(54) SYSTEM AND METHOD FOR PERFORMING
`PREDICTIVE FILE STORAGE
`
`
`
`
`MANAGEMENT
`
`
`
`
`Inventors: Craig Fellenstein, Brookfield, CT (US);
`
`
`
`
`
`Carl Phillip Gusler, Austin, TX (US);
`
`
`
`Rick A. Hamilton II, Charlottesville,
`
`
`
`
`
`VA (US); James Wesley Seaman, Falls
`
`
`Church, VA (US(US)
`
`
`Correspondence Address:
`
`
`Darcell Walker
`
`
`Suite 250
`
`
`
`9301 Southwest Freeway
`
`
`
`Houston, TX 77074 (US)
`
`
`
`
`International Business Machines Cor-
`
`
`poration, Armonk, NY
`
`
`
`(75)
`
`
`
`
`(73) Assignee:
`
`
`
`(21) Appl. No.:
`
`10/617,524
`
`
`
`
`
`
`
`
`
`(22)
`
`
`
`Filed:
`
`
`
`
`
`Jul. 10, 2003
`
`
`
`
`Publication Classification
`
`
`
`
`
`
`
`
`(51)
`Tint, C07 ciiccecccccccccccceccccscsesesseseesessestesesnees GO6F 17/00
`
`
`
`
`
`(52) US. CD.
`eecccceeesseeessseeesssnseessneessuneessneesssees 707/104.1
`
`
`
`
`
`
`ABSTRACT
`(57)
`The present invention provides a method and system for
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`storing information into a folder/location using a predictive
`
`
`
`
`
`
`
`
`function to select the namefor the newly stored information.
`
`
`
`
`
`
`
`The predictive functions use names of applications, docu-
`
`
`
`
`
`
`
`
`ments or words within these items to select and present a
`
`
`
`
`
`
`
`name to a user. The present invention introduces a new
`
`
`
`
`
`
`function within document processing applications, (also
`
`
`
`
`
`
`
`potentially operating systems), whereby each time a docu-
`
`
`
`
`
`
`
`mentis saved to a storage medium,a predictive function will
`
`
`
`
`
`
`
`
`cause the selection of the most probable folder/location in
`
`
`
`
`
`which the document would be stored.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`31
`
`32
`
`
`
`
`
`
`
`
`
`Page 1 of 12
`
`Netskope Exhibit 1007
`
`
`Createinitiallist with each entry
`
`having a predeterminedidentifier
`
`Receive a store request
`
`Retrieve first document identifier
`
`Comparefile identifier with storage
`entries in index
`
`24
`
`
`
` Yes
`Mark matching entry storage
`
`
`
`
`
`Retrieve
`
`
`
`
`
`next entry
`
`
`from index
`
`
`
`
`
`
`
`28
`
`
`
`Retrieve
`
`
`
`
`Are there
`
`
`more entries?
`
`
`next entry
`
`
`
`
`from index
`
`
`
`
`
` Are there
`
`
`
`
` any matches?
`
`
`
`
`
`
`Retrieve
`
` Is there
`
`
`
`
`
`Addfolder
`next
`
`
`
`
`
`
`
`
`more than one
`to directory
`identifier
`
`
`
`
`
`match?
`
`
`
`
`
`
`
`
`
`Store in matching storage location
`
`Page 1 of 12
`
`Netskope Exhibit 1007
`
`
`
`
`
`
`
`
`
`Patent Application Publication Jan. 13,2005 Sheet 1 of 4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`US 2005/0010593 Al
`
`
`FIG. 1
`
`Page 2 of 12
`
`Netskope Exhibit 1007
`
`Page 2 of 12
`
`Netskope Exhibit 1007
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Jan. 13,2005 Sheet 2 of 4
`
`
`
`US 2005/0010593 Al
`
`20
`
`
`
`
`
`
`
`
`
`
`
`
`
`4
`99
`33
`
`
`28
`
`
`
`
`
`
`
`
`
`31
`
`
`
`32
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Create initial list with each entry
`
`
`
`having a predeterminedidentifier
`
`
`
`Receive a store request
`Retrieve first document identifier
`26
`
`
`
`
`
`Retrieve
`
`
`
`
`
`next entry
` Comparefile identifier with storage
`
`
`
`
`from index
`
`entries in index
`
`
`Is there
`
`a match?
`
` Yes
`
`
`
`
`
`Mark matching entry storage
`
`
`
`
`
`
`
`Retrieve
`
`
`Are there
`
`
`
`next entry
`
`
`
`
`more entries?
`
`
`from index
`
`
`
`
`
`
`
`
`Are there
`Create a
`
`
`
`
`any matches?
`folder
`
`
`
`
`Retrieve
`
`
`
`
`
`Is there
`Addfolder
`next
`
`
`
`
`
`
`
`
`to directory
`more than one identifier
`
` match?
`
`
`No
`
`
`
`
`Store in matching storage location
`
`24
`
`
`
`
`
`
`
`
`
`
`
`33
`
`
`
`
`
`
`FIG. 2
`
`Page 3 of 12
`
`Netskope Exhibit 1007
`
`Page 3 of 12
`
`Netskope Exhibit 1007
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Jan. 13,2005 Sheet 3 of 4
`
`
`
`US 2005/0010593 Al
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`24
`
`
`
`
`
` Does
`
`
`
`
`
`override?
`user activate
`
`
`
`
`
`
`Retrieve firstfile
`
`
`
`
`
`storage identifier
`
`
`Retrieve
`
`
`
`
`
`
`
`next entry
`
`
`
`
`Comparefile identifier with storage
`
`
`from index
`
`
`
`
`entries in index
`
`
`
`
`
`Is there
`
`
`
`a match?
` Yes
`
`
`
`
`
`
`
`31
`
`
`
` Retrieve
`
`
`
`
`
`
`
`
`
`
`next entry
`
`
`
`from index
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Create a
`
`folder
`
`
`
`
`
`
`
`
`
`
`
`32
`
`
`
`
`
`
`
`
`
`
`Addfolder
`ls there
`Retrieve
`
`
`
`
`
`
`
`
`to directo
`more than one
`next
`
`
`
`
`
`
`
`y
`match?
`identifier
`
`
`
`
`33
`FIG. 3
`
`
`
`
`
`
`
`Store in matching storage location
`
`
`
`
`
`
`
`
`
`
`
`Page 4 of 12
`
`Netskope Exhibit 1007
`
`Page 4 of 12
`
`Netskope Exhibit 1007
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Jan. 13,2005 Sheet 4 of 4
`
`
`
`US 2005/0010593 Al
`
`21
`
`
`
`
`
`
`22
`53
`
`
`
`
`
`36
`
`
`
`
`
`
`5
`
`
`oes
`
`
`user activate
`
`
`override?
`No
`
`
`
`
`
`Retrieve first documentidentifier
`Comparefile identifier with storage
`
`
`
`entries in index
`
`
`
`37
`
`Save
`
`
`Yes
`
`
`
`
`
`96
`
`
`
`Roiiove
`
`
`
`next entry
`
`
`from index
`
`24
`
`
`
`
`
`
`Is there
`
`
`
`
`
`
`
`
` Retrieve
`
`
`
`
`
`
`
`from index
`
`
`next entry
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a match? Yes
` 38
`
`
`
`
`
`
`
`3
`
`32
`
`
`
`Store in a
`default location
`
`Create a
`
`Storage
`
`
`
`
`
`
`
`Retrieve
`location
`more than one
`_ next
`
`
`
`
`
`
`
`
`
`
`match?
`identifier
`Addstorage
`
`
`
`
`location
`33
`
`
`
`No
`fo list
`
`
` Store in matching storage location
`
`
`
`
`
`
`
`
`
`
`FIG. 4
`
`
`
`
`
`Page 5 of 12
`
`Netskope Exhibit 1007
`
`Page 5 of 12
`
`Netskope Exhibit 1007
`
`
`
`
`
`US 2005/0010593 Al
`
`
`
`Jan. 13, 2005
`
`
`
`
`
`
`
`SYSTEM AND METHOD FOR PERFORMING
`
`
`
`
`PREDICTIVE FILE STORAGE MANAGEMENT
`
`FIELD OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`[0001] The present
`invention relates to a method and
`
`
`
`
`
`
`
`system for managing files within a computing system or
`
`
`
`
`
`
`
`
`network and in particular to a method and system for
`
`
`
`
`
`
`
`
`predicting the storage location ofa file or other information
`
`
`
`
`
`
`
`for the purpose of storing or retrieving that information at a
`
`
`
`
`
`
`
`
`later time. The prediction of a file storage location can be
`
`
`
`
`
`based on a nameor contentof a particular file.
`
`BACKGROUND OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`[0002] Today, there are numerous devices used to create a
`
`
`
`
`
`
`multiplicity of electronic documents. These documents
`
`
`
`
`
`
`include conventional word processing documents, scanned
`
`
`
`
`
`
`materials, e-mail messages, e-mail messages containing
`
`
`
`
`
`
`
`
`attached documents, and faxed documents. For most people,
`
`
`
`
`
`
`
`conventional word processors are used to create electronic
`
`
`
`
`
`
`
`
`documents. With theses word processors, the easiest way to
`
`
`
`
`
`
`prepare a documentis to simply enter text as if typing on a
`
`
`
`
`
`
`
`
`
`typewriter. The average user often relies upon his/her famil-
`
`
`
`
`
`
`
`larity with the keys on a typewriter to prepare a document
`
`
`
`
`
`
`
`using a word processor. Today’s word processing software
`
`
`
`
`
`
`enables even inexperienced users to prepare sophisticated
`
`
`
`
`
`
`documents. Word processors typically include a number of
`
`
`
`
`
`
`
`
`features that allow the user to format a documentby defining
`
`
`
`
`
`
`
`the style, layout, or character font(s) of a document. Using
`
`
`
`
`
`
`
`
`
`these features, the user can create a variety of documents
`
`
`
`
`
`
`
`
`such as reports, letters, memos, etc. having different layouts,
`
`
`
`fonts, styles, etc.
`
`
`
`
`
`
`
`
`[0003] Once the user has finished creating the document,
`
`
`
`
`
`
`
`
`
`
`the user typically saves the documentin a file and stores the
`
`
`
`
`
`
`
`
`
`file at some storage location on the computer’s hard drive,
`
`
`
`
`
`
`
`on an inserted floppy disk, compact disc, external/internal
`
`
`
`
`
`
`disk storage device, or to a magnetic tape. In a conventional
`
`
`
`
`
`
`
`
`
`file storage operation,
`the user will need to identify the
`
`
`
`
`
`
`
`
`
`storage medium andlocation for the created file. Depending
`
`
`
`
`
`
`
`
`
`on the configuration of the user’s computer system,
`the
`
`
`
`
`
`
`storage medium could be related to a single machine orit
`
`
`
`
`
`
`could be a storage medium incorporated into a multiple
`
`
`
`
`
`
`
`
`machine storage configuration such as a grid of many
`
`
`
`
`
`machines across a grid-computing network. In an example,
`
`
`
`
`
`
`using a document created in a “WORD” word processing
`
`
`
`
`
`
`
`
`
`program, there are some typical steps to save and store.
`
`
`
`
`
`
`
`
`
`
`Initially, the user will click the “save as or save” icon to
`
`
`
`
`
`
`
`
`
`indicate to the word processing program that the user is
`
`
`
`
`
`
`
`
`
`
`ready to store the document. The program gives the user the
`
`
`
`
`
`
`
`
`opportunity to give the documenta file name. The program
`
`
`
`
`
`
`
`
`also displays a default storage folder location. The default
`
`
`
`
`
`
`
`
`folder can be a designated default folder or it can be the
`
`
`
`
`
`
`
`folder of the last document created or modified by the user.
`
`
`
`
`
`
`
`
`
`
`
`If this folder is acceptable to the user, the user can click the
`save icon andthe file will be saved into that folder location
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and underthe file name assigned to it by the user.
`
`
`
`
`
`
`
`
`
`
`[0004]
`If the user does not want to save the documentin
`
`
`
`
`
`
`
`the default folder or any machine in a grid-computing
`
`
`
`
`
`
`
`
`
`
`network, the user must indicate the storage location for the
`
`
`
`
`
`
`
`
`
`document. In this process, the user will navigate through the
`
`
`
`
`
`
`
`
`directory on a single machine or grid on a computing
`
`
`
`
`
`
`
`network to arrive at a desired storage location. When the
`
`
`
`
`
`
`
`
`
`
`user finds the desired storage location, the user then clicks
`
`
`
`
`
`
`
`
`
`
`
`
`the save icon and the documentis stored in that location
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`under the file name the user gives to the document. The
`
`
`
`
`
`
`
`process of navigating through the system directory or grid
`
`
`
`
`
`
`
`
`
`network creates a file path that is used to locate the file
`
`
`
`
`
`
`containing the document when the user desires to retrieve
`the documentata later time.
`
`
`
`
`
`
`
`
`
`
`
`
`[0005]
`In the event, the user receives an e-mail containing
`
`
`
`
`
`
`
`
`
`an attachedfile, if the user wants to download andstore that
`
`
`
`
`
`
`
`
`
`file in a storage location, the user followsbasically the same
`
`
`
`
`
`above-described file storage procedure. Scanned documents
`are stored in a similar manner to created documents.
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0006] As mentioned, current word processing applica-
`
`
`
`
`
`
`
`tions require manual path management,if a file is to be saved
`
`
`
`
`
`
`
`
`
`
`or detached into any location other than the default folder. In
`
`
`
`
`
`
`
`
`
`
`addition, more often than not, the default folder is not the
`
`
`
`
`
`
`
`
`
`desired storage location for a currentfile, thus, there must be
`
`
`
`
`
`
`
`a manual operation for selection of a storage location. As an
`
`
`
`
`
`
`
`example, the default behavior of many systemsis to attempt
`
`
`
`
`
`
`
`
`
`to save a file into some folder such as “Recent Documents,”
`
`
`
`
`
`
`
`
`ie., a holding-pen for any recent activity. Correcting this
`
`
`
`
`
`
`
`storage behavior is both time-consuming and error prone.
`
`
`
`
`
`
`
`
`Therefore, there remains a need for a method and system to
`store and retrievefiles that is less tedious and moreefficient
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`than currentfile storage techniques. One such solution could
`
`
`
`
`
`
`
`
`be an automated and predictive storage system to store and
`
`
`
`
`
`
`
`
`retrieve files. Such a system would provide greater produc-
`
`
`
`
`
`
`
`tivity and utilization enhancements to the user interface.
`
`
`
`
`
`
`
`[0007] Currently, some automated documentretrieval sys-
`
`
`
`
`
`
`
`temsdo exist. In a documentretrieval system, which handles
`
`
`
`
`
`
`
`an enormous amount of documents,a retrieval method using
`
`
`
`
`
`
`keywords, is generally adopted. In this process, an arbitrary
`
`
`
`
`
`
`
`
`keyword(retrieval word) is inputted into the retrieval system
`
`
`
`
`
`
`
`
`as a retrieval condition. The resulting search retrieves all
`
`
`
`
`
`
`
`
`files containing that keyword in their contents are obtained
`
`
`
`
`
`
`
`as a result ofretrieval. Thefile retrieval process according to
`
`
`
`
`
`
`
`
`this method is called a full text search. An example ofthis
`
`
`
`
`
`
`
`
`type of system is the patents database at the United States
`
`
`
`
`
`
`
`
`Patent and Trademark Office (USPTO). Whena userdesires
`
`
`
`
`
`
`
`
`
`
`to search for a particular patent, the user will input a certain
`
`
`
`
`
`
`
`
`keyword that will be used to conduct the search. In addition,
`
`
`
`
`
`
`
`
`
`
`
`the user can designate the location in the patent for the
`
`
`
`
`
`
`
`
`search to occur. The USPTO provides the capability to
`
`
`
`
`
`
`
`
`
`search the title, abstract or other specific keywords in the
`
`
`
`
`
`
`patent documentsuchas by the inventor or an assignee. This
`
`
`
`
`
`
`
`particular approach works well for retrieving previously
`
`
`
`
`
`
`
`
`
`stored files, however, a system for storing files may prove to
`
`
`
`
`be more challenging task.
`
`
`
`
`
`
`
`
`[0008] Another widely used method is one in which one or
`
`
`
`
`
`
`
`
`
`more keywordsfor retrieval are added to each file name in
`
`
`
`
`
`
`
`
`advance andthefile name having the keywords one of which
`
`
`
`
`
`
`matches an inputted retrieval word is regarded as a result of
`
`
`
`
`
`
`
`
`retrieval. In addition, these current systems focus on file
`
`
`
`
`
`
`
`
`
`retrieval, but there still remains a need for an automated
`
`
`
`
`
`
`
`
`
`system that can accurately predict and store files in accor-
`
`
`
`
`
`
`
`
`dance with the desires or semantic heuristics defined by the
`
`
`
`
`
`
`
`
`user. Semantic heuristics are defined as a rule for a string or
`
`
`
`
`
`
`set of constraints combined by a pattern of words or symbols
`
`
`
`in a given language.
`
`SUMMARYOF THE INVENTION
`
`
`
`
`
`
`
`
`[0009]
`It is an objective of the present invention to provide
`
`
`
`
`
`
`
`
`a method and system for storing information into a location
`
`
`
`
`Page 6 of 12
`
`Netskope Exhibit 1007
`
`Page 6 of 12
`
`Netskope Exhibit 1007
`
`
`
`
`
`US 2005/0010593 Al
`
`
`
`Jan. 13, 2005
`
`
`
`
`
`
`
`
`
`
`
`
`using a predictive function to select the name and storage
`
`
`
`
`
`
`location of the newly created or modified information.
`
`
`
`
`
`
`
`[0010]
`It is a second objective of the present invention to
`
`
`
`
`
`
`
`provide a method and system to determinea storage location
`for a file based on a name or semantic heuristics of the file.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0011]
`It is a third objective of the present invention to
`
`
`
`
`
`
`
`provide a method and system toretrieve a file or information
`
`
`
`
`
`
`
`from a storage location based on content information in the
`file.
`
`
`
`
`
`
`
`
`
`
`[0012]
`It is a fourth objective of the present invention to
`
`
`
`
`
`
`
`
`provide correlations between the name of a file and the
`
`
`
`
`
`
`identity of a location in a computer system or grid comput-
`
`
`
`
`
`
`
`ing network in order to facilitate efficient and predictive
`
`
`
`
`storage and retrieval of files.
`
`
`
`
`
`
`
`
`[0013] The present invention provides a method and sys-
`
`
`
`
`
`
`
`tem for storing information in a location using a predictive
`
`
`
`
`
`
`
`
`function to select the namefor the newly stored information.
`
`
`
`
`
`
`
`The predictive functions use names of applications, docu-
`
`
`
`
`
`
`
`
`ments or words within these items to select and present a
`
`
`
`
`
`name or symbolic language pattern to a user.
`
`
`
`
`
`
`
`
`[0014] The present invention solves the problem of lost
`
`
`
`
`
`
`
`
`
`time and efficiency involved in storing files from any num-
`
`
`
`
`
`ber of word/documentprocessing applications. It does so by
`
`
`
`
`
`
`establishing correlations between the nameof the currentfile
`
`
`
`
`
`
`
`
`
`and the identities of locations on the computer system or
`
`
`
`
`
`
`
`grid-computing network, and then offers a possible default
`
`
`
`
`
`
`
`
`directory/location into which the current
`file might be
`stored.
`
`
`
`
`
`
`
`
`[0015] The present invention introduces a new function
`
`
`
`
`
`
`within document processing applications, (also potentially
`
`
`
`
`
`
`
`operating systems and/or grid computing), whereby each
`
`
`
`
`
`
`
`
`
`time a file is stored, a predictive function will cause the
`
`
`
`
`
`
`
`
`
`
`selection of the most probable folder or other location in
`
`
`
`
`
`
`which the document would be stored. As an example, if a
`
`
`
`
`
`
`
`
`
`user has a folder named “ACME Computers” and the user is
`
`
`
`
`
`
`
`
`storing a file named “ACE Service Contract” from a word
`
`
`
`
`
`
`processing application or is detaching a file from an elec-
`
`
`
`
`
`
`
`tronic mail application, the predictive element of the present
`
`
`
`
`
`
`
`
`invention would select the “ACME Computers”folder loca-
`
`
`
`
`
`
`
`
`
`
`tion as the storage location for the file named “AMEService
`
`
`
`
`
`
`
`Contract”. In addition, if the folder or location namesfail to
`
`
`
`
`
`
`
`
`
`meet the predictive criteria, the individual file names con-
`
`
`
`
`
`
`
`
`tained within the folders or identified storage locations could
`
`
`
`
`
`
`
`
`provide second level predictive values. Furthering the pre-
`
`
`
`
`
`
`
`
`vious example, if someof the files stored within the “ACME
`
`
`
`
`
`
`
`
`
`Computers” folder location begin with the initials AC, (AC
`
`
`
`
`
`
`
`
`
`Service Contract,
`for example), and the user saves or
`
`
`
`
`
`
`
`detaches a document beginning with the initials “AC”,
`
`
`
`
`
`
`
`again, the “ACME Computers” folder location would be
`
`
`
`
`selected as the storage location.
`
`
`
`
`
`
`
`
`
`In the event the user misspells a storage location
`[0016]
`
`
`
`
`
`
`
`
`
`
`name, the search will not find the designated storage loca-
`
`
`
`
`
`
`
`
`
`tion. The user will have the opportunity to redefine the
`
`
`storage location.
`
`DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`
`[0017] FIG. 1 isa conventional computing device used for
`
`
`
`communication in a computing environment.
`
`
`
`
`
`
`
`FIG.2 is a flow diagram of the general method for
`[0018]
`
`
`
`
`
`
`implementing the concepts of the present invention.
`
`
`
`
`
`
`
`
`
`
`
`[0019] FIG. 3 is a flow diagram of the steps in the
`
`
`
`
`
`
`implementation of a method of the present
`invention
`
`
`
`
`
`
`
`wherein the method has a user override capability.
`
`
`
`
`
`
`
`
`[0020] FIG. 4 is a flow diagram of the steps in the
`
`
`
`
`
`
`implementation of the method of the present
`invention
`
`
`
`
`
`
`
`
`wherein the method has a default storage location option.
`
`
`
`
`
`
`
`
`
`DETAILED DESCRIPTION OF THE
`
`
`INVENTION
`
`
`
`
`
`
`
`
`[0021] The present describes the implementation of a
`
`
`
`
`
`
`
`method and system for managing the storage of information.
`
`
`
`
`
`
`
`
`This method and system can be implemented on any com-
`
`
`
`
`
`
`
`
`puting device,
`in any computing configuration and any
`
`
`
`
`
`
`
`context where information is created and stored in a desig-
`
`
`
`
`
`
`
`
`nated memory location. However,
`for
`the purpose of
`
`
`
`
`
`
`
`
`explaining andillustrating the concepts of the present inven-
`
`
`
`
`
`
`
`
`tion, the implementation of the present invention will be
`
`
`
`
`
`
`described using a conventional personal computing system
`
`
`
`
`
`Notwithstanding the description in terms of a conventional
`
`
`
`
`
`
`
`
`computer, the concepts of the present can also be imple-
`
`
`
`
`
`
`
`
`
`mented with other devices such as palm pilots and cellular
`
`
`
`
`
`
`
`telephones. In addition, the type of information stored can
`
`
`
`
`
`
`
`
`vary from programs,text, photographs and/or images, audio
`
`
`
`
`
`
`
`
`
`stream files,
`to graphics files. The memory location for
`
`
`
`
`
`
`
`
`
`storage can be physical or virtual. In a case of a virtual
`
`
`
`
`
`
`
`
`location, such as in RAM,the storage location does notsit
`
`
`
`
`
`
`
`on a physical platform. In addition, a physical location could
`
`
`
`
`
`be anywhere on a computing network environment.
`
`
`
`
`
`
`
`[0022] With reference now to FIG.1, there is depicted a
`
`
`
`
`
`
`pictorial representation of conventional computing device
`
`
`
`
`
`
`
`
`10 which may be used in a type of implementation of the
`
`
`
`
`
`
`
`present invention. As may be seen, data processing system
`
`
`
`
`
`
`
`10 includes processor 11 that preferably includes a graphics
`
`
`
`
`
`
`
`processor, memory device and central processor
`(not
`
`
`
`
`
`
`shown). Coupled to processor 11 is video display 12 which
`
`
`
`
`
`
`may be implemented utilizing either a color or monochro-
`
`
`
`
`
`
`
`
`matic monitor,
`in a manner well known in the art. Also
`
`
`
`
`
`
`
`
`
`coupled to processor 11 is keyboard 13. Keyboard 13
`
`
`
`
`
`
`preferably comprises a standard computer keyboard, which
`
`
`
`
`
`
`
`
`
`is coupled to the processor by means of cable 14. Also
`
`
`
`
`
`
`coupled to processor 11 is a graphical pointing device, such
`
`
`
`
`
`
`
`
`as mouse 15. Mouse 15 is coupled to processor 11, in a
`
`
`
`
`
`
`
`
`
`manner well knownin the art, via cable 16. As is shown,
`
`
`
`
`
`
`
`
`
`
`mouse 15 may include left button 17, and right button 18,
`
`
`
`
`
`
`each of which may be depressed, or “clicked”, to provide
`
`
`
`
`
`
`
`
`command and control signals to data processing system 10.
`
`
`
`
`
`
`
`While the disclosed embodiment of the present invention
`
`
`
`
`
`
`
`
`
`utilizes a mouse, those skilled in the art will appreciate that
`
`
`
`
`
`
`
`
`any graphical pointing device such as a light pen or touch
`
`
`
`
`
`
`
`sensitive screen may be utilized to implement the method
`
`
`
`
`
`
`
`and apparatusof the present invention. Uponreferenceto the
`
`
`
`
`
`
`
`
`foregoing, those of the present invention may be imple-
`
`
`
`
`
`
`mented utilizing a personal computer 10. {However, as
`
`
`
`
`
`
`
`previously mentioned, the concepts of the present invention
`
`
`
`
`
`
`
`can be implemented on any computer storage device, not
`
`
`
`
`
`
`
`
`just those with keyboards, tethered by cords with typical
`screens.
`
`
`
`
`
`
`
`
`[0023] Within a storage location in a computing environ-
`
`
`
`
`
`
`
`ment, there can be a physical hierarchical storage system or
`
`
`
`
`
`
`
`
`there can be other systems such as massively parallel, or
`
`
`
`
`
`
`
`
`virtual grid memory schemes. For purposesof this descrip-
`
`
`
`
`
`
`
`tion, the primary method for containing information is in a
`
`Page 7 of 12
`
`Netskope Exhibit 1007
`
`Page 7 of 12
`
`Netskope Exhibit 1007
`
`
`
`
`
`US 2005/0010593 Al
`
`
`
`Jan. 13, 2005
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`creating this list of storage locations can vary for the user in
`file. Files can have a variety of formats. In the example using
`
`
`
`
`
`
`
`
`
`
`
`
`
`the predictive process of the present invention.
`the device of FIG. 1, and using an MS Windowsoperating
`
`
`
`
`
`
`
`
`system,files are stored in physical locations called folders.
`
`
`
`
`
`
`
`
`[0027]
`Ina typical situation, a user may be in the process
`
`
`
`
`
`
`
`
`In other operating systems, such as Unix, or AIX the storage
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`of creating a new document. The user has completed work
`configuration, terminology and storage means may differ.
`
`
`
`
`
`
`
`
`on the document and/or desires to store the document. As
`
`
`
`
`
`
`
`
`
`The user can create folders or a system programs can create
`
`
`
`
`
`
`
`
`mentioned, the document would be stored asafile and in this
`
`
`
`
`
`
`
`
`the folders. In addition, a folder can contain other folders as
`
`
`
`
`
`
`
`example stored according to a name givento it by the user.
`
`
`
`
`
`
`part of a hierarchical information storage system. As a result
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`In the process of the present invention, the user
`[0028]
`of the variety of storage options, there can be a series of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`folder and folder locations from which a user may chooseto
`would click the save option. As a result, the process would
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`store a file. The eventual storage location can be identified
`receive a save request indicating that the user is ready to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`by a path nameto that location. This path name will contain
`store the document, step 21. The process would access the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`each folder and sub-folder accessed in the process of access-
`index created in step 20 containing the storage locations.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ing the storage location of a document.
`The process would also retrieve the first storage location
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`identifier that will be used to designate and predict the
`the
`[0024] Because of the variety of storage options,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`storage locationofthe file, step 22. The processofretrieving
`present
`invention uses predictive analysis techniques to
`
`
`
`
`
`
`
`
`
`
`the storage location identifier can also vary. The user may be
`
`
`
`
`
`
`
`
`determine the storage location of files and other documents
`
`
`
`
`
`
`
`
`
`prompted to enter a file name. For example, the user may
`
`
`
`
`
`
`
`
`within this system. Predictive analysis is a maturing and ever
`
`
`
`
`
`
`
`
`namethe file ACME Inventory. From this name, the storage
`
`
`
`
`
`
`
`
`
`more reliable art, and when applied to file processing
`
`
`
`
`
`
`
`
`location identifier would be the first word, ACME. Another
`
`
`
`
`
`
`
`applications as discussed within this description, provides
`
`
`
`
`
`
`
`
`option would be to use the first characters of the document.
`
`
`
`
`
`
`
`for an excellent functional and efficiency enhancement to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Again, if the title of the document were ACMEInventory,
`existing application storage procedures. It should be noted
`the first location identifier would bethefirst set of characters
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`that this predictive functionality could be embeddedin either
`
`
`
`
`
`
`
`
`
`
`or the first word, ACME. However, for sometypesoffiles,
`
`
`
`
`
`
`
`
`
`the file processing application itself, or equally, within the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the use of document characters may not be practical or
`underlying operating system’s
`file management code.
`
`
`
`
`
`
`available. In those cases, it would be necessary to generate
`
`
`
`
`
`
`Optionally, this functionality could be added to a computing
`
`
`
`another type of identifier.
`
`
`
`
`
`
`
`environmentvia a stand alone “File Management Applica-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0029] Step 23 compares the first identifier with the folder
`tion’. It should also be noted that the predictive techniques
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`used could vary greatly based on application characteristics,
`names in the index. As previously mentioned, these storage
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and are not limited to those sighted as examples within this
`entities could be a collection of folders in a file storage
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`disclosure. The following description will give practical
`system. In this process, there can be a one-to-one compari-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`examples of how this functionality could operate. It should
`son of the storage identifier to each storage entry in the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`be noted that many implementation specifics are possible
`index. Step 24, makes a determination whether there is a
`
`
`
`
`
`
`
`
`
`and the inventionis notlimited to theillustrations described
`
`
`
`
`
`
`
`
`match between the first identifier and each storage location
`
`
`
`
`
`
`
`
`herein.
`
`entry. If there is not a match between a particular storage
`
`
`
`
`
`
`
`
`
`location entry and the first identifier, the process moves to
`
`
`
`
`
`
`
`[0025] FIG. 2 illustrates a flow diagram of the general
`
`
`
`
`
`
`step 25 where there is a determination of whether there is
`
`
`
`
`
`
`
`method for implementing the concepts of the present inven-
`
`
`
`
`
`
`
`
`anotherentry in the index. The purposeof step 25 is to make
`tion in accordance with the device illustrated in FIG. 1 and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`sure that the first identifier has been compared with each
`
`
`
`
`
`
`
`an MS Windowsoperating system. In the process of pre-
`
`
`
`
`
`
`
`
`
`entry in the index before proceeding to the next phase of the
`
`
`
`
`
`
`
`
`
`
`dicting the storage location for a file, there are four basic
`
`
`
`
`
`
`
`
`process. If the determination is that there are more entries in
`
`
`
`
`
`
`
`scenarios. The first scenario is when the predictive process
`
`
`
`
`
`
`
`
`
`
`the index, step 26 retrieves the next entry in the index. The
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`finds one storage location entry matching the search criteria
`process then returns to the comparison step 23.
`
`
`
`
`
`
`
`
`
`for storing the file. The second scenario is when the predic-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0030] Referring again to step 24,
`if there is a match
`tive process finds multiple storage location entries that
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`match the search criteria for storing the file. The third
`between the first identifier and a particular storage entry
`
`
`
`
`
`
`
`
`
`scenario is when no matches are found for the search
`
`
`
`
`
`
`
`
`
`
`name, the process moves to step 27 where the matching
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`criteria. The fourth scenario is when the user has a specific
`entry is marked in the index forreferral later in the process.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`location where they want to store a particular file. In this
`One marking scheme may be to create an index to the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`fourth scenario, the user can override the predictive process
`particular storage location. Another marking scheme could
`
`
`
`
`
`
`
`
`
`
`
`
`
`of the present invention.
`be to create a matching entry list that identifies each storage
`
`
`
`
`
`
`
`
`entry that matches the first
`identifier. After a matching
`
`
`
`
`
`
`[0026] For purposesof the description of the invention,all
`
`
`
`
`
`
`storage entry is marked, step 28 makes a determination of
`
`
`
`
`
`
`storage materials including word processing documents,
`
`
`
`
`
`
`
`
`
`
`whether there are any more entries in the index. This step
`
`
`
`
`
`
`
`e-mail documents, scanned and faxed documents, audio
`
`
`
`
`
`
`
`
`
`performs the same function as step 25 to makesure that all
`
`
`
`
`
`
`
`
`stream files and/or virtual memory streams, pictures, images
`of the entries in the index have been considered before the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and graphics will be referred to as files. The process of the
`
`
`
`
`
`
`
`
`process movesto the next phase. If the determination is that
`
`
`
`
`
`
`
`
`present invention can be incorporated into the operating
`
`
`
`
`
`
`
`
`
`
`there are more entries in the index, step 29 retrieves the next
`
`
`
`
`
`
`
`
`systems of a computer, and/or into the word processing
`
`
`
`
`
`
`
`
`
`entry in the index. The process then returns to the compari-
`
`
`
`
`
`
`
`application running on a computer, and/or into a web
`
`
`
`son step 23.
`
`
`
`
`
`
`
`browser. Referring to FIG.2, the initial task in step 20 is to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0031] Step 30 begins another phase of the process of the
`create a list of storage location entries for which a user may
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`store files. Each storage location will be an entry in thislist.
`present invention. At this point, there has been a comparison
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`This list can have an index of the storage locations with a
`of the first identifier with each entry in the index. Step 30
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`predetermined identifier for each location. The process of
`makes a determination of whether there are any entries that
`
`Page 8 of 12
`
`Netskope Exhibit 1007
`
`Page 8 of 12
`
`Netskope Exhibit 1007
`
`