A New Protocol For Faster Web Services? 131
Roland Piquepaille writes "Jonghun Park is an Assistant Professor of Information Sciences and Technology at Pennsylvania State University. He says that a new protocol can improve Web services. Sandeep Junnarkar broke the story. "Jonghun Park proposed a method for sharing information between systems linked on the Internet promises to speed collaborative applications by up to 10 times the current rates. The protocol is based on an algorithm that lets it use parallel instead of serial methods to process requests. Such a method boosts the efficiency of how resources are shared over the Internet. The new protocol is called Order-based Deadlock Prevention Protocol with Parallel Requests." Check this column for some excerpts or read the CNET News.com article for more details. More information about Jonghun Park's works can be found at his homepage."
Performance ALWAYS matters (Score:2)
To set priorities that limit development in certain areas serializes progress and has the potential of slowing ptogress by as much as 10 times that of parelelized service development.
--CTH
Re:Yeah, whatever... (Score:2, Insightful)
Sounds familiar (Score:4, Interesting)
Faster net? (Score:3, Funny)
-Mark
Don't be self-righteous. (Score:2)
Where's the info? (Score:2, Interesting)
Daniel
Re:Where's the info? (Score:5, Informative)
New Protocol Speeds Up Internet Resource Sharing
The new technology speeds to 10 times faster the allocation of Internet resources, said Park of his proposed Order-based Deadlock Prevention Protocol with Parallel Requests.
"In the near future, the demand for collaborative Internet applications will grow," Park said. "Better coordination will be required to meet that demand, and this protocol provides that."
Park describes his research in a paper, "A Scalable Protocol for Deadlock and Livelock Free Co-Allocation of Resources in Internet Computing," given Jan. 29 at the Institute of Electrical and Electronics Engineers' Symposium on Applications and the Internet in Orlando, Fla.
Park's proposed algorithm enables better coordination of Internet applications in support of large-scale computing. The protocol uses parallel rather than serial methods to process requests. That helps with more efficient resource allocation as well as solves the problems of deadlock and livelock caused by multiple concurrent Internet applications competing for Internet resources.
The new protocol also allows for Internet applications to choose among available resources. Existing technology can't support making choices, thereby limiting its utilization.
Its other advantage: Because it is decentralized, Park's proposed protocol can function with its own information. That allows for collaboration across multiple, independent organizations in the open environment of the Internet. Existing protocols require communication with other applications - not feasible in the open environment of the Internet.
Internet computing - the integration of widely distributed computational and informational resources into a cohesive network - allows for a broader exchange of information among more users than is possible today. Those can range from the military and government to businesses.
One example of such collaboration is Grid Computing that, much like electricity grids, harnesses available Internet resources in support of large-scale, scientific computing. Right now, the deployment of such virtual organizations is limited because they require a more sophisticated method to coordinate the resource allocation.
Park's decentralized protocol could provide that.
No information... (Score:2, Interesting)
I'd prefer if the article we picked had some actual information about the protocol... off to google....
SymDesk? (Score:2)
At least... (Score:1)
Re:HAHAHAHAHHA (Score:2, Interesting)
The open source movement would be a lot better off if it *didn't* have the "support" of parrot mouth lamers who spout off the "MS bad, Linux good" line before they even know what is going on. Quality over quantity people.
You mean IIS (Score:2)
The devil is in the details
Re:HAHAHAHAHHA (Score:3, Insightful)
What he meant by that is that the deployment of web services is held up by security and reliability, this has nothing to do with performance. Everyone that has worked with web services know that web services are not up to date with security and reliability yet, but it is being worked on. And this is what is keeping web services from being used on a broader scale.
Worst Acronym Ever. (Score:4, Funny)
He should've spent more time on the name, no one will call it by it's full name, and think of the acronyms:
ODPPPR
OBDPPPR
OBDPPWPR
It's bad for the system when no one can talk about it.
Re:Worst Acronym Ever. (Score:3, Funny)
Re:Worst Acronym Ever. (Score:1)
Re:Worst Acronym Ever. (Score:3, Funny)
Yes, I know it's not a http replacement. But this is
Re:Worst Acronym Ever. (Score:3, Funny)
Re:Worst Acronym Ever. (Score:1)
Re:Worst Acronym Ever. (Score:2)
No, the right 1337 Acronym is of course 0DP34, pronounced as Odd Pee for,
*duck*
Re:Worst Acronym Ever. (Score:3, Funny)
Re:Worst Acronym Ever. (Score:1)
Re:Worst Acronym Ever... or is it? (Score:2)
ODPPPr => Od-Tri-P or Oddtripy
Yep its three syllables, thats even beets Tcp/IP.
Re:Worst Acronym Ever. (Score:2)
Re:Worst Acronym Ever. (Score:2)
Re:Worst Acronym Ever. (Score:1)
"Order-based Deadlock Prevention Protocol"?
Technologies should be named for what they do, not for what they don't do.
I mean, would you rather run an operating system called "Good OS", or "Sucks Slightly Less Than the Competition OS"?
Re:Worst Acronym Ever. (Score:1)
OD would be a cool shortening of the name.
"So anyway, my friend ODed for a while but then went back to his normal routines." Also, "this application ODs with other applications across the internet. Want to buy it?"
Re:Worst Acronym Ever. (Score:1)
Worst Acronym Ever = MMORTFPSRPG [evilavatar.com] (Massive Multiplayer Real-time First Person Shooter Role Playing Game)
Gotta Love Google.
Re:Nah just use odpp://slashdot.org/ (no www) (Score:1)
or odpp://slashdot.org as it *should* be...
the point of the domain name is a pun which is negated by people putting www. before it.
sheesh!
but... (Score:5, Interesting)
because http is plain simple, it is easy to determine where resides what functionality.
if systems become more connected and integrated into each other, won't that make it much harder to determine what is going on on your system?
i can imagine that msft will have a go at running parts on your system on their registration servers. this seems to me like another step towards DRM.
i understand that this is just a protocol, but if people will start interconnecting systems, there will be (security issues)++
Int
Re:but... (Score:3, Funny)
"Web services is currently held up--in my opinion--by things like security and reliability," said Stephen O'Grady, an analyst at RedMonk.
Doesn't that translate to "They won't let us do it because it doesn't work."?
Re:but... (Score:2)
Doesn't that translate to "They won't let us do it because it doesn't work."?
No, it's more like, "webservices are incredibly fucked up because the people writing this stuff don't know what the hell they are doing."
Unfortunately, the same can be said for many other things ("the world is incredibly fucked up because the people running it don't know what the hell they are doing").
There might be "issues" with adoption (Score:5, Interesting)
Jonghun Park is an Assistant Professor of Information Sciences and Technology at Pennsylvania State University. He says that a new protocol can improve Web services. Sandeep Junnarkar broke the story. "Jonghun Park proposed a method for sharing information between systems linked on the Internet promises to speed collaborative applications by up to 10 times the current rates. The protocol is based on an algorithm that lets it use parallel instead of serial methods to process requests. Such a method boosts the efficiency of how resources are shared over the Internet. The new protocol is called Order-based Deadlock Prevention Protocol with Parallel Requests."
First, there is this whole climate fuelled by RIAA/MPAA that makes the very mention of collaborative applications something criminal.
Secondly, if there is to be a non p2p media sharing usage for this protocol, it has to get industry support. Read M$.
This looks like a solution looking to solve a problem that doesn't exist. Where have we seen this before?
Re:There might be "issues" with adoption (Score:1)
But you've got a big problem - efficiency - just imagine how can you implement things like transactions over HTTP. And that's what this protocol is aiming to solve.
Re:There might be "issues" with adoption (Score:1)
I agree. A great example is the archival world. PKware's zip format has been the standard compression scheme, despite gzip and bzip2's better compression ratios. But if you email your mother a compressed file, better make it a zip file.
And don't get me started on the non-standard HTML implementation of IE. . .
Order-based deadlock prevention? (Score:4, Insightful)
Anybody who's done real database engineering knows the two points necessary to prevent deadlocks: (of course, most designers/programmers don't do this...)
1. Every process locks resources in the same order.
2. No process ever escalates a lock.
Enforce these two adages ruthlessly and you'll never get a deadlock.
So all this guy is saying is "Engineer your distrubuted databases properly." Woot.
RTFA (Score:3, Informative)
Re:RTFA (Score:1, Insightful)
And just because it's been published doesn't mean it doesn't boil down to "build your infrastructure correctly, and enforce your design constraints".
Re:RTFA (Score:1)
Re:RTFA (Score:3, Interesting)
That being said, I highly doubt that Park's research has much to do with database mutexes. The courses I've taken in concurrency pretty much left me baffled. There's a lot more to it than thread safety.
Re:RTFA (Score:1)
Re:Order-based deadlock prevention? (Score:1, Insightful)
Even the article acknowledges that this isn't new (Score:4, Informative)
Re:first things first... (Score:1)
Pipelining (Score:3, Insightful)
Re:Pipelining (Score:1)
but... that is done serially! what this protocol aims to do is to be parallel!
Re:Pipelining (Score:1, Offtopic)
To quote RFC 2068 [ietf.org]: Pipelining allows a client to make multiple requests without waiting for each response, allowing a single TCP connection to be used much more efficiently, with much lower elapsed time. (for more details see RFC 2068, 8.1.2.2)
Serial is done using the Connection: keep-alive header.
Re:Pipelining (Score:1, Insightful)
ATM networks do this (Score:3, Informative)
Re:ATM networks do this (Score:2, Informative)
You can have 1000 channels if you want (try PVCs or SVCs)
The thing is, you
1)Consume more bandwidth to do this, because of the ATM cell overhead
2) Fragment the crap out of your data, because ATM has a fixed cell length (Ie, your 1024byte TCP Frame gets cellified into 48 bytes chunks)
any one if which is lost, causes the entire packet to get retransmited (unless you have decent cell buffering system on your ATM switch).
Is generally not recomened for pure date networks, because of the above, ATM was designed more for pure Video/Telephone style apps (realtime) to compete with data apps (Non Realtime)
If all of the apps on your network use IP, ATM is a redudant waste of money and resources.
If you have a video or voice system (or even a private line emulation system) that speaks NATIVE ATM, then it makes sense to go ahead and use that, build a CBR or VBR-RT PVC for that application, and let the data traffic run on ABR or VBR-NRT PVCs...
Otherwise, you should just use QoS at the IP level, and let the routers handle the policing. If you are dealing with trully anal design specs, you will also have to install RSVP to 'reserve' bandwidth, but a proper analysis of most networks will show a properly designed network app will not need to reserve any bandwidth on the network, if the policing is setup properly on the routers.
Just ask me for more details if you need em!
Re:ATM networks do this (Score:2)
While ATM is more important for voice and video applications than pure data, it's also valuable for environments where some applications are more latency sensitive than others, such as database queries. In a local area network, I agree that ATM isn't going to win compared to Ethernets; standard CSMA Ethernet is less efficient for most applications, but the fact that a 100 Mbps interface card costs $10 makes up for that, and ATM-to-the-desktop was pretty much dead before anybody deployed any of it.
But in a wide area network, what matters isn't how much bandwidth you consume, it's how much bandwidth you _buy_ and how efficiently you can use it to meet your application needs, and ATM and frame relay networks can often do that quite well. Yes, there's ~15 percent overhead on your ATM packets, but that gives you and your carrier a lot of flexibility in tuning performance, and in balancing what kinds of switching and routing goes where. You've probably noticed that most DSL equipment is running ATM, which is one of the main reasons you can get DSL internet service from a large number of ISPs, even though most of them use a telco or Covad to provide the access.
Fragmentation at Layer 2, which ATM is, is a much different issue than fragmentation at Layer 3. You really, really don't want fragmentation at layer 3, because that typically adds 20 bytes of IP header, but ATM only adds 5 bytes of layer 2 header per 48-byte data payload, and in return you get the ability to interleave different data streams, which matters a lot if you're trying to mix big file transfer packets and smaller interactive-application packets (whether voice or telnet or whatever.) On big pipes, you won't notice, but on a 56kbps connection, you'd really rather not have your voice packet stuck behind a 1500-byte ftp packet (which takes about 200ms), and even on a T1 line, voice is happier if you don't have to wait for more than one ATM cell (about 1/3 ms) as opposed to the ~10ms for the big packet. With two PVCs, you can do this (at least at one end of the connection; some routers are too dumb to interleave ATM cells from IP packets on different PVCs.)
As far as the problem of losing one cell trashing your whole packet goes, modern ATM switches usually have big enough buffers to handle a multiple TCP sessions well,
and the early packet discard / partial packet discard capabilities let you trash the remaining half of a packet if you overflow a buffer (which is basically the same thing that happens on an IP router if there's not room for a whole packet.) Before EPD/PPD, there was the "sandblasting" problem, where a switch would lose one or two cells from a lot of packets instead of lots of cells from a small number of packets, which was obviously a Bad Thing, but it isn't a problem now.
Read the Damn Article (Score:5, Informative)
Is this really the job of the protocol? (Score:3, Insightful)
This article is useless. This quote is the only information that is remotely informative in the entire article.
And to get to my point, the management of resource access is hardly the job of the protocol. It is the job of the underlying web Service implementation to deal with these issues. Why should the protocol even have knowledge of the the resource state?
Re:Is this really the job of the protocol? (Score:4, Insightful)
I think providing the protocol with this knowledge is supposed to speed up the whole process while still preventing dead/livelock situations. However, as you said, the article is way too barren of any real information to assess how this is really supposed to happen. It may be intentionally devoid of details until the authors of this protocol determine whether or not they really "have something."
Re:Is this really the job of the protocol? (Score:1)
If the protocol has important info, like info about deadlocking, and not the underlying server it self, wouldn't this be a huge problem. Wouldn't this make it a feild day for hackers, or at least people who want to break things. Just craft one or two fucking packets that say they can access something locked by someone else and poof. Error Error Error.
Re:Is this really the job of the protocol? (Score:1)
both parts, efficiency and security are being the great problems with web services (think transactions over http!).
this guy is dealing with the first. now please someone deal with the second. they are ortogonal aspects.
Nonexistant applications will speed up ten times (Score:5, Interesting)
This is cool and schmool, but where exactly are the collaborating applications that need to share and lock resources across Internet? Locking is useful only in preventing concurrent access to a critical nondivisible resource. Of course, web browsers share servers, but they don't need to lock them (well, sometimes they "lock" them, but this is only a side effect known as "slashdotting"). P2P apps? I don't think they need to lock anything in order to share files.
A-ha! Web services! Ok, what web services? Have you ever used a distributed web service application that needed to lock resources? I thought so.
I am not saying that this protocol is bogus, but it will probably be useful for apps that don't exist yet, at least on the Internet.
Re:Nonexistant applications will speed up ten time (Score:2)
Any web service which needs to conduct a database transaction will potentially need to lock resources. It may be that the application is structured so that a request is a single transaction, but more complicated application may require multiple interactions, thus a longer transaction and the need for locking.
For instance, take a web-services application that allows you to edit an, I don't know, address book entry. You retrieve the address book entry in one request, and store the edited values in another. Now, if another instance of the application on another machine comes along and retreives and stores the same address book entry between your request and your store, then when you store, the previous edits are lost. Hence the need for locking. This is obviously a simple, contrived example. Believe me, I've laid awake at night because of the difficulty of distributed transactions.
-c
Re:Nonexistant applications will speed up ten time (Score:3, Informative)
And when they do exist, they'll use XA [ibm.com], a (relatively) open protocol developed by IBM, which has been proven over decades of distributed, heterogenous transaction processing (banks, airlines, telcos, etc). You can already mix CICS, Tuxedo, Oracle and DB/2 transactions with XA. (Note to Slashbots: it's OK if you haven't heard of CICS and Tuxedo). What do we need some newfangled nonsense for?
Web Services != simple http (Score:5, Informative)
This is not the case.
Web _services_ are a set of programmatically-accessible services implemented on top of HTTP, using a protocol like XML-RPC or SOAP. These web services are being used in current Grid Computing prototypes, hence the references to "collaborative applications".
The eventual aim of Grid Computing is to provide a means to expose resources (such as computational clusters, network links, visualisation suites, data-collecting instruments, SAN clusters, etc.); then, when jobs get submitted, the Grid infrastructure should automagically allocate resources for the task, taking into account what resources the submitter is permitted access to, what resources the job requires, what other jobs are already scheduled and potentially even what the monetary cost of using each resource is.
See also here [gridcomputing.com] and here [globus.com].
Order-Based Protocol for Patent Application (Score:1)
Translation:
Or something....
Re:Order-Based Protocol for Patent Application (Score:1)
Oh man ... (Score:3, Funny)
that's a little too crazy
Re:Welcome to Jonghun Park (Score:1)
So can I now downgrade to ISDN? (Score:1)
OK, but... (Score:2)
um, isn't this already done? (Score:1)
Hasn't this been thought of before? Small-scale parallel processing sounds a lot like the queues in SEDA:
SEDA Homepage [berkeley.edu]
http requests saturated (Score:3, Informative)
Web Services is basically describing the kind of services run over http. Excessive services result in http request saturation and thus people has to find some ways to circumvene the performance problems.
The reason why people nowaday mostly rely on http is the laziness of admins in handling corporate security. Services like RPC calls multiply the complexity of administration and it'd be easier if we all target the request on a single channel - http, which most enterprise has already opened it for normal web servers. Web Services beat CORBA in term of convenience in depolyment, not in term of its technical merit. (for more information, see this comparison [xs4all.nl])
The article and the links followed are insufficient to tell what's inside this research. If he could really find a solution to http saturation problem, that solution can absolutely be applied to everything else. I'm pretty skeptic on it.
Good to see someone sees the real issue (Score:4, Interesting)
HTTP was designed to be efficient for cases where a relatively simple request is going to result in a relatively large result dataset. Distributed services don't follow that pattern. You often have a relatively complex request (save changes to customer information) producing a simple result (changes saved/lost.)
HTTP also was also designed as a stateless protocol, and does not have the facilities to ensure any time or order based serialization of requests and results. (Yes it can be cobbled in via back-end stateful servers and session context data, but it isn't used by the HTTP server itself to serialize anything.)
Abusing a simple protocol in order to make life "easier" for the network configuration and administration team is just a bass-ackwards way of dealing with things. Networks are an infrastructure service for providing information systems to business, as are databases, file servers, application servers, programming services, etc. Nothing ever seems to end up "easy" except with a loss of functionality, efficiency, or scalability.
Re:Good to see someone sees the real issue (Score:1)
but in my more sane mind I work extensively on XML and related web services....well may be we couldn't complain too much to those who made these mumbo-jumbo which secure our job and ensure our paychecks come regularly.
Open source? (Score:1)
Does this mean it will be closed source, proprietry and all that jazz? I hope not.
But this goes up to 11... (Score:1)
Say what? (Score:3, Funny)
Commercialize? Why? (Score:4, Interesting)
Why? Didn't he look at HTTP at all? The reason it was so successful and widespread was because Tim Berners-Lee did not commericalize it. If Park makes this protocol commercial, it will either not be adopted at all, or it will be bought and proprietized by Microsoft. Neither of those are particularly desirable. If he keeps it open and free, it could eventually garner as much popularity as HTTP. Tis too bad he cares only for getting a check.
Re:Commercialize? Why? (Score:2)
As you say, if the did work then his best bet is to publicize it in open form. I can already find a lot of good quality stuff for free on the internet with good implementations. If I really want top performance for a closed source project, no problem, I can code it up again. The important thing is the protocol is out there together with enough code to demonstrate it.
Parallel methods? (Score:1)
Isn't this already present and is called FTP? (FTP is notoriously ugly when dealing with firewalls).
In other news (Score:4, Funny)
Hypertext Transfer Protocol
http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
versus
Order-based Deadlock Prevention Protocol with Parallel Requests
obdppwpr://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Bottlenecks not in the communications layer (Score:3, Interesting)
I'm working on a large web-services product/project now using various J2EE technologies (JRun, Castor, Object Relational Mapping, Axis) and my biggest bottlenecks are the database (problem mostly solved through caching, and clustered caching), XML Serialization/Deserialization or marshalling/unmarshalling (problem solved using Castor XML) of the object graph to and from the SOAP body and Java objects, and simply the passing of large object graphs through XML protocols like soap.
Go read the server-side.com, or Bitter Java, they'll tell you what the common bottlenecks are, and this usually isn't one of them.
I assume
If You've Really Going to Overhaul HTTP (Score:2, Informative)
He's an idiot (Score:1, Interesting)
This is an example of research without grasp of reality.
Well ther goes teh /. effect (Score:1)
um... (Score:3, Funny)
sure its all fun and games... (Score:1)
The name? (Score:1)
Re:Just what we need.... (Score:2)
Re:IST is a joke (Score:1)
Re:IST is a joke (Score:1)