This coloumn is meant for some technical project ideas whcih i think of and like to discuss with you. Well let me put all things out

  • Writable CD file system
  • Image servers
  • A modification on search engines
  • Playing games on the internet between two persons on two different machines
  • Allow some one to show his opinion about some web page and display it along with that page
  • Moving jini to internet
  • ....................................
  • ......................


  • Let's take one by one. Well writable CD file system is basically an operating system project . It can be implented on a linux operating system. In the case of linux ,since you are having your web page you can do what ever u want .

    Here is a little discription about the project .Well in the case of linux operating system we have something called virtual file system (VFS). It can have multiple filesytem onthe same operating system like EXT2 iso9660 and so on. How the files are fetched is that u'r having a virtual superblock which contain pointer for reading and writing the actual superblock of that particual file system . Once the actual superbloc is created the superblock datastructure is filed with datas from the super block and with pointers to read and write and read the inode block . We use these pointers for reading the inode block and fill the inode datastructure . The inode datasturcte in turn contain the pointer for reading and writing the the orignal datablock .

    Well before going into the details let me say the complete idea. It sounds something like this . Well consider a system where u'r having a large database but the probability of modifying the database is less but still there is a chance of modification .Let's say we are having some 2gb of data and the just because that there is a small chance of editing it we have to store it in the database . What i suggest is that instead of storing it in the hard disk store it in that cd and make all that changes that are happeing in the hard disk and map further reference to the changes to the hard disk .

    The entire thing can be done by adding some fields in the inode and inthe super block . Well add for each block wheter it reside inthe hard disk or in the CD. Well before that we need to copy the inode block to the hard disk . So any reference to the file is first taken to the hardisk from there we get the inod . From the inode we get the block address and information regarding whether the the block is in the hard disk or not .If some changes happens in a block entire block has to be mapped to the hard disk or rather copied If some changes happens in a block entire block has to be mapped to the hard disk or rather copied. 


    This type of servers are usefel to libraries .Consider an image libraries .One thing which is to be noted here is that the image need to be copyrighted . The digital watermarking technique can be used for copyright purpose.you can use the Apace server whose source code is available . Make necessary changes in such a way that whenever a request for an image comes the image is taken from the hard disk ,watermarked and given to the user


    Now how most of the search engines work is to get the page downloaded by the searchengine ,operate some evaluation algorithm on it and create an index.Well this considerably increase the network traffic. To avoid what we can do is that allow some operation to be run on the web server . This could be done using RMI. This method which is going to be run on the web server evaluate a particula web page or the entire site . The evaluation result can then be returned to the user . This can also be implemented using web server . Get the class to a servlet on the web server by using the POST method . The servlet can use this class to evaluate the web page and retun the result .


    Knowledge sharing web agents This wrok can be done using agents . Well each user( infact machine) will have an agent running in them . The user can specify the topic of his interest and some useful sites . Then the agent communicate with other agents in the lan to find out whether any other user have specified some other site with the same topic . If so they will fetch the page and store it locally . The next time when the user logs in he will get a very good collection of useful web pages . The links the user store can be given some age .So that when the age goes beyond certain limit agent check whether the link exist . If not will remove from the database and share this knowledge with other agents . The user should be able to add a new topic . When a new topic is added by an user it should be sent to all the other agents for updating there local database .
    Many more can be done on this so that it look nice .



     

    Modular Operating  System :
    Suppose while using the computer we came accross a requirment of more space  or it happened we need to download some  files which is  of large size . The above set of operating system let us do our job as needed . We never get an error like  no space left on the device  .  Instead when ever such error happens an agent will find out whether there is any other machine whcih is offering a service that can solve this problem . If so it make use of the service . THE IMPORTANT THING IS    all these need to be done as transparant to the user . Again if you find more that one service decide of which service to user  depending up on the predefined rules by the user . You may prompt a user for making a decission . Integrating the printer service ( which jini  printer project is already working) is only one among them .

    The same OS should allow to save the instance of the OS  so that we can start with the instance at a later time .  The OS should be designed in such a way that it have   general number or registers . Some thing like the hardware specification doesn't matter . The saved instance thus allow us to be restarted on some different machine( basically processor ) since the instance  format should be same across any platform. Then the stories goes .....................



    Control Flow Management Diagram
    CFMD allow the user to change the flow of control in program with out changing the code . Basically the entire thing  should go as a set of library  using which the user will program . He will develop a set of module whcih is being used by the library accoring to the CFMD . Graphically editing the program control allows the user to develop the application very faster . Some thing smillar to EJB in  java with graphic deployment . ......
    But the interface should not  be as strict as EJB then it will be very much boring to do the programming and you should not enforce the requirment of a server . There is no need for dynamically  change the control flow . Once the control flow is change the entire application should be recompiled


    Highly distributed programs . The functions that accomplish a particular task should be able to find the resource they need to run at a specifed performance level . Should be able to move to the machine that have the resource free . Again the application that need these function should be able locate the function and use them



    1

    Hosted by www.Geocities.ws

    1