Posted by
CmdrTaco
on from the from-the-research-center-that-brought-us-everything-else dept.
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."
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.
Microsoft already has this patented feature in OE and IE.
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!
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.
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.
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.
Re:Sun already tried this
by
deanj
·
· Score: 2, Interesting
Cisco uses Jini for some of it's products/projects (notably, Spanish Inquistion), as do other companies.
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.
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.'"
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.
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
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
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.
Re:Parent should be "Insightful," not "Funny"
by
JohnnyCannuk
·
· Score: 2, Interesting
-- Never by hatred has hatred been appeased, only by kindness - the Buddha
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
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.
Re:Parent should be "Insightful," not "Funny"
by
sketerpot
·
· Score: 2, Funny
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."
Please oh please tell me that you capitalized "basic" for emphasis, and you don't mean a device driver written in BASIC. *cower*
Re:Parent should be "Insightful," not "Funny"
by
drinkypoo
·
· Score: 2, Informative
This is what Open Firmware does for basic boot devices, and if we extended OF to peripherals, we wouldn't have this problem - Except instead of BASIC, which is a basically (h0 h0) functional but uninteresting language, it uses FORTH. FORTH is more efficient than BASIC and as such makes a better language for BIOS operations on systems with little CPU power, like old 16MHz SPARCstations. Open Firmware is a standard now and is used by Apple and Sun. This is the reason why Sun consoles have traditionally been so slow, during the boot process (until some other software graphics driver is loaded) all of your text drawing is done through interpreted FORTH - this is from the days before JIT recompilation became ubiquitous, of course.
-- "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
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.'"
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
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!!!!!
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!
Re:Whats wrong with generated code?
by
dsojourner
·
· Score: 2, Insightful
The problem is you're permitting coding of your network interface... even assuming your "sandbox" holds up, it would seem there's ample room for a denial of service.
dsojourner
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...
Re:Whats wrong with generated code?
by
autopr0n
·
· Score: 2, Funny
Code can be a very concise way to express an algorithm.
Damnit, you're right! Now what the hell am I going to do with all this Turing machine tape!?
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?
Re:First thoughts...
by
Wingchild
·
· Score: 2, Interesting
... what article were you reading? The article doesn't talk at *all* about letting devices communicate independantly and learn to talk to each other.
It provides a `standard` that `allows` such communications to, in theory, take place. It does it by removing some of the intelligence apps currently have to have in order to talk, so long as you adhere to the standard. But it's not like they're inventing new protocols here.
If TCP/IP is a vast highway to transfer information, Obje is a new kind of tire.
Re:First thoughts...
by
jd
·
· Score: 2, Insightful
More likely, it'd be used in some of the more mission-critical heterogenius networks, where you can't afford any outage for any length of time.
Such networks would likely be physically private networks, or otherwise on a secure LAN. Nobody puts mission-critical stuff over an unsecure, fragile backbone such as the Internet. Well, other than the US Government.
-- It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
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!"
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.
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
Re:DMCA and other viruses
by
Anonymous Coward
·
· Score: 2, Funny
The next innovation from PARC will thus be a legal document analyzer. This analyzer will verify compatibility between licenses of varying devices and/or their network code. Once a collision is found, it will automatically report the offense to Microsoft's DRM Security Office and to the RIAA. They, in turn, will sue everybody, after patenting and copyrighting all possible forms of the alleged legal violation and the services related thereto.
Of course, when a new device receives the network code from Obje, it will have to sign on the bottom line of the object code... in triplets.
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.
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.
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.
Re:How to use it?
by
standard+method
·
· Score: 2, Insightful
Q. How much did it cost to make it?
Seriously though. I don't think this was made by someone with just a shoestring budget and a desire to help computer-kind. Not that they're doing their work for the wrong reasons, but if this project cost them a lot of money, offering it for free in an Open Source fashion is going to mean.. they're out of a lot of money.
Just a thought, thought it's probably not the most popular one on the block.
-- "I'll be a killer whale, when I grow up" -Wintersleep
Re:How to use it?
by
standard+method
·
· Score: 2, Interesting
Oh, I know what you mean, I had kind of a similar thought when I read the end of the article, but my point remains the same. For understanding the idea, it's great for "the community" to get a hold of the code, but that's ignoring the fact that this is a company, and a company that researches for a living. (Keep in mind this post isn't designed to shoot you down or anything, more of a clarification of my own points.) These people do research on stuff exactly like this, and the reason that this story was actually notable was because this is at least semi-revolutionary. It's something noteworthy, because time/money/effort was put into this project, and none of those things are free. Particularly not the middle quotient.
1: Research
2: Open Source your results 3: No profit!
Of course, profit is evil, because it represents the minimization of freedom, money is bad, etc etc.. But I would think that not making any money on things like this, or at the very least not breaking even, would kind of hamper future developments. Yes, there are research grants, etc, but are they enough?
And, the possibility that I am in fact quite wrong is very likely. So. I've just showed you!
... Yeah.
-- "I'll be a killer whale, when I grow up" -Wintersleep
Re:How to use it?
by
PyromanFO
·
· Score: 2, Insightful
How do you expect CS researches to make money if they don't charge for their work? Maybe you can create really good knock-offs and implementations of standards using the promise of some vague support contracts to entice companies and the spare hours of out-of-work coders, but when will that actually create something?
Charging for your work and restricting access to your code are two entirely different things. I don't know about you, but as a software developer I am worth much more to my boss than simply my code. PARC could make money without restricting access to the code. For instance, having companies pay them to teach their driver writers how to use this new tech. PARC has the knowledge, which is worth much more than the code itself.
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?
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.
Re:heh - The infinite IS possible with Obje
by
bunnyman
·
· Score: 2, Funny
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.
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.
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.
Re:Parc = Real PnP
by
silas_moeckel
·
· Score: 2, Interesting
I'ts been tried to an extent. USB and BlueTooth were supposed to work by providing a few standard interfaces making drivers standard. It seems to work somewhat. Windows has some very broken USB handaling try getting a serial dongle to work and you will find it asks for a disk often enough that disk most often contains the same dll as the system allready had for serial over USB, pretty much so it can say belkin usb to serial cable rather than generic usb to serial cable. IDE seems to be the only reliable usb driver.
Bluetooth has similar issues with things like headsets there are multiple possible drivers and one each end and no automated facility to match up the best capability profile that will work.
This would seem to be going to the way of i2o where you made a framework of half drivers the OS side that just had to get to i2o's middle ground and the card would provide the rest. With this you loosing some performance because you have arbitrary limits by the i2o framework.
I think the big stumbling block is going to be added cost it takes memory to store the driver. People want there devices cheap it would seem a better idea to fix bluetooth and usb as they are nearly there. Realy it's just a question of making devices pick the best match via a autonegotiation.
-- No sir I dont like it.
And in other news...
by
papasui
·
· Score: 2, Funny
Apple Computers CEO Steve Jobs has been sighted spending large amounts of time in the Palo Alto area. When questioned Steve replied "Oh I've been doing some research for new products."
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.
"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...
*ALARM BELLS*, but this IS PARC
by
ItsIllak
·
· Score: 2, Interesting
OK, I read the headline and could practically see the red lights circling into view and hear the alarm bells ringing. It's a really really obvious way of making life even more difficult!
However, I do have to remember that this is PARC we're talking about. They've got a pretty good track record of innovation. At very least I think they should be given a bit of rope. Hopefully they won't hang themselves with it!
Of course, I find it hard to see how this simplifies or improves computing and networking in any way, and it rips SO hard through the OSI models that it could be pretty damaging in that respect too.
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
Finally, a use for Java.
by
torpor
·
· Score: 2, Interesting
Seems to me a mini-JVM would be good for this application, sitting in between the transport layer and the application.
Actually, come to think of it, why hasn't this been thought of before?! SO OBVIOUS!!
Ah well. I'm now happy that after all this time, I've finally come to understand that in fact there is a use for Java after all...
(j/k, don't slay me!)
-- ; -- the corruption of government starts with its secrets. a truly free people keep no secrets.
--
Re:Not enough info ....
by
sjwt
·
· Score: 2, Funny
you meen the OSI theoretical 7 layer model that IIRC no one had got working past 6 layers..
mind you it was many moons ago when i was last requested to becoem infomed on the 7 layer model, NT 4 was moving in on novel and id just herd of a new apprently working version of windows comeing out around 2000..
so most of what i lernt back then was moot:)
-- You have 5 Moderator Points!
Which Helpless Linux zealot/MS basher do you want to mod down today?
Gee where have i seen this before
by
Anonymous Coward
·
· Score: 2, Funny
ok let's see powered nanobots using a rat's heart, self teaching code. Damn it's skynet time !!! without the boobs.
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
Re:Sounds Like Sun's JINI
by
JohnnyCannuk
·
· Score: 2
Jini defines APIs for printers and cameras;
So, what your saying is they have never read the Jini spec or decided to find out what Jini is then?
Hint: It has nothing to do with "printers" and "cameras" and everything to do with "services" - any services.
I do a little development in Jini and I can tell you, Jini does EVERYTHING Obje does...
-- Never by hatred has hatred been appeased, only by kindness - the Buddha
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
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...
dont touch until it is mature
by
Dr.Knackerator
·
· Score: 2, Insightful
lets hope the underlying VM interpreter (or whatever) is shared source of some kind.
otherwise can you imagine the random problems you are going to get when one of the devices has a problem with different VM implementation. Or security issues on individual VMs?
It took a good while to get the various flavours of Java VMs to all work pretty much the same, the same would be true here.
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.
Re:Extensive Driver Libraries
by
drinkypoo
·
· Score: 2, Informative
Except the amiga had the entire driver for the hardware in adapter ROM (except in cards where the driver had to be installed via software, of course, and loaded during the boot process, or referenced from your mountlist or devslist.) This was possible (for the people who don't know enough to miss it) because everything was a user-level process, including filesystem drivers, and hardware drivers. Hence you had a process perhaps called scsi.device and a process called FastFileSystem, and so on. Very slick, very sexy, these days it would only be good for handheld devices and thin clients in its original no-memory-protection form, but it was very cool for its time, when almost no one used memory protection. Including Windows and MacOS (in spite of the fact that most wintel machines and probably half to three quarters of the macs had a moto cpu with a mmu.)
-- "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
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.
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.
We'll view Viruses with nostalgia
by
Gr8Apes
·
· Score: 2, Insightful
when the first round of this tech is widely adopted and hacked. Something about it sounds just too good to be true... and you know that adage - it generally is. It'll definitely be too good for the first hacker to figure it out.
-- The cesspool just got a check and balance.
Now the important stuff
by
UnknowingFool
·
· Score: 2, Funny
Forget about the implications to security and usability, what I want to know is how do you pronounce 'Obje'. I want to start mentioning it in conversations with PHBs to see how fast they can butcher the name and how fast before they start demanding it be installed on every computer.
-- Well, there's spam egg sausage and spam, that's not got much spam in it.
Re:Sounds Like Sun's JINI
by
Anonymous Coward
·
· Score: 2, Interesting
I think you're being a bit generous to them - it sounds like they're willfully misrepresenting JINI.
I think they'll suffer from the same "a priori knowledge" problem that JINI does - sure you can find a service (even one of a type you didn't know about when you were compiled) and get a little program that lets you interact with that service (talk to it, call its functions, turn parts of it on or off, etc) but the trick is to know what that stuff _means_ (I think the AI boys would say "lacks a shared ontology" or something). It's very hard to meaningfully call a method when you've got no idea what the method does.
In a few cases you can show the received information in some kind of "service browser" or some other UI, and let a person (who hopefully does share an ontology with the program's author) figure out what to do. In circumstances where that's not appropriate, you end up having to overlay some system of understanding (like a "printer" definition) so that programs can do something meaningful with it.
This is one serious place where the common practice in Open Standards has been a consistent let-down - everyone is shy about stomping around defining stuff, instead leaving it to some standards body (which often doesn't exist, doesn't understand, or just doesn't care). Microsoft, on the other hand, are perfectly happy to define the requisite schemas, ontologies, and taxonomies, and impose them on everyone else - and the device/network manufacturers go along with this because they want anything that works.
Beyond Contact
by
Hythlodaeus
·
· Score: 2, Interesting
This sounds a lot like the main idea in the book "Beyond Contact" - rather than try to send aliens little pictures coded in radio (like a lot of reverse-SETI ideas) send them a description of a VM followed by lots of little programs.
-- For great justice.
Solves a GPL problem
by
Smallpond
·
· Score: 2, Interesting
One thing this could solve would be keeping the details of the driver for a new device closed-source. That way a manufacturer could supply hardware and a built-in driver for use in Linux without having to open up the architecture to their competition.
This assumes that its not trivial to extract the details from the Obje code, of course.
If two sides can communicate well enough to teach eachother a third language, wouldn't they be able to communicate, period?
And if you need to install software on either end so they can go through this teaching process, isn't it easier to just install a TCP/IP stack on both ends?
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.
So, it's omniscient as well as omnipotent ? Singularity is here !
-- >|<*:=
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
Can anyone find downloadable code?
by
gabbarsingh
·
· Score: 2, Informative
I checked out the whitepaper, it reads like an executive summary. The whitepaper acknowledges existing discovery mechanisms and proposes an elementary solution using meta-interfaces. Well duh I knew that yesterday. Where's the code, dude? Seems like one has to enter into some sort of licensing arrangement to even find out if they really have something that works.
Don't get me wrong, there is some super talented people on the team - but I can't buy what I can't see. And this is precisely why I love GPL.
Jini sucks, and here's why
by
gabbarsingh
·
· Score: 2, Informative
Jini is related to Obje not only in semantics but the same dudes (atleast Keith Edwards) worked on Jini. I used Jini since its inception only to find out that:
- like Java, its spec is controlled by Sun which is good 'cause there a single controlling entity and the bad is that no device manufacturer gives a rat's ass about what Sun thinks about device discovery and service negotiation.
- Working with non-Java entities requires some sort of proxy and/or surrogate architecture i.e. shoehorn a protocol into it and if the protocol doesn't exist already well, write one and shoehorn it. Well, I don't think so - that's what I wanted to cure in the first place.
On top of that the one and a half other implementations don't interoperate successfully.
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.
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.
Re:the same ideas, over and over and over again
by
JohnnyCannuk
·
· Score: 2, Interesting
Ohh, touchy.
Well, I never claimed that Sun "invented" mobile code with Jini, just that the ideas espoused by Obje have been done before and are currently available for anyone to download from www.jini.org.
So, seriously, what other past implementations of this have there been? I am really curious.
As for your cracks about the real problem being a Java-based implementation, I will take it you are one of those "if it ain't GPL it ain't free" zealots. So please, provide links to the C++ version of a Jini-like framework. Or the Ruby version. Or the Python. Or C. Anything as long as it is OSS certified. While your at it, point me to the one that has the default sand-box for running the mobile code, making it more secure - other than a Java implementation.
My idea of giving "props" was because the referenced article mentions that "Obje can be built on top of mobile-code frameworks like Jini"...and Jini has historically been "ignored" even within Sun.
Or did you not bother with the formality of actually reading the article?
Hmmm?
And if Jini and Obje address different problems, perhaps you can enlighten me just what problems they each address that is so different, 'cuz it looks pretty identical to this Jini programer.
-- Never by hatred has hatred been appeased, only by kindness - the Buddha
Did you just say that Cisco has a project called "Spanish Inquisition"?
Who would've expected that?
-- autopr0n is like, down and stuff.
That is a bizzare statement
by
autopr0n
·
· Score: 2, Insightful
Charging for your work and restricting access to your code are two entirely different things. I don't know about you, but as a software developer I am worth much more to my boss than simply my code.
If your boss needs to keep you around in order to use the software, it's obviously not that good. Good software should, for the most part, be able run given easy to understand instructions, and be easy to maintain by any competent programmer. I'm not against giving away source code by any means, but when people do give away code, it's a gift, not an obligation.
Personal Firewall and Anti-Virus coders everywhere today announced that "You've got to be kidding me".
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
Microsoft already has this patented feature in OE and IE.
because the real link is here. The one supplied in the story 404'd on me.
Thanks, Google!
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.
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.
MS definatley has pior art on arbitrary code execution (I'm look at you, Outlook).
Religion is a gateway psychosis. -- Dave Foley
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!!!!!
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?
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 |
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
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.
Microsoft has had technology for sending code over networks for years, as evidenced by the recent MSBlast worm :)
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.
So, not an open standard. Well, back to SOAP...
The Army reading list
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?
Opinions on the Twiddler2 hand-held keyboard?
From the article:
:) Obje reminds me of this - standards about standards about actual work.
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.
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.
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.
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.
Apple Computers CEO Steve Jobs has been sighted spending large amounts of time in the Palo Alto area. When questioned Steve replied "Oh I've been doing some research for new products."
"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)
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?
From the Obje FAQ:
... in the meantime, I'll talk to you using my own special discovery protocol.
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
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.
"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...
OK, I read the headline and could practically see the red lights circling into view and hear the alarm bells ringing. It's a really really obvious way of making life even more difficult!
However, I do have to remember that this is PARC we're talking about. They've got a pretty good track record of innovation. At very least I think they should be given a bit of rope. Hopefully they won't hang themselves with it!
Of course, I find it hard to see how this simplifies or improves computing and networking in any way, and it rips SO hard through the OSI models that it could be pretty damaging in that respect too.
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.
.Net do that!" :)
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
Never by hatred has hatred been appeased, only by kindness - the Buddha
Seems to me a mini-JVM would be good for this application, sitting in between the transport layer and the application.
Actually, come to think of it, why hasn't this been thought of before?! SO OBVIOUS!!
Ah well. I'm now happy that after all this time, I've finally come to understand that in fact there is a use for Java after all...
(j/k, don't slay me!)
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
you meen the OSI theoretical 7 layer model
:)
that IIRC no one had got working past 6 layers..
mind you it was many moons ago when i was last
requested to becoem infomed on the 7 layer model,
NT 4 was moving in on novel and id just herd of
a new apprently working version of windows comeing out around 2000..
so most of what i lernt back then was moot
You have 5 Moderator Points!
Which Helpless Linux zealot/MS basher do you want to mod down today?
ok let's see powered nanobots using a rat's heart, self teaching code. Damn it's skynet time !!! without the boobs.
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
Jini defines APIs for printers and cameras;
So, what your saying is they have never read the Jini spec or decided to find out what Jini is then?
Hint: It has nothing to do with "printers" and "cameras" and everything to do with "services" - any services.
I do a little development in Jini and I can tell you, Jini does EVERYTHING Obje does...
Never by hatred has hatred been appeased, only by kindness - the Buddha
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
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.
... right ?
... 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 ?)
:-) ... and shame on you non-abstract thinking pseudo-geeks ...
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
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
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
lets hope the underlying VM interpreter (or whatever) is shared source of some kind.
otherwise can you imagine the random problems you are going to get when one of the devices has a problem with different VM implementation. Or security issues on individual VMs?
It took a good while to get the various flavours of Java VMs to all work pretty much the same, the same would be true here.
Reference the Amiga Computer and its use of Autoconfig, before windows attempted their version with "plug and pray."
God, I miss that machine.
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.
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.
when the first round of this tech is widely adopted and hacked. Something about it sounds just too good to be true... and you know that adage - it generally is. It'll definitely be too good for the first hacker to figure it out.
The cesspool just got a check and balance.
Forget about the implications to security and usability, what I want to know is how do you pronounce 'Obje'. I want to start mentioning it in conversations with PHBs to see how fast they can butcher the name and how fast before they start demanding it be installed on every computer.
Well, there's spam egg sausage and spam, that's not got much spam in it.
I think you're being a bit generous to them - it sounds like they're willfully misrepresenting JINI.
I think they'll suffer from the same "a priori knowledge" problem that JINI does - sure you can find a service (even one of a type you didn't know about when you were compiled) and get a little program that lets you interact with that service (talk to it, call its functions, turn parts of it on or off, etc) but the trick is to know what that stuff _means_ (I think the AI boys would say "lacks a shared ontology" or something). It's very hard to meaningfully call a method when you've got no idea what the method does.
In a few cases you can show the received information in some kind of "service browser" or some other UI, and let a person (who hopefully does share an ontology with the program's author) figure out what to do. In circumstances where that's not appropriate, you end up having to overlay some system of understanding (like a "printer" definition) so that programs can do something meaningful with it.
This is one serious place where the common practice in Open Standards has been a consistent let-down - everyone is shy about stomping around defining stuff, instead leaving it to some standards body (which often doesn't exist, doesn't understand, or just doesn't care). Microsoft, on the other hand, are perfectly happy to define the requisite schemas, ontologies, and taxonomies, and impose them on everyone else - and the device/network manufacturers go along with this because they want anything that works.
This sounds a lot like the main idea in the book "Beyond Contact" - rather than try to send aliens little pictures coded in radio (like a lot of reverse-SETI ideas) send them a description of a VM followed by lots of little programs.
For great justice.
One thing this could solve would be keeping the details of the driver for a new device closed-source. That way a manufacturer could supply hardware and a built-in driver for use in Linux without having to open up the architecture to their competition.
This assumes that its not trivial to extract the details from the Obje code, of course.
(I didn't read the article yet.)
If two sides can communicate well enough to teach eachother a third language, wouldn't they be able to communicate, period?
And if you need to install software on either end so they can go through this teaching process, isn't it easier to just install a TCP/IP stack on both ends?
ok, off to read the article...
>|<*:=
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
I checked out the whitepaper, it reads like an executive summary. The whitepaper acknowledges existing discovery mechanisms and proposes an elementary solution using meta-interfaces. Well duh I knew that yesterday. Where's the code, dude? Seems like one has to enter into some sort of licensing arrangement to even find out if they really have something that works.
Don't get me wrong, there is some super talented people on the team - but I can't buy what I can't see. And this is precisely why I love GPL.
Jini is related to Obje not only in semantics but the same dudes (atleast Keith Edwards) worked on Jini. I used Jini since its inception only to find out that:
- like Java, its spec is controlled by Sun which is good 'cause there a single controlling entity and the bad is that no device manufacturer gives a rat's ass about what Sun thinks about device discovery and service negotiation.
- Sun's implementation needs Java2 i.e. 10MB JVM w/ 30-40MB runtime footprint
- Working with non-Java entities requires some sort of proxy and/or surrogate architecture i.e. shoehorn a protocol into it and if the protocol doesn't exist already well, write one and shoehorn it. Well, I don't think so - that's what I wanted to cure in the first place.
On top of that the one and a half other implementations don't interoperate successfully.
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.
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.
Ohh, touchy.
.
Well, I never claimed that Sun "invented" mobile code with Jini, just that the ideas espoused by Obje have been done before and are currently available for anyone to download from www.jini.org
So, seriously, what other past implementations of this have there been? I am really curious.
As for your cracks about the real problem being a Java-based implementation, I will take it you are one of those "if it ain't GPL it ain't free" zealots. So please, provide links to the C++ version of a Jini-like framework. Or the Ruby version. Or the Python. Or C. Anything as long as it is OSS certified. While your at it, point me to the one that has the default sand-box for running the mobile code, making it more secure - other than a Java implementation.
My idea of giving "props" was because the referenced article mentions that "Obje can be built on top of mobile-code frameworks like Jini"...and Jini has historically been "ignored" even within Sun.
Or did you not bother with the formality of actually reading the article?
Hmmm?
And if Jini and Obje address different problems, perhaps you can enlighten me just what problems they each address that is so different, 'cuz it looks pretty identical to this Jini programer.
Never by hatred has hatred been appeased, only by kindness - the Buddha
Did you just say that Cisco has a project called "Spanish Inquisition"?
Who would've expected that?
autopr0n is like, down and stuff.
Charging for your work and restricting access to your code are two entirely different things. I don't know about you, but as a software developer I am worth much more to my boss than simply my code.
If your boss needs to keep you around in order to use the software, it's obviously not that good. Good software should, for the most part, be able run given easy to understand instructions, and be easy to maintain by any competent programmer. I'm not against giving away source code by any means, but when people do give away code, it's a gift, not an obligation.
autopr0n is like, down and stuff.