Services in Computer Networks
A network service is a capability that facilitates over a network operation. Usually it's provided by a server which can be running more than 1 service based on the running network protocols at the application layer. ^1 ^2
It generally provides data storage, manipulation, presentation, communication or any other capabilities which are implemented with a client-server or peer-to-peer architecture based on layer network protocols.
network-services |
Service Primitives ^3
Service generally includes set of various primitives / operations.
A Service is specified by set of primitives that are available and given to user or other various entities to access the service. All these primitives simply tell the service to perform some action or to report on action that is taken by peer entity. Each of the protocol that communicates in layered architecture also communicates in peer-to-peer manner with some of its remote protocol entity.
Example of Primitives for Connection Between Peer Protocol Entities with Its' Classification:
Service Primitives Example |
-
Request
This primitive is transferred or sent to Layer N by Layer (N+1) to just request for service. -
Indication
This primitive is returned by Layer N to Layer (N+1) to just advise of activation of service that is being requested or of action that is initiated by the service of Layer N. -
Response
This primitive is simply provided by Layer (N+1) in reply to indication primitive. It might acknowledge or complete action that is previously invoked by indication primitive. -
Confirm
This primitive is returned by the Nth layer to the requesting (N+1)st layer to simply acknowledge or complete action that is previously invoked by request primitive.
Some Examples of Network Services ^4
- Directory services
- File sharing
- Instant messaging
- Online game
- Printing
- File server
- Voice over IP
- Video on demand
- Video telephony
- World Wide Web
- Simple Network Management Protocol
- Time service
- Wireless sensor network
An example of a Network Service: Distributed File System
A Distributed File System (DFS) is one example of Network Services implementation. A DFS is a file system with data stored on a server. The data is accessed and processed as if it was stored on the local client machine.
The DFS makes it convenient to share information and files among users on a network in a controlled and authorized way. The server allows the client users to share files and store data just as if they are storing the information locally. However, the servers have full control over the data, and give access control to the clients. ^5
Why use a Distributed File System?
High level overview of DFS ^6 |
The main purpose of DFS is to allows users of physically distributed systems to share their data and resources by using a Common File System. A collection of workstations and mainframes connected by a Local Area Network (LAN) is a configuration on Distributed File System. A DFS is executed as a part of the operating system. In DFS, a namespace is created and this process is transparent for the clients. ^6
Implementation of Distributed File System ^7
Any file system consist of two or three layers of functionality, The top interface layer called logical file system interacts with user applications and maintains file table entries, pre-process descriptors for accessing the contents of the file, maintain the directory / indexation and integrity of the file as a logical entity.
The second layer is virtual file system and is at times optional based on the type of file system implementation ( single or distributed) and manages the support for multiple concurrent instances of file system when distributed across the cluster.
The third layer of functionality if physical file system, wherein the file system interacts with actual storage layer for physical operation of storage devices for reading and writing the blocks on the storage medium, handling buffers, cache or memory management in conjunction with respecting device drivers, controllers and channels reaching out to the storage devices etc.
Implementation of DFS |
In the distributed file system all these levels do exist but physical layers might get localized to desperate systems or nodes handling actual physical operation of storage medium for CRUD operations. ( Create - Read - Update - Delete).
Most DFS systems provide a library with an interface that closely resembles POSIX file systems yet might not fully comply with the POSIX file system standards.