throbber
AOCRDUAREA
`
`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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket