Patent application title: MAGIC WAND
Andrew David Wilson (Seattle, WA, US)
James E. Allard (Seattle, WA, US)
Michael F. Cohen (Seattle, WA, US)
Steven Drucker (Bellevue, WA, US)
Yu-Ting Kuo (Sammamish, WA, US)
Yu-Ting Kuo (Sammamish, WA, US)
IPC8 Class: AA63F924FI
Class name: Including means for processing electronic data (e.g., computer/video game, etc.) player-actuated control structure (e.g., brain-wave or body signal, bar-code wand, foot pedal, etc.) hand manipulated (e.g., keyboard, mouse, touch panel, etc.)
Publication date: 2009-08-27
Patent application number: 20090215534
Patent application title: MAGIC WAND
Michael F. Cohen
James E. Allard
Andrew David Wilson
Origin: REDMOND, WA US
IPC8 Class: AA63F924FI
The claimed subject matter relates to an architecture that can facilitate
rich interaction with and/or management of environmental components
included in an environment. The architecture can exist in whole or in
part in a housing that can resemble a wand or similar object. The
architecture can utilize one or more sensor from a collection of sensors
to determine an orientation or gesture in connection with the wand, and
can further issue an instruction to update a state of an environmental
component based upon the orientation. In addition, the architecture can
include an advisor component to provide contextual and/or comprehensive
guidance in an intuitive manner.
1. A system for controlling a display component via gesturing comprising:a
camera for employing object recognition techniques to ascertain a
relative position or an orientation of an object;a command component for
determining an instruction based on the orientation of the object; anda
computing device for executing the instruction in order to alter the
display component in accordance with the instruction,wherein an
intelligence component is coupled to the command component and wherein
the intelligence component uses a subset of data in a data store to
determine the instruction.
2. The system of claim 1 wherein the orientation is a recent trajectory of the object.
3. The system of claim 1 wherein the computing device is a game console.
4. The system of claim 1 wherein when the intelligence component uses a subset of data, it determines the instruction by forming an inference.
5. The system of claim 4 wherein the intelligence component forms the inference, at least in part, using previously captured events.
6. The system of claim 4 wherein the intelligence component forms the inference, at least in part, based upon a system context.
7. The system of claim 4 wherein the intelligence component forms the inference, at least in part, by computing a probability.
8. The system of claim 4 wherein the intelligence component forms the inference, at least in part, using a classification system derived from explicitly or implicitly trained schemes.
9. The system of claim 1, further comprising an advisor component, which provides guidance by way of an associated avatar, the avatar is presentable by way of an audio output, a text-based output, a video output or display, a holographic output or display, or combinations thereof.
10. The system of claim 9, wherein the avatar includes a distinct persona that influences at least one of appearance, inflection, accent, brogue, dialogue, speech, character, personality, behavior, or available features.
11. The system of claim 1, further comprising a modeling component that constructs a 3-D geometric model of an environment.
12. A method for controlling a display component via gesturing comprising:determining an orientation of an object with a camera;accessing a subset of data in a data store;determining an instruction based on the orientation of the communication component and the accessed subset of data; andexecuting the instruction with a computing device, in order to alter the display component in accordance with the instruction,
13. The method of claim 12 wherein the orientation is a recent trajectory of the object.
14. The method of claim 12 wherein the computing device is a game console.
15. The method of claim 12 wherein the accessing further comprises determining the instruction by forming an inference.
16. The method of claim 12 wherein determining the instruction by forming an inference further comprises forming the inference, at least in part, using previously captured events.
17. The method of claim 12 wherein determining the instruction by forming an inference further comprises forming the inference, at least in part, based upon a system context.
18. The method of claim 12 wherein determining the instruction by forming an inference further comprises forming the inference, at least in part, by computing a probability.
19. The method of claim 12 wherein determining the instruction by forming an inference further comprises forming the inference, at least in part, using a classification system derived from explicitly or implicitly trained schemes.
20. An apparatus for controlling a display component via gesturing comprising:a camera, which receives input in order to employ an object recognition technique, the object recognition technique capable of ascertaining an orientation of an object;a data store, which stores data associated with the orientation of the object;a command component coupled to the camera, which determines an instruction based on the ascertaining of the orientation of the object by the camera, the determination of the instruction including using the data in the data store such that an intelligence component associated with the command component computes a probability in order to form an inference to choose the instruction from a number of instructions in the data; anda gaming console, which executes the instruction in order to alter the display component in accordance with the instruction.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of and claims priority to U.S. application Ser. No. 11/939,739, filed on Nov. 14, 2007, entitled "Magic Wand", the entirety of which is incorporated herein by reference.
There has long been an imaginative current flowing in popular culture relating to magic, which has recently culminated in the Harry Potter phenomenon. Given the widespread commercial success of Harry Potter books and feature films, as well the many predecessors in the fantasy genre such as The Lord of the Rings, Dungeons and Dragons, etc., it is readily apparent that a number of communities or demographic segments are enamored with the idea of magic. Discounting the aforementioned communities, even the most pragmatic individual would have trouble arguing against the merits or utility of, say, a magic wand that actually worked to control or communicate with objects or components in an associated nearby environment.
Conventionally, a number of devices exist that are intended to operate or control objects in the environment, even some that are specifically intended to leverage, simulate, or promote the appearance of magic. However, systems or devices in this technological area as well as even much broader market segments aimed at, say, consumer devices in general often suffer from a variety of difficulties that stem from two market-driving factors that are distinct and sometimes at odds with one another. In particular, consumers want devices that have a very rich feature set. On the other hand, consumers also want devices that are small, convenient (e.g., to carry), and easy to use.
Miniaturization of electronic devices has reached the point where significant computing power can be delivered in devices smaller than a matchbook. Hence, miniaturization is no longer the primary technological bottleneck for meeting the demands of consumers. Rather, the challenges are increasingly leaning toward the user interface of such devices. For example, technology exists for building a full-featured cellular phone (or other device) that is no larger than a given user's thumb, yet packing a keypad and display in such a device is all but impossible. Even devices that are not so small, but desire to provide multifunctional features can suffer from a related difficulty. In particular, packing a lot of features into a single device generally increases the complexity of use.
To avoid such difficulties, conventional devices that are intended to operate or control numerous environmental components simplify the user-interface, which reduces the feature set; or have highly complex operational requirements that make the device very difficult to use.
The following presents a simplified summary of the claimed subject matter in order to provide a basic understanding of some aspects of the claimed subject matter. This summary is not an extensive overview of the claimed subject matter. It is intended to neither identify key or critical elements of the claimed subject matter nor delineate the scope of the claimed subject matter. Its sole purpose is to present some concepts of the claimed subject matter in a simplified form as a prelude to the more detailed description that is presented later.
The subject matter disclosed and claimed herein, in one aspect thereof, comprises an architecture that can facilitate rich interaction with and/or management of environmental components included in an environment. At least a portion of the architecture can be included in a housing that can be referred to as (and can but need not resemble) a wand. The architecture can include a variety of I/O components such as keys/keypad, navigation buttons, lights, switches, displays, speakers, microphones, transmitters/receives, or substantially any other suitable component found in or related to conventional user-interfaces.
The architecture can also include or be operatively coupled to a set of sensors such as accelerometers, gyroscopes, cameras, range-finders, biometric sensors and so on. One or more sensor can be utilized to determine an orientation of the wand, wherein the orientation can relate to or include the position of the wand, the direction of focus of the wand (or a targeted environmental component) as well as a gesture or recent trajectory of the wand. Based upon the orientation of the wand, the architecture can determine a suitable instruction, which can be transmitted to the targeted environmental component and result in a change in the state of the targeted environmental component.
In addition, to, e.g., provide very rich features without necessarily scaling up the size or complexity of the user interface in proportion, the architecture can provide an advisor component that can be configured to provide guidance in connection with the orientation or other suitable aspects. The advisor component can present the guidance to a user of the wand in the form of an avatar, that can be updatable, configurable, and/or selectable and can in some cases control or relate to the set of available features.
The following description and the annexed drawings set forth in detail certain illustrative aspects of the claimed subject matter. These aspects are indicative, however, of but a few of the various ways in which the principles of the claimed subject matter may be employed and the claimed subject matter is intended to include all such aspects and their equivalents. Other advantages and distinguishing features of the claimed subject matter will become apparent from the following detailed description of the claimed subject matter when considered in conjunction with the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a block diagram of a system that can facilitate rich interaction with and/or management of environmental components included in an environment.
FIG. 2 illustrates a block diagram of various examples of components from set 108.
FIG. 3 depicts a block diagram of a variety of example environmental components 120.
FIG. 4 illustrates a block diagram of several examples of sensor 124.
FIG. 5 is a block diagram of various examples in connection with guidance 134.
FIG. 6 depicts a block diagram of a system that can facilitate 3-D modeling of an environment and/or utilize holographic displays in order to provide rich interaction with components in an environment.
FIG. 7 depicts a block diagram of a system that can aid with various inferences.
FIG. 8 is an exemplary flow chart of procedures that define a method for facilitating robust interactions with and/or management of environmental components.
FIG. 9 illustrates an exemplary flow chart of procedures that define a method for providing additional features in connection with the orientation, instruction, or guidance.
FIG. 10 depicts an exemplary flow chart of procedures defining a method for modeling the environment and/or providing holographic presentation for facilitating richer interactions.
FIG. 11 illustrates a block diagram of a computer operable to execute the disclosed architecture.
FIG. 12 illustrates a schematic block diagram of an exemplary computing environment.
The claimed subject matter is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. It may be evident, however, that the claimed subject matter may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the claimed subject matter.
As used in this application, the terms "component," "module," "system," or the like can, but need not, refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component might be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term "article of manufacture" as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). Additionally it should be appreciated that a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Moreover, the word "exemplary" is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion. As used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless specified otherwise, or clear from context, "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then "X employs A or B" is satisfied under any of the foregoing instances. In addition, the articles "a" and "an" as used in this application and the appended claims should generally be construed to mean "one or more" unless specified otherwise or clear from context to be directed to a singular form.
As used herein, the terms "infer" or "inference" generally refer to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic-that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
Referring now to the drawing, with reference initially to FIG. 1, system 100 that can facilitate rich interaction with and/or management of environmental components included in an environment is depicted. Generally, system 100 can include housing 102, which can be comprised of substantially any suitable material and can be substantially any suitable shape or design. Housing 102 can be shaped to resemble a wand, a remote control, a fob, etc. and is generally intended to be a handheld object. Housing 102 can include any suitable ergonomic or aesthetic feature as well as face 104 that can represent a designated side or salient feature of housing 102 that can be indicative of pointing to or targeting objects. In accordance therewith, housing 102 can include a pointing aid or reference such as a laser or LED pointing mechanism. It is to be appreciated that all or portions of components described herein can be included internally or mounted upon housing 102. However, such need not be the case in all situations as in certain cases some components can be and, in fact, might be required to be disparate from housing 102.
System 100 can also include communication component 106 that can manage set 108 of I/O components, which can include input component 110, output component 112 as well as substantially any number of individual I/O component(s) 114. It should be noted that input component 110 and output component 112 are distinguished from other I/O components 114 merely as a matter of form to provide more explicit references to these individual components. Set 108 of I/O components will typically reside within or upon housing 102, however, in some cases will be remote from housing 102. A variety of example components from set 108 of I/O components are provided in connection with FIG. 2, which can be referenced briefly along side FIG. 1 to provide concrete examples, but not necessarily to limit the scope of the claimed subject matter.
Turning now to FIG. 2, various examples of components from set 108 are expressly illustrated. As a first example, denoted by reference numeral 202, set 108 of I/O components can include a key, a button, a switch, a keypad, a keyboard or the like. Such component(s) 202 are usually included with or features of housing 102 and will typically be input component(s) 110, but can in some cases be or have aspects associated with output component 112 such as in the case where, e.g., key 202 has an associated light or LED to, e.g., indicate when key 202 is depressed. Another example from set 108 can be display 204. Display 204 can be substantially any suitable form factor and can provide one or both textual or graphical output. Display 204 can also be included with housing 102 and will often be an output device 112, but can have features of input device 110 such as in the case of a display that is responsive to touch or optical input (e.g., from a lightpen).
Other example components of set 108 can include speaker 206 that can provide audio outputs or microphone 208 that can receive audio inputs. Speaker 206 and microphone 208 can be included in housing 102, but can in some cases be remote from housing 102 such as part of a headset or other wearable device (not shown), potentially worn by a possessor of housing 102. In addition, set 108 can also include receiver 210 or transmitter 212 that can be, respectively, configured to receive or to transmit data or signals in one or more suitable protocols or formats, including but not limited to Near Field Communication (NFC), WiFi (IEEE 802.11x specifications), Bluetooth (IEEE 802.15.x specifications), Radio Frequency Identification (RFID), infrared, Universal Serial Bus (USB), FireWire (IEEE 1394 specification), etc.
Resuming the discussion of FIG. 1, the communication component 106 can be configured to receive input 116 by way of input component 110 (e.g., key 202, microphone 208, receiver 210) and to transmit instruction 118 by way of output component 112 (e.g., transmitter 212). Instruction 118 can be configured to update a state of one or more environmental component(s) 1201-120M, wherein the one or more environmental component(s) 1201-120M can be configured to receive instruction 118 and to update the state in accordance with instruction 118. It should be understood that environmental component(s) 1201-120M can include substantially any number, M, of suitable components and/or devices in an environment, wherein the environment can be defined as an area, room, or space. In certain cases, the environment can be limited to an area within a certain range of housing 102, wherein the range can be predetermined, predefined, ad hoc, and/or based upon a particular wireless protocol, standard, or format. Additionally or alternatively, the environment or range can be based upon bounds of a geometric model or a locale or a range of other components/devices described herein (see e.g., FIG. 6). It should be appreciated that environment components 1201-120M can be referred to collectively or individually by environment component(s) 120, even though each environment component 120 can have unique or distinguishing features that differentiate from other environmental components 120. Numerous examples of suitable environmental components 120 can be found with reference to FIG. 3.
While still referring to FIG. 1, but referring as well to FIG. 3, a variety of example environmental components 120 are illustrated in order to provide concrete examples, but not necessarily to limit the scope of the appended claims. In accordance therewith, examples of environmental component 120 can include lights 302, wherein instruction 118 can be a command to turn lights 302 on/off, dim/brighten lights 302, change the color/frequency of lights 302, change a timer setting, and so forth. Another example, environmental component 120 can be thermostat 304. Instruction 118 directed to thermostat 304 can be, e.g., a command to raise/lower a temperature or other setting or preference, a command to switch on a fan/heater/heat pump/air conditioner, etc.
Additionally, game console 306 or computer 308 can be examples of environmental components 120, as can components of or associated in some fashion with game console 306 or computer 308 such as computer-based controllers (e.g., controller 310) or a user-interface (e.g., interface 310). In one aspect, housing 102 (or associated components) can simulate, supplement, and/or supplant an existing game controller for game console 306. Likewise, housing 102 can provide additional inputs to computer 308 such as operating a mouse input or cursor. It is to be appreciated that in some cases, the foregoing might require special components to be present on console 306 or computer 308 such as, e.g., controller/interface 310. However in other situations, such need not necessarily be the case, which is described in additional detail infra.
In addition, example environmental component 120 can include aspects of systems (e.g., system 100) described herein (e.g., housing 102 and associated components or "wand") as well as similar devices as indicated by reference numeral 312. For example, it is noteworthy to mention that device 312 exists in the environment (and often is a basis for defining the environment), and such can be considered for many purposes of this disclosure to be one of environmental components 120. Moreover, instruction 118 can facilitate opening a communication session with other similar devices 312. Hence, the wand can communicate in a manner similar to a cellular phone or walkie-talkie with other wands. In addition a variety of other types of information can be exchanged between two wands such as, e.g., messages, media, codes, or substantially any other suitable content/data.
Continuing the discussion of FIG. 1, system 100 can further include presence component 122 that can employ set 124 of sensors 1241-124N (referred to herein either collectively or individually as sensor(s) 124, while appreciating that each sensor 124 can have traits that materially distinguish from other sensors 124). In particular, one or more sensor(s) 124 can be employed to, inter alia, determine orientation 126 of housing 102. However, it should be appreciated that set 124 can include one or more sensor(s) 124 that do not relate to orientation 126, but relate instead to, e.g., acquisition or determination of other suitable data. It should be understood that presence component 122 or another component described herein can also employ all or potions of sensors 124, even those that do not directly relate to orientation 126. Examples of both types of sensor 124 can be found with reference to FIG. 4, which can be referenced in tandem with FIG. 1.
Referring briefly now to FIG. 4, several illustrative, but not necessarily limiting, examples of sensor 124 are depicted. Initially, it should be appreciated that, as with set 108 of I/O components, all or a subset of sensors 124 described herein can be onboard with respect to housing 102, and in some cases such might be required. In certain situations, however, there exists the potential that one or more sensor(s) 124 might be, or might be required to be, remote from housing 102 as well.
One example sensor 124 can be accelerometer 402. Accelerometer 402 is usually included in housing 102 and can be employed to determine motion, acceleration, and/or specific external force with respect to housing 102, which can be a factor in determining orientation 126. Similarly, housing 102 can include gyroscope 404 as another example sensor 124 for use in connection with orientation 126. Gyroscope 404 can be utilized to determine a change in angle or an angular rate of change of housing 102.
An example sensor 124 related to orientation 126 that can be included in, as well as remote from, housing 102 can be camera 406 (or other optical device such as a laser-based, LED-based, or certain optical range finders etc.). While camera 406 can exist in housing 102 and can be employed to aid in determination of orientation 126 (e.g., imaging objects and employing object recognition techniques to ascertain relative position/orientation), one or more cameras 406 can also be remote from housing 102 and employed to, e.g., image and/or identify housing 102 and determine a position (or aspects of orientation 126) of housing 102 relative to other components described herein as further detailed in connection with FIG. 6.
One example sensor 124 largely unrelated to orientation 126 but that can be included in housing 102 is biometric sensor 408. Biometric sensor 408 can obtain a biometric from a possessor of housing 102 in order to, inter alia, determine an identity of the possessor as well as certain emotional states of the possessor such as a level of excitement, anxiety, and so forth. While biometric data comes in many varieties, as housing 102 is typically a handheld object, the biometric obtained by sensor 408 will generally pertain to hand-based biometrics such as, e.g., fingerprints, grip configurations, hand geometry, or the like. However, it should be appreciated that as housing 102 can have associated components such as wearable devices (e.g., headsets, ear/eye pieces . . . ) other types of biometrics such as facial-based biometrics (e.g., thermograms, retinas, iris, earlobes, forehead) or behavioral biometrics (e.g., signature, voice, gait, gestures) can be obtain, potentially by biometric sensor 408 that is remote from housing 102. Further, aspects relating to data obtained by biometric sensor 408 are described infra.
In addition, for the sake of form and consistency, it should be appreciated that set 124 can also include receiver 410 or transmitter 412 that can facilitate propagation of data or information described herein. For example, sensors (e.g., 406, 408) that are remote from housing 102 might communicate with housing 102 by way of sensors 410, 412. Additionally or alternatively, it should be appreciated that sensors 410, 412 can be identical to, include, or be components of example I/O components 210, 212 described in connection with FIG. 2 supra.
Continuing the description of FIG. 1, recall presence component 122 can employ one or more sensors 124 to determine orientation 126 of housing 102. In more detail, orientation 126 can relate to 3-D space and can be one or more of a position of housing 102; a focus, direction, or target 128 of face 104; or a gesture, wherein the gesture can be a recent trajectory of housing 102. As an introduction to other discussion infra, target 128 (e.g., an object or component pointed to by a particular surface of face 104) will in many circumstances be one or more environmental component(s) 120. Furthermore, it should be appreciated that as gestures can be applicable to orientation 126, presence component 122 can maintain a history of or other state information relating to orientation 126, wherein the history or other state information can be saved to a data store (not shown) for later access or recall.
In addition, system 100 can include command component 130 that can determine instruction 118 based at least in part upon orientation 126. In accordance with an aspect of the claimed subject matter command component 130 can further employ input 116 in order to determine instruction 118. In more detail and/or to provide additional context, consider the following scenario.
Housing 102 is pointed at (e.g., a designated feature or surface of face 104 is directed at) a lamp (e.g., lights 302). Accordingly, the lamp can be selected as target 128 of housing 102 and/or face 104, which can be determined by presence component 122 based upon orientation 126. Selection of target 128 can be automatic based solely upon the focus of face 104; based upon a time interval such as focusing on the lamp for, say, 2 seconds selects the lamp as target 128; or based upon input 116 such as focusing on the lamp and pressing a particular button 202. Given the foregoing, the lamp can now be actively managed or controlled by way of instruction 118, which can be determined by command component 130 based at least upon orientation 126 and transmitted by communication component 106.
For example, the lamp can be switched on/off by, e.g., pressing a particular button 202. As another example, the lamp can be dimmed or brightened based upon a change in orientation 126 such as lowering or raising face 104. Similarly, lamp 126 can change colors (or traverse a frequency spectrum) by rotating housing 102 axially and/or by a possessor twisting housing 102 one direction or the other.
Appreciably, as instruction 118 can apply to a wide variety of devices, potentially including any environmental component 120 (which can include housing 102 or components thereof), the available set of potential instructions 118 can be virtually limitless in size. Accordingly, a set of potential orientations 126 and/or inputs 116 necessary to prompt each potential instruction 118 can be likewise virtually limitless, which, in conventional multifunctional or multimodal devices, can lead to several common difficulties, including, (1) complexity of use is generally proportional to the available features (e.g., the more features provided, the more difficult use becomes); and (2) available features are generally rigidly constrained by the form factor of a user-interface (e.g., small display or few input mechanisms equate to fewer features).
One potentially unforeseen benefit of the claimed subject matter can be mitigation of one or both of the aforementioned difficulties. In accordance therewith and to other related ends, system 100 can also include advisor component 132 that can provide guidance 134 in connection with orientation 118. Furthermore advisor component 132 can also provide guidance 134 with respect to input 116. Hence, guidance 134 provided by advisor component 132 can range from how to move housing 102 to create a desired result to which buttons or keys 202 and/or when these should be pressed, etc. (e.g., input 116) in order to create the desired result, as well as numerous other items, many of which are characterized in FIG. 5, which will be reference shortly before returning to discussion of FIG. 1.
However, before turning to FIG. 5, it should be appreciated that in order to provide guidance 134, advisor component can facilitate (e.g., by way of communication component 106 and/or one or more components from set 108 of I/O components) articulation or display of guidance 134. Articulation of guidance 134 can be verbal and provided by way of speaker 206, potentially mitigating the need for a large form factor display. Articulation or display of guidance 134 can also be text-based provided by way of display 204. In addition, articulation or display of guidance 134 can be visual and also provided by way of display 204 or by way of interface 310 associated with one or more environmental components 120.
According to one aspect of the claimed subject matter, advisor component 132 can provide guidance 134 by way of avatar 136. Avatar 136 can include a distinct persona that can influence one or more of appearance of avatar 136, character of avatar 136, personality of avatar 136, behavior of avatar 136, speech-related aspects of avatar 136 such as inflection, accent, brogue, choice of dialogue, and so on. In addition, avatar 136 can affect what features are available to a possessor of housing 102.
For example, it is readily apparent that the claimed subject matter can be potentially beneficial in many ways. In one case, the claimed subject matter can appeal to the imagination of a child by leveraging qualities of a magical device, while in another case, the claimed subject matter can appeal to the sensibilities of an elderly person, the disabled, or infirm due to the many potential conveniences provided. Of course, other appealing characteristics exist, but the two cited examples: two potential possessors of housing 102, one young and one elderly serve as natural examples to illustrate additional features of the claimed subject matter.
As one illustration, the child might select the professor or wizard avatar 136, whereas the elderly person, say, the child's grandmother, might select avatar 136 that is reminiscent of Jimmy Stewart but switch to John Wayne for applications when a no-nonsense style is desired. Moreover, given that housing 102 can include or be operatively coupled to biometric sensor 408, the possessor, grandmother, child, or another party, can be determined automatically (e.g., by presence component 122) upon contact with housing 102 (or another component) in a manner suitable to obtain appropriate biometric information. Thus, the appropriate avatar 136 (as well as other suitable settings or preferences) can be selected and/or activated automatically upon identification of the possessor, and potentially changed based upon the possessor's emotional state, which can also be obtained by way of biometric sensor 408.
It should be understood that advisor component 132 can be updateable, configurable, and/or selectable, and such modifications can be automatic or periodic as well as manually performed. Such modifications can be accomplished by way of, e.g., connecting to a remote data store potentially by way of the Internet or another network or wide area network (WAN), which can be facilitated by components 210, 212. Moreover, according to an aspect of the claimed subject matter, at least one of avatar 136 or the available features are selectable based upon attachable module 138 that can be interfaced with housing 102 by way of one or more port(s) 140. For completeness it can be noted that port(s) 140 can be operatively coupled to or components of receiver/transmitter 210, 212 to facilitate wired-based communication.
As indicated supra, guidance 134 can be articulated or displayed and, further, that such can be provided by avatar 136, which can be presentable by way of an audio output, a text-based output, a video output or display, holographic (detailed infra) output or display as well as any suitable combination thereof. Additional aspects in connection with avatar 136 and attachable module 138 can be found with reference to FIG. 5 and the associated text below. Further aspects relating to holographic features are covered in FIG. 6.
Referring now to FIG. 5, various examples in connection with guidance 134 are provided in order to introduce additional context but not necessarily to limit the scope of the appended claims to only the provided examples. In particular, guidance 134 can relate to target 128 as well as a suitable orientation 126 to achieve target 128 as denoted by reference numeral 502. Additionally, guidance 134 can relate to instruction 118 or a suitable orientation 126 to facilitate a desired instruction 118 as indicated by reference numeral 504.
Moreover, guidance 134 can come in the form of audio 506 such as verbal guidance 134 or be text-based or visual-based as indicated by reference numeral 508. Furthermore, all or portions of guidance 134 can be presented by avatar 136 and accessibility to certain features or to certain avatars 136 can depend upon coupling attachable module 138 to housing 102. In more detail, consider the following.
A possessor of housing 102 aims face 104 at a lamp. Audio guidance 506 can be constructed by advisor component 132 and presented by avatar 136 in the specific avatar's own style or context. For example, "Your focus is the lamp. Press the red button to target this object." Or, similarly, "Please speak your target," to which a possessor of housing 102 can indicate "the lamp," which can be input 116 provided by microphone 208, followed by audio guidance 506, "Your target is the lamp. Press the red button to switch the lamp on." Likewise, audio guidance 506 can continue in the following manner. "Move the tip of the wand [e.g., face 104 of housing 102] up or down as you would a fishing pole to brighten or dim the lamp." Or, "twist the wand in one direction as though you are tightening or loosening a screw to change the color of the lamp." Appreciably, guidance 134 can be descriptive and based somewhat upon the character of possessor (e.g., "as though you are tightening or loosening a screw" vs. "rotate housing axially").
Likewise, text or visual guidance 508 can be presented by avatar 136 and can be displayed by display 204, interface 310, and/or can be holographic, which is further detailed in connection with FIG. 6. Additionally, a type of guidance 136 provided as well as features or instructions 118 available can depend upon attachable module 138. For example, management or interaction with lights 302 may require a first module 138 to be coupled to housing 102, while management or interaction with game console 306 might require a second module 138. As another example, a certain combination of modules 138 can yield access to a particular avatar 136. The modules can be solely utility-driven, or in some cases be aesthetic and/or thematic as well, such as fashioned to resemble bold geometric shapes or shapes that allude to magic characteristics, or shapes indicative of the environmental component(s) 120 that can be managed or interacted with that particular module 138. Appreciably, module(s) 138 can be utilized for permission-based access to certain features or avatars 136, as can biometric sensor 408.
Referring now to FIG. 6, system 600 is depicted that can facilitate 3-D modeling of an environment and/or utilize holographic displays in order to provide rich interaction with components in an environment. In general, system 600 can include communication component 106 that can manage set 108 of I/O components and can be configured to receive input 116 and to transmit instruction 118. In accordance with the descriptions herein, communication component 106 can be operatively coupled to holographic display component 602. Holographic display component 602 can be configured to display holograph 604 substantially near to one of housing 102 or environmental component 120 that serves as target 128 of face 104. In either case, holographic display component 602 can be embedded in housing 102 or be a remote component
As introduced supra, holograph 604 can be associated with guidance 134. Accordingly, holograph 604 can be a representation of avatar 136 or, e.g., a data display associated with instruction 118. It should be appreciated that by utilizing holograph 604 to facilitate guidance 134, a large form factor display can be unnecessary to provide a wealth of information, potentially mitigating certain difficulties associated with conventional devices or systems. To provide additional context, consider for a moment the ensuing examples.
Possessor executes orientation 126 sufficient to target thermostat 304. Possessor desires to modify a setting of thermostat 304 from 68 degrees to 72 degrees. While this can be accomplished in a manner similar to that described supra in connection with changing the brightness/intensity of light 302, e.g., by raising or lowering face 104 to update a setting, potentially accompanied by an explanation (e.g., guidance 134), which can be audio, visual, or text-based, and can be presented by way of avatar 136, other features can exist as well. For example, upon targeting thermostat 304, holographic display component 602 can produce a holographic interface or data display that, e.g., hovers nearby thermostat 304. The display can indicate in potentially large numerals that the current setting is for 68 degrees, and, possibly as possessor tilts housing 102 upward, the display can update, cycling through 69, 70, and so on to 72 degrees, where possessor is satisfied. Such can be useful given that unlike the example provided in connection with the lamp, which has visual indicia (e.g., the readily apparent brightness) to provide feedback to possessor, thermostat 304 may not otherwise have such visual indicia, and thus, it may be difficult for possessor to know how far to tilt housing to reach the desired setting. Utilizing holograph 604 can mitigate such a difficulty, as well as provide numerous other features and/or allow instruction(s) 118 (or associated orientation(s) 126) to be more intuitive.
Appreciable, the holographic data display/interface can be interface 310. While described supra, it is perhaps more understandable to note here that interface 310 can be associated with one or more environmental components 120, but need not necessarily be provided by or even managed or controlled by such component 120. It should be understood that a similar holographic data display/interface can be presented in connection with substantially any environmental component 120, and is not necessarily limited to merely thermostat 304. Moreover, holograph 604 can be presented by way of, e.g., an eyepiece associated with housing 102 worn by possessor. Additionally, it should be underscored that holograph 604 can also be a representation of avatar 136 illustrating visual depictions of guidance 134.
In addition to the foregoing, system 600 can further include modeling component 606 that can also be coupled to communication component 106. Modeling component 606 can construct 3-D geometric model 608 of the environment, which can, e.g., aid or in some cases facilitate many of the features or aspects described herein such as, e.g., determining aspects of orientation 126, target 128, environment components 120, and so forth.
In accordance with an aspect of the claimed subject matter, modeling component 606 can employ at least two cameras 406 from set 124 of sensors in order to determine a 3-D position 610 of housing 102. Position 610 can relate to a position in model 608, and position 610 of housing 102 can be an element of orientation 126 with other elements provided by, e.g., accelerometer 402, gyroscope 404, and so on. 3-D model 608 can include all or portions of suitable environmental component 120, and can be in some cases constructed on the fly based upon a corporeal location of housing 102. For example, modeling component 606 can broadcast a request and await acknowledgments from suitable environmental components 120 to construct the members of 3-D model 308. Subsequent data (or accompanying the acknowledgment), that includes location data or data that can be utilized to determine location can be employed to populated 3-D model 608 with the members at the proper locations.
With reference now to FIG. 7, system 700 that can aid with various determinations or inferences is depicted. Typically, system 700 can include presence component 122, command component 130, and advisor component 132, which in addition to or in connection with what has been described supra, can also make various inferences or intelligent determinations. For example, presence component 122 can intelligently determine target 128, as in some cases target 128 may not be precisely and/or accurately indicated. Furthermore, presence component 122 can also intelligently determine or establish levels of confidence in connection with a gesture or other aspects of orientation 126. In many cases, a particular orientation 126 will be defined to produce a particular instruction 118, however, in other cases, instruction 118 can be inferred based upon similarities to gestures for other target 128 components. For example, a gesture that dims lights 302 might not be expressly coded to work with other devices, yet the same gesture with, say, thermostat 304 targeted might function in a similar manner based upon intelligent inferences by command component 130. In addition, advisor component 132 can intelligently determine identity or emotional states based upon all relevant data sets include that provided by biometric sensor 408.
In addition, system 700 can also include intelligence component 702 that can provide for or aid in various inferences or determinations. It is to be appreciated that intelligence component 702 can be operatively coupled to all or some of the aforementioned components. Additionally or alternatively, all or portions of intelligence component 702 can be included in one or more of the components 122, 130, 132. Moreover, intelligence component 702 will typically have access to all or portions of data sets described herein, such as data store 704, and can furthermore utilize previously determined or inferred data.
Accordingly, in order to provide for or aid in the numerous inferences described herein, intelligence component 702 can examine the entirety or a subset of the data available and can provide for reasoning about or infer states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic--that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data.
Such inference can result in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources. Various classification (explicitly and/or implicitly trained) schemes and/or systems (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines . . . ) can be employed in connection with performing automatic and/or inferred action in connection with the claimed subject matter.
A classifier can be a function that maps an input attribute vector, x=(x1, x2, x3, x4, xn), to a confidence that the input belongs to a class, that is, f(x)=confidence(class). Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed. A support vector machine (SVM) is an example of a classifier that can be employed. The SVM operates by finding a hypersurface in the space of possible inputs, where the hypersurface attempts to split the triggering criteria from the non-triggering events. Intuitively, this makes the classification correct for testing data that is near, but not identical to training data. Other directed and undirected model classification approaches include, e.g., naive Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also is inclusive of statistical regression that is utilized to develop models of priority.
FIGS. 8, 9, and 10 illustrate various methodologies in accordance with the claimed subject matter. While, for purposes of simplicity of explanation, the methodologies are shown and described as a series of acts, it is to be understood and appreciated that the claimed subject matter is not limited by the order of acts, as some acts may occur in different orders and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology in accordance with the claimed subject matter. Additionally, it should be further appreciated that the methodologies disclosed hereinafter and throughout this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such methodologies to computers. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device, carrier, or media.
With reference now to FIG. 8, exemplary method 800 for facilitating robust interactions with and/or management of environmental components is illustrated. Generally, at reference numeral 802, an input can be received from an input component included in a set of I/O components. Appreciably, the set of I/O components can include components such as a key, a button, a switch, a keypad, a keyboard, a monitor, a display, a speaker, a microphone, a receiver, a transmitter, etc., and the input component can be substantially any suitable component from the set as well as certain other suitable components not expressly enumerated.
At reference numeral 804, an instruction can be transmitted to an environmental component by way of an output component included in the set of I/O components. Likewise, the output component can be substantially any suitable component from the set as well as other suitable components even if not explicitly listed in the examples provided. The instruction can be or include a command, initialization data, verification data, authentication data, as well as other appropriate data sets or subsets.
At reference numeral 806, the instruction can be determined or inferred based at least in part upon an orientation of the housing. The orientation can be associated with a position of the housing, a direction, focus, or target of the housing, or a gesture associated with the housing. Based at least upon such data (as well as other potentially relevant data), the instruction can be determined or inferred, in some cases based upon intelligence-based machine learning techniques.
At reference numeral 808, guidance in connection with at least one of the orientation or the instruction can be provided. The guidance can be provided in various forms or formats, which can include verbal or textual articulation as well as visual display of the guidance. Accordingly, explanations of suitable orientations to accomplish a particular instruction, for example, can be presented in one or more formats and/or in a manner that can reduce, minimize, or mitigate the need for a complicated user interface in connection with comprehensive features.
Referring to FIG. 9, exemplary method 900 for providing additional features in connection with the orientation, instruction, or guidance is depicted. For example, at reference numeral 902, the orientation can be employed to determine a target environmental component. In general, the target environmental device will be one that is the focus of the housing or an associated face, surface, salient feature. However, such need not always be the case, as the target can be selected in advance such that subsequent changes in the focus (or other potential changes in orientation) do not unnecessarily select other target components.
At reference numeral 904, state information associated with the orientation of the housing can be maintained in order to determine a gesture. For example, the state information can include a recent history of the orientation of the housing which can essentially record the motion of the housing. At reference numeral 906, the input received in connection with act 802 can be utilized for determining the instruction. Accordingly, in addition to utilizing the orientation, various input such as pressing a particular key or button (e.g., input) can be used in unison with determining the appropriate instruction to transmit.
At reference numeral 908, a state of the environmental component can be updated based upon the instruction. For example, the environmental component can receive the instruction and respond by changing state. For example, a lamp can change from an "off" state to an "on" state based upon the instruction as can a setting of a thermostat, a position of a cursor, a volume of a stereo and so on and so forth.
At reference numeral 910, an avatar can be presented in connection with the guidance provided at act 810. In accordance therewith, the avatar can be the medium by which the guidance is articulated or displayed. For example, the avatar can be the speaker for articulated guidance or be a performer in visually displayed guidance. It is to be appreciated that the avatar can include a distinguishing personality or character (or traits thereof) and, in connection with reference numeral 912, can, along with an instruction set of available instructions or an orientation set of allowable and/or identifiable orientations, be updated to, e.g., provide newer, more useful, or more tailored data sets and/or a larger repertoire of available features.
With reference now to FIG. 10, method 1000 for modeling the environment and/or providing holographic presentation for facilitating richer interactions is illustrated. Generally, at reference numeral 1002, a holographic data display or interface can be presented. The holographic interface/display can be presented substantially near to a targeted environmental component and can provide beneficial feedback, visual indicia, intuitive instruction or explanation, navigation or control features, or the like.
At reference numeral 1004, a holographic representation of the avatar can be displayed. The holographic avatar can be presented substantially near to the housing or the targeted element and can provide visual guidance in connection with orientation as well as an associated or desired instruction or with the targeted environmental component. It should be appreciated and understood that the holographs displayed at acts 1002, 1004 be virtual in nature and can be presented by way of an eyepiece/headset associated with the housing.
At reference numeral 1006, a 3-D model of an environment proximal to the housing can be generated. The 3-D model can include the set of environmental components in respective positions that correspond to corporeal locations of the environmental components. The 3-D model can be generated on the fly and can adapt to various environments, environment types, or changes in location and/or transportation of the housing. At reference numeral 1008, two or more cameras from the set of I/O components can be employed for determining a 3-D position of the housing. The cameras can also be employed for determining or aiding in the determination of the orientation described at act 706.
Referring now to FIG. 11, there is illustrated a block diagram of an exemplary computer system operable to execute the disclosed architecture. In order to provide additional context for various aspects of the claimed subject matter, FIG. 11 and the following discussion are intended to provide a brief, general description of a suitable computing environment 1100 in which the various aspects of the claimed subject matter can be implemented. Additionally, while the claimed subject matter described above may be suitable for application in the general context of computer-executable instructions that may run on one or more computers, those skilled in the art will recognize that the claimed subject matter also can be implemented in combination with other program modules and/or as a combination of hardware and software.
Generally, program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the inventive methods can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.
The illustrated aspects of the claimed subject matter may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
A computer typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media can comprise computer storage media and communication media. Computer storage media can include both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer.
Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media.
With reference again to FIG. 11, the exemplary environment 1100 for implementing various aspects of the claimed subject matter includes a computer 1102, the computer 1102 including a processing unit 1104, a system memory 1106 and a system bus 1108. The system bus 1108 couples to system components including, but not limited to, the system memory 1106 to the processing unit 1104. The processing unit 1104 can be any of various commercially available processors. Dual microprocessors and other multi-processor architectures may also be employed as the processing unit 1104.
The system bus 1108 can be any of several types of bus structure that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory 1106 includes read-only memory (ROM) 1110 and random access memory (RAM) 1112. A basic input/output system (BIOS) is stored in a non-volatile memory 1110 such as ROM, EPROM, EEPROM, which BIOS contains the basic routines that help to transfer information between elements within the computer 1102, such as during start-up. The RAM 1112 can also include a high-speed RAM such as static RAM for caching data.
The computer 1102 further includes an internal hard disk drive (HDD) 1114 (e.g., EIDE, SATA), which internal hard disk drive 1114 may also be configured for external use in a suitable chassis (not shown), a magnetic floppy disk drive (FDD) 1116, (e.g., to read from or write to a removable diskette 1118) and an optical disk drive 1120, (e.g., reading a CD-ROM disk 1122 or, to read from or write to other high capacity optical media such as the DVD). The hard disk drive 1114, magnetic disk drive 1116 and optical disk drive 1120 can be connected to the system bus 1108 by a hard disk drive interface 1124, a magnetic disk drive interface 1126 and an optical drive interface 1128, respectively. The interface 1124 for external drive implementations includes at least one or both of Universal Serial Bus (USB) and IEEE1394 interface technologies. Other external drive connection technologies are within contemplation of the subject matter claimed herein.
The drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. For the computer 1102, the drives and media accommodate the storage of any data in a suitable digital format. Although the description of computer-readable media above refers to a HDD, a removable magnetic diskette, and a removable optical media such as a CD or DVD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used in the exemplary operating environment, and further, that any such media may contain computer-executable instructions for performing the methods of the claimed subject matter.
A number of program modules can be stored in the drives and RAM 1112, including an operating system 1130, one or more application programs 1132, other program modules 1134 and program data 1136. All or portions of the operating system, applications, modules, and/or data can also be cached in the RAM 1112. It is appreciated that the claimed subject matter can be implemented with various commercially available operating systems or combinations of operating systems.
A user can enter commands and information into the computer 1102 through one or more wired/wireless input devices, e.g., a keyboard 1138 and a pointing device, such as a mouse 1140. Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, touch screen, or the like. These and other input devices are often connected to the processing unit 1104 through an input device interface 1142 that is coupled to the system bus 1108, but can be connected by other interfaces, such as a parallel port, an IEEE1394 serial port, a game port, a USB port, an IR interface, etc.
A monitor 1144 or other type of display device is also connected to the system bus 1108 via an interface, such as a video adapter 1146. In addition to the monitor 1144, a computer typically includes other peripheral output devices (not shown), such as speakers, printers, etc.
The computer 1102 may operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as a remote computer(s) 1148. The remote computer(s) 1148 can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 1102, although, for purposes of brevity, only a memory/storage device 1150 is illustrated. The logical connections depicted include wired/wireless connectivity to a local area network (LAN) 1152 and/or larger networks, e.g., a wide area network (WAN) 1154. Such LAN and WAN networking environments are commonplace in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which may connect to a global communications network, e.g., the Internet.
When used in a LAN networking environment, the computer 1102 is connected to the local network 1152 through a wired and/or wireless communication network interface or adapter 1156. The adapter 1156 may facilitate wired or wireless communication to the LAN 1152, which may also include a wireless access point disposed thereon for communicating with the wireless adapter 1156.
When used in a WAN networking environment, the computer 1102 can include a modem 1158, or is connected to a communications server on the WAN 1154, or has other means for establishing communications over the WAN 1154, such as by way of the Internet. The modem 1158, which can be internal or external and a wired or wireless device, is connected to the system bus 1108 via the serial port interface 1142. In a networked environment, program modules depicted relative to the computer 1102, or portions thereof, can be stored in the remote memory/storage device 1150. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used.
The computer 1102 is operable to communicate with any wireless devices or entities operatively disposed in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, portable data assistant, communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, restroom), and telephone. This includes at least Wi-Fi and Bluetooth® wireless technologies. Thus, the communication can be a predefined structure as with a conventional network or simply an ad hoc communication between at least two devices.
Wi-Fi, or Wireless Fidelity, allows connection to the Internet from a couch at home, a bed in a hotel room, or a conference room at work, without wires. Wi-Fi is a wireless technology similar to that used in a cell phone that enables such devices, e.g., computers, to send and receive data indoors and out; anywhere within the range of a base station. Wi-Fi networks use radio technologies called IEEE802.11 (a, b, g, etc.) to provide secure, reliable, fast wireless connectivity. A Wi-Fi network can be used to connect computers to each other, to the Internet, and to wired networks (which use IEEE802.3 or Ethernet). Wi-Fi networks operate in the unlicensed 2.4 and 5 GHz radio bands, at an 11 Mbps (802.11b) or 54 Mbps (802.11a) data rate, for example, or with products that contain both bands (dual band), so the networks can provide real-world performance similar to the basic "10BaseT" wired Ethernet networks used in many offices.
Referring now to FIG. 12, there is illustrated a schematic block diagram of an exemplary computer compilation system operable to execute the disclosed architecture. The system 1200 includes one or more client(s) 1202. The client(s) 1202 can be hardware and/or software (e.g., threads, processes, computing devices). The client(s) 1202 can house cookie(s) and/or associated contextual information by employing the claimed subject matter, for example.
The system 1200 also includes one or more server(s) 1204. The server(s) 1204 can also be hardware and/or software (e.g., threads, processes, computing devices). The servers 1204 can house threads to perform transformations by employing the claimed subject matter, for example. One possible communication between a client 1202 and a server 1204 can be in the form of a data packet adapted to be transmitted between two or more computer processes. The data packet may include a cookie and/or associated contextual information, for example. The system 1200 includes a communication framework 1206 (e.g., a global communication network such as the Internet) that can be employed to facilitate communications between the client(s) 1202 and the server(s) 1204.
Communications can be facilitated via a wired (including optical fiber) and/or wireless technology. The client(s) 1202 are operatively connected to one or more client data store(s) 1208 that can be employed to store information local to the client(s) 1202 (e.g., cookie(s) and/or associated contextual information). Similarly, the server(s) 1204 are operatively connected to one or more server data store(s) 1210 that can be employed to store information local to the servers 1204.
What has been described above includes examples of the various embodiments. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the embodiments, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly, the detailed description is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.
In particular and in regard to the various functions performed by the above described components, devices, circuits, systems and the like, the terms (including a reference to a "means") used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the embodiments. In this regard, it will also be recognized that the embodiments includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods.
In addition, while a particular feature may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms "includes," and "including" and variants thereof are used in either the detailed description or the claims, these terms are intended to be inclusive in a manner similar to the term "comprising."
Patent applications by Andrew David Wilson, Seattle, WA US
Patent applications by James E. Allard, Seattle, WA US
Patent applications by Michael F. Cohen, Seattle, WA US
Patent applications by Steven Drucker, Bellevue, WA US
Patent applications by Yu-Ting Kuo, Sammamish, WA US
Patent applications by Microsoft Corporation
Patent applications in class Hand manipulated (e.g., keyboard, mouse, touch panel, etc.)
Patent applications in all subclasses Hand manipulated (e.g., keyboard, mouse, touch panel, etc.)