Incomputing, ashared resource, ornetwork share, is acomputer resource made available from onehost to other hosts on acomputer network.[1][2] It is a device or piece of information on a computer that can be remotely accessed from another computer transparently as if it were a resource in the local machine. Network sharing is made possible byinter-process communication over the network.[2][3]
Some examples of shareable resources arecomputer programs,data,storage devices, andprinters. E.g.shared file access (also known asdisk sharing andfolder sharing), shared printer access, shared scanner access, etc. The shared resource is called ashared disk,shared folder orshared document
The termfile sharing traditionally means shared file access, especially in the context of operating systems andLAN andIntranet services, for example in Microsoft Windows documentation.[4] Though, asBitTorrent and similar applications became available in the early 2000s, the termfile sharing increasingly has become associated withpeer-to-peer file sharing over the Internet.
Shared file and printer access require anoperating system on the client that supports access to resources on a server, an operating system on the server that supports access to its resources from a client, and anapplication layer (in the four or five layerTCP/IP reference model) file sharingprotocol andtransport layer protocol to provide that shared access. Modern operating systems forpersonal computers includedistributed file systems that support file sharing, while hand-held computing devices sometimes require additional software for shared file access.
The most common such file systems and protocols are:
| Primary operating system | Application protocol | Transport protocol |
|---|---|---|
| Mac operating systems | SMB,Apple Filing Protocol[5] | |
| Unix-like systems | Network File System (NFS),SMB | |
| MS-DOS,Windows | SMB, also known asCIFS | |
| Novell NetWare (server) MS-DOS, Windows (client) |
The "primary operating system" is the operating system on which the file sharing protocol in question is most commonly used.
OnMicrosoft Windows, a network share is provided by the Windows network component "File and Printer Sharing for Microsoft Networks", using Microsoft's SMB (Server Message Block) protocol. Other operating systems might also implement that protocol; for example,Samba is an SMB server running onUnix-like operating systems and some other non-MS-DOS/non-Windows operating systems such asOpenVMS. Samba can be used to create network shares which can be accessed, using SMB, from computers runningMicrosoft Windows. An alternative approach is ashared disk file system, where each computer has access to the "native" filesystem on a shared disk drive.
Shared resource access can also be implemented withWeb-based Distributed Authoring and Versioning (WebDAV).
The share can be accessed by client computers through some naming convention, such asUNC (Universal Naming Convention) used onDOS andWindows PC computers. This implies that a network share can be addressed according to the following:
whereServerComputerName is theWINS name,DNS name orIP address of the server computer, andShareName may be a folder or file name, or itspath. The shared folder can also be given a ShareName that is different from the folder local name at the server side. For example,\\ServerComputerName\c$ usually denotes a drive with drive letterC: on a Windows machine.
A shared drive or folder is oftenmapped at the client PC computer, meaning that it is assigned adrive letter on the local PC computer. For example, the drive letterH: is typically used for the user home directory on a central file server.
A network share can become a security liability when access to the shared files is gained (often by devious means) by those who should not have access to them. Manycomputer worms have spread through network shares. Network shares would consume extensive communication capacity in non-broadband network access. Because of that, shared printer and file access is normally prohibited infirewalls from computers outside thelocal area network or enterpriseIntranet. However, by means ofvirtual private networks (VPN), shared resources can securely be made available for certified users outside the local network.
A network share is typically made accessible to other users by marking anyfolder or file as shared, or by changing thefile system permissions or access rights in the properties of the folder. For example, a file or folder may be accessible only to one user (the owner), to system administrators, to a certain group of users to public, i.e. to all logged in users. The exact procedure varies by platform.
In operating system editions for homes and small offices, there may be a specialpre-shared folder that is accessible to all users with a user account and password on the local computer. Network access to the pre-shared folder can be turned on. In the English version of theWindows XP Home Edition operating system, the preshared folder is namedShared documents, typically with thepathC:\Documents and Settings\All users\Shared documents. InWindows Vista andWindows 7, the pre-shared folder is namedPublic documents, typically with the pathC:\Users\Public\Public documents.[6]
In home and small office networks, adecentralized approach is often used, where every user may make their local folders and printers available to others. This approach is sometimes denoted aWorkgroup orpeer-to-peer network topology, since the same computer may be used as client as well as server.
In large enterprise networks, a centralizedfile server orprint server, sometimes denotedclient–server paradigm, is typically used. A client process on the local user computer takes the initiative to start the communication, while a server process on thefile server orprint server remote computer passively waits for requests to start a communication session
In very large networks, aStorage Area Network (SAN) approach may be used.
Online storage on a server outside the local network is currently an option, especially for homes and small office networks.
Shared file access should not be confused with file transfer using theFile Transfer Protocol (FTP), or theBluetoothIRDAOBject EXchange (OBEX) protocol. Shared access involves automatic synchronization of folder information whenever a folder is changed on the server, and may provide server side file searching, while file transfer is a more rudimentary service.[7]
Shared file access is normally considered as a local area network (LAN) service, while FTP is an Internet service.
Shared file access is transparent to the user, as if it was a resource in the local file system, and supports a multi-user environment. This includesconcurrency control orlocking of a remote file while a user is editing it, andfile system permissions.
Shared file access involves but should not be confused withfile synchronization and other information synchronization. Internet-based information synchronization may, for example, use theSyncML language. Shared file access is based on server-side pushing of folder information, and is normally used over an "always on"Internet socket. File synchronization allows the user to be offline from time to time and is normally based on an agent software that polls synchronized machines at reconnect, and sometimes repeatedly with a certain time interval, to discover differences. Modern operating systems often include a localcache of remote files, allowingoffline access and synchronization when reconnected.
The first international heterogenous network for resource sharing was the 1973 interconnection of theARPANET with earlyBritish academic networks through the computer science department atUniversity College London (UCL).[8][9][10]