`
`US 20030154221A1
`
`as) United States
`a2 Patent Application Publication co) pub. No.: US 2003/0154221 Al
`Caronniet al.
`(43) Pub. Date:
`Aug. 14, 2003
`
`
`
`(54) SYSTEM AND METHOD FOR ACCESSING
`FILE SYSTEM ENTITIES
`
`(75)
`
`Inventors: Germano Caronni, Palo Alto, CA
`(US); Sandeep Kumar, Santa Clara,
`CA (US)
`
`Correspondence Address:
`Finnegan, Henderson, Farabow,
`Garrett & Dunner, L.L.P.
`1300 I Street, N.W.
`Washington, DC 20005-3315 (US)
`(73) Assignee: Sun Microsystems, Inc.
`(21) Appl. No.:
`10/073,131
`(22)
`Filed:
`Feb. 13, 2002
`
`Publication Classification
`
`Tmt. C17 icccccccscccccssesecasssenenna GO06F 17/30
`(SL)
`
`(52) US. Ch. aeeseessssstessssseesssssnsssssssssseneuesensaneesees 707/205
`/
`ABSTRACT
`(57)
`Methods and systems for accessing file system entities. A
`lookup routine receives a request from a nodeto access a file
`system entity. After determining thata file system view table
`does not havea first entry that correspondstothefile system
`entity, the lookup routine searches thefile system view table
`for an alternate entry. The alternate entry comprises anentity
`name of the requested entity, extended by an uncommon
`String of characters including an expandable sequence. The
`lookuproutine then expands the expandable sequenceof the
`alternate eniry by a value correspondingto the node, and
`retrieves information from the file system view table corre-
`sponding to the expanded alternate entry.
`
`402
`404
`
`
`406
`
`Entity Name
`
`
`
`
`Access Information
`Location
`
`
`S:\eng\file1txt
`
`
`S:\eng\file2.txt
`
`
`
`Access_Infot
`
`filename2
`
`Access_info2
`
`
`
`
`
`
`408 we
`filename’
`
`
`
`
`
`
`
`
`Access_Info3
`S:\eng\user1 23\file1 .txt
`filename 1*A123-eth2*A
`
`
`
`
`Access_Info4filename 1*A342-eth4*A S:leng\user342\file1 txt
`
`
`filename2*A123-1200°A416 all Access_Info5
`
`S:\eng\user1 2Z3\file2. txt
`
`
`
`Sieng\user342\file2.txt
`
`
`filename1*A%user-%interface*A
`
`filename2*A%user-%otimeofday*A
`
`410
`
`412
`
`414
`
`
`
`
`
`Access_Info6
`filename2*A342-15484A
`
`
`ho — jCO|
`
`Google Exhibit 1035
`Google v. VirtaMove
`
`Google Exhibit 1035
`Google v. VirtaMove
`
`
`
`US 2003/0154221 Al
`
`FIG.1
`
`Patent Application Publication Aug. 14,2003 Sheet 1 of 5
`
`122
`
`106
`
`102
`
`AN
`vr
`al
`
`w
`vr
`—-
`
`©
`rr
`-
`
`
`
`Patent Application Publication Aug. 14,2003 Sheet 2 of 5
`
`US 2003/0154221 Al
`
`102
`
`Operating System
`
`Lookup
`Routine
`
`File System
`
`Fileeee|eee|Table
`
`Node B
`
`Secondary
`Storage
`
`Video Display
`
`Input Device
`
`FIG. 2
`
`
`
`Patent Application Publication Aug. 14,2003 Sheet 3 of 5
`
`US 2003/0154221 Al
`
`302
`
`304
`
`314
`
`318
`
`Return Error
`
`Receive File
`Manipulation
`Request
`
`Location
`
`Access Table to
`Retrieve File
`
`System Entity
`
`306
`
`Yes
`
`No
`
`308
`
`Check for
`Alternate File
`System Entry
`
`
`Access
`
`No
`
`Allowed?
`
`
`316
`
`
`312
`
`
`Return
`.
`Location
`
`Return Error
`
`No
`
`Alternate
`Entry Found?
`
`Yes
`
`FIG. 3A
`
`
`
`Patent Application Publication Aug. 14,2003 Sheet 4 of 5
`
`US 2003/0154221 Al
`
`320
`
`322
`
`Expand
`Sequencein
`Alternate Entry
`
`
`
`Perform Lookup
`on Expanded
`Entry
`
`No
`
`332
`
`Return Error
`
`330
`
`Return Error
`
`Yes
`
`326
`
`
`
` Access
`Allowed?
`
`
`Yes
`
`328
`
`Return Location
`
`End
`
`FIG. 3B
`
`
`
`Patent Application Publication
`
`Aug. 14, 2003 Sheet 5 of 5
`
`US 2003/0154221 Al
`
`907vOVcOV
`
`
`
`
`
`uoneo07UONeWOJU]Sss00VowenAus
`
`XI‘ZAI\ZPEIesN\Bue\:sgojuyssaooy
`
`
`
`YWv8pSb-cpevvcoweuslly
`
`PYLal\Zpesesn\Bue\;spojuysseooy
`
`
`VvPUle-ZeVv|oueuelly
`
`yyLal\ezLesn\bue\:§Eojul_sseooy
`
`Yv2U}9-E7|Vv}Oweuall}viv
`
`PI’ZaIINETLJesN\Bue\:sgojulsses0y
`
`
`
`Wv00ZLECLWvcoweuellyOlt
`
`
`
`WAepjoawny%,-Jasn%YyZoweuslyabv
`
`|
`
`804F
`
`OP
`
`|co—
`
`N
`
`
`
`vySis
`
`
`
`
`
`
`
`
`
`
`US 2003/0154221 Al
`
`Aug. 14, 2003
`
`SYSTEM AND METHOD FOR ACCESSING FILE
`SYSTEM ENTITIES
`
`FIELD OF THE INVENTION
`
`invention relates generally to data
`[0001] The present
`processing systems and, more particularly, to a system and
`method for accessing file system entities.
`
`DESCRIPTION OF RELATED ART
`
`[0002] Manyfile systems present a global view of data
`accessible to all processes running on a machine with access
`to those file systems. There are situations, however, whereit
`is advantageousto provide different processes with different
`views of a file system. Machines with multiple network
`interfaces, machines with multiple disparate network views,
`and machines running multi-level trusted systems where
`different users get access to different parts of the system, are
`all suchsituations.
`
`[0003] Conventional systems may implementdifferingfile
`system views, for example, by utilizing file and folder
`permissionsor access control lists. For example, in a UNIX
`operating system, the chroot ( ) system call limits a file
`system view to a certain subsetof files. Other systems enable
`a user to move parts of a globally valid directory (e.g.,
`folder) tree for a private view. Yet other systems enable a
`user to create a new directory tree with a private view of
`processes by mounting file systems over a network.
`
`systems, however, do not have
`[0004] Conventional
`mechanismsin place that allow processes to enforce differ-
`ent views(e.g., permit different processes access to different
`content, files, or folders) dependent on the context that a
`processis in.
`
`alternate entry comprises the entity name of the requested
`entity extended by an uncommonstring of characters includ-
`ing an expandable sequence. The lookup routine then
`expands the expandable sequenceofthe alternate entry by a
`value corresponding to the node, and retrieves information
`from the file system view table corresponding to the
`expandedalternate entry.
`
`[0008] Other methods and systems consistent with the
`principles of the invention also access file system entities. A
`secondary storage comprises a plurality offile system enti-
`ties, each of thefile system entities having an entity name.
`An operating system in a memory includes a file system
`view table with a plurality of entries, and a lookup routine.
`The lookup routine receives a request from a node to access
`a file system entity. After determining that the file system
`view table does not havea first entry that correspondsto the
`file system entity, the lookup routine searchesthe file system
`view table for an alternate entry. The alternate entry com-
`prises the entity name of the requested entity extended by an
`uncommon string of characters including an expandable
`sequence. The lookup routine then expands the expandable
`sequence of the alternate entry by a value corresponding to
`the node, andretrieves information from thefile system view
`table corresponding to the expandedalternate entry.
`
`[0009] Other methods and systems consistent with the
`principles of the invention also access file system entities. A
`data structure for use by an operating system in accessing
`file system entities comprisesa first entry and a second entry.
`The first entry comprises an entity name extended by an
`uncommon string of characters including an expandable
`sequence. The second entry comprises the entity name
`extended by an uncommonstring of characters including a
`value representative of a context of a node.
`
`SUMMARYOF THE INVENTION
`
`[0010] Other methods and systems consistent with the
`principles of the invention also accessfile system entities. A
`[0005] Methods and systemsconsistent with the principles
`node sends, to a lookup routine, a request for accesstoafile
`of the invention accessfile system entities. A lookup routine
`system entity having an entity name. The lookup routine
`receives a request from a nodeto accessa file system entity
`searches for an alternate entry that comprises the entity
`having an entity name. The lookup routine searches for an
`name of the requested entity extended by an uncommon
`alternate entry that comprises the entity name of the
`string of characters including an expandable sequence. The
`requested entity extended by an expandable sequence. The
`lookup routine then expands the expandable sequenceof the
`lookup routine then expands the expandable sequence by a
`alternate entry by a value corresponding to the node, and
`value corresponding to the node, and retrieves information
`retrieves information from the file system view table corre-
`corresponding to the expanded sequence.
`sponding to the expanded alternate entry. Thereafter, the
`node receives the retrieved information.
`
`[0006] Other methods and systems consistent with the
`principles of the invention access file system entities. A
`lookup routine receives a request from a nodeto accessa file
`system entity having an entity name. The lookup routine
`searches for an alternate entry that comprises the entity
`name of the requested entity extended by an uncommon
`string of characters including an expandable sequence. The
`lookup routine then expands the expandable sequence of the
`alternate entry by a value corresponding to the node, and
`retrieves information from the file system view table corre-
`sponding to the expandedalternate entry.
`
`[0007] Other methods and systems consistent with the
`principles of the invention also accessfile system entities. A
`lookup routine receives a request from a node to accessa file
`system cntity having an entity name. After determining that
`a file system view table does not have a first entry that
`corresponds to the file system entity,
`the lookup routine
`scarchesthe file system vicw table for an altcrnate entry. The
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`(0011] The accompanying drawings are incorporated in
`and constitute a part of this specification and, together with
`the description, explain the features and principles of the
`invention. In the drawings:
`
`is a diagram of an exemplary network
`{0012] FIG. 1
`environment in which features and aspects consistent with
`the present invention may be implemented;
`
`(0013] FIG. 2 is a diagram of a device in which the
`features and aspects of the present invention may be imple-
`mented;
`
`[0014] FIGS. 3A and 3Bare a diagram of an exemplary
`flowchart of a method for passive filename translation in a
`manner consistent with the present invention; and
`
`
`
`US 2003/0154221 Al
`
`Aug. 14, 2003
`
`[0015] FIG. 4 is an example of a file system view table
`consistent with the present invention.
`
`DETAILED DESCRIPTION
`
`[0016] The following detailed description of the invention
`refers to the accompanying drawings. While the description
`includes exemplary embodiments, other embodiments are
`possible, and changes may be made to the embodiments
`described without departing from the spirit and scope of the
`invention. The following detailed description does not limit
`the invention. Instead, the scope of the invention is defined
`by the appended claims and their equivalents.
`
`Overview
`
`[0017] Methods and systems consistent with the principles
`of the invention enable passive filenametranslation based on
`process context. A system for accessing file system entities
`consistent with the principles of the present
`invention
`includes at
`least one node (e.g., process). A secondary
`storage has a plurality of file system entities with each ofthe
`file system entities having an entity name. The system for
`accessing file system entities may also include a file system
`view table with a plurality of entries and a lookup routine.
`The lookup routine receives a request from a node to access
`a file system entity. After determining that the file system
`view table does not havea first entry that correspondsto the
`file system entity, the lookup routine scarchesthe file system
`view table for an alternate entry. The alternate entry com-
`prises an entity name of the requested file system entity
`extended by an uncommonstring of characters including an
`expandable sequence. The lookup routine then expands the
`expandable sequence of the alternate entry by a value
`corresponding to the node, and retrieves information from
`the file system view table corresponding to the expanded
`alternate entry.
`
`Network Environment
`
`[0018] FIG. 1 is a diagram of an exemplary network
`environment in which features and aspects consistent with
`the present invention may be implemented. Network envi-
`ronment 100 comprises a number of devices, such as com-
`puters 102-108, connected to a network, such as network
`110 (which may comprise a wired or wireless communica-
`tion network, including the Internet). The components of
`FIG. 1 may be implemented through hardware, software,
`and/or firmware. The number of components in network
`environment 100 is not limited to what is shown.
`
`[0019] Computers 102, 104, and 106 contain nodes that
`may communicate with each other. These nodes 112, 114,
`116, and 118 maybe communicative entities, such as pro-
`cesses, running within a particular device and are able to
`communicate among themselves as well as access the
`resources of the computers 102-108. Nodes may be imple-
`mented by computer programs.
`
`work and the other within a public network. The computer
`also includes a mechanism that provides nodes with the
`ability to bind to one of the two network interfaces so that
`after the binding the process may only receive information
`from and send informationto the one interface it is boundto.
`Configuration files must then provide different information
`to different nodes depending on which interface they are
`bound to. Systems and methods consistent with the present
`invention may enable different information to be provided to
`different processes depending on the interface even though
`the nodes refer to the same file system entity name.
`
`{0021] FIG. 2 is a diagram of computer 102 in greater
`detail, although computers 104, 106, and 108 may contain
`similar components. Computer 102 includes secondarystor-
`age 202, a central processing unit (CPU) 206, an input
`device 208, a video display 210, and a memory 212. One
`skilled in the art will appreciate that computer 102 may
`contain additional or different components.
`
`[0022] Secondary storage 202 includesa file system 204,
`which comprises files, directorics, and other related infor-
`mation needed to locate and access these items. Thesefiles,
`directories, and related information may be accessed by
`various nodesin the network. CPU 206is capable of running
`in at least a user mode and a kernel mode. When CPU 206
`executes programs running in user mode, it prevents the
`programsfrom directly manipulating or modifying the con-
`figuration of hardware components, such as video display
`210. On the other hand, when CPU 206 executes programs
`running in the kernel mode,
`it allows such programs to
`directly manipulate the hardware components. The kernel
`mode may also be responsible for managing memory and
`files, allocating system resources, maintaining the time and
`date, launching applications, and various other system func-
`tions.
`
`[0023] Memory 212 includes operating system 214, node
`B 220, and node A 222. Operating system 214 comprises at
`least lookup routine 216 and file system view table 218.
`Operating system 214 may be, for example, a UNIX oper-
`ating system, Windowsoperating system, or other operating
`system for controlling device operations. Node B 220 and
`node A 222 correspond to node B 114 and node A 112 from
`FIG.1.
`
`[0024] Lookup routine 216 provides a requesting node
`with access to a file system entity in file system 204 by
`accessing file system view table 218 and first checking for
`the existence of an entry that corresponds to the entity
`desired to be accessed. Lookup routine 216 also checks the
`validity of the pathname components leading to the entry,
`and makessure that appropriate authorization to access the
`file system entity exists. If the lookup succeeds, the routine
`may return information corresponding to the entity in ques-
`tion.
`
`[0020] For example, nodes 112-118 may each accessfiles
`or folders stored in its own computer (102, 104, and 106,
`respectively) or in a device remote with respect to each
`node. Different nodes may each have access to different
`vicw(s) offiles and folders dependenton the current context
`of the node when attempting to view thefiles or folders. For
`[0026] FIG.3is an exemplary flowchart of a method for
`example, suppose there is a computer with two network
`interfaces, one interface within a protected company net-
`passive filename translation performed by a lookup routine
`
`File system view table 218 may provide mappings
`[0025]
`to all the storage devices in a network environment. Thus,
`lookup routine 216 may operate on file system entities
`located anywhere in the network environment, not just in file
`system 204. Alternatively, file system view table 218 may
`provide mappings to only the storage devices in its own
`device, i.e. computer 102 in FIGS. 1 and 2.
`
`
`
`US 2003/0154221 Al
`
`Aug. 14, 2003
`
`in a mannerconsistent with the present invention. Although
`the steps of the flow chart are described in a particular order,
`one skilled in the art will appreciate that these steps may be
`performed in a different order, or that some of these steps
`may be concurrent.
`
`First, a lookup routine, such as lookup routine 216,
`[0027]
`receives a request from a node to open, create, or otherwise
`access a file system entity, such as a file, folder, or other
`entry in the file system (step 302). The request from the node
`includes an entity name, such as a directory nameora file
`name. Upon receiving the request from the node, the lookup
`routine accessesa file system view table, such asfile system
`view table 218, to retrieve the location of the requested file
`system entity (step 304). Specifically,
`the lookup routine
`may use the entity name received with the request and
`attempt to map it to a network location using the file system
`view table.
`
`[0028] The lookup routine then determines whether there
`is an entryin the file system view table corresponding to the
`enlily name (step 306). If an entry corresponding to the
`entity name exists,
`then the lookup routine determines
`whether the requesting node is allowed to access the entry
`(step 308). For example, the lookup routine may check the
`validity of all pathname components leading to the entry. In
`addition, the lookup routine makes sure that the requesting
`node has authorization to access the entry. If access to the
`entry is not permitted, then the lookup routine returns an
`appropriate error indication to the requesting node (step
`312). If access to the entry is permitted, then the lookup
`routine returns the location contained in the entry to the
`requesting node (step 310).
`
`expandsthe entity name with a first uncommonstring and no
`corresponding entry is found, the lookup routine may sub-
`sequently expand the entity name with a second uncommon
`string, and so on.
`
`(0031] The uncommon string may contain arbitrarily
`ordered expandable sequences with predefined meanings,
`such as % user and % interface in the example above. As
`such, these expandable sequences may be representative of
`the context of the requesting node. Context generally refers
`to a framework in which a node may be defined. For
`example, the user of a node and the interface to which a node
`is connected define a particular context of a node. Another
`factor that may further define the context of a node and
`thereby be used as the subject of an expandable sequence is
`time of day. Other factors that may define context include
`terminal (c.g., which serial linc) to which a node is con-
`nected, access privileges for the node, program(s) assigned
`to the node, day of the week, date, or any other factors that
`may generally define time, environment, configuration, and
`location attributes assignable to a node.
`
`[0032] Next, the lookup routine may determine whether an
`alternate entry exists (step 316). If no alternate entry exists,
`then the lookup routine returos an appropriate error indica-
`tion to the requesting node (step 318). If an alternate entry
`exists in the file system viewtable, then the lookup routine
`proceeds to expand the expandable sequences in the alter-
`nate entry by their actual values (step 320). Kor example,
`suppose a file system entity with the name “entityname” is
`extended by the uncommonstring of “"A % user-% interface
`“A”, so that the lookup routine searches for an alternate
`entry in the file system view table of “entityname A %
`user-% interface” A”. After the lookup routine expands the
`expandable sequences by their actual values, the result may
`be “entityname A123-eth2° A”, for a requesting node with
`a user identification of 123, and an assigned network inter-
`face of “eth2.”
`
`[0029] Upon receiving the location of the file system
`entity, the requesting node is able to access the file system.
`In one embodiment, the location is returned to the requesting
`nodeas part of an information node data structure (referred
`to herein as an “inode”), which stores various information
`[0033] Once the lookup routine completes the expansion
`aboutthe file system entity. An modeis a data structure that
`of the expandable sequences,it performs a lookupin the file
`holds information about files in a file system, such as the
`system view table on the expanded entry (step 322). The
`Unix file system. There may be an inode for each folder or
`file (or other file system entity), and a folder or file may be
`lookup routine then determines whetherthere is an entry in
`uniquely identified by the file system on whichit resides and
`the file system view table corresponding to the expanded
`entry (step 324). The determination may occur by looking
`its inode numberon that system. A folder may includealist
`of names (directory enlilies) and the inodes associated with
`for an entry corresponding to the expanded entry in various
`them. An inode mayinclude information such as the device
`permutations. For example, the lookup routine mayfirst look
`for an entry that corresponds to “entityname® A123-eth2
`where the moderesides, locking information, mode and type
`“A.” If such an entry is not found, the lookup routine may
`of file, the numberof links to the file, user and group IDs,
`look for an entry that correspondsto “entityname A123" A.”
`the number of bytes in the file, access and modification
`Then it may try “entityname Aeth2°A,” and so on until
`times, the time the inode itself was last modified, and the
`address ofthe file’s blocks on disk. One of ordinary skill in
`several combinations have been tried. Alternatively,
`the
`the art will appreciate that an inode may include either less
`lookup routine may look for an entry corresponding to the
`expanded entry without trying various permutations(e.g., no
`or more information than specified above.
`variations are searched after the initial lookup).
`
`[0030] Whenthe lookup routine determines that an entry
`correspondingto the entity namedoesnot exist, it checks the
`file system view table or a folder for an alternate file system
`entry (step 314). For example,
`the lookup routine may
`scarch for the same cntity name extended by an uncommon
`string of characters, such as ““A % user-% interface’ A”.
`Searching for the alternate entry may be implemented using
`a simple lookup in the file system viewtable or by parsing
`the contents(e.g., entity names) of a folder that may contain
`the file system entity. Also, the search may be for one or
`more alternate cntrics. For example, if the lookup routine
`
`If no entry corresponding to the expanded entry
`[0034]
`exists, then the lookup routine returns an appropriate error
`indication to the requesting node (step 332). If an entry
`corresponding to the expanded entry exists in the file system
`view table, then the lookup routine determines whether the
`requesting node is allowed access (step 326). For example,
`the lookup routine may check the validity of all pathname
`components leading to the entry corresponding to the
`expanded entry. In addition, the lookup routine makes sure
`that the requesting node has authorization to access this
`
`
`
`US 2003/0154221 Al
`
`Aug. 14, 2003
`
`entry. If access to the entry corresponding to the expanded
`entry is not permitted, then the lookup routine returns an
`appropriate error indication to the requesting node (step
`330). If access to the entry corresponding to the expanded
`entry is permitted,
`then the lookup routine returns the
`location contained in the entry corresponding to the
`expanded entry to the requesting node (step 328). Upon
`receiving the location ofthefile system entity, the requesting
`node is able to access the file system. In one embodiment,
`the location is returned to the requesting node as part of an
`information node (inode) or other similar data structure.
`
`[0035] FIG. 4 shows an example offile system view table
`218 consistent with the present invention. File system view
`table 218 has three columns:the entity name 402, indicating
`the name that nodes use to refer to the correspondingfile
`system entity; the access information 404, indicating infor-
`mation for use in determining whether a node is permitted
`access to a file system entity; and the location 406, indicat-
`ing the network location (e.g., a UNIX node) of the file
`systementity.
`
`[0036] There are several different types of entries under
`the entity name column 402. Entry 408 contains the entity
`name of “filenamel”. Entries 410 and 412, on the other
`hand,are alternate entries comprising entity namesthat have
`been extended by an uncommonstring. Specifically, entry
`410 contains the entity name “filenamel A % user-% inter-
`face” A”, which the lookup routine may search for after an
`initial lookup failed due to a missing file system entry. Entry
`410 includes the expandable sequences of “% user” and “%
`interface”. Entry 412 contains an extended entity that
`includes the expandable sequences of “% user’ and “%
`timeofday”. One of ordinaryskill in the art will appreciate
`that other expandable sequences maybe used dependent on
`the particular desired context of the requesting node.
`
`[0037] Entries 414 and 416 are entries that correspond to
`entries 410 and 412, respectively, with actual values substi-
`tuted for the expandable sequences. Accordingly, a lookup
`routine that performed a search for an alternate file system
`entry, such as entry 410, may expand the expandable
`sequencesin entry 410. In the case that the requesting node
`has a user identification of 123 and assigned network
`interface of eth2, the lookup routine subsequently performs
`a lookup on “filename1”A123-eth2” A” andfindsentry 414.
`The lookup routine makessure that the requesting node may
`access the corresponding file system entily with the aid of
`access_info3. Assuming that access is permitted, the lookup
`routine returns a location of “S:\eng\user123\file1.txt” to the
`requesting node. One of ordinary skill in the art will appre-
`ciate that a file system view table may include moreorless
`rows and/or columns than depicted above. For example, a
`file system view table may not include a column of access
`information.
`
`[0038] While the present invention has been described in
`connection with various embodiments, many modifications
`will be readily apparent
`to those skilled in the art. For
`example, an extensionoftranslating file and folder namesis
`translating file content. Expandable sequences may be
`placed in a file so that the content of the file may differ
`dependent on context.
`
`invention are
`[0039] Although aspects of the present
`described as being stored in memory, one skilled in the art
`will appreciate that these aspects can also be stored on or
`
`read from other types of computer-readable media, such as
`secondary storage devices, like hard disks, floppy disks, or
`CD-ROM;a carrier wave, optical signal or digital signal
`from a network, such as the Internet; or other forms of RAM
`or ROM either currently known or later developed. Addi-
`tionally, although a numberof the software components are
`described as being located on the same machine,one skilled
`in the art will appreciate that these components may be
`distributed over a number of machines. The invention,
`therefore,
`is not
`limited to the disclosure herein, but is
`intended to cover any adaptations or variations thereof.
`
`Whatis claimedis:
`1. Amethodfor accessingfile system entities, comprising:
`
`receiving a request from a node to access a file system
`entity having an entity name;
`
`scarching for an altcrnate entry corresponding to the file
`system entity, the alternate entry comprising the entity
`name extended by an expandable sequence;
`
`expanding the expandable sequence by a value corre-
`sponding to the node; and
`
`retrieving information corresponding to the expanded
`sequence.
`2. The method of claim 1, wherein the retrieved informa-
`tion includes a location of the file system entity.
`3. The method of claim 1, wherein the retrieved informa-
`tion comprises an information node.
`4. The method of claim 1, said retrieving comprising:
`
`looking up the information in a system view table using
`the expanded sequence; and
`
`returning the information to the node.
`5. The method of claim 1, wherein the node comprises a
`process.
`6. The method of claim 1, wherein the file system entity
`is at least one ofa file and a folder.
`
`7. The method of claim 1, wherein the value is represen-
`tative of a context of the node.
`8. The method of claim 7, wherein the context is one of
`user identification, network interface, and time of day.
`9. The method of claim 4, said searching comprising:
`
`looking up the alternate entry in the file system view table
`based on a determination that the system view table is
`missing a first entry corresponding to the file system
`entity.
`10. The method of claim 9, further comprising:
`
`sending information correspondingto thefirst entry to the
`node based on a determinationthat the file system view
`table has the first entry.
`11. A method for accessing file system entities, compris-
`ing:
`
`receiving a request from a node to access a file system
`entity having an entity name;
`
`determining whethera file system view table has a first
`entry corresponding to the file system entity;
`
`scarching the file system view table for an alternate entry
`based on the determination, the alternate entry com-
`prising the entity name extended by an uncommon
`string of characters including an expandable sequence;
`
`
`
`US 2003/0154221 Al
`
`Aug. 14, 2003
`
`expanding the expandable sequenceof the alternate entry
`by a value corresponding to the node; and
`
`retrieving information corresponding to the expanded
`altcrnate entry.
`12. The method of claim 11, said retrieving comprising:
`
`looking up the information in the file system viewtable
`using the expanded alternate entry; and
`
`means for retrieving information corresponding to the
`expanded alternate entry.
`20. The apparatus of claim 19, wherein the retrieved
`information includes a location of the file system entity.
`21. The apparatus of claim 19, wherein the retrieved
`information comprises an information node.
`22. ‘The apparatus of claim 19, said meansfor retrieving
`comprising:
`
`returning the information to the node.
`13. The method of claim 11, said searching comprising:
`
`means for looking up the information in a system view
`table using the expanded alternate entry; and
`
`looking up the alternate entry in the file system view table
`based on a determination that the system view table is
`missing the first entry.
`14. The method of claim 13, further comprising:
`
`sending information correspondingto thefirst entry to the
`node based on a determination that the file system view
`table has the first entry.
`15. The method of claim 12, said returning comprising:
`
`sending the information to the node based on a determi-
`nation that the node is permitted access to the infor-
`mation; and
`
`indication to the node based on a
`sending an error
`determination that the node is not permitted access to
`the information.
`
`16. The method of claim 11, further comprising:
`
`indication to the node based on a
`sending an error
`determination that the file system viewtable is missing
`the alternate entry.
`17. The method of claim 12, further comprising:
`
`indication to the node based on a
`sending an error
`determinationthat the file system viewtable is missing
`the information corresponding to the expanded alter-
`nate entry.
`18. An apparatus for accessing file system entities, com-
`prising:
`
`a memory including an operating system thal: receives a
`request from a node to access a file system entity
`having an entity name; searches for an alternate entry
`corresponding to the file system entity,
`the alternate
`entry comprising the entity name extended by an
`uncommonstring of characters including an expand-
`able sequence; expands the expandable sequence ofthe
`alternate entry by a value corresponding to the node;
`and
`retrieves
`information corresponding to
`the
`expandedalternate entry; and
`
`a processor that runs the operating system.
`19. An apparatus for accessing file system entities, com-
`prising:
`
`meansfor receiving a request from a node to accessa file
`systementity having an entity name;
`
`means for searching for an alternate entry corresponding
`to the file system entity, the alternate entry comprising
`the entity name extended by an uncommonstring of
`characters including an expandable sequence;
`
`means for expa