The illustrative embodiments described in the present application are useful in systems including those for use in context aware environments and more particularly are useful in systems including those for consistent deployment of sensors for both physical and virtual objects.
The term responsive environment may be used to describe an environment that has computing capability and access to sensing technology data that allows the environment control to consider its current state or context and new events that occur that may change the state or context.
Sensors are used to transform a standard environment into a responsive environment. Sensors typically detect events such as user-initiated actions and report those actions to the environment. The environment, in turn, can then determine how system-controlled functions can be initiated, stopped or modified in support of an action.
In a responsive environment, actions can take place in the physical domain or the virtual digital domain. For example, a person can take a physical action by selecting a document from a pile of documents residing on a tabletop. Similarly, that person could take action by selecting a document from a folder of documents on a virtual desktop workspace.
In traditional responsive environment systems, completely separate mechanisms are used for the physical and virtual interactions. In the physical world, sensors are affixed to the object or to places where the object may be placed. For example, a physical device that is outfitted with a pressure sensor can announce when the device is touched typically by broadcasting a message. Components in the environment can subscribe to these messages using techniques that are well known to practitioners of the art. For example, tuple spaces, publish/subscribe mechanisms and point-2-point connections may be utilized to generate the appropriate response to the touch.
In the virtual world, interactions with objects are mediated through virtual systems such as graphical user interfaces. To select a document, the user would click on the one of interest and then the graphical interface calls a handler to respond to the click. That handler then directly implements appropriate function such as showing the document.
A group has described a system related to responsive environments and context aware computing that attempt to bring the two sensor worlds together. In a project named the Context Toolkit, a group described a system in relation to the Aware Home system in a paper entitled “A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications” by Anind K. Dey, Daniel Salber and Gregory D. Abowd as found in the Human-Computer Interaction (HCI) Journal, Volume 16 (2-4), 2001, pp. 97-166. The group extended the graphical user interface metaphor to the physical world. In this world, all physical sensors are wrapped to look like widgets. Components interested in using the sensor do so by instantiating the appropriate widget in a design-time practice. When that something is sensed, the action method associated with that widget is called.
Accordingly, among other things, the prior art does not provide a context-aware environment that can consistently deploy sensors for both physical and virtual objects.
The illustrative embodiments described herein overcome the disadvantages of the prior art by providing a method and system for those for consistent deployment of sensors for both physical and virtual objects in a context aware environment. A method and apparatus that supports user interactions with both virtual and physical objects wherein any type of object can be explicitly instrumented with a sensor, either virtual or physical. User actions are sensed through these sensors and responses can be determined consistently, regardless of whether the object is physical or virtual.
a and 11b are flowcharts showing a representative sensor interaction according to an illustrative embodiment of the present application.
Illustrative embodiments describing systems and methods for consistent deployment of sensors for both physical and virtual objects in a context aware environment for responsive environments are described.
Several disadvantages of traditional sensor systems have been described. The illustrative embodiments of the present application provide several advantages over prior systems. The embodiments describe responsive environments that are able to sense and respond to interactions with documents and other objects consistently, regardless of whether those objects are virtual or physical. Additionally, the system is able to reconfigure the responsiveness of the environment to those interactions at run time.
The illustrative embodiments described are in sharp contrast to the wrapper functionality described above. For example, rather than using the metaphor from the virtual world, the embodiments described implement the metaphor from the physical world. That is, that there are objects that sense, report what is sensed, and do nothing more. The illustrative system is designed with such a metaphor to be able to be changed while running in order to provide a run-time approach. Additionally, the system provides a common way of associating the sensors to the objects that they are sensing for, regardless of whether those objects are physical or virtual.
The illustrative embodiments described herein enable all three goals mentioned above. First, the system includes a virtual abstraction of a physical sensor. Second, the system includes a consistent set of models for objects that use sensors across both physical and virtual entities. For example, the model for a cabinet drawer, which is a space capable of holding things like documents, is the same as the model for a virtual object space that is also capable of holding things such as virtual documents. Third, the system includes a method and apparatus for sensor deployment that is consistent for both virtual sensors and physical sensors. This deployment apparatus is used to associate sensors with objects (both virtual and physical) that use them. It is referenced at run time so any changes to it will be immediately reflected in the behavior of the system.
In the illustrative embodiments, systems provide an environment where the focus is on a user”s interaction with a document. In this environment, the response to such interactions should be agnostic to whether the document and sensing are virtual or physical. For example, four representative actions are considered. First, a user touches a physical document as sensed by a physical document sensor (physical document and physical sensor). Second, a user touches a token that represents a virtual document as sensed by a physical sensor (virtual document and physical sensor). Third, a user clicks on a document in a document list as sensed by a virtual sensor (virtual document and virtual sensor). Fourth, a user touches a smart wall that is displaying a document list (virtual document and physical sensor). The environment of the system is capable of responding to the following four interactions in the same manner: For all four interactions, the environment is able to determine that the user is actively using the document.
Referring to
External stimuli are sensed using physical or logical sensors 31, 33, 35 and 37. The stimuli enter the pyramid 2 through sensor/trigger components 32, 34, 36, 38 that interact directly with the sensors. Those triggers typically only publish into the pyramid rather than subscribe to messages. The lowest layer of the pyramid is the P or Perception layer 28 and it includes several perception components 42, 44. The perception components may subscribe to stimuli events. Similarly, the perception components may publish to the next higher level. The Perceptors are used to filter the types of external stimuli that are used to build the context.
The next level of the pyramid 20 is the A—Awareness layer 26. The awareness layer components 52, 54 are known as Monitors. The monitors manage the state of active entities that are known in the context such as document, application or task entities. The monitors 52, 54 manage the overall state of the environment by updating properties associated with entities. They determine the occurrence of activities such as a person carrying a particular document that may also indicate an additional change in state. They also manage the relationships among the entities.
The next level of the pyramid 20 is the U—Understanding layer 24. The understanding layer components 62, 64 are known as Grokkers. The grokkers determine the types of activities that are underway in the environment. The grokkers determine if changes in the context merit a change in behavior in the room, and if so, determines the type of behavior and initiates it. Grokkers are also utilized to prime applications.
The final level of the pyramid 20 is the R—Response layer 22. The response layer components 72, 74 are known as Responders. The responders semantically drive the environment function and prepare and deliver an announcement that describes the needed behavior. The applications in the environment use the announcements to decide if any function is needed.
The responsive environment 10 includes thin client applications that reside outside of the context infrastructure 30. For example, an interface browser application 80 may be used to view objects in the environment. Additionally, an application launcher client 82 may be used to launch external applications based upon the context contained in the PAUR pyramid 20. A Notification Manager can be a thin client application with an interactive component that manages the user”s attention. For example, the thin clients 80, 82 include actuators 86 and 88 that are part of the thin client systems. The actuators and thin clients may subscribe to announcements of the system and can also include triggers to create internal stimuli such as an application-entered environment.
The illustrative responsive environment system described utilizes a central server computing system comprising one or more DELL® servers having an INTEL® PENTIUM® processor running the WINDOWS® XP operating system. The system is programmed using the JBOSS system and the Java Messaging System (JMS) provides the publish/subscribe messaging system used in the responsive environment.
In an illustrative embodiment, physical sensor 31 is a scanner system that also includes a computer that interfaces with the sensor component 32 using a serial line or TCP/IP interface. The connections among the physical systems that comprise the logical system 90 include wireless and wired connections among physical computers running the appropriate applications, components and frameworks. Sensors 35, 37 are RFID sensors each including a computer that interfaces with the respective sensor components using a serial line. Sensor 33 may comprise well-known sensors such as thermometers, pressure sensors, odor sensors, noise sensors, motion sensors, light sensors, passive infrared sensors and other well-known sensors. Additional well-known communications channels may also be used. In the illustrative embodiment described, the JBOSS JMS message space is running on one server while the MySQL system is run using another server to maintain tables used in the RDF system for model databases. Additionally, the PAUR components such as component 42 are all running on a third server. The thin clients 80, 82 and thin client components 86, 88 are running on separate client machines in communication with the system 90.
The responsive environment described herein is illustrative and other systems may also be used. For example, a querying infrastructure could be used in place of the notification or publish/subscribe system that is described above. Similarly, the messaging service could be provided across systems and even across diverse system architectures using appropriate translators. While INTEL® processor based systems are described using MICROSOFT® WINDOWS systems, other processors and operating systems such as those available from Sun Microsystems may be utilized.
Referring to
As physical and virtual sensor information worlds continue to come together, a scenario with the following interactions will become commonplace. As shown in
If a user touches a physical document in 320, the document selection method 322 causes a method to launch an application to display the electronic version of the document 310. Additionally, if the user selects a document in the computer display list, 330 the document selection method 332 starts the application launcher. Similarly, if the user selects a document listed on the smart wall, 340 the document selection method 342 starts the application launcher.
Referring to
The representative model database 410 describes example models for important entities that comprise a responsive environment 400. The database 410 includes models for physical entities such as physical documents and spaces (bins and desktops). It also includes models for virtual entities such as applications, virtual spaces, and electronic documents. Sensors are affixed to the objects or associated with the objects by specifying the model instance identifier in the DeployedFor property in the sensor information item 420. As can be appreciated there could be a plurality of model instance identifiers so specified. The sensor model also includes a property to define the class of sensing, e.g., identity, touch, message, and movement detection. It may also contain other properties that more fully describe the sensor, e.g., the owner (for administration) and parent and children (for sets and hierarchical sensors).
The application instance information item 430 includes data associated with applications. The electronic document information item 440 includes data associated with electronic documents. The physical document information item 450 includes data associated with physical documents and includes data such as an access rights list that can be used to mediate physical and virtual interactions with the document. The space information item 460 includes data associated with spaces including information such as parent and children hierarchal information.
Referring to
Four illustrative interactions are described. First, a scenario including a Person touching a physical document that has been instrumented with a physical sensor is described. Second, a scenario including a Person touching a virtual document via a token that has been instrumented with a physical sensor is described and in a third scenario, a Person clicking on a document identifier, as listed in a computer application is shown. Fourth, a scenario including a Person touching a smart display (like a surface used for projecting) to select a document as listed by a computer application is shown wherein the smart display having been instrumented with a physical sensor (set).
Referring to
In this embodiment, a sensor is physically attached to a document. The user can create a plurality of document/sensor pairings. The user then places one such pairing into the system. As a result of placing the pairing into the system, an application that can create model instances starts. The application determines if a model for the document already exists by using the document identifier to search through model instances of known physical documents. If no such instance exists, then a new one is created. The method then creates an instance for the sensor, setting the DeployedFor property to the identifier for the document”s model instance. As can be appreciated, the property could also be set to the original document identifier, which could then be used as a search key to find the documents model instance. The sensor class is set to TOUCH DETECTION, as the system has been configured for associating touch-based sensors to documents for the purpose of this discussion.
A method for processing documents 500 is shown in
The process then proceeds to step 535 to determine whether the document is known. If the document is not known, a new document model instance is created in step 540. The process then proceeds to step 545 and a sensor model instance is creates. Thereafter in step 550, the sensor class property is set to TOUCH DETERCTION. In step 555, the DeployedFor property of the sensor is set to the identifier for the model instance associated with the document identifier.
A method for detecting when a user touches a document 600 is shown in
Referring to
This system is similar to that described above with reference to
Referring to
A method 800 for detecting when a user touches a virtual document is shown in
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
In step 1160, a user touches the smartboard. In step 1165, the sensor sends a touch detection message. In step 1170, the Whiteboard Device Manager Application receives the message and determines which managed application is appropriate and passes the touch message to the application. Then in step 1175, processing continues as described above in
All of the illustrative methods described above provide a consistent announcement of the interaction, regardless of how the user interacted with the document. Therefore, any application that embodies responses to the application can be agnostic to the manner in which the interaction occurred. The representative application mentioned included showing an electronic image of the selected document and it is an example of a responsive application. This application listens for any touch message. When a touch message is received, the application uses the sensor identifier to access the sensor”s model instance. It then looks at the DeployedFor property to access the model identifiers of the objects that the sensors are affixed to. These identifiers are used to access model instances. If the models are document models, then the application displays the electronic image, if available. Additionally, the touch message could be enhanced with more information such as the type of object it is attached to for optimizing this type of processing.
The examples described focus on touch interaction, but one of skill in the art could extend the methods and systems described to other types of interactions such as movement and destruction. For the purpose of clarity, simplified scenarios have been illustrated. However, one of skill in the art will be able to practice the invention as described by relaxing the simplification assumptions.
The illustrative embodiments described herein provide a method to determine location, as defined by presence in a space that departs from traditional approaches. In at least one embodiment, the system utilizes a space that can be sparsely instrumented with very inexpensive technology. It uses the notion of concurrent activity to help resolve location ambiguities that may arise from the limitations of such instrumentation.
Co-pending, commonly owned U.S. patent application Ser. No. ______: TBD, filed on even date herewith, is entitled Responsive Environment Sensor Systems With Delayed Activation (attorney docket no. F-822-01) and is incorporated herein by reference in its entirety.
Co-pending, commonly owned U.S. patent application Ser. No. ______: TBD, filed on even date herewith, is entitled Method and System For Determining Location By Implication (attorney docket no. F-871) and is incorporated herein by reference in its entirety.
The present application describes illustrative embodiments of a system and method for determining location by implication. The embodiments are illustrative and not intended to present an exhaustive list of possible configurations. Where alternative elements are described, they are understood to fully describe alternative embodiments without repeating common elements whether or not expressly stated to so relate. Similarly, alternatives described for elements used in more than one embodiment are understood to describe alternative embodiments for each of the described embodiments having that element.
The described embodiments are illustrative and the above description may indicate to those skilled in the art additional ways in which the principles of this invention may be used without departing from the spirit of the invention. Accordingly, the scope of each of the claims is not to be limited by the particular embodiments described.
This application claims priority under 35 U.S.C. section 119(e) from Provisional Patent Application Ser. No. 60/521,613, filed Jun. 6, 2004, entitled Responsive Environment Sensor Systems With Delayed Activation (Attorney Docket Number F-822), which is incorporated herein by reference in its entirety. This application claims priority under 35 U.S.C. section 119(e) from Provisional Patent Application Ser. No. 60/521,747, filed Jun. 6, 2004, entitled Responsive Environment (Attorney Docket Number F-822a), which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60521613 | Jun 2004 | US | |
60521747 | Jun 2004 | US |