Slashdot Mirror


PARC's New Networking Architecture

Sandeep writes " PARC announces a new software architecture , named Obje, to establish a device-independent networking system. Essentially, it allows two devices to teach each other how to talk amongst themselves. It does this by sending actual code over the network."

49 of 224 comments (clear)

  1. In related news.. by ebob9 · · Score: 5, Funny

    Personal Firewall and Anti-Virus coders everywhere today announced that "You've got to be kidding me".

  2. Only two possible outcomes. by pete-classic · · Score: 5, Funny

    This MUST either result in such intractable security issues that it will be worthless . . .

    . . . or the machines will become sentient and use us (along with a form of fusion) as a plentiful power source.

    Damn.

    -Peter

    1. Re:Only two possible outcomes. by Dachannien · · Score: 4, Interesting
    2. Re:Only two possible outcomes. by Frymaster · · Score: 4, Insightful
      Only two possible outcomes.

      you forgot the third option:

      3. xerox will let this wither away in the lab just like all those other great parc ideas and we won't see it for another decade when someone with the actual common sense to build and sell the damn thing happens to get a peek at it through the window.

      this is the most likely result. i blame it on the fact that the xerox corporate culture has been so built on the "copier" mentality that they can't recognize the value of an original.

  3. Sorry by Anonymous Coward · · Score: 4, Funny

    Microsoft already has this patented feature in OE and IE.

  4. RTFA before replying - oh wait, you can't - by Wingchild · · Score: 4, Informative

    because the real link is here. The one supplied in the story 404'd on me.

    Thanks, Google!

  5. Sun already tried this by kroekle · · Score: 4, Informative

    This sounds like what Sun tried to do with Jini. Judging buy the success (or lack there of) of Jini, I don't believe this will be successful.

    1. Re:Sun already tried this by JBMcB · · Score: 4, Informative

      Jini was/is a great idea. Plug in a printer, it uploads it's driver to the computer. Put it on a network, any computer that connects to it automatically gets the driver.

      Sounds kind of like what Apple is doing with Rendezvous. uPnP should die a quick death.

      --
      My Other Computer Is A Data General Nova III.
    2. Re:Sun already tried this by NSash · · Score: 3, Interesting
      This sounds like what Sun tried to do with Jini. Judging buy the success (or lack there of) of Jini, I don't believe this will be successful.

      On the contrary, a sign of a great idea is that even if the market doesn't accept it at first, it keeps on returning until its time has come.

  6. Parent should be "Insightful," not "Funny" by Anonymous Coward · · Score: 4, Insightful

    I simply can't imagine that this could be done in a secure fashion between any two arbitrary devices that don't know what the other is.

    1. Re:Parent should be "Insightful," not "Funny" by drinkypoo · · Score: 5, Insightful

      Simply enough, you don't trust the other end, and all code is run in a sandbox. If the code does anything strange the session is terminated, if the other system (or peripheral) hands you strange code too many times you just stop listening. I don't think it's really necessary to send code, it would be just as well to send a list of capabilities (shades of my HVAC discussion) and then the sytem decides what you are based on your capabilities and treats you accordingly.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:Parent should be "Insightful," not "Funny" by Short+Circuit · · Score: 4, Interesting

      Perl supports "tainting" of data, so you don't do accidentally anything stupid with information that isn't secure. (Including exec'ing it.)

      I imagine this would be a similar set up.

      Or it could be done inside a virtual machine ala JVM, with a stream output to the part of the device that actually uses whatever the communication is intended to transmit in the end.

    3. Re:Parent should be "Insightful," not "Funny" by jilles · · Score: 5, Interesting

      With Java you can do this. Just run the code in a sandbox. Alternatively you can use some trusted third party and signatures. Or you can do both (authenticate other party and allow verified and validated code to do whatever it is authorized to do). The JINI architecture works along these lines (although it seems rather dead nowadays). It can be very secure if you set it up properly.

      --

      Jilles
    4. Re:Parent should be "Insightful," not "Funny" by BlueTooth · · Score: 5, Interesting

      and then the sytem decides what you are based on your capabilities and treats you accordingly.

      This assumes that the system already knows about all possible capabilities and that it knows how to talk to everyone else.

      I think the idea is that devices teach each other of their existence. It would be like if I bought a USB device (say a camera) that Windows didn't support, the camera would be able to bootstrap Windows with some drivers from its own firmware. The only thing that has to be prearanged is a protocol for this transaction. I don't need to maintain an extensive driver library for this to work.

      --
      SPAM
    5. Re:Parent should be "Insightful," not "Funny" by goatwhip · · Score: 5, Interesting

      What portion of detecting whether code sent to you over the network is doing something 'strange', do you find simple? I hate it when people preface comments with "Simply enough" or "Obviously". It automatically makes anyone who doesn't understand what the person is talking about, feel stupid.

    6. Re:Parent should be "Insightful," not "Funny" by The+Spoonman · · Score: 4, Insightful

      It would be like if I bought a USB device (say a camera) that Windows didn't support, the camera would be able to bootstrap Windows with some drivers from its own firmware.

      I've been saying for years "Flash ram is cheap, put some in every device to contain a BASIC device driver. The real driver can then be loaded to deliver the total package."

      This all started years ago when Intel, in their infinite wisdom, started packaging the drivers for their cards with tons and tons of crap, so that I had to download a 9M file just to get a 10K driver file! Uh, schmucks, that won't fit on a floppy, and if I can't get on the network to download it, I have waste a fucking CD to get your driver!

      For some reason, it amazes me how few people actually do any thinking.

      --
      Which is more painful? Going to work or gouging your eye out with a spoon? Find out!
      http://www.workorspoon.com
    7. Re:Parent should be "Insightful," not "Funny" by blamanj · · Score: 3, Insightful

      Exactly. For all the hand-wringing about security, you'd think people had never heard of Java applets, which, suprise, send code over the network.

      The applet/sandbox has proven far more secure than scripting languages and even applications like the browsers themselves.

    8. Re:Parent should be "Insightful," not "Funny" by drinkypoo · · Score: 3, Insightful
      What they're talking about here is getting data to/from a device whose capabilities are not precisely known. Therefore I assume that the interface speaks mostly in abstracts. The driver you write (which is basically going to have to run in a sandbox of some sort; if it uses a simple enough (actually, complex enough, and high-level) language there simply won't be any way to do harm (outside of consuming resources, which can be solved by simply not allocating them to you past a certain point) within the constraints of the language in the first place.

      Essentially your interface will have a way for something to connect to it and get data from it or put data on it. I assume in general the code sent is meant to be a driver of some sort and it will carry out a protocol, whereas all the OS has to do is shovel it some data, or get some data from it. The API will be analogous to SCSI which basically has only a few commands which are used for everything; the driver (which will run in the sandbox) is the interface between the drive's electronics and the SCSI bus. The difference is that it's in software and the driver has to run on the server. Why this is so much better than just picking a standard and following it, I'm not sure, but then I didn't RTFA. In theory it will allow you to use arbitrary capabilities of a device, but on the other hand you're still going to need an application that knows what to do with the data. I can think of several ways to handle it otherwise, all of them bad, and none of them which would work reliably. Then again, these guys know more than I do, which is why they get paid the big bucks, and I don't :)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  7. Atleast we know they can't patent it. by Monkelectric · · Score: 4, Funny

    MS definatley has pior art on arbitrary code execution (I'm look at you, Outlook).

    --

    Religion is a gateway psychosis. -- Dave Foley

  8. Whats wrong with generated code? by SkunkPussy · · Score: 4, Interesting

    There is nothing wrong with generated code if you trust the sender. Plus if the code sent over the network is executed in a sandbox/jvm it shouldnt be incredibly risky (obviously a lot of potential for DoS attacks).

    Code can be a very concise way to express an algorithm.

    --
    SURELY NOT!!!!!
    1. Re:Whats wrong with generated code? by NSash · · Score: 5, Funny
      Code can be a very concise way to express an algorithm.

      And to think that all this time, I was expressing my algorithms in pictograms!

    2. Re:Whats wrong with generated code? by GileadGreene · · Score: 3, Funny
      And to think that all this time, I was expressing my algorithms in pictograms!

      Yeah, pretty much everyone seems to use UML these days...

  9. First thoughts... by trickofperspective · · Score: 5, Insightful

    Keep in mind I have only SkimmedTFA... This seems like it would be useful for forming ad hoc networks, for example in a disaster or emergency scenario. But for frequent daily use, it seems like it might be a particularly vulnerable protocol.

    Are the benefits of high quality and reliable communication in a disaster/terrorism situation worth the potential risks of insecurity in that situation?

  10. Why even have a network? by 192939495969798999 · · Score: 5, Funny

    if you're sending code over the network in order to communicate, why have a traditional network at all? Why not just synchronize all the files between all the machines, or just have terminals? It seems like a mistake to send code for anything as a part of initiating network communication.
    PC 1: "here's how to hack me."
    PC 2: "OK! sending hack."
    PC 1: "thanks! Now I'm hosed."
    PC 2: "no prob. see you in hell! ha ha ha!"

    --
    stuff |
    1. Re:Why even have a network? by truthsearch · · Score: 3, Interesting

      If code is instruction for a computer, why not send instruction over the network? As opposed to pure data ("Here's a packet of info"), it makes sense to send "I'm here and I'm a device of type X. When Y happens, send me Z." If the code is limited in its abilities, and isn't just run arbitrarily, the network itself can contain much logic. Devices could then use the network is much more logical and efficient ways.

  11. DMCA and other viruses by buckhead_buddy · · Score: 4, Interesting

    The propogation of code is worrisome, but I'm also unsure of the legal implications of allowing your code to accept the code and restrictions of others by automatically allowing it to run.

    This may be a neat new way to logically propogate code, but once all the kinks are worked out it seems like it simply opens new doors for lawyers to battle out THEIR logic.

    Brrrr

  12. that's stupid by Anonymous Coward · · Score: 4, Insightful

    what is wrong with the existing protocol specs and RFCs? As it is, we have enough security problems even with a meticulous protocol specification. So making it more arbitrary will help? I doubt that, unless we are just willing to concede that security is a hopeless quest.

  13. Prior art by ThePyro · · Score: 3, Funny

    Microsoft has had technology for sending code over networks for years, as evidenced by the recent MSBlast worm :)

  14. Bah-brah by illuminata · · Score: 4, Funny

    Essentially, it allows two devices to teach each other how to talk amongst themselves.

    What happens if one of them starts to get a little verklempt?

    --


    Until Slashdot fixes the funny modifier, use insightful or interesting. The poster knows your intentions.
  15. How to use it? by tcopeland · · Score: 4, Insightful
    Answer:

    Q. What does an equipment manufacturer or service provider need to do to Obje-enable a device, service, or product line?
    A. Please contact us for co-development and licensing information.

    So, not an open standard. Well, back to SOAP...
  16. Sounds safe to me - pwned by orthogonal · · Score: 3, Interesting

    It does this by sending actual code over the network.

    Nothin' to worry about here!

    I "can'tse" any way this could develop into a security hole bigger than the goatse guy's famous anus.

    This reverses years of tradition -- Microsoft is supposed to steal its "innovations" from from PARC, not the other way around.

    And doesn't this sound like what goes way too wrong in Vernor Vinge's A Fire Upon the Deep, or an Iain Banks novel?

  17. heh - The infinite IS possible with Obje by Wingchild · · Score: 5, Insightful

    From the article:

    The Obje platform works with all standards, including those that have not yet been defined. It requires no central coordination, pre-configuring, or special set-up, and can be easily used by people with no technical expertise.

    It provides users a way to combine devices to build simple solutions for hundreds of problems - easily assembling their particular applications from available devices and services. It offers manufacturers a simple, fast, and timely solution to the increasing requirement to connect products.

    The Obje platform works with devices of all kinds - including cell phones, computers, personal digital assistants (PDAs), printers, set-top boxes, bar-code scanners, video displays, and others - from any manufacturer.


    It works with everything, everywhere - because rather than being some kind of new l33t tech, or even a new technical standard, it's a self-described "meta standard".

    In that respect, it reminds me a lot of Microsoft's DNA (Distributed Network Architecture), which I'm not sure anyone remembers. I only do because I built the Mid-Atlantic DNA labs, having worked for one of their Premiere Partners. Basically DNA wasn't new tech of any kind so much as a way of thinking and realignment of existing technologies. Instead of coming up with something really neat and whizbang to sell, Microsoft instead tried selling the process of how to think about how to get work done. Instead of creating apps that are live in the net, say, add a layer of firewalling and some abstraction between the user and the app itself, centralize all of your data in searchable SQL databases, and do other really common stuff!

    And they charged people for it, too. :) Obje reminds me of this - standards about standards about actual work.

  18. Re:Sounds Like Sun's JINI by Anonymous Coward · · Score: 5, Informative


    Q. How is the Obje interoperability platform different from UPnP? Jini?
    A. The key difference between the Obje technology and other approaches to interoperability is that Obje does not require prior agreement on domain specific interfaces--the protocols, encodings, and standards used to communicate with specific types of devices. Other technologies, including UPnP, Jini, HAVi and Bluetooth, each define specialized interfaces for each new type of device: Bluetooth defines "profiles" for phones, headsets and printers; Jini defines APIs for printers and cameras; the UPnP consortium defines interfaces for audio/visual devices, scanners and home appliances; HAVi defines APIs for DVD and CD players, printers, cameras and TVs.

    The problem with such approaches is that software must be recoded to address each specific type of device that it is expected to work with. For example, an application written to use UPnP media servers will not be able to use UPnP scanners (much less devices implemented under other standards) without re-implementation.

    With Obje, devices and applications are written once, against a small, fixed set of meta-interfaces, which allow them to acquire any needed communication capabilities at runtime. These meta-interfaces abstract the protocols and communication standards used by specific devices so that, at runtime, a device can provide its communication specifics to the entity that wants to use it, with no reprogramming of existing services. This allows users and manufacturers to "recombine" devices and services at will, without waiting for slow-moving standards bodies. This ability is unique to Obje.

  19. Could be horribly insecure by moberry · · Score: 3, Interesting

    Almost everyone knows that if it can be protected, it can be cracked. There could be horrible implications to this, just imagine sending actual code across a network. It will take some "1337" hacker just a couple of hours to crack the system wide open. And if he/she can send raw code to tell the network how its going to work, and tell the devices connected to it how they work. he/she could essentially control them a lot easier than todays more "traditional" methods.

  20. Parc = Real PnP by SunCrushr · · Score: 5, Interesting

    So from what I've read in the article, this looks to be Plug'n'play as it was meant to be:
    Devices which use simple initial aggreed upon standard to extend their various servcies to each other without all the protocols having to be aggreed upon ahead of time, just a few simple initial protocols which are used to communicate and extend the other protocols and services between the devices. If this is applied correctly by the industry, it could change computing a lot, opening more complex systems to users with less experience and requiring less support resources. I'll be watching this closely.

  21. Ouiji, not Obje by Lord+Grey · · Score: 4, Funny
    The Obje platform works with all standards, including those that have not yet been defined.
    Based on that rather sweeping statement, they should have named it Ouiji instead.

    "I see a device.... I can talk to it! Let's start out by identifying myself:"

    COLOSSUS COLOSSUS COLOSSUS COLOSSUS COLOSSUS

    (apologies to D.F. Jones)

    --
    // Beyond Here Lie Dragons
  22. History of the Future by Danathar · · Score: 4, Funny

    1. Apple copies it into OSX

    2. Microsoft Copies Apples Implementation

    3. Apple Sues Microsoft

    4. PARC is clueless....

    5. It becomes the de-facto standard in Windows...MS settles with Apple

    Wait...did'nt this happen before? :)

  23. PnP + Windows Update + ... by Wingchild · · Score: 4, Informative

    From the Obje FAQ:

    All Obje devices or services, called components, implement and make use of one or more of the meta-interfaces. Together, the Obje meta-interfaces allow components to extend one another to accept new data transfer protocols, media formats, CODECs, content types, discovery protocols, physical network transports, and user interfaces. An Obje component, or client application written against the framework, automatically acquires the above dimensions of extensibility, allowing it to interoperate with new peers on the network without rewriting and without explicit software updates.

    To wit:

    data transfer protocols: Are you on TCP/IP, or UDP, or Appletalk, or what? Let me adapt.

    media formats: What type of streaming content is that, exactly? Let me adapt.

    CODECs: You're using Divx/MPEG-4? I don't have it, send it to me as part of the framework package.

    content types: I can't support that MIME type. Teach me, via the framework, how to handle it.

    discovery protocols: I didn't come with the latest wireless discovery standard; hello, access-point that's Obje enabled, please teach me how to access you ... in the meantime, I'll talk to you using my own special discovery protocol.

    and etc.

    All of these things can already be done and are being done and have been done and were done years ago; Obje seems like a unification of all those efforts, moving towards a central platform-independant standard for how devices learn to do new tricks. Much as when you're surfing the net now and your browser auto-learns how to play new types of Media because a website can push you the players, except extended to higher (and lower) order functions as well, because PARC seems to be betting on awesomely small future computers that will have to be able to handle a very wide range of user functions.

  24. I object! by Guppie · · Score: 3, Insightful

    "The Obje platform works with all standards, including those that have not yet been defined."

    It's okay to be a optimistic about your product, but this is an all-time high...

  25. Glad to see Jini getting some props by JohnnyCannuk · · Score: 4, Insightful

    Glad to see PARC is using the idea of mobile code from Jini. The Jini Community has been doing this for over 5 years now. And it's not just for devices. Quite a few companies have used it as a platform for enterprise computing - in many ways it even competes with J2EE/EJB in this area.

    Jini is a great Service Oriented Architecture (SOA) that is VERY secure yet still involves mobile code rather than just RPC calls.

    It is a Java-based solution, but is opening up to other languages through the Surrogate Architecture...

    Anyway, if we get excited about something new from PARC, we should investigate a fairly mature technology that it is built on top of.

    If you think Obje is cool, check out RIO. Not just dynamic networking and mobile code, but dynamic provisioning and Quality of Service...

    "Let's see .Net do that!" :)

    --
    Never by hatred has hatred been appeased, only by kindness - the Buddha
  26. Re:lpr -Pnewprinter by Linker3000 · · Score: 3, Funny

    To clarify...

    One day I could walk in to my kitchen to discover that my kettle has become fed up with boiling water so it has explained the principle to the toaster which, due to limited processing ability has offloaded 'toasting' to the fridge.

    Now, in order to cook breakfast, I fill the toaster with water and stick a filled coffee filter on top, put a couple of slices of white bread in the fridge, take some now-precooked sausages from the fridge and place them in the washing machine to keep warm, use my CD player to phone the local 'white goods realignment doctor' to book the kettle etc. in for a little chat, switch on the microwave oven to catch the breakfast news and go have a shave with my PDA while the coffee brews.

    Is that it?

    --
    AT&ROFLMAO
  27. Platform independent embedded device driver? by ahg · · Score: 4, Interesting

    It seems like this offers a way of embedding the device's driver. - Just having the driver doesn't bypass any other security mechanisms already in place. Depending upon how it's used, it may not open any new security holes. Being able to just plugin the latest printer and have it work without installing any drivers is not a Bad Thing.

    If Microsoft had "innovated" this we'ld be seeing printers being distributed with Windows binaries drivers in firmware, that only Windows machines could make use of. Coming from Parc, it will be available for multiple platforms but unfortuantely they're not making this an open standard.

    <Paranoid Speculation>: Microsoft will copy the idea, but their standard will only communicate with Windows (and it's mobile derivatives) and give it away to hardware vendors. Free stuff from MS that will make your device truly PnP for 95% of computer users is an eash choice.</Paranoid Speculation>

    --

    --Aaron Greenberg

  28. Active Networks - deja vu all over again by decoy999 · · Score: 3, Interesting

    More power to the network !!! Wunderbar ! What the active networks community has been trying to solicit for all these (well, not all that many) years.

    Of course most fashionably cynical geeks obviously have strong opinions about "new" technologies (e.g. MDA etc. etc.) because they know everything that there is to know ... right ?

    I once read an article in Spectrum or something about degrees of ignorance (about not knowing something, or not even knowing that one doesn't even know and stuff) well all these meta-models are a little difficult to digest if you've spent the last 40 of the 50 or so yeas of the computer age reinventing and relabeling technologies over and over again and patting each other on the back.

    Dammit, GUIs (ala windowing intfcs) haven't changed in 40 years, basic networking hasn't changed in 30 years ... simply because un-insightful programmers heavily dependent on psuedo-geeky-techno-jargon-crap feeding idiots hype up brain dead hacks as "bleeding edge technology" (ever notice how happy we feel relabeling or re-"inventing" design patterns ?)

    So of course, the lesser mortals who compare malicious viruses to mobile code, obviously don't appreciate the nuances of responsible meta-models. I think PARC has a good thing going. I wish them luck...hopefully Steve Jobs and/or Bill Gates will productize this one too :-) ... and shame on you non-abstract thinking pseudo-geeks ...

  29. Extensive Driver Libraries by Anonymous Coward · · Score: 3, Informative
    The only thing that has to be prearanged is a protocol for this transaction. I don't need to maintain an extensive driver library for this to work.

    Reference the Amiga Computer and its use of Autoconfig, before windows attempted their version with "plug and pray."

    God, I miss that machine.

  30. If anyone can get this right, it'll be PARC... by alispguru · · Score: 4, Insightful
    PARC has a history of doing things meta before anyone else, and by and large getting it right.

    A couple of examples:

    Smalltalk - took "everything is an object" to the extreme. Smalltalk's byte-coded portability worked, in 1980.

    CLOS - its "meta-object protocol" lets developers change the language's object-model semantics.

    --

    To a Lisp hacker, XML is S-expressions in drag.
  31. Get to know me! by whyde · · Score: 5, Insightful

    This sounds very much like PARC wants to teach machines how to interact more on "human" terms than on strict "computer" terms.

    The most useful systems of tomorrow can't simply assume that peripherals/devices conform to their world view in order to work together. Instead, they must spend some time up front talking, listening, communicating, then eventually, cooperating.

    Heading in this direction will prevent a technological monoculture from appearing, which wedges itself into a hole dug from its own presuppositions. Instead, I think this would foster a hardware equivalent of Open Source, where anyone who knew how to talk the fundamental protocol could build something interesting and introduce it into a system.

    Of course, that's a pretty far-off idea, but I think it is worth pursuing.

  32. Another PARC Invention? Who Will Steal It? by DoctorMabuse · · Score: 3, Funny

    Dear PARC,

    Thanks. We've gotten all we can out of mice, object-oriented languages, windows, laser printers and everything else we stole from you.

    Sincerely,

    Apple & Microsoft

  33. You are so right by lokedhs · · Score: 4, Insightful
    I remember being in the middle of all the Jini buzz a few years ago. I remember talking to some of the Jini designers, asking them for the API's I should use when talking to a distributed file storage service. I was under the impression (still am, actually) that such a service would be one of the first to be defined. It's easy enough, should just be a few interfaces. Could be designed in an hour.

    Now, what was the reply? Something in the lines of: "it is not our job to define the standard API's. That's up to the community". Well, at that time I concluded that Jini would never succeed. And, it seems, Obje is falling into the same trap.

    Protocols are needed. Regardless of wether they are defined in terms of binary data, XML schemas, or Java interfaces. You need them to be able to know what you are saying to the other party, and what it is trying to tell you.

    I had some really neat ideas actually. I wanted to use stuff like distributed file storage. But there was no way I'd be writing my own interfaces that no one else would use. So, in the end, I didn't care much for Jini and apparently it was the right choice.

    As far as I can tell, there is no difference between Obje and Jini, the designers are going to fall into the exact same trap. I would love it if someone showed me why Obje would succeed where Jini did not.

    By the way, there were a lot of other things that sucked about Jini, but that had more to do with the crappy implementation than the actual concept.

  34. reinventing the wheel by ajagci · · Score: 3, Informative

    Not surprisingly, people have been working on this for many years. In particular, DAML is about. Sure, DAML work is being done in the framework of software agents on the web, but it's the same problem: having services that don't know about each other ahead of time figure out for themselves how to talk to each other. Furthermore, the technologies that have been developed as part of the work on the semantic web already seem considerably more sophisticated than the "Obje" framework.