Tuesday, September 14, 2010

Carried out in the end to P2P: the story about the Jxta (2)



In Jxta 1.0 specification, a running service instance is always associated with an equivalent machine (you can imagine it is a peer "server" in charge of). In a peer group, only one service instance and the specified link on the other machine. This type of service is regarded as such services; If on the other services in charge of the machine when the machine on the other, then will not have access to the service. On the other hand, multiple instances of the same service to be installed in a redundant peer group multiple of the other machine, which is known as peer group services. Peer group service is Jxta network high-availability and fault tolerance of the key. Jxta application implementation is free to put any Jxta services such as services or as a peer group service for installation. Plumbing services, and other communications shall be provided on the abstract logic of the core Jxta pipeline services, often as a service to achieve peer group to ensure its always available.

Pipeline as Jxta specification defines, in the transmission of data between such machines, files, information, code or a way multimedia content is through the logical channel. Jxta pipeline used to send messages between machines on the other (which can take any content).

A pipe instance, logically, is such a resource within the group. The actual realization of pipeline instance is usually done through the pipe service. Traditional (like UNIX's) system of different, Jxta pipeline is one-way, asynchronous. Require two-way communication two equal machines will have to create two separate instances of the pipeline. Also with the traditional mechanisms like UNIX pipes or TCP / IP sockets different, Jxta end of pipe can be connected at different times to different on other machines, or do not connect. P2P networks for service providers to achieve redundancy, the only this one single concept is a revolutionary step. On the other machine at any point in time can be logically "pick up" channels. For example, imagine you want to use a spell checker service on the other machine. It can connect to a peer group's spell checker pipeline (the pipeline is used as redundancy to achieve peer group services) on. In this case, as long as at least one instance of the spelling checker in the peer group is still somewhere within the run, the machine will also be on other services.

Jxta 1.0 specification provides two general types of channels: point to point and broadcast (propagate).

On the other machine can use pipes to connect to another point on the other machine and one-way transmission message. On the other machine can use the radio channel connected to one or more other peer transmit a message to them all. In essence, the point is one to one message transmission pipeline system, radio channels is one to many message delivery mechanism. Jxta community-many message delivery mechanism is being efforts; this mechanism has been named Jxta conductor (wire). No matter what type of pipe, through a pipe containing the information pieces are sent as Jxta news. So, the exact format of these messages is like?

News Jxta message is piped from a peer to another peer transfer of data bundle. Here, Jxta standard once again in general to adapt themselves as much as possible, so as not to inadvertently introduce the definition of the message depends on the implementation of any strategy. Message is defined as the envelope and body composition of any size beam. Envelope is a standard format that includes:

Header
Source endpoint information (URI format)
Destination endpoint information (URI format)
Message Digest (optional for security purposes)
Message body length is arbitrary, the trust can include an optional form (for security purposes) and content.

Please note, Jxta very loose definition of news. Taking into account our daily generally are reliable, broadband TCP / IP network operations, the need to do so is not immediately clear. But Jxta message format must be flexible, good at adapting to the new environment, because it may have to achieve all types of networks, not just in the TCP / IP on. Envisaged in a 256-byte packet transmission network is not reliable (like a traditional packet-based wireless network) on a Jxta to achieve, you'll define a simple message on the Jxta how to adapt itself to such an adverse environment such as appreciated.

In order to provide a standard, easy to analyze syntax, common coding scheme, Jxta message XML document format currently used. Jxta advantage of XML's universal accessibility and ease of use, easy programming, which means Jxta can use most of the programming language in most of the platform is easy to achieve. As long as the XML parser, and generate database is available there. However, Jxta of the design was to write a message code is not dependent on the use of XML. While it's unlikely, but Jxta communities included in a future version of specification (or requirements) based on non-XML message is entirely possible.

Identifier from the potential of speaking on Jxta, on the whole peer group might be linked with the universe as large. In the name of such a large space for any matters that the only name is a challenge. To address this problem, Jxta to Jxta components can be set to address each instance is assigned an internal identifier. This identification is carried out by a UUID, UUID is used to ensure that time and space are very high probability of the algorithm to generate only 64 bytes of digital. Jxta identifier is a URN (Uniform Resource Name) format, and is embedded in the advertisement for internal use. Defines four types of identifiers currently used to identify peer group, on the other machine, pipe and code / data (code / data) (abbreviated as codat).

Advertisement
Advertising messages a bit like "cousin." Jxta ads using XML document format. Describe the content of advertising, such as peer, peer group, pipe or service Jxta component instance properties. For example, you can visit another ad on the other machine on the other machine can try to connect directly to the peer machines; can access a peer group of ads on other machines can join the peer group advertisement. The current Internet with ads similar to what is the DNS domain name and Web site records. Jxta specification does not stipulate how to create, disseminate, or destruction of advertising.

The basis for interoperability: Jxta protocol interoperability Another key is the fact that: the core Jxta peer interaction model is fully represented in the underlying network transmission of a simple protocol. In other words, since the protocol and message format is well-defined, then Jxta-based interoperability between systems are fully capable of Daoxian level reached.

For example, a simple PDA (8-bit processors, based on C language programming) can be a running packet-based wireless networks Jxta on the other machine, it can be the same peer group with a variety of systems, from PC servers to mainframes, to interact. If on the other machines to share a public network (Carrier) and is using Jxta communication protocol and message format, which can be done.

Sun has provided a preliminary Jxta Java language. Jxta community now has the reference implementation. The reference implementation for those who want to start the Java programmers to use Jxta things become simple. If you are non-Java platform to achieve Jxta, then the understanding of these agreements is very important. Table 2 briefly describes the core set of Jxta agreement, covering the discovery (on the other machine how to find each other), advertising (on the other machine on the other machine how to understand the other peer groups, pipes and other information), through the communication pipe and peer group membership handling. All of the following agreements are based on XML message exchange transmitter on the basis of. Similarly, they can use almost any programming language implemented on almost all platforms.

Table 2. Jxta core protocol

Jxta specification does not require such machines to achieve all of the above agreements. Any particular realization of the other machine only to those who actually use the protocol.

Jxta system based on some interesting properties
Now that you have a theoretical component of the Jxta platform have a basic understanding, we have to discuss the design results as Jxta some interesting properties.

"Electronic heart" of anything can become a Jxta on the other machine, theoretically, there is a text string generated the most simple equipment capacity can be added (although not in every P2P applications are necessary) to Jxta network. This is how it possible?

In P2P networks, over-simplified the equipment needs of the other agents. The agents can represent the simplified device (or more simplified device) implementation, the advertising and communications. Agent can be rigidly fixed in position simplified equipment. Thus, an agent with the help of simplified equipment on the network can be Jxta fully qualified peer. For example, a body tied to a turtle and to wirelessly send the location information with GPS Locator Jxta message, the network can be Jxta a peer.

Uncertain network topology in the order
Another typical Jxta network charming aspect is its inherent uncertainty of the topology / response structure. Computer users are often used to determine the nature, the synchronization of the computer system, and that this is a standard structure. For example, when we issued a Web page the browser requests a URL, we expect the output will appear immediately. We also hope that everyone in the world can use the same URL from the same Web server to retrieve the same page.

In Jxta world, not a specific request for resources in a few minutes, hours or even days to return; In fact, it may simply not return. In addition, request the same resources, people around the world are likely to get is completely different from the resources of the server copy. This raises a question: uncertainty system any good?

Inspiration from the grassroots software revolution
We only have to look like Napster and Gnutella P2P systems such as pop can find the answer. Here are some additional advantages of their features (which make the loss of synchronization and uncertainty have become worth):

Content availability.
On the other machine can access content from multiple servers, ideally close to boot from a server running gain. Original source of the other machines do not have a resource request for each service; In fact, it is not even switched on. The most optimal use of network bandwidth.
Typical of today's Web, local traffic congestion will not affect the concentration of lead in the P2P network.

Lower the cost of content distribution.
P2P networks can absorb the contents and copy it to make it easy to access.

From the network, each node of the computing power of balance.
Asynchronous operation, you can issue a number of resources or service requests, and then let the network for you to complete the work.

Unlimited scalability.
A well-designed P2P application can not affect the scalability limits which connects across the entire known universe; which is concentrated in any type model is completely impossible.

Jxta in perfect world, we will not perform asynchronous request deterministic networks. Weird do you think of this idea? Let us use an example to illustrate. Imagine a P2P network based on Jxta of running Web-based music request service. On the other machine submitted several requests for music files and some time to verify the group's request for such service is to find these files. When we check in for some time to music request service, some of the requested documents have been found, but others can not locate. Service response to those documents are: the choice and availability of music is constantly changing; Please try your request again later. This is an acceptable uncertainty of the results: Although the service could not find a file, but if we submit the same request again later, perhaps that file available, because we want the head of the file on other machines Then maybe a line.

When placed in the context of a specific time, the concept of uncertainty in the network no longer seem so strange. In fact, most of us probably will accept and use such a music request service. Some of us are even willing to pay for such a little cost of the automatic proxy, such proxy will continue to monitor the availability of the selected file, and then for us to take and store a copy of them. P2P computing is one of the great charm: a balanced and shared all over the world the ability to connect with the resources, I hope is an orderly and civilized manner.

The talk is finished, but the first few commercial breakthrough Jxta/P2P application was probably because of the certainty and synchronization as the main features of their pride. This is a necessary transition, because the user's habits and market orientation will not change overnight. If there is no mandatory reason, then the future will not change. The new P2P model will slowly emerge, at first may be based on a mixture of forms. A current example: Edge Communication (edge-propagation-based) network caching technology, such as Akamai, is deterministic, centralized Web on the specification. These techniques use the concept of P2P-style centralized server in the world to achieve optimization of content delivery.

Sun does not set out strategy to achieve its Jxta decision to make it free to move on and eliminate these arguments, pass the buck on who pioneered the content delivery technology pioneer Jxta their shoulders. However, at this stage, Jxta technology is based on the potential of community development make it the global control of IP (intellectual property) owners and the public good balance. Open Jxta community could serve as a forum, IP (intellectual property) owners and technical experts in this forum to resolve their differences.

Perspective Jxta, it is how. Net and Jini contest
Since Jxta are introduced, and it has been brought, and each can imagine comparing the network technology. Even the prestigious business magazine, has inadvertently left out of this innovation, because it obviously does not and the main competitor's flagship product hype contest. Jxta project is a unique "monster." In discussing the time it will not have any ready reference. Therefore, it must be evaluated independently.

To be sure, Jxta XML-based messaging and Microsoft (Microsoft)'s. Net and SOAP technology is similar. However, this relatively weak basis for comparison. As more and more third-party agreements used XML, it is clear only XML as the message format for the actual network technology and can not show much. The high-level, policy-rich, Web-based services based structure. Net and essentially low-level, basic, neutral Jxta strategy compared to pieces of meaningless things.

Jxta works and Jini projects are fundamentally different. They are both at a high level of interaction have some similarities, are able to achieve truly distributed computing network. However, a parallel was there came to an end. Because the real future of distributed computing is still only an idea, so it is easy to underestimate the Jxta and the difference between the Jini project, despite the fact that we have established in the relatively more client / server or multi-server technology is not realized will do the same thing.

Both the clear differences in strategy are: Jxta at the outset to fully interoperable technologies (any platform, any programming language, any vendor) of the face appears. Sun is the only company engaged in the community. Jini is a Java-centric technologies as a strategy, Sun will integrate and apply it to provide products in the future. Sun Jini development will maintain a certain degree of control.

No Java platform (code flexibility, RMI, etc.) support, Jini's relevance will be limited; on the other hand, Jxta is completely independent of Java's decoration. From another perspective: Sun Jxta only in promoting the growth orientation, while the Sun and Jini is there between the growth of more interest. Over time, Jini will be Jxta's "increasingly inward-looking cousins"; it as an embedded technology is used to enable the deployment of many products. Jxta fate, on the other hand, will depend on the technology involved in the opening members of the community's enthusiasm and creativity.

Jxta versatility
Mechanism rather than requiring the provision of infrastructure strategy, Jxta foundation for many P2P applications are available and valuable. Here are three other common Case Study:

On the other machine's users to search and share files within the peer group, information and content
Peer to peer group to use only in this particular peer group can be used for specific services
Peer group on the other machine through the gateway and between peer groups through the instant messaging system
Of course, the possible applications are endless, many of which have yet to be developed or even conceived.






Recommended links:



IPTV Will Be Better Than "the Right To License The Move"



Can all four Fanggao Peng effectiveness of the upper floor by Show



New Seasonal - SCREEN Savers



Video converter mp4 to mpeg



Why is throwing money at very odd Tiger VC Zhou Hongyi good "Fudge"?



Visuanl C # 2005 Quick Start of the while statement (1)



Matroska format



Premier Access Control



Trojan Horse Is How To Work



Understanding Of EIP



The United States too much control over the domain Name is popular in China CN domain name



How To Draw Background Image CAknGrid



Easy to use Font Tools



Ape Files



Vob To Flv



No comments:

Post a Comment