1. A system, comprising:
a hardware platform, wherein the hardware platform is adapted to be communicably connected to an active object, wherein the active object is selected from the group consisting of a device comprising a sensor, a device comprising an actuator, and a device comprising both a sensor and an actuator;
a middleware module, wherein at least a portion of the middleware module resides in andor is executed on the hardware platform; and
at least one software service generated by the middleware module, wherein each of the at least one software service represents the active object.
2. The system of claim 1, wherein the active object is a device comprising an actuator and wherein the middleware module is configured to:
receive commands from one or more applications written in a high level language via each of the at least one software service;
convert the commands into low-level commands that can be understood by the active object, and
transmit the low-level commands to the active object via the hardware platform,
wherein the low-level commands are capable of controlling the active object.
3. The system of claim 1, wherein the active object is a device comprising a sensor and wherein the hardware platform is configured to receive raw data from the active object and pass the raw data to the middleware module, and the middleware module is configured to convert the raw data into useable data and pass the usable data to the at least one software service.
4. The system of claim 3, further comprising one or more applications written in a higher level language, wherein at least one of the one or more applications is configured to receive the useable data from one or more of the at least one software service.
5. The system of claim 4, wherein the hardware platform is adapted to be communicably connected to at least one additional active object, wherein each of the at least one additional active object is selected from the group consisting of a device comprising a sensor, a device comprising an actuator, and a device comprising both a sensor and an actuator,
wherein the middleware module generates at least one additional software service,
wherein each of the at least one additional software service represents one or more of the at least one additional active object and wherein each of the at least one additional active object is represented by one or more of the at least one additional software service.
6. The system of claim 5, wherein the at least one additional active object comprises one or more devices comprising a sensor,
wherein the hardware platform is configured to receive raw data from each object of the one or more devices comprising a sensor and pass the raw data to the middleware module, and the middleware module is configured to convert the raw data into useable data and pass the usable data to the one or more of the at least one additional software service that represents the object, wherein the useable data can be used by one or more applications written in a higher level language.
7. The system of claim 5, wherein the at least one additional active object comprises one or more devices comprising an actuator,
wherein the middleware module is configured to:
receive commands from one or more applications written in a high level language via each of the at least one additional software service representing the one or more devices comprising an actuator;
convert the commands into low-level commands that can be understood by at least one of the one or more devices comprising an actuator; and
transmit the low-level commands to the at least one of the one or more devices comprising an actuator via the hardware platform, wherein the low-level commands are capable of controlling the at least one of the one or more devices comprising an actuator.
8. The system of claim 7, wherein the middleware module is configured to generate each of the at least one software service after the active object is communicably connected to the hardware platform.
9. The system of claim 7, wherein all of the at least one software service and the at least one additional software service comply with a standard, uniform interface.
10. The system of claim 7, wherein the active object and each of the at least one additional active object are located in a pervasive space.
11. The system of claim 10, further comprising the active object and each of the at least one additional active object.
12. The system of claim 7, wherein the hardware platform comprises a plurality of layered boards.
13. The system of claim 12, wherein the plurality of layered boards comprises a stack of layered boards, and a board may be added to or removed from the stack of layered boards.
14. The system of claim 7, wherein the hardware platform comprises an interface module, wherein the interface module is configured to communicable connect the active object and each of the at least one additional active object to the hardware platform.
15. The system of claim 14, wherein the interface module is configured to communicably connect one or more of the at least one additional active object to the hardware platform via a wireless connection.
16. The system of claim 15, wherein the interface module is configured to communicable connect one or more of the at least one additional active object to the hardware platform via a passively powered wireless connection.
17. The system of claim 7, wherein at least a portion of the middleware module resides in andor is executed on a server connected to the hardware platform via a network.
18. The system of claim 17, wherein the hardware platform comprises a communication module, wherein the communication module is configured to communicably connect the hardware platform with the server via the network.
19. The system of claim 18, wherein the communication module is configured to communicably connect the hardware platform in with the server via the network via a wireless connection.
20. The system of claim 18, wherein the communication module supports an Internet Protocol (IP), an ad-hoc networking protocol, a mesh networking protocol, or a combination of said protocols.
21. A method for providing a software service to represent an active object, comprising:
receiving a driver, wherein the driver comprises information and behavioral components required to interact with an active object communicably connected to a hardware platform, wherein the active object is selected from the group consisting of a device comprising a sensor, a device comprising an actuator, and a device comprising both a sensor and an actuator; and
generating based on the driver a software service to represent the active object, wherein when raw data from the active object is received by the hardware platform the raw data is converted into usable data and passed to the software service, wherein the useable data can be used by an application written in a higher level language, wherein the application is configured to receive the useable data from the software service.
22. The method of claim 21, wherein the software service is generated by a middleware module, wherein at least a portion of the middleware module resides in andor is executed on the hardware platform.
23. The method of claim 22, wherein at least a portion of the middleware module resides in andor is executed on a server connected to the hardware platform via a network.
24. The method of claim 22, wherein the raw data is converted to usable data via the middleware module.
25. The method of claim 22, further comprising passing the useable data from the software service to the application.
26. The method of claim 22, further comprising filtering the raw data before converting the raw data into usable data; andor filtering the usable data before passing the usable data to the software service.
27. The method of claim 26, wherein the filtering is performed by a processing agent on the hardware platform.
28. The method of claim 23, further comprising editing the software service.
29. The method of claim 28, wherein the editing the software service is performed remotely.
30. The method of claim 29, wherein the editing the software service comprises using an Integrated Development Environment (IDE).
31. The method of claim 23, further comprising:
decomposing a process into a first set of instructions to be performed by the hardware platform and a second set of instructions to be performed by the server; and
performing the process via the hardware platform and the server.
32. The method of claim 21, wherein the driver is received from the hardware platform.
33. The method of claim 23, wherein the driver comprises configuration information from the hardware platform, wherein the configuration information comprises indicia of the hardware platform andor indicia of an interface of the hardware platform to which the active object is communicably connected.
34. The method of claim 23, wherein the driver is stored on the hardware platform, the active object, the server, a local repository, or a remote repository.
35. The method of claim 34, wherein the driver is downloaded from the local repository or the remote repository by the middleware module based on resource location information received from the hardware platform or the active object.
36. The method of 35, wherein the resource location information comprises a Uniform Resource Locator (URL) for locating the driver via the Internet.
37. The method of claim 22, further comprising generating a second software service, wherein the second software service represents the active object.
38. The method of claim 37, wherein the second software service is generated based on the driver.
39. The method of claim 38, wherein the active object is a device comprising both a sensor and an actuator,
wherein when one or more commands are received by the second software service the one or more commands are converted into one or more low-level commands capable of controlling the operation of the actuator and transmitted to the active object via the hardware platform.
40. The method of claim 22, further comprising:
receiving an additional driver, wherein the additional driver comprises information and behavioral components required to interact with an additional active object communicably connected to the hardware platform, wherein the additional active object is selected from the group consisting of a device comprising a sensor, a device comprising an actuator, and a device comprising both a sensor and an actuator; and
generating based on the additional driver an additional software service to represent the additional active object.
41. The method of claim 40, wherein the additional active object is a device comprising an actuator, and wherein when one or more commands are received by the additional software service the one or more commands are converted into one or more low-level commands capable of controlling the operation of the actuator and transmitted to the additional active object via the hardware platform.
42. A media storage device having machine-readable instructions stored thereon for performing a method for providing a software service interface to an active object, the method comprising:
receiving a driver, wherein the driver comprises information and behavioral components required to interact with an active object communicably connected to a hardware platform, wherein the active object is selected from the group consisting of a device comprising a sensor, a device comprising an actuator, and a device comprising both a sensor and an actuator;
generating based on the driver a software service to represent the active object;
receiving via the software service one or more commands from an application written in a higher level language;
converting the one or more commands into one or more low-level commands capable of controlling the operation of the active object; and
transmitting the low-level commands to the active object via the hardware platform.
43. The media storage device of claim 42, wherein the software service is generated by a middleware module, wherein at least a portion of the middleware module resides in andor is executed on the hardware platform.
44. The media storage device of claim 43, the method further comprising generating a second software service, wherein the second software service represents the active object.
45. The media storage device of claim 44, wherein the second software service is generated based on the driver.
46. The media storage device of claim 45, wherein the active object is a device comprising both a sensor and an actuator and the method further comprises:
receiving raw data from the active object via the hardware platform;
converting the raw data into usable data; and
passing the usable data to the second software service, wherein the useable data can be used by a second application written in a higher level language, wherein the second application is configured to receive the useable data from the second software service.
47. The media storage device of claim 43, the method further comprising:
receiving an additional driver, wherein the additional driver comprises information and behavioral components required to interact with an additional active object communicably connected to the hardware platform, wherein the additional active object is selected from the group consisting of a device comprising a sensor, a device comprising an actuator, and a device comprising both a sensor and an actuator; and
generating based on the additional driver an additional software service to represent the additional active object.
48. The media storage device of claim 47, the method further comprising:
receiving via the additional software service one or more commands from a second application written in a higher level language;
converting the one or more commands into one or more low-level commands capable of controlling the operation of the additional active object; and
transmitting the low-level commands to the additional active object via the hardware platform.
49. The media storage device of claim 47, the method further comprising:
receiving second raw data from the additional active object via the hardware platform;
converting the second raw data into second usable data; and
passing the second usable data to the additional software service, wherein the second useable data can be used by a second application written in a higher level language, wherein the second application is configured to receive the second useable data from the additional software service.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1-24. (canceled)
25. A computerized system for placing and managing a telephone call, comprising:
an interactive preparation window wherein a user may enter call identifying information prior to making the call; and
a storage repository for storing a version of the call;
wherein the interactive preparation window allows entering third party recipients for a call in addition to the call destination, and the recorded call or a version of the call is sent as a message transaction to the third party recipients after the call is initiated.
26. The system of claim 25 wherein the system includes incubation functionality selectable through the preparation window, wherein a version of a call identified through the preparation window may be stored for a pre-specified time period, and revived at the end of the time period.
27. The system of claim 25 wherein the version of the call stored is one of an audio recording of the call or a text version of the call prepared from the audio.
28. The system of claim 26 wherein upon revival an alert is provided to a user of the system.
29. The system of claim 28 wherein the alert is one or both of an audio or a visual alert.
30. The system of claim 28 wherein, at the time of the alert, the recorded version of the call is retrieved and presented to the user.