Universal TSpaces Controller |
|
|---|---|
|
Resources UTC Ring Homepage TS Home |
Universal TSpaces Controller SCRG 10-28-1998 by Thomas Fischer -------------------------------------- Background One of the goals of TSpace is 'service anonymity' where, services are requested and provided, but no one knows the specifics of who, where, and how. While users don't have to know any information about the specifics of a service, sometimes they are not even aware of how to use a service, or even what services are available to them. Locating services and determining how these services are used is a difficult matter if the services change dynamically. One of the applications of such an idea is Universal device control. Objective The creation of a universal device controller will enable users to browse around tspaces, looking for resources that they want, issuing commands when they find the resources they are looking for. Such a controller will be able to query and receive a list of the possible services being offered, displaying them in a readable format to the user. For instance, if all the devices in a home were connected together through tspaces, a homeowner could connect through tspaces to his house, and display a list of the available devices that are online, query those devices that are ready to accept commands, and, not knowing anything beforehand about the device, other than the name (and an idea of purpose), could execute operations on those devices. Each device would have a series of possible commands that it can execute, included in these commands could be a set of status fields, allowing the user to request data from the devices. An example dialog might be:
ask("coffee machine", "are you ready?");
reply("coffee machine", "yes");
ask("coffee machine", "is there decaf?");
reply("coffee machine", "is there decaf?", "no");
ask("coffee machine", "what can you do?");
reply("coffee machine", "make regular coffee",
"make decaf",
"how much regular?",
"how much decaf?",
"is there decaf?",
"is there regular?",
"power off",
"power on");
The list of available commands can change dynamically, so that new services can be added and queried on the fly. This is useful in situations where one knows there is a service being provided but he is not sure of the details. This 'service area' can be queried, and a list of the available commands can be returned. Devices don't have to only be physical either, they can be electronic, simply providing computing or data resources. For example, if someone is interested in financial information, they simply ask if there is any "financial information" out there, and there will be replies back describing the details of the financial information being offered. "mutual fund data", "stock quote data", etc. One possible implication of this Universal Device Controller is a TSpaces browser. This could be used to query resources, locating them by type, rather than by content. The advantage of this would be easy location of resource types, rather than browsing around by content. Details The intent of this project is to create a standardized service location interface. What a user should be able to do with this is to is to connect to a tspace and issue a "root" command to locate all the services offered by this space. This "root" command will return a response with all the top level services that can be offered. It can be thought of as a service tree, with each service in the tree containing all of its subservices within it. Project Scope This proposal is similar to the Modal project that is being worked on at ibm's almaden site. The Modal project is to create a Modal interpreter, which can read specially formatted documents and display them. The focus of our project will be to develop an actual interface that can be used to interact with TSpaces to control devices and interact with services that are available on TSpaces. |