like and follow

facebook.com/onclick786
twitter.com/onclick786

Thursday, 25 August 2016

Java remote method invocation or Java RMI,Distributed garbage collection,Garbage collection,Distributed object communication,Remote procedure call,Subroutine,Object-oriented programming,Distributed object,Distributed computing,Clustered file system,Computer cluster,Grid computing,Bus,Middleware,File system,Computer file,Network File System,Open Network Computing Remote Procedure Call,Distributed File System - onclick786

Java remote method invocation or  Java RMI,
Distributed garbage collection,Garbage collection,
Distributed object communication,Remote procedure call,Subroutine,Object-oriented programming,
Distributed object,Distributed computing,
Clustered file system,Computer cluster,
Grid computing,Bus,Middleware,File system,
Computer file,Network File System,Open Network Computing Remote Procedure Call,
Distributed File System





Java remote method invocation or  Java RMI











The Java Remote Method Invocation (Java RMI) is a Java API that performs remote method invocation, the object-oriented equivalent of remote procedure calls (RPC), with support for direct transfer of serialized Java classes and distributed garbage collection.

The original implementation depends on Java Virtual Machine (JVM) class representation mechanisms and it thus only supports making calls from one JVM to another. The protocol underlying this Java-only implementation is known as Java Remote Method Protocol (JRMP).

In order to support code running in a non-JVM context, a CORBA version was later developed.
Usage of the term RMI may denote solely the programming interface or may signify both the API and JRMP, IIOP, or another implementation, whereas the term RMI-IIOP (read: RMI over IIOP) specifically denotes the RMI interface delegating most of the functionality to the supporting CORBA implementation.


Distributed garbage collection

Distributed garbage collection (DGC) in computing is a particular case of garbage collection where references to an object can be held by a remote client.

DGC uses some combination of the classical garbage collection (GC) techniques, tracing and reference counting. It has to cooperate with local garbage collectors in each process in order to keep global counts, or to globally trace accessibility of data. In general, remote processors do not have to know about internal counting or tracing in a given process, and the relevant information is stored in interfaces associated with each process.

DGC is complex and can be costly and slow in freeing memory. One cheap way of avoiding DGC algorithms is typically to rely on a time lease set or configured on the remote object; it is the stub's task to periodically renew the lease on the remote object. If the lease has expired, the server process (the process owning the remote object) can safely assume that either the client is no longer interested in the object, or that a network partition or crash obstructed lease renewal, in which case it is "hard luck" for the client if it is in fact still interested. Hence, if there is only a single reference to the remote object on the server representing a remote reference from that client, that reference can be dropped, which will mean the object will be garbage collected by the local garbage collector on the server at some future point in time.


Garbage collection

In computer science, garbage collection (GC) is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program.


Distributed object communication

In a distributed computing environment, distributed object communication realizes communication between distributed objects. The main role is allow objects to access data and invoke methods on remote objects (objects residing in non-local memory space). Invoking a method on a remote object is known as remote method invocation or remote invocation, and is the object-oriented programming analog of a remote procedure call.


Remote procedure call

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (November 2009) (Learn how and when to remove this template message)
In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in another address space (commonly on another computer on a shared network), which is coded as if it were a normal (local) procedure call, without the programmer explicitly coding the details for the remote interaction. That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote.This is a form of client–server interaction (caller is client, executer is server), typically implemented via a request–response message-passing system. The object-oriented programming analog is remote method invocation (RMI). The RPC model implies a level of location transparency, namely that calling procedures is largely the same whether it is local or remote, but usually they are not identical, so local calls can be distinguished from remote calls. Remote calls are usually orders of magnitude slower and less reliable than local calls, so distinguishing them is important.

RPCs are a form of inter-process communication (IPC), in that different processes have different address spaces: if on the same host machine, they have distinct virtual address spaces, even though the physical address space is the same; while if they are on different hosts, the physical address space is different. Many different (often incompatible) technologies have been used to implement the concept.


Subroutine


In computer programming, a subroutine is a sequence of program instructions that perform a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed. Subprograms may be defined within programs, or separately in libraries that can be used by multiple programs. In different programming languages, a subroutine may be called a procedure, a function, a routine, a method, or a subprogram.


Object-oriented programming

Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self"). In OOP, computer programs are designed by making them out of objects that interact with one another. There is significant diversity of OOP languages, but the most popular ones are class-based, meaning that objects are instances of classes, which typically also determine their type.


Many of the most widely used programming languages are multi-paradigm programming languages that support object-oriented programming to a greater or lesser degree, typically in combination with imperative, procedural programming. Significant object-oriented languages include Java, C++, C#, Python, PHP, Ruby, Perl, Delphi, Objective-C, Swift, Common Lisp, and Smalltalk.


Distributed object


In distributed computing, distributed objects[citation needed] are objects (in the sense of object-oriented programming) that are distributed across different address spaces, either in multiple computers connected via a network or even in different processes on the same computer, but which work together by sharing data and invoking methods. This often involves location transparency, where remote objects appear the same as local objects. The main method of distributed object communication is with remote method invocation, generally by message-passing: one object sends a message to another object in a remote machine or process to perform some task. The results are sent back to the calling object.


Distributed computing


Distributed computing is a field of computer science that studies distributed systems. A distributed system is a model in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components. Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications.


Clustered file system


A clustered file system is a file system which is shared by being simultaneously mounted on multiple servers. There are several approaches to clustering, most of which do not employ a clustered file system (only direct attached storage for each node). Clustered file systems can provide features like location-independent addressing and redundancy which improve reliability or reduce the complexity of the other parts of the cluster. Parallel file systems are a type of clustered file system that spread data across multiple storage nodes, usually for redundancy or performance.


Computer cluster








A computer cluster consists of a set of loosely or tightly connected computers that work together so that, in many respects, they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software.

The components of a cluster are usually connected to each other through fast local area networks ("LAN"), with each node (computer used as a server) running its own instance of an operating system. In most circumstances, all of the nodes use the same hardware and the same operating system, although in some setups (i.e. using Open Source Cluster Application Resources (OSCAR)), different operating systems can be used on each computer, and/or different hardware.

They are usually deployed to improve performance and availability over that of a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.


Computer clusters emerged as a result of convergence of a number of computing trends including the availability of low-cost microprocessors, high speed networks, and software for high-performance distributed computing. They have a wide range of applicability and deployment, ranging from small business clusters with a handful of nodes to some of the fastest supercomputers in the world such as IBM's Sequoia.


Grid computing









Grid computing is the collection of computer resources from multiple locations to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files. Grid computing is distinguished from conventional high performance computing systems such as cluster computing in that grid computers have each node set to perform a different task/application. Grid computers also tend to be more heterogeneous and geographically dispersed (thus not physically coupled) than cluster computers. Although a single grid can be dedicated to a particular application, commonly a grid is used for a variety of purposes. Grids are often constructed with general-purpose grid middleware software libraries. Grid sizes can be quite large.


Grids are a form of distributed computing whereby a "super virtual computer" is composed of many networked loosely coupled computers acting together to perform large tasks. For certain applications, distributed or grid computing can be seen as a special type of parallel computing that relies on complete computers (with onboard CPUs, storage, power supplies, network interfaces, etc.) connected to a computer network (private or public) by a conventional network interface, such as Ethernet. This is in contrast to the traditional notion of a supercomputer, which has many processors connected by a local high-speed computer bus.


Bus

In computer architecture, a bus or buss is a communication system that transfers data between components inside a computer, or between computers. This expression covers all related hardware components (wire, optical fiber, etc.) and software, including communication protocols.

Early computer buses were parallel electrical wires with multiple connections, but the term is now used for any physical arrangement that provides the same logical function as a parallel electrical bus. Modern computer buses can use both parallel and bit serial connections, and can be wired in either a multidrop (electrical parallel) or daisy chain topology, or connected by switched hubs, as in the case of USB.



Middleware

Middleware is computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue".


Middleware makes it easier for software developers to implement communication and input/output, so they can focus on the specific purpose of their application.


File system


In computing, a file system (or filesystem) is used to control how data is stored and retrieved. Without a file system, information placed in a storage medium would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into pieces and giving each piece a name, the information is easily isolated and identified. Taking its name from the way paper-based information systems are named, each group of data is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system".


Computer file


A computer file is a resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is "durable" in the sense that it remains available for other programs to use after the program that created it has finished executing. Computer files can be considered as the information technology counterpart of paper documents which traditionally are kept in office and library files, and this is the source of the term.


Network File System


Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems in 1984,allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call (ONC RPC) system. The NFS is an open standard defined in Request for Comments (RFC), allowing anyone to implement the protocol.


Open Network Computing Remote Procedure Call


Open Network Computing (ONC) Remote Procedure Call (RPC) is a widely deployed remote procedure call system. ONC was originally developed by Sun Microsystems in the 1980s as part of their Network File System project, and is sometimes referred to as Sun RPC.


Distributed File System


Distributed file systems do not share block level access to the same storage but use a network protocol. These are commonly known as network file systems, even though they are not the only file systems that use the network to send data. Distributed file systems can restrict access to the file system depending on access lists or capabilities on both the servers and the clients, depending on how the protocol is designed.











trending keywords on this  topic / related keywords / trending hashtags


Java remote method invocation or  Java RMI
Distributed garbage collection
Garbage collection
Distributed object communication
Remote procedure call
Subroutine
Object-oriented programming
Distributed object
Distributed computing
Clustered file system
Computer cluster
Grid computing
Bus
Middleware
File system
Computer file
Network File System
Open Network Computing Remote Procedure Call
Distributed File System



Wednesday, 24 August 2016

Internet,World Wide Web,Internet protocol suite,Protocol stack,Distributed computing,Computer network,Data link,Telecommunications network,Internet Protocol,Communications protocol,Routing,Node,Circuit switching,Public switched telephone network,Datagram,Packet switching,Header ,Payload ,Network packet,IP address,Network address,Network interface,Transmission Control Protocol,User Datagram Protocol,File Transfer Protocol,Hypertext Transfer Protocol,HTTP/2,HTTP/2.0 - onclick786

Internet,World Wide Web,Internet protocol suite,Protocol stack,Distributed computing,Computer network,Data link,Telecommunications network,
Internet Protocol,Communications protocol,
Routing,Node,Circuit switching,
Public switched telephone network,Datagram,Packet switching,Header ,
Payload ,Network packet,IP address,Network address,
Network interface,Transmission Control Protocol,
User Datagram Protocol,File Transfer Protocol,
Hypertext Transfer Protocol,HTTP/2,HTTP/2.0





Internet




The Internet is the global system of interconnected computer networks that use the Internet protocol suite (TCP/IP) to link billions of devices worldwide. It is a network of networks that consists of millions of private, public, academic, business, and government networks of local to global scope, linked by a broad array of electronic, wireless, and optical networking technologies. The Internet carries an extensive range of information resources and services, such as the inter-linked hypertext documents and applications of the World Wide Web (WWW), electronic mail, telephony, and peer-to-peer networks for file sharing.


World Wide Web


The World Wide Web (WWW) is an information space where documents and other web resources are identified by URLs, interlinked by hypertext links, and can be accessed via the Internet. The World Wide Web was invented by English scientist Tim Berners-Lee in 1989. He wrote the first web browser in 1990 while employed at CERN in Switzerland. It has become known simply as the Web.



Internet protocol suite


The Internet protocol suite is the computer networking model and set of communications protocols used on the Internet and similar computer networks. It is commonly known as TCP/IP, because its most important protocols, the Transmission Control Protocol (TCP) and the Internet Protocol (IP) were the first networking protocols defined during its development.


Protocol stack


The protocol stack is an implementation of a computer networking protocol suite. The terms are often used interchangeably. Strictly speaking, the suite is the definition of the protocols, and the stack is the software implementation of them.

Distributed computing


Distributed computing is a field of computer science that studies distributed systems. A distributed system is a model in which components located on networked computers communicate and coordinate their actions by passing messages. 
The components interact with each other in order to achieve a common goal. 


Computer network



A computer network or data network is a telecommunications network which allows computers to exchange data. In computer networks, networked computing devices exchange data with each other using a data link. The connections between nodes are established using either cable media or wireless media. The best-known computer network is the Internet.


Data link



In telecommunication a data link is the means of connecting one location to another for the purpose of transmitting and receiving digital information.


Telecommunications network


A telecommunications network is a collection of terminal nodes, links are connected so as to enable telecommunication between the terminals.

Internet Protocol


The Internet Protocol (IP) is the principal communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.


Communications protocol


In telecommunications, a communication protocol is a system of rules that allow two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. These are the rules or standard that defines the syntax, semantics and synchronization of communication and possible error recovery methods. Protocols may be implemented by hardware, software, or a combination of both.


Routing


Routing is the process of selecting best paths in a network. Routing is performed for many kinds of networks, including the public switched telephone network (circuit switching), electronic data networks (such as the Internet), and transportation networks.



Node


In communication networks, a node (Latin nodus, ‘knot’) is either a connection point, a redistribution point (e.g. data communications equipment), or a communication endpoint (e.g. data terminal equipment). The definition of a node depends on the network and protocol layer referred to. A physical network node is an active electronic device that is attached to a network, and is capable of creating, receiving, or transmitting information over a communications channel. A passive distribution point such as a distribution frame or patch panel is consequently not a node.



Circuit switching


Circuit switching is a method of implementing a telecommunications network in which two network nodes establish a dedicated communications channel (circuit) through the network before the nodes may communicate. The circuit guarantees the full bandwidth of the channel and remains connected for the duration of the communication session. The circuit functions as if the nodes were physically connected as with an electrical circuit.


Public switched telephone network



The public switched telephone network (PSTN) is the aggregate of the world's circuit-switched telephone networks that are operated by national, regional, or local telephony operators, providing infrastructure and services for public telecommunication. The PSTN consists of telephone lines, fiber optic cables, microwave transmission links, cellular networks, communications satellites, and undersea telephone cables, all interconnected by switching centers, thus allowing most telephones to communicate with each other. Originally a network of fixed-line analog telephone systems, the PSTN is now almost entirely digital in its core network and includes mobile and other networks, as well as fixed telephones.


Datagram


A datagram is a basic transfer unit associated with a packet-switched network. Datagrams are typically structured in header and payload sections. The delivery, arrival time, and order of arrival need not be guaranteed by the network.


Packet switching

Packet switching is a digital networking communications method that groups all transmitted data into suitably sized blocks, called packets, which are transmitted via a medium that may be shared by multiple simultaneous communication sessions. Packet switching increases network efficiency, robustness and enables technological convergence of many applications operating on the same network.


Packets are composed of a header and payload. Information in the header is used by networking hardware to direct the packet to its destination where the payload is extracted and used by application software.



Header 


In information technology, header refers to supplemental data placed at the beginning of a block of data being stored or transmitted. In data transmission, the data following the header are sometimes called the payload or body.



Payload 

In computing and telecommunications, a payload is the part of transmitted data that is the actual intended message. Payload does not include information sent with it such as headers or other metadata, sometimes referred to as overhead data, sent solely to facilitate payload delivery.


In computer security, payload refers to the part of malware which performs a malicious action. In the analysis of malicious software such as worms, viruses and Trojans, it refers to the software's harmful results. Examples of payloads from malware include code for deleting data, displaying messages with insulting text or sending spurious email messages to a large number of people.


Network packet


A network packet is a formatted unit of data carried by a packet-switched network. Computer communications links that do not support packets, such as traditional point-to-point telecommunications links, simply transmit data as a bit stream. When data is formatted into packets, packet switching is possible and the bandwidth of the communication medium can be better shared among users than with circuit switching.


IP address


An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer) participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing. Its role has been characterized as follows: "A name indicates what we seek. An address indicates where it is. A route indicates how to get there."



Network address


A network address is an identifier for a node or network interface of a telecommunications network.
Network addresses are often designed to be unique across the network, although some networks allow for relative or local addresses that may not be unique.

More than one type of network address may be used in any one network.


In some cases, terminal nodes may have more than one network address, for example, each link interface may be uniquely identified. In addition, non terminal nodes are often assigned network addresses. Further, because protocols are frequently layered, more than one protocol's network address can occur in any particular network interface or node.



Examples of network addresses are: a telephone number in the public switched telephone network, an Internet Protocol address in the Internet, an IPX address in a local area network, an X.25/X.21 address in a circuit switched data network, a MAC address in an Ethernet network segment.



Network interface

In computing, a network interface is a system's (software and/or hardware) interface between two pieces of equipment or protocol layers in a computer network.


A network interface will usually have some form of network address. This may consist of a node Id and a port number or may be a unique node Id in its own right.



Network interfaces provide standardized functions such as passing messages, connecting and disconnecting.


Transmission Control Protocol


The Transmission Control Protocol (TCP) is a core protocol of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets between applications running on hosts communicating over an IP network. Major Internet applications such as the World Wide Web, email, remote administration and file transfer rely on TCP. Applications that do not require reliable data stream service may use the User Datagram Protocol (UDP), which provides a connectionless datagram service that emphasizes reduced latency over reliability.


User Datagram Protocol

UDP uses a simple connectionless transmission model with a minimum of protocol mechanism. UDP provides checksums for data integrity, and port numbers for addressing different functions at the source and destination of the datagram. It has no handshaking dialogues, and thus exposes the user's program to any unreliability of the underlying network and so there is no guarantee of delivery, ordering, or duplicate protection. If error correction facilities are needed at the network interface level, an application may use the Transmission Control Protocol (TCP) or Stream Control Transmission Protocol (SCTP) which are designed for this purpose.



UDP is suitable for purposes where error checking and correction is either not necessary or is performed in the application, avoiding the overhead of such processing at the network interface level. Time-sensitive applications often use UDP because dropping packets is preferable to waiting for delayed packets, which may not be an option in a real-time system.



File Transfer Protocol

The File Transfer Protocol (FTP) is a standard network protocol used to transfer computer files between a client and server on a computer network.


FTP is built on a client-server model architecture and uses separate control and data connections between the client and the server. FTP users may authenticate themselves with a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS). SSH File Transfer Protocol (SFTP) is sometimes also used instead, but is technologically different.



The first FTP client applications were command-line programs developed before operating systems had graphical user interfaces, and are still shipped with most Windows, Unix, and Linux operating systems.Many FTP clients and automation utilities have since been developed for desktops, servers, mobile devices, and hardware, and FTP has been incorporated into productivity applications, such as web page editors.



Hypertext Transfer Protocol

The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web.


Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text. HTTP is the protocol to exchange or transfer hypertext.


Development of HTTP was initiated by Tim Berners-Lee at CERN in 1989. Standards development of HTTP was coordinated by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C), culminating in the publication of a series of Requests for Comments (RFCs). The first definition of HTTP/1.1, the version of HTTP in common use, occurred in RFC 2068 in 1997, although this was obsoleted by RFC 2616 in 1999.



A later version, the successor HTTP/2, was standardized in 2015, and is now supported by major web servers.




HTTP/2 or HTTP/2.0





HTTP/2 (originally named HTTP/2.0) is a major revision of the HTTP network protocol used by the World Wide Web. It was developed from the earlier experimental SPDY protocol, originally developed by Google.HTTP/2 was developed by the Hypertext Transfer Protocol working group (httpbis, where bis means "second") of the Internet Engineering Task Force.HTTP/2 is the first new version of HTTP since HTTP 1.1, which was standardized in RFC 2068 in 1997. The Working Group presented HTTP/2 to IESG for consideration as a Proposed Standard in December 2014, and IESG approved it to publish as Proposed Standard on February 17, 2015. The HTTP/2 specification was published as RFC 7540 in May 2015.


The standardization effort was supported by Chrome, Opera, Firefox, Internet Explorer 11, Safari, Amazon Silk and Edge browsers.Most major browsers added HTTP/2 support by the end of 2015.












trending keywords on this  topic / related keywords / trending hashtags

DISTRIBUTED COMPUTING
Characterization of Distributed systems
Examples of Distributed Systems
Challenges of Distributed Systems
System Models
Architectural models
Fundamental Models 
Interprocess communication 
The API for the Internet protocols
External Data representation and Marshalling 
Client Server Communication 
Group communication, Interprocess communication in UNIX 
Distributed Objects and Remote Invocation 
Communication between distributed objects 
Remote Procedure Call 
Events and Notifications 
Java RMI
The Operating system layer
Protection,Processes and Threads,Operating System architecture
Distributed file Systems
File Service architecture
Sun NFS 
Name services and Domain Name System 
Directory Services
Time and co-ordination
Synchronizing physical clocks
logical time and logical clocks 
Distributed co-ordination
distributed mutual exclusion 
elections, Replication 
basic architectural model 
consistency and request ordering
Distributed DBMS Architecture
Distributed Database Design
Query Decomposition and Data Localization 
Distributed transactions 
concurrency control in distributed transactions
distributed deadlocks 
transaction recovery
Internet
World Wide Web
Internet protocol suite
Protocol stack
Distributed computing
Computer network
Data link
Telecommunications network
Internet Protocol
Communications protocol
Routing
Node
Circuit switching
Public switched telephone network
Datagram
Packet switching
Header 
Payload 
Network packet
IP address
Network address
Network interface
Transmission Control Protocol
User Datagram Protocol
File Transfer Protocol
Hypertext Transfer Protocol
HTTP/2
HTTP/2.0