Programming Reality

Life in C#
posts - 81, comments - 14, trackbacks - 348

My Links

News

Article Categories

Archives

Post Categories

Image Galleries

Blogs

CRM

RobOS: An Operating System with Artificial Intelligence

I don't know if the name RobOS has been taken or not, but if not I guess I've taken it or something, by decree of me. There, it's protected and now we can move on.

The concept: An AI driven Operating System.

I've long believed that I'm really a slave to my computer. It is the master, and it 'lets' me have access to it. It just happens to be nice a lot and work for me. When the master stops working, this slave has problems. This slave turns into stressed out uber fix mode, willing to do whatever it takes to please and re-awaken his master.

What does RobOS stand for?

Robo, as in Robot, OS. The OS thinks for itself. It's a lot like those IBM e-servers that heal itself, optimizes itself, licks itself, etc. The only difference is this is purely software based where I believe some of IBM is hardware based. I may be wrong here and if I am, I guess I should probably stop now but then again they won't have quite the angle I'm looking at.

Overview of the AI:

  • Self Preservation

    • The ability to scan code before execution to determine it's level of safety.
    • If it feels threatened by anything, it'll halt the process.
    • Spyware, Adware, Viruses, and anything I feel as partially or completely harmful will have no place running. Don't bother trying to make a virus, trojan, or anything because they won't work.
    • For those of you who would like to run spyware, trojans, etc. I'll make a mini OS inside this one that simulates the OS exactly. You'll be given full access to destroy everything. It won't mimic everything exactly or you might learn a way to hack the real OS but it'll be fully functional. Trash it to your hearts content, but you're not infecting millions of people across the internet. No more. It ends here.

  • Self Maintenance

    • It'll be able to tell when hard drive fragmentation reaches certain peak levels and schedule a defragmentation proactively
    • There's a typical maintenance window from around 4am-8am where all maintenance tasks are performed
    • User will be prompted for scheduled maintenance and they can postpone it, but only for so long. It then forces maintenance, saving all of your work and returning you right back where you left off once it's done
    • Rebooting will be optional. They can also be scheduled so that the computer can clear stale memory and cache. I don't know if I can make it optimize memory and keep it from leaking like Windows had a habit of doing in the past. I think if MS has a problem with it, I might
    • Maintenance can be trained so that the computer learns what personal information should be maintained from end users. 
    • Application developers will have an API they can use to give information specific to their program. This way if settings or something needs to be backed up, the OS will handle it all at once safely and cleanly
    • Maintenance tasks can be done completely by the OS. User intervention is never required and it should be transparent to the end user as much as possible

  • Operational Intelligence

    • It'll learn what programs are being ran the most, and tweaking the system to accommodate for those programs more
    • It'll be able to sense when a hardware or software upgrade has been performed and comment.
    • It'll be able to sense when you've downgraded the system and adjust to perform better. It won't 'like' that you've downgraded but it'll still help you out, slave.
    • End users will initially tell the computer what they'd like to do most: Music production, Video Editing, Games, Work related stuff, etc. It'll tweak itself to adjust for those types of activities. The user can change this setting at any time. There will also be a way of defining multiple uses, so that there is an even further level of customization.
    • The intelligence data will be used by the OS internally. No external programs will be able to look at, modify, or do anything with the data. It will never be sent from your computer, by us or by a 3rd party application.

My goal for the AI is to have it behave as a white-hat hacker. This hacker mentality will keep the computer safe from intruders of any nature as well as work to protect the users interests. It’ll also behave as a computer expert, knowing what you do, and how to make your experience better along the way.

The idea is to empower the typical every day user so that they can use their computer at it's maximum potential. I see so many people using their computers ineffectively and it sickens me. Much of it is their unwillingness to learn but in their defense some of what they'd have to learn is over the head of most people. Why force them to go out of their way to take care of your product? It doesn't make sense to me but I guess I'm the only one.

Print | posted on Saturday, May 22, 2004 10:34 AM |

Feedback

Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

I am very interested in your concept and would be willing to test a beta version if one ever bacame available. Please email me with any additional info you have and updates as they become available. Thanks!
Robert Morgan
ramorgan@eolia.net
7/15/2004 4:11 PM | robert morgan
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Hi!
That's a great concept....and you beat me to put it down in text!
What I was thinking was more on the lines of realtime needs which can be fulfilled using AI. Like scheduling algorithms using AI and stuff like that. Also, the point you made about RobOS sensing a hardware/software update and commenting on it is a very very thoughtful one. Maybe someday we can have a computer which helps us to decide what to do next, and provides shortcuts/reminders for doing so. This could have many implications. Perhaps RobOS could learn from usage patterns and customize and interactive(or rather, proactive) UI accordingly!

I'd love to hear from you about how you plan to go about developing this system. One thing I disagree is the role of a user as a slave. The OS should be a helper, rather than the master. It should help out the newbies with the simplest of tasks, and it should provide power for the more experienced users. It should be something that enhances the thought process of human mind, not hinders it by providing limited options! It should help in freeing up the human mind from the constraints, that our mind 'assumes passively', the constraints that current computer systems (especially OSes) put on human thought process. I believe that everything in this world can be explained and solved using pure logic and thought process. The thought process only needs to be devoid of 'assumed constraints'. When i say 'assumed', what I mean is constraints that we don't realize exist; some things we accept as unavoidable facts, without even thinking of them as constraints which need not exist! This happens all the time, and when we realize about such things, we free up our thought process that much more. Maybe tomorrow's software could help us in freeing up our mind, the way Neo's mind is freed from the Matrix! ;-)

Do lemme know!
Regards,
Kapil
(kapil_d_p@rediffmail.com)
7/18/2004 5:52 PM | Kapil D. Pendse
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Thanks for your interest and it's actually a positive motivator even though I'm very strapped for time and thought it seems.

My entire reason for the OS is the fact that the operating systems now are almost too complicated for the average user. Also none of them really "hold your hand" though Windows can make even the most computer-illiterate user seem smart. I wanted to make something that just about anyone could use and yet something that can actually empower the user to get more out of their system.

The hardware/upgrade thing is simply there to encourage users to upgrade as well as provide a facility for the OS to know when changes are made both positive and negative. It won't get mad and throw a fit if you downgrade, but it will do self optimization to accomodate changes of this nature.

The master/slave role is purely logical. It's the master being that it is the last and only line of defense the computer has for self preservation. It's a policing agent with the intent to "serve and protect" the user from themselves, as well as others. This is basically my thought in eliminating the need for virus scanners because this will be checking processes before they're run to make sure the code is safe and secure.

I'm a power user if not higher (if there is such a thing). I hack my system, tweak, adjust, pull apart, and put it right back together. I manage IT for a small business which my father is a part of. The users their can barely handle Windows as it is even though XP has made the experience of using a computer a WHOLE lot easier. My goal is to make a system that both I am comfortable with, and my end users can use it without me ever needing to touch their computer. I believe I can design something completely simplistic so that anyone can use it yet so robust that power users like myself won't be constricted and completely loathe the system. If I can't use it, I'm not about to subject it to others.

I will keep you all posted and I plan on writing more, so keep an eye on the articles. I've got a lot on paper that I need to put here. Thanks again for the responses, you're encouraging me to stick with it even if I'm still designing.
7/23/2004 1:34 AM | Jeremy Brayton
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Hi!
>I wanted to make something that just about
>anyone could use and yet something that can
>actually empower the user to get more out of their
>system.
This is so much desired! I'm a programmer in making(will be graduating next year) and use my linux box primarily for programming and tweaking experiments. My brother is a business anallyst, and his usage is entirely different, he uses project mgmt. tools, email client etc. etc.
My mom uses the computer to communicate by email and playing solitaire once in a while. Finally my dad, he doesn't use the computer at all! He has worked all his life in farms and finds using a cellphone complicated too (except for receiving and making calls, he doesn't bother to go into messegeing!) So for him, a computer is much more complicated. But he does need to communicate with my brother who is placed in another city, and email is the best and fastest way!

Here you can see how varying user needs and usage patterns can be! I switched to Linux as i find it much more flexible and tweakable than Windows. I also have WinXP, which my mom and bro use. Though my brother might be able to use linux, he is reluctant to do so! And my mom always keeps a distance from linux. Well that's the power of UI! We can see how much difference it makes! If AI can help with this, it would be great!

I need to give a seminar at college soon, on any hot new technology. I'm thinking of giving it on something that's still an idea, an OS with AI.

No, I will definately not use RobOS! It's protected by you :-)
But you have already spent a lot of time thinking over this subject, and also done some paperwork as you said. Could you please tell me a bit more in detail of what you have figured out so far?

I googled a lot on this topic, but there isn't much.

I think if we share our opinions and experiences, then it would help in development of such a system.

Well here's more of what I have thought about:
We all basically use computers to solve real-world problems. But I feel that computers can't really abstract real world entities very efficiently right now. Atleast there isn't much support for such things at the OS level.
I very much like the OO approach, and I feel an intelligent, efficient and realtime OS should have support for object orientation right from ground up!

Think about an OS, which treats different types of hardware as different objects. A graphics card could be an object, with an nVIDIA graphics card being it's it's inherited object! We can have device drivers implemented as objects.

Then the software running on the system can have an instance of this graphics object for itself to work with.

Everything in nature does one thing in common, it exists! It has a lifespan. And it's governed by certain laws of nature, which apply to all things.

If a computer operating system could simulate a nature, then we can write software that simulates realworld objects much more efficiently.

We could have each process in the Os running as an object, which can interact with other objects. This is much more closer to realworld. Interprocess communication could be much more simplified.

Even within a process, every possible 'thing' could be represented as an object to the Operating System, and managed(scheduled) directly by the OS. Rather than the 'process' being scheduled by the OS, and the process managing it's internal objects. Remember, everything in nature exists on it's own (although it might 'depend' on other 'things' -- hint of interprocess communication).

As an example, I have a keychain. To represent this in software, a keychain will probably be my attribute, or a part of my life. This is incorrect, Although mine and my keychain's lives are connected, they are 2 distinct 'lives'. I breath, grow old and so on... My keychain rusts, erodes, breaks and so on... 2 different life lines.

If i get heartattack, I should get immediate medical attention; if the keychain gets stained, it can be cleaned at leisure. If this is to be simulated, it would be much better to let the OS handle our lifelines, rather than to pack them in one single process. This is a trivial example, but i hope you understand it's implications in realtime systems. The OS could use AI to determine which object needs to be scheduled when!

Well, that's a lot of blogging for today!
Have a good day; hope to hear from you soon.
(You can email be too at kapil_d_p@rediffmail.com).

Regards,
Kapil
7/28/2004 1:20 AM | Kapil D. Pendse
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

First of all i will like to thank u all there to have such a nice discussion on ai os.
I am in same streamline and i wish to deal with ai based scheduling algos. Basically i think that it will be helping out to make the system on which the real time systems work to be more efficient. how ? lets see...Normally we have an os or rtos with scheduler which is primarily a premptive or cyclic one. Now each of the process out of the multiple task need to be given consideration by time slicing and processes with higher priority need to preempt the lower ones. However, in an intelligent os user need not to worry about scheduling through preempt or a parameterized way but the os responsible will behave in a truly intellilgent way (it has to be made intelligent by training algorithms) and schedule the process accordingly. Now a days kernel do this task. But a great replacement for them will be an os with an intelligent kernel and intelligent user environment.
for intelligent user environment the idea of auto hardware and software upgradationand notification is best.
Dear kapil can u more elaborate oo approach i will be thankful to u
abhishek r bhadauria
10/8/2004 6:27 AM | abhishek r bhadauria (ms by rese
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Process Management is something near and dear to my heart. I've been planning on adding that article to the list I have already but I've not gotten around to it.

Basically tasks and schedulers are a reactive system. In all operating systems that are out, you have to define a task ahead of time and know the exact parameters needed. If you mess something up, you either don't get desired results or it just plain doesn't work.

I don't want to say too much here because it deserves its own article where I can elaborate on what I mean. I should post the article tonight when I get home and I'll make a comment for the direct link. Or you can check out http://geekswithblogs.net/jbrayton/category/1014.aspx which links to the category where the article will be stored.
10/8/2004 12:53 PM | Jeremy Brayton
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

"It'll be able to tell when hard drive fragmentation reaches certain peak levels and schedule a defragmentation proactively"

or better still - create a file system that DOESNT fragment - or at the very least , defrag on the fly. Fragging isnt an issue on Linux. Why should it be on RobOS?


"If it feels threatened by anything, it'll halt the process."
predictive self-healing - already a feature of Solaris 10 - check out any of the Sun kernel bloggers (e.g. Eric Schrock). You'll find references to it.

"The intelligence data will be used by the OS internally."
There's no root user in Plan 9.
http://www.cs.bell-labs.com/plan9dist/

Also, check out the "plumber" concept in that OS - it sounds very close to your idea of the OS sending data around internally....
10/18/2004 5:40 PM | justin
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

"or better still - create a file system that DOESNT fragment - or at the very least , defrag on the fly. Fragging isnt an issue on Linux. Why should it be on RobOS?"

I explained this a little more clearly in the File System article here: http://geekswithblogs.net/jbrayton/articles/RobOSFileSystem.aspx

Basically each virtual partition houses the type of content of a filesystem. Fragmentation typically comes from reading data and writing it back to the disk. Applications don't usually fragment unless there's some kind of write-back that is done on them. Most of the time its your core user files (Office files, mp3s, etc) that are fragmented.

Defrag on the fly isn't a hard thing to do. It simply involves finding all of the chunks of data and keeping it all together whenever the file is written to disk. Typically hard drives store stuff in a first-come-first-serve basis but you can easily get around it. With us starting to push 4 and 5 ghz, this won't put much of a damper on performance.


Thanks for your feedback. It's good to know I'm not the only one thinking about this. I want to check out Plan 9 but I don't really have a spare PC I could throw it on (reasonably). I do have an old laptop but the keyboard is shot and I don't think I could make it work with minimal effort.

I don't totally trust not needing a root user though in unix clones its typically not necessary. Windows is another story since it stores registry settings in the Documents and Settings\Administrator folder. I don't think an account should be tied to hightened permissions anyways because it's typically not needed. I'm a little skeptic of someone saying that a root/Administrator account is not needed so I'd have to see it in action. I'm sure there's some way to deal with the permissions issue and it's hopefully not giving everyone "root" access but relying on the password security mechanism they have. I'll keep an eye on them though, that's for sure.

Thanks again.

BTW I do plan on posting the process management and secure coding stuff, I've just been too busy to actually put my notes into something more than 10 lines of jibberish. Hopefully I can get to it very soon because I want to move on to other areas.
10/18/2004 6:39 PM | Jeremy Brayton
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

oyu suck
3/9/2005 3:35 PM | pj
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

hi,
I was thinking just the same thing when i came across your article. great job.
3/23/2005 9:06 PM | deepak
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Hi
The article is very much interesting.
I being a researcher in AI applications,it looks exciting to see Robos-an AI OS.
I would like to know more as and when it is progressing.
my mail id:findsatish@gmail.com
Thanks,
satish
4/12/2005 1:42 AM | B. Satish
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

See man whether you can do all you want as external to os i mean as application os okay. This way os is generic and it performs that job well other things should be done in other parts.Anyway i commented on your idea just seeing for 2 minutes.
9/28/2005 4:32 AM | srinath
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Hi,
I would like to know more about the RobOs..
If u can, mail me at k.koushik@gmail.com
12/6/2005 8:20 AM | koushik
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Hi,
I would like to know more about the RobOs..
If u can, mail me at k.koushik@gmail.com
12/6/2005 8:21 AM | koushik
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Hi,
I would like to know more about the RobOs..
If u can, mail me at k.koushik@gmail.com
12/6/2005 8:21 AM | koushik
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

I had that kind of idea just 1 month ago. I'm glad to see that there is an interest in that kind of OS.

I think that this kind of OS will be a great success if it is compatible with Windows programs and DirectX (for play games)

I was thinking about a real user-friendly and very simple interface and vocal commands, an integrated all-in-one media software, and I had many more ideas.

I will write them on a website (I will do this in French, I'll need help to translate that in English).

For questions, mail me at : mc.format@hotmail.com
3/2/2007 8:55 PM | mc format
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Voice recognition is, last time I checked, simple. (IE, To, Too and Two all rather confuse the system) So far no-one has developed a system to look at the context.

Getting back on subject, an AI OS seems like a remarkable idea, I must say. I have to wonder what your experiance is with AI to warrent motivation for it, however.

-Q
1/13/2008 10:17 PM | Q
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

i386:D ftw
10/12/2008 10:26 AM | Peer
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Hey I had the same thought today when I got out of my toilet !
I wonder toilet has something really important to do with all these AI crap.

And when I got the thought I felt a doubt if something like this might be already developed for using in robots.
As ussual I went to Google to search and the first link in I found there was this one to ur post "RobOS: An Operating System with Artificial Intelligence" in geekswithblogs.net where u gave a link to this page.

So Now I guss nothing like that is out yet. So tell me.. Whats it really gonna take? to build such an OS?

My thought was actually to make up an OS that has self learning ability. It learns from experiences and can identify viruses it self by using such experience of previous attacks.Also it can learn from the owner-the real master.
It knows which data are really important for u and bakups those all by it self. So the longer we use the OS the stronger and more intelligent it gets.

And I still have a doubt that such an OS in goes malfunctioning can stress u out 2 times the current OSs and can act really like a master and kick ur buts, fry ur brains!. don't u feel so?
Just imagine there is this file I really need to download but I know it has virus appended with it. I would prefer to download it first and then remove virus out of it.

So I think the owner must be able to pause or switch off the smart ass part of OS whenever he wishes to,right?
I didnt read this whole thread because of lack of time.. so I'm sorry if what I said here is just repeating
11/18/2008 11:52 PM | Rineez
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

so what happened to this project?
12/14/2008 12:42 PM | abuashraf
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Sorry for the lack of response, and hell accepting the comments. Geekswithblogs changed the policy and I never figured out what I was doing wrong.

So to answer questions:
What happened to the project?
Nothing. I have 2 articles I didn't publish but I haven't brainstormed any since doing them. To start an OS on your own without a kernel is a daunting task for anyone. I'd love to let someone take over if they wanted to use the name or at the very least credit my ideas as a basis for some other work. I'm not alone in thinking them though but I also didn't copyright anything so anyone could take it and make it their own without me stopping them...

What's my experience with AI to warrant the project?
Other than playing games and knowing very little about AI patterns with respect to creating said games, I know nothing. Absolutely nothing. This comes from my 10+ years experience of being "Mr PC Repair" where people can't seem to even work google.com for themselves. I'd rather have the computer wipe the user's butt for me because quite frankly I'm tired of it (and to be honest, the power behind most modern computers now can *easily* handle it).
12/15/2008 2:08 PM | Jeremy
Gravatar

# re: RobOS: An Operating System with Artificial Intelligence

Re: Rineez
Sadly I went nowhere with the idea other than to simply put it out on the net somewhere. I think it has merit and eventually may become something of a standard but it's going to take people really needing it.

The original goal was a self sustained OS. Personally I'd be happy just tacking the bulk of it on top of Windows and calling it a day. It's entirely possible for the most part and considering the heavy lifting like a kernel's done it leaves just the meat left to do.

The "self learning" was part of an unpublished post. Basically instead of learning viruses it would just learn your usage habits. What programs you run more frequently or how you use said programs. Then certain extrenuous tasks you do every day would be made easier. The tasks you don't do would just fall away. They'd be accessable but just not so much in your face. Knowing what data to backup with respect to the applications/data you access every day would be another key component which I think I may have touched on, but you brought up an excellent point.

With respect to malfunctions, yeah it's entirely possible. It's likely it could easily be intrusive and take away a lot of what you need to do. That part wouldn't be permanent obviously but it would be kind of an updated version of Clippy. "I see you're trying to hang yourself. Would you like me to fashion a proper noose? Yes/No"

With respect to your virus analogy it's not working for me. I say that because Symantec's AV doesn't pull a virus out of a file. It quarantines the entire file if there's a virus in it. While it'd be great to have that level of heuristics, the reality is it'd probably impossible to know how to pull a virus out of a file unless you're one of the authors or really good at doing that sort of thing. I'm not so I'm not even going to begin to think about what's involved.

I'll give you an example though. When there's a virus in a particular file I need I'll throw it in a virtual machine that doesn't have a virus scanner. Yeah I'm possibly infecting myself but because it's virtual, and I can blow the machine away at any time, I don't really even bother. In much of the same way I'd like RobOS to have an application virtualization thing where it's a sandbox that doesn't require you to create an entire VM or blow it away when something goes wrong.

What can I say though... apparently I dream big.


In closing, I'll reiterate. This project is just ideas. I'm apparently an Idea Man(tm). If you'd like to take the name, the articles, the part of my brain that thought this up, by all means you're welcome. I won't need any form of compensation but I would like to be credited for any complete idea taken. Do also know that at one point in the future I *may* actually have the time to do something. If I do I'm going to use the name and the prior art I've acquired through these posts because I'm really lame at coming up with new names for anything. I could probably come up with something better than RobOS really but it stuck early.
12/15/2008 2:09 PM | Jeremy
Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification:
 
 

Powered by: