Recent from talks
Nothing was collected or created yet.
Shared resource
View on WikipediaIn computing, a shared resource, or network share, is a computer resource made available from one host to other hosts on a computer 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 by inter-process communication over the network.[2][3]
Some examples of shareable resources are computer programs, data, storage devices, and printers. E.g. shared file access (also known as disk sharing and folder sharing), shared printer access, shared scanner access, etc. The shared resource is called a shared disk, shared folder or shared document
The term file sharing traditionally means shared file access, especially in the context of operating systems and LAN and Intranet services, for example in Microsoft Windows documentation.[4] Though, as BitTorrent and similar applications became available in the early 2000s, the term file sharing increasingly has become associated with peer-to-peer file sharing over the Internet.
Common file systems and protocols
[edit]Shared file and printer access require an operating 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 an application layer (in the four or five layer TCP/IP reference model) file sharing protocol and transport layer protocol to provide that shared access. Modern operating systems for personal computers include distributed 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 as CIFS | |
| 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.
On Microsoft 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 on Unix-like operating systems and some other non-MS-DOS/non-Windows operating systems such as OpenVMS. Samba can be used to create network shares which can be accessed, using SMB, from computers running Microsoft Windows. An alternative approach is a shared disk file system, where each computer has access to the "native" filesystem on a shared disk drive.
Shared resource access can also be implemented with Web-based Distributed Authoring and Versioning (WebDAV).
Naming convention and mapping
[edit]The share can be accessed by client computers through some naming convention, such as UNC (Universal Naming Convention) used on DOS and Windows PC computers. This implies that a network share can be addressed according to the following:
- \\ServerComputerName\ShareName
where ServerComputerName is the WINS name, DNS name or IP address of the server computer, and ShareName may be a folder or file name, or its path. 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 letter C: on a Windows machine.
A shared drive or folder is often mapped at the client PC computer, meaning that it is assigned a drive letter on the local PC computer. For example, the drive letter H: is typically used for the user home directory on a central file server.
Security issues
[edit]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. Many computer 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 in firewalls from computers outside the local area network or enterprise Intranet. However, by means of virtual 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 any folder or file as shared, or by changing the file 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 special pre-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 the Windows XP Home Edition operating system, the preshared folder is named Shared documents, typically with the path C:\Documents and Settings\All users\Shared documents. In Windows Vista and Windows 7, the pre-shared folder is named Public documents, typically with the path C:\Users\Public\Public documents.[6]
Workgroup topology or centralized server
[edit]In home and small office networks, a decentralized approach is often used, where every user may make their local folders and printers available to others. This approach is sometimes denoted a Workgroup or peer-to-peer network topology, since the same computer may be used as client as well as server.
In large enterprise networks, a centralized file server or print server, sometimes denoted client–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 the file server or print server remote computer passively waits for requests to start a communication session
In very large networks, a Storage 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.
Comparison to file transfer
[edit]Shared file access should not be confused with file transfer using the File Transfer Protocol (FTP), or the Bluetooth IRDA OBject 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 includes concurrency control or locking of a remote file while a user is editing it, and file system permissions.
Comparison to file synchronization
[edit]Shared file access involves but should not be confused with file synchronization and other information synchronization. Internet-based information synchronization may, for example, use the SyncML 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 local cache of remote files, allowing offline access and synchronization when reconnected.
History
[edit]The first international heterogenous network for resource sharing was the 1973 interconnection of the ARPANET with early British academic networks through the computer science department at University College London (UCL).[8][9][10]
See also
[edit]- Client portals
- Distributed file systems
- Internetworking
- Network-attached storage (NAS)
- Resource contention
- Time-sharing
- Tragedy of the commons, the economic theory of a shared-resource system where individuals behave contrary to the common good
- Virtual private network
- Web literacy, includes sharing via web technology
- Website
References
[edit]- ^ Padlipsky, Michael A. (September 1982). A Perspective on the ARPANET Reference Model. IETF. doi:10.17487/RFC0871. RFC 871. Retrieved 15 December 2013.
- ^ a b Walden, David C. (July 1970). A Note on Interprocess in a Resource Sharing Computer Network. IETF. doi:10.17487/RFC0061. RFC 61. Retrieved 15 December 2013.
- ^ Walden, David C. (August 1970). A System for Interprocess Communication in a Resource Sharing Computer Network. IETF. doi:10.17487/RFC0062. RFC 62. Retrieved 15 December 2013.
- ^ Microsoft Technet, File and Printer Sharing in Windows Vista, May 14, 2007
- ^ "Apple shifts from AFP file sharing to SMB2 in OS X 10.9 Mavericks". AppleInsider. Quiller Media, Inc. 11 June 2013.
- ^ Katy Ivens, Networking for dummies, 4th edition, 2007, page 121. Suggest the term "pre-shared folder".
- ^ Share Files across Cloud Storage.
- ^ M. Ziewitz & I. Brown (2013). Research Handbook on Governance of the Internet. Edward Elgar Publishing. p. 7. ISBN 978-1849805049. Retrieved 2015-08-16.
- ^ Kirstein, P.T. (1999). "Early experiences with the Arpanet and Internet in the United Kingdom" (PDF). IEEE Annals of the History of Computing. 21 (1): 38–44. doi:10.1109/85.759368. ISSN 1934-1547. S2CID 1558618. Archived from the original (PDF) on 2020-02-07.
- ^ "30 years of the international internet". BBC News. 19 November 2003. Retrieved 22 June 2012.
- Graves, Michael W. (2004). The Complete Guide to Networking And Network +. Cengage Learning. ISBN 978-1-4018-3339-8.
- Meyers, Michael; Jernigan, Scott (2004). Mike Meyers' A+ Guide to Operating Systems. McGraw-Hill Professional. ISBN 978-0-07-223124-3.
- Pirkola, G. C. (June 1975). "A file system for a general-purpose time-sharing environment". Proceedings of the IEEE. 63 (6): 918–924. doi:10.1109/PROC.1975.9856. ISSN 0018-9219.
- Pirkola, G. C.; Sanguinetti, John. "The Protection of Information in a General Purpose Time-Sharing Environment" (PDF). Proceedings of the IEEE Symposium on Trends and Applications 1977: Computer Security and Integrity. Vol. 10. pp. 106–114. Archived from the original (PDF) on 2012-11-01.
Shared resource
View on GrokipediaFundamentals
Definition and Overview
In computing, a shared resource refers to any hardware, software, or data asset made accessible to multiple users or processes simultaneously, often over a network, to enable cooperative utilization across systems.[5] This accessibility promotes efficient interaction among distributed components, such as in multiprocessor or client-server architectures.[6] Broad categories of shared resources encompass hardware like printers and storage devices, software applications, and data elements including files and databases.[6] The key purposes of shared resources include optimizing utilization by minimizing duplication of assets, realizing cost savings through centralized provisioning rather than individual replication, and supporting distributed computing by allowing seamless collaboration across networked entities.[7] For instance, pooling resources like CPU cycles or storage reduces overhead and enhances overall system throughput in multi-user environments.[6] Fundamental principles underlying shared resources involve concurrency, which permits multiple simultaneous accesses to improve responsiveness; contention, the competition among users or processes for finite availability that can lead to delays; and synchronization, techniques to coordinate access and avert conflicts such as data corruption.[8] These principles ensure reliable operation while balancing performance and integrity in shared settings.[9]Types of Shared Resources
Shared resources in computing can be categorized into several primary types based on their nature and usage, including hardware, software, and data resources, each enabling concurrent access by multiple users or processes while requiring coordination to prevent conflicts.[10] Hardware shared resources encompass physical devices that multiple systems access over a network, such as printers, scanners, and storage drives, often facilitated through dedicated servers like print servers to manage queues and access. For instance, a network-attached storage (NAS) device allows multiple computers to read and write data to shared drives, optimizing utilization in office environments.[11][12] Software shared resources involve applications, libraries, or middleware that support concurrent usage across systems, including shared databases for persistent data storage and retrieval by multiple clients. Middleware acts as an intermediary layer, enabling communication between disparate applications and services, such as in enterprise systems where it handles transaction processing across distributed components. Shared libraries, like dynamic link libraries (DLLs), allow multiple programs to load the same code module into memory, reducing redundancy and memory footprint.[13][14] Data shared resources focus on information assets accessible for reading and writing by multiple entities, including files, databases, and APIs that support collaborative editing. Examples include cloud-based collaborative documents, where users simultaneously modify content in real-time, as seen in platforms enabling co-authoring of spreadsheets or reports. Databases serve as central repositories for shared data, with APIs providing structured interfaces for querying and updating records across applications.[15][16][17] Shared resources are further distinguished by their scope and nature: local sharing occurs within a single system or local area network (LAN), where resources like internal memory or drives are accessed by processes on the same machine, whereas networked sharing extends to wide area networks (WAN), involving remote access to devices or data across geographic distances. Additionally, static resources refer to fixed physical assets, such as dedicated hardware servers, while dynamic resources involve virtualized elements that can be allocated on-demand, adapting to varying loads.[18][19] Emerging types of shared resources in cloud environments emphasize virtualization, where computational elements like CPU cycles and memory are pooled and dynamically partitioned among virtual machines (VMs). This approach, as demonstrated in systems that adjust resource allocation based on application demands, enhances efficiency in data centers by allowing multiple tenants to share underlying hardware without direct interference. Security mechanisms, such as isolation in hypervisors, briefly protect these virtual resources from unauthorized access.[20][21][22]Technical Implementation
File Systems and Protocols
File systems and protocols form the backbone of shared resource access in networked environments, enabling transparent and efficient file sharing across distributed systems. Common file systems include the Network File System (NFS), designed for Unix-like operating systems to provide remote access to shared files over a network. NFS, initially specified in RFC 1094, evolved through versions like NFSv4 in RFC 7530, which enhances security and performance while maintaining compatibility with earlier implementations.[23][24] In Windows environments, the Server Message Block (SMB) protocol, also known as Common Internet File System (CIFS) in its earlier dialect, facilitates file and printer sharing between nodes. Microsoft SMB, detailed in official specifications, supports versions up to SMB 3.x for improved scalability and direct data placement.[25] For distributed setups, the Andrew File System (AFS), developed at Carnegie Mellon University, offers a global namespace and location-transparent access across wide-area networks. AFS emphasizes scalability for large user bases, as outlined in its foundational design supporting up to thousands of workstations.[26] Key protocols for file sharing build on transport layers like TCP/IP to enable interoperability. The File Transfer Protocol (FTP), specified in RFC 959, allows users to upload and download files from remote servers using a client-server model. HTTP, defined in RFC 9110 and RFC 9112, extends to file sharing through methods for retrieval and manipulation, often serving as the foundation for web-based access. WebDAV, an extension to HTTP outlined in RFC 4918, adds capabilities for collaborative authoring, such as locking and versioning, making it suitable for distributed editing of shared files. These protocols operate in layered models, with FTP and WebDAV relying on TCP for reliable delivery, while HTTP/WebDAV integrates directly with web infrastructure for broader compatibility.[27] Operational mechanics of these systems involve mounting shared volumes to integrate remote storage as local directories, reducing perceived complexity for users. In NFS and SMB, clients mount volumes via commands likemount or Windows Explorer, establishing a virtual filesystem that maps remote paths to local ones. Caching strategies enhance performance by storing frequently accessed data locally on clients, minimizing network round-trips; for instance, AFS employs whole-file caching to fetch entire files upon first access and validate them periodically. To handle latency in distributed access, protocols incorporate techniques like client-side prefetching and opportunistic locking in SMB, which allow local modifications before server synchronization, thereby reducing delays in wide-area scenarios.[28][29]
Standards evolution has focused on POSIX compliance to ensure portability and interoperability across heterogeneous systems. POSIX, as defined in IEEE 1003.1, mandates consistent semantics for file operations like open, read, and write, which NFSv4 and AFS incorporate to support Unix-like behaviors in distributed contexts. This compliance facilitates seamless integration, allowing applications written for local filesystems to operate over networks without modification, as seen in the progression from NFSv2 to modern versions emphasizing atomic operations and fault tolerance.[30]
Naming Conventions and Mapping
In networked environments, shared resources are identified through various naming schemes that facilitate location and access. Hierarchical naming, such as the Universal Naming Convention (UNC) used in Windows systems, employs a structured format like \server\share\file to specify the server, shared folder, and file path, enabling precise navigation across networks.[31][32] URL-based schemes, including the SMB URI (smb://[][/[
]]), provide a standardized way to reference Server Message Block (SMB) shares, supporting interoperability in cross-platform file sharing.[33][34] Flat naming schemes, in contrast, assign unstructured identifiers without hierarchy, suitable for small networks but less efficient for complex topologies as seen in early systems like ARPANet.[35][36]
