FIELD
[0001] One embodiment is directed generally to a haptic system, and in particular, to a
system that implements a network for providing haptic functionality.
BACKGROUND INFORMATION
[0002] "Haptics" relates to a tactile and force feedback technology that takes advantage
of the sense of touch of a user by applying haptic feedback effects (i.e., "haptic
effects"), such as forces, vibrations, and motions, to the user. Devices, such as
mobile devices, touchscreen devices, and personal computers, can be configured to
generate haptic effects. In general, calls to embedded hardware capable of generating
haptic effects (such as actuators) can be programmed within an operating system ("OS")
of the device. These calls specify which haptic effect to play. For example, when
a user interacts with the device using, for example, a button, touchscreen, lever,
joystick, wheel, or some other control, the OS of the device can send a play command
through control circuitry to the embedded hardware. The embedded hardware then produces
the appropriate haptic effect.
[0003] EP 2 763 000A2 describes a system for managing a plurality of wearable devices on a user whereby
the system receives information to be conveyed using haptic effects and determines
an intent of the information. The system then determines, for each of the plurality
of wearable haptic devices, a location of the wearable haptic device on the user and
a haptic capability. The system then maps the information as a haptic effect to one
or more of the wearable haptic devices based at least on the determined locations
on the user and the haptic capabilities.
[0004] EP 2 963 522 A1 describes a system which includes a processor configured to determine an electrostatic
force (ESF)-based haptic effect and transmit a haptic signal associated with the ESF-based
haptic effect. The system also includes an ESF controller in communication with the
processor, the ESF controller configured to receive the haptic signal, determine an
ESF signal based at least in part on the haptic signal, and transmit the ESF signal.
The system further includes a surface configured to contact a user, and an ESF device
coupled to the surface and in communication with the ESF controller, the ESF device
configured to receive the ESF signal and output the ESF-based haptic effect on the
surface.
SUMMARY
[0005] The present invention is defined by the subject matter of the independent claims.
Advantageous embodiments of the invention are subject matter of the dependent claims.
One embodiment is a system that provides haptic functionality over a networked system.
The system receives information from a first device registered at the networked system
and determines a notification to be provided to a user based on the information. The
system then selects a second device registered at the networked system and provides
the notification to the user by producing a haptic effect on the second device.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006]
Fig. 1 is a block diagram of a computer system useful for the understanding of the
present invention.
Fig. 2 illustrates an example system for providing haptic functionality according
to an embodiment of the present invention.
Fig. 3 is a flow diagram of haptic functionality in accordance with embodiments of
the present invention.
Fig. 4 illustrates another example system for providing haptic functionality according
to an embodiment of the present invention.
Fig. 5 is a block diagram of an example cloud system for providing haptic functionality
in accordance with embodiments of the present invention.
Fig. 6 is a block diagram of another example system for providing haptic functionality
in accordance with embodiments of the present invention.
Fig. 7 is a flow diagram of the operation of the haptic device decision module of
Fig. 6 in accordance with embodiments of the present invention.
Fig. 8 is a flow diagram of the operation of the haptic effect decision module of
Fig. 6 in accordance with embodiments of the present invention.
Fig. 9 is a flow diagram of the operation of the haptics module of Fig. 1 when performing
haptic functionality in accordance with embodiments of the present invention.
DETAILED DESCRIPTION
[0007] One embodiment provides haptic functionality for network connected devices such as
objects in the Internet of Things ("IoT"). In one embodiment, one or more haptically
enabled devices in a networked system are opportunistically selected and used to provide
haptic effects to a user. In an alternative or additional embodiment, information
collected from one or more networked devices are used to provide haptic effects to
a user. The haptic effects may be associated with a message, a service, or an alert
that needs to be provided to the user. Accordingly, by selecting and using various
network connected devices, embodiments allow for better utilization of such devices
in providing haptic functionality to a user.
[0008] Fig. 1 illustrates a block diagram of a system 10 in accordance with one embodiment
of the invention. In one embodiment, system 10 is part of a mobile device (e.g., a
smartphone) or a non-mobile device, and system 10 provides haptic functionality for
the device. In another embodiment, system 10 is part of a device that is incorporated
into an object in contact with a user in any way (e.g., furniture), and system 10
provides haptic functionality for such a device. For example, in one embodiment, system
10 is part of a wearable device, and system 10 provides haptic functionality for the
wearable device. Examples of wearable devices include wrist bands, headbands, eyeglasses,
rings, leg bands, arrays integrated into clothing, or any other type of device that
a user may wear on a body or can be held by a user. Some wearable devices can be "haptically
enabled," meaning they include mechanisms to generate haptic effects. In another embodiment,
system 10 is separate from the device (e.g., a mobile device or a wearable device),
and remotely provides haptic functionality for the device.
[0009] Although shown as a single system, the functionality of system 10 can be implemented
as a distributed system. System 10 includes a bus 12 or other communication mechanism
for communicating information, and a processor 22 coupled to bus 12 for processing
information. Processor 22 may be any type of general or specific purpose processor.
System 10 further includes a memory 14 for storing information and instructions to
be executed by processor 22. Memory 14 can be comprised of any combination of random
access memory ("RAM"), read only memory ("ROM"), static storage such as a magnetic
or optical disk, or any other type of transitory or non-transitory computer-readable
medium.
[0010] A computer-readable medium may be any available medium that can be accessed by processor
22 and may include both a volatile and nonvolatile medium, a removable and non-removable
medium, a communication medium, and a storage medium. A communication medium may include
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 may
include any other form of information delivery medium known in the art. A storage
medium may include RAM, flash memory, ROM, erasable programmable read-only memory
("EPROM"), electrically erasable programmable read-only memory ("EEPROM"), registers,
hard disks, removable disks, compact disk read-only memory ("CD-ROM"), or any other
form of a storage medium known in the art.
[0011] In one embodiment, memory 14 stores software modules that provide functionality when
executed by processor 22. The modules include an operating system 15 that provides
operating system functionality for system 10, as well as the rest of a mobile device
in one embodiment. The modules further include a haptics module 16 that provides haptic
functionality, as disclosed in more detail herein. In certain embodiments, haptics
module 16 may comprise a plurality of modules, where each module provides specific
individual functionality for providing haptic effects. System 10 typically includes
one or more additional application modules 18 to include additional functionality,
such as TouchSense™ software by Immersion Corp.
[0012] System 10, in embodiments that transmit and/or receive data from remote sources,
further includes a communication device 20, such as a network interface card, to provide
mobile wireless network communication, such as infrared, radio, Wi-Fi, cellular network
communication, etc. In other embodiments, communication device 20 provides a wired
network connection, such as an Ethernet connection, a modem, etc.
[0013] Processor 22 is further coupled via bus 12 to a display 24, such as a Liquid Crystal
Display ("LCD"), for displaying a graphical representation or user interface ("UI")
to a user. The display 24 may be a touch-sensitive input device, such as a touch screen,
configured to send and receive signals from processor 22, and may be a multi-touch
touch screen.
[0014] System 10, in one embodiment, further includes an actuator 26. Processor 22 may transmit
a haptic signal associated with a haptic effect to actuator 26, which in turn outputs
haptic effects such as vibrotactile haptic effects, electrostatic friction haptic
effects, deformation haptic effects, etc. Actuator 26 includes an actuator drive circuit.
Actuator 26 may be, for example, an electric motor, an electro-magnetic actuator,
a voice coil, a shape memory alloy, an electro-active polymer, a solenoid, an eccentric
rotating mass motor ("ERM"), a linear resonant actuator ("LRA"), a piezoelectric actuator,
a high bandwidth actuator, an electroactive polymer ("EAP") actuator, etc. In alternate
embodiments, system 10 may include one or more additional actuators, in addition to
actuator 26 (not illustrated in Fig. 1). Alternatively or additionally, actuator 26
may operate according to any other haptic technology such as thermal displays (e.g.,
hot/cold), electrotactile stimulation (i.e., stimulation of tactile receptors with
electric current), kinesthetic feedback, etc. Yet another alternative or additional
embodiment may implement electrical muscle stimulations such as a task that requires
a user to determine what movement or movements the system is making them do and/or
making them feel like doing.
[0015] Actuator 26 is an example of a haptic output device, where a haptic output device
is a device configured to output any form of haptic effects, such as vibrotactile
haptic effects, electrostatic friction haptic effects, deformation haptic effects,
etc., in response to a drive signal. Accordingly, in alternate embodiments, actuator
26 may be replaced by some other type of haptic output device (not shown) that may
be a non-mechanical or a non-vibratory device such as a device that uses electrostatic
friction ("ESF") or ultrasonic surface friction ("USF"), a device that induces acoustic
radiation pressure with an ultrasonic haptic transducer, a device that uses a haptic
substrate and a flexible or deformable surface or shape changing device and that may
be attached to a user's body, a device that provides projected haptic output such
as a puff of air using an air jet, a laser-based projectile, a sound-based projectile,
etc.
[0016] For example, one embodiment provides a laser-based projectile where laser energy
ionizes air molecules in a concentrated region mid-air to provide plasma (a concentrated
mixture of positive and negative particles). In one embodiment, the laser may be a
femtosecond laser that emits pulses at very fast and very intense paces, and the faster
the laser, the safer for humans to touch. The projectile may appear as a hologram
that is haptic and interactive. When the plasma comes in contact with user skin, the
user may sense the vibrations of energized air molecules in the concentrated region.
Sensations on the user skin are caused by the waves that are generated when the user
interacts with plasma in mid-air. Accordingly, haptic effects may be provided to the
user by subjecting the user to such concentrated region. Alternatively or additionally,
haptic effects may be provided to the user by subjecting the user to the vibrations
generated by directed sound energy.
[0017] Further, in other alternate embodiments, system 10 may not include actuator 26 or
any other haptic output device, and a separate device from system 10 includes an actuator
or another haptic output device that generates the haptic effects, and system 10 sends
generated haptic signals to that device through communication device 20.
[0018] In one embodiment, actuator 26 may be a "standard definition" ("SD") actuator that
generates vibratory haptic effects at a single frequency. Examples of an SD actuator
include an ERM and an LRA. In contrast to an SD actuator, a high definition ("HD")
actuator or high fidelity actuator such as a piezoelectric actuator or an EAP actuator
is capable of generating high bandwidth/definition haptic effects at multiple frequencies.
HD actuators are characterized by their ability to produce wide bandwidth tactile
effects with variable amplitude and with a fast response to transient drive signals.
However, HD actuators have a large physical dimension relative to SD actuators, and
are more expensive than SD actuators. Most devices consequently include only one or
more SD actuators, instead of any HD actuators. Therefore, some embodiments may leverage
one or more speakers 28 in a devices in combination with the SD actuators to simulate
HD haptic effects and provide an HD-like haptic experience without the need for HD
actuators.
[0019] System 10, in one embodiment, further includes a speaker 28. Processor 22 may transmit
an audio signal to speaker 28, which in turn outputs audio effects. Speaker 28 may
be, for example, a dynamic loudspeaker, an electrodynamic loudspeaker, a piezoelectric
loudspeaker, a magnetostrictive loudspeaker, an electrostatic loudspeaker, a ribbon
and planar magnetic loudspeaker, a bending wave loudspeaker, a flat panel loudspeaker,
a heil air motion transducer, a plasma arc speaker, a digital loudspeaker, etc. In
alternate embodiments, system 10 may include one or more additional speakers, in addition
to speaker 28 (not illustrated in Fig. 1). Further, in other alternate embodiments,
system 10 may not include speaker 28, and a separate device from system 10 includes
a speaker that outputs the audio effects, and system 10 sends audio signals to that
device through communication device 20.
[0020] System 10, in one embodiment, further includes a sensor 30. Sensor 30 may be configured
to detect a form of energy, or other physical property, such as, but not limited to,
sound, movement, acceleration, biological signals, distance, flow, force/pressure/strain/bend,
humidity, linear position, orientation/inclination, radio frequency, rotary position,
rotary velocity, manipulation of a switch, temperature, vibration, visible light intensity,
etc. Sensor 30 may further be configured to convert the detected energy, or other
physical property, into an electrical signal, or any signal that represents virtual
sensor information. Sensor 30 may be any device, such as, but not limited to, an accelerometer,
a galvanic skin response sensor, a capacitive sensor, a hall effect sensor, an infrared
sensor, an ultrasonic sensor, a pressure sensor, a fiber optic sensor, a flexion sensor
(or bend sensor), a force-sensitive resistor, a load cell, a LuSense CPS2 155, a miniature
pressure transducer, a piezo sensor, a strain gauge, a hygrometer, a linear position
touch sensor, a linear potentiometer (or slider), a linear variable differential transformer,
a compass, an inclinometer, a magnetic tag (or a radio frequency identification ("RFID")
tag), a rotary encoder, a rotary potentiometer, a gyroscope, an on-off switch, a temperature
sensor (such as a thermometer, thermocouple, resistance temperature detector, thermistor,
temperature-transducing integrated circuit, etc.), a microphone, a photometer, an
altimeter, a biological monitor, a camera, a light-dependent resistor, etc., or any
device that outputs an electrocardiogram, an electroencephalogram, an electromyograph,
an electrooculogram, an electropalatograph, or any other electrophysiological output.
[0021] In alternate embodiments, system 10 may include one or more additional sensors, in
addition to sensor 30 (not illustrated in Fig. 1). In some of these embodiments, sensor
30 and the one or more additional sensors may be part of a sensor array, or some other
type of collection/arrangement of sensors. Further, in other alternate embodiments,
system 10 may not include sensor 30, and a separate device from system 10 includes
a sensor that detects a form of energy, or other physical property, and converts the
detected energy, or other physical property, into an electrical signal, or other type
of signal that represents virtual sensor information. The device may then send the
converted signal to system 10 through communication device 20.
Haptic Device Sharing Service
[0022] Generally, with known systems, a haptic device of a user is utilized to provide haptic
effects to that user. For example, wearable haptic devices of a user (e.g., wrist
bands, headbands, eyeglasses, rings, leg bands, arrays integrated into clothing, etc.)
can provide haptic effects corresponding to state information intended for that user,
such as incoming calls, navigational cues, messaging, etc.
[0023] The Internet of Things ("IoT") is a network of objects (e.g., buildings, devices,
vehicles, etc.) that include electronic functionality for collecting and exchanging
data. An increasing number of objects are becoming connected to the loT, including
some objects that are touched frequently, such as chairs and tables in public places.
At the same time, haptic actuators are also making their way into many objects, such
as furniture (e.g., chairs, tables, etc.), architectural elements (e.g., walls, floors,
etc.), and various consumer objects such as rulers, staplers, etc. However, in known
systems, providing haptic feedback to a user is generally limited to personal devices
of that user or special purpose devices intended for a specific use. For example,
in some known systems, haptic notifications are produced on devices that the user
holds or wears such as a smart phone or a smart watch, or on specialized devices configured
for a specific use such as a D-Box seat in a movie theater.
[0024] In contrast to known systems, embodiments of the present invention identify available
networked haptically enabled devices (e.g., haptically enabled loT devices) in the
vicinity of a user and use them to provide haptic effects intended for that user.
One embodiment provides a service infrastructure that allows a haptically enabled
device to opportunistically produce haptic feedback for a user in its environment.
One embodiment further provides a brokerage system that allows micro-transactions
to be concluded between independent parties for using such haptically enabled devices,
thus enabling a sharing economy for haptic feedback.
[0025] In one embodiment, as a user comes in close proximity to, or in contact with, one
or more loT connected and haptically enabled objects throughout the day, each of these
objects may be used to provide haptic feedback to the user. For example, in a public
place such as an airport or a coffee shop, objects that are touched frequently (e.g.,
chairs, tables, etc.) and are equipped with haptic actuators may be used to haptically
communicate with a nearby user, instead of or in addition to the user's haptically
enabled personal devices such as smart phones or wearables.
[0026] Fig. 2 illustrates an example system 200 for providing haptic functionality according
to an embodiment of the present invention. In system 200, a user may be sitting on
a haptically enabled chair 202 in a public place. Chair 202 includes a haptic actuator
204 (e.g., an ERM actuator). Chair 202 also includes functionality to connect to the
loT or any other network. For example, chair 202 may include a WiFi connection module
for connecting to a WiFi network. Similarly, chair 202 may include other modules for
connecting to any other network described herein with reference to various embodiments.
Accordingly, actuator 204 may be shared through the loT and chair 202 may produce
haptic notifications to the user through actuator 204. Such haptic notifications may
be provided to the user instead of or in addition to haptic notifications provided
by a personal device of the user such as a smartphone in the user's pocket.
[0027] Alternatively or additionally, the user may be placing their hands or one of their
personal devices (e.g., a laptop computer, a tablet, etc.) on a haptically enabled
table 206 in a public place. Table 206 includes a haptic actuator 208 (e.g., an ERM
actuator). Table 206 may also include functionality to connect to the loT. Accordingly,
actuator 208 may be shared through the loT and table 206 may produce haptic notifications
to the user through actuator 208.
[0028] Embodiments according to the present invention provide an infrastructure that enables
communication between the user's computing devices/services and the opportunistic,
publicly available, actuators in the user's environment. Such infrastructure may provide
economic incentive to encourage setting up and sharing such opportunistic actuators,
and this may in turn result in these actuators to become more common in the environment.
[0029] An example of a haptically enabled device that may be opportunistically used is a
stapler with a haptic actuator configured to vibrate when the stapler is empty. Any
haptic actuators may be opportunistically used in haptically enabled devices, such
as actuators that are based on haptic technologies that require contact (e.g., vibration,
deformation, temperature, etc.) or those that are based on non-contact haptic technologies
(e.g., projected ultrasounds, air jets, static ESF, etc.).
[0030] One embodiment provides a network infrastructure that allows haptic actuators in
a user's environment to be used opportunistically. For example, when a user sits on
a chair, their smartphone may detect the availability of a haptic actuator in the
chair, establish communication with it, and use it to produce a haptic track for a
movie that is played back on the smartphone. In one arrangement, the haptified chair
belongs to the user and is used exclusively by the user. In one embodiment, the haptified
chair belongs to a third party, and the owner of the chair may register it with a
service such that its haptic actuator becomes available for others to use. The service
can then manage micro-transactions between the haptic provider (i.e., the owner of
the chair) and the user that desires haptic feedback. In one embodiment, the provider
may charge a fee (e.g., $0.001) for every notification produced on the haptic chair.
The service thus enables a sharing economy for haptic actuators, and therefore can
encourage their spread in the environment.
[0031] In one embodiment, for example, a user may be sitting in a coffee shop and watching
a movie on their tablet device. As the user presses "play," a pop-up notification
may appear asking the user if they would like to use the publicly available chair's
haptic actuator for $1 per hour. If the user presses "yes," they may watch the movie
while receiving corresponding haptic effects from the chair.
[0032] In one embodiment, for example, a user's smartphone may determine that the user is
late for a meeting. The smartphone may then identify haptically enabled objects that
are likely to be touched by the user, and use them to provide haptic effects to notify
the user. For example, a user may touch a haptically enabled stapler and feel a distinct
vibration pattern that is provided based on communication with the user's smartphone
to indicate that the user is late for the meeting. The smartphone may produce such
notifications on any haptically enabled object that the user is likely to touch.
[0033] In one embodiment, a user is looking for an item in a supermarket and types a corresponding
request on their smartphone to be guided toward the correct aisle by haptic feedback
on the floor. When the user walks in front of the correct aisle, the floor tiles vibrate
to indicate to the user to make a turn into that aisle. In an alternative or additional
embodiment, an air puff may be provided to guide the user into the correct aisle.
[0034] In one embodiment, a haptically enabled device that is dedicated to a person, object,
or task is opportunistically used to provide haptic effects to a random person that
is in its proximity. In one embodiment, the dedicated haptically enabled device implements
a haptic technology that facilitates such opportunistic functionality, such as projection
haptics, floor haptics, etc. For example, an ultrasound emitter worn on a person's
neck may be used to provide haptic notifications to another person that is passing
by. Similarly, a haptic floor pad intended for a kiosk may be used to provide haptic
feedback as a person walks on it. In one embodiment, a distributed system detects
when an opportunistic device is available in a person's environment, and a communication
platform facilitates the sharing of the opportunistic device with that person.
[0035] In one embodiment, when a haptically enabled device that is dedicated to a first
person is opportunistically used to provide haptic effects to a second person that
is in its proximity, a feedback (e.g., a haptic or other type of notification) is
provided to the first person to indicate that their device is being opportunistically
used to provide haptic effects to another person. For example, a smartphone of the
first person may provide textual, audio, visual, and/or haptic notification to indicate
to the first person that one of their haptically enabled devices (e.g., an ultrasound
emitter worn on the first person's neck) is being used to provide haptic effects to
the second person. The first person may then have the option to ignore the notification
or disallow/terminate such opportunistic use.
[0036] In one embodiment, when an opportunistic haptically enabled device is available for
providing haptic effects to a person, a wearable device or a mobile device of that
person provides feedback to that person to indicate that haptic effects are being
provided via the opportunistic device. In one embodiment, the feedback is provided
with a distinctive haptic effect. The feedback may also provide a directional cue
to indicate where the opportunistic device is located. The feedback may also provide
other haptic content associated with what is provided by the opportunistic device.
For example, the feedback may correspond to a background haptic track that matches
the haptic content provided by the opportunistic device.
[0037] One embodiment provides opportunistic haptic functionality by implementing a haptic
device in a user's environment, a user agent for requesting haptic feedback from the
haptic device, and a broker service to establish connections between the user agent
and the haptic device. The user agent may be implemented anywhere in the system. For
example, the user agent may be decoupled from the haptic device and may receive input
from a variety of devices. In some embodiments, the user agent may be implemented
in the cloud, in a local network, etc. In some alternative or additional embodiments,
a mobile device of a user may include an actuator as well as a user agent for the
mobile device and/or other devices such as devices in the user's device network (e.g.,
wearables, haptically enabled personal items, etc.). Further details of the haptic
device, the user agent, and the broker service are provided as follows.
Haptic Device
[0038] In one embodiment, one or more network connected haptic devices are embedded in a
user's environment, for example, in furniture, architectural elements such as walls
and floors, common objects, computational devices, etc. Each haptic device includes
a haptic actuator, as well as functionality to communicate (e.g., wirelessly or through
a wire) with user devices and/or web services. The haptic device also includes electronics
and software in order to drive the haptic actuator.
[0039] The haptic actuator may provide haptic functionality according to any embodiments
described herein. For example, the haptic actuator may provide haptic feedback including
vibration, deformation, heat, ESF, or any other type of haptic actuation. For example,
a haptic device in a user's environment may be a table covered with a friction display
such that varying textures can be felt when sliding a hand or finger on its surface.
As another example, a vibration actuator may be embedded into floor tiles so that
it can transmit vibrations to the feet of a user. As another example, an ultrasound
emitter can be embedded in a wall so that it can project haptic effects to nearby
users. As another example, a peltier cell can be embedded in a door handle so that
it can change its temperature when touched by a user. Alternatively or additionally,
smartphones, wearables, or other personal computing devices that include haptic actuators
can be used to provide haptic effects to the user.
[0040] The haptic device also includes functionality to communicate directly or indirectly
with a user device or service regarding providing opportunistic haptic functionality.
For example, the haptic device may connect to the Internet directly through a WiFi
or other wireless network or indirectly through a gateway using Bluetooth or other
loT networking technologies. The haptic device may also connect directly to the user's
device using Bluetooth or other short range wireless technologies. In some embodiments,
the communication may first be established through near field communication ("NFC"),
WiFi, or other wireless technologies, and then switched to a more efficient short-range
technology such as Bluetooth.
[0041] In one embodiment, once the haptic device is connected to other devices and services
through wired or wireless communication, it can receive commands for providing haptic
effects. It may also communicate to provide various information, for example, information
about its capabilities, its sensor readings, etc.
[0042] In one embodiment, the haptic device is discoverable by the user's device and/or
service so that the embodiment can determine when the haptic device is within range
of a user. For contact based haptic actuators (e.g., vibration actuators), the haptic
device is within range of a user if the user is touching a surface that the actuator
can produce haptic effects on. For non-contact based haptic actuators (e.g., ultrasound
haptics), the haptic device is within range of a user when the user is within a certain
distance of an emitter of the device and there are no obstructions between the emitter
and the user.
[0043] In one embodiment, instead of or in addition to determining which haptic devices
are within range of a user, it is determined which haptic devices are in the vicinity
of the user. This embodiment is applicable, for example, when it is difficult to determine
with sufficient accuracy whether a haptic device is within range. For example, in
one embodiment, without knowing which haptic devices are able to produce haptic effects
that can be felt by the user, it is determined which haptic devices are near the user's
location. One embodiment may provide a list of nearby haptic devices to the user and
let the user decide which device to use through a graphical Ul.
[0044] In one embodiment, a user may explicitly request to use a specific haptic device
through an interaction with the haptic device or with the object in which the haptic
device is embedded (i.e., the haptified object). In one embodiment, the user may interact
with the haptified object so that the interactions can be captured by sensors in the
object to select the object and/or to put the object in a discovery mode. For example,
a user may tap their phone or wearable device against an NFC tag on a table or another
haptified object to indicate that they desire to use haptic actuators of the table/object.
For example, when the user taps their phone against the object, the resulting vibrations
and/or sounds can be captured by sensors on both the phone and the object and compared
to establish a connection between the haptified object and the phone (e.g., as in
the contacts and file sharing "Bump" application from Bump Technologies). In one embodiment,
the user may press a button on the haptified object and a corresponding button on
their phone to establish a Bluetooth communication between the haptified object and
the phone so that haptic actuators of the object may be used to provide haptic effects
to the user.
[0045] In one embodiment, a projection haptic device may be paired with one or more remote
sensors such as cameras or depth sensors that can detect the presence of a user within
range of the haptic device. In one embodiment, the identity of the detected user may
be determined by any known functionality such as computer vision and a comparison
with data stored in a database to establish a match. For example, one embodiment may
capture an image of the user using a camera, and use the image to perform facial recognition,
read a name tag associated with the user, and/or otherwise identify the user. The
embodiment may then communicate with a server (e.g., a server for a social network,
dating website, search engine, personal website, etc.) to determine additional characteristics
about the user. The characteristics may include, for example, name, social security
number, net worth, height, age, heritage, hair color, nationality, eye color, medical
condition, credit score, gender, credit card number, username (e.g., for a website
or account), password, temperament, mood, employer, job, hobby, likes, dislikes, etc.
[0046] In one embodiment, a haptic device that requires contact with a user to provide haptic
effects may use sensors to determine whether the user is touching a surface on which
the device applies haptic effects. In one embodiment, the surface may be equipped
with a capacitive touch sensor, a pressure sensor, or other sensors that can detect
a touch. In an alternative or additional embodiment, an accelerometer may detect contact
with the body of the user and/or brushing against the surface. In one embodiment,
for example, pressure sensors in a chair may be used to detect whether a user is sitting
on it, and this information may be paired with other sensor data to determine the
identity of the user that is touching a surface when such touch has been detected.
[0047] In one embodiment, the haptified device includes an interaction sensor configured
to detect an interaction with the device, and/or an object that includes the device,
by a user (e.g., using a finger, foot, hand, arm, head, leg, or other body part).
In one embodiment, the user interaction may include touching the object, gesturing
in real space, gesturing using the object (e.g., picking up the object and moving
it in real space), and/or gesturing on an object (e.g., swiping a finger along a surface
of the object). The interaction sensor is further configured to generate a sensor
signal associated with the interaction. The interaction sensor may include an accelerometer,
a gyroscope, a camera, an RFID tag or reader, an indoor proximity system, a NFC communication
device, a global positioning system ("GPS") device, a magnetometer, an ultrasonic
transducer, a wireless interface (e.g., an IEEE 802.11 or Bluetooth interface), an
infrared sensor, a depth sensor, and/or a range sensor.
[0048] For example, in one embodiment, the interaction sensor includes a wireless interface
that is configured to detect the strength of a wireless signal emitted by an object.
The interaction sensor may generate a sensor signal associated with the wireless signal
strength. Based on the wireless signal strength, the embodiment may determine, for
example, whether the sensor is within a predefined distance of the object. If so,
the embodiment may determine an interaction (e.g., coming within a predefined distance
of the object) occurred. In one embodiment, the object may be carried by a person,
and therefore proximity of the object with the sensor would indicate proximity of
the person with the sensor.
[0049] In another embodiment, the interaction sensor may be a 3D imaging system that is
oriented toward the haptified device. Accordingly, the interaction sensor may detect
a user interaction (e.g., tap, touch, gesture on, shake, lift, gesture toward, etc.)
with the device. For example, the interaction sensor includes a camera oriented toward
the device. A user may make a gesture (e.g., a check mark sign) in the air (e.g.,
with a body part, such as a finger, hand, arm, foot, head, or leg) near the device.
The interaction sensor may capture images associated with the gesture and generate
sensor signals. Based on the sensor signals, the embodiment may determine that a user
interaction occurred. The embodiment may further analyze the sensor signals to determine
the specific type of gesture that occurred. For example, the embodiment may analyze
the sensor signals and determine that the user made a check mark in the air with a
finger.
[0050] In some embodiments, the interaction sensor is external to the haptified device and
in wired or wireless communication with the device. For example, the interaction sensor
may include a camera associated with the device and in communication with the device.
As another example, the interaction sensor may comprise a 3D imaging system (e.g.,
the 3D imaging system commonly sold under the trademark Microsoft Kinect ®) or an
LED-based tracking system positioned external to the device (e.g., on a shelf in a
store) and in communication with the device.
[0051] In some embodiments, the user may use an intermediary object (e.g., a stylus, pen,
cane, or wand) for an interaction with the haptified device, and the embodiment may
detect such an interaction.
[0052] One embodiment may detect a contact anywhere on the object that includes the haptified
device, or a contact with a specific location (e.g., a label) on the object. The embodiment
may detect a location of the contact. For example, the embodiment may detect which
portion of the object (e.g., top, bottom, left side, right side, front, back, a label,
an image, a logo, a piece of text, etc.) was contacted by the user. In one embodiment,
the user may gesture on a surface of the object to interact with it. For example,
the user may perform a two finger pinch on, move multiple fingers along, or make a
checkmark on a surface of the object.
[0053] In some embodiments, the user may interact with the object by making a gesture using
the object or a portion of the object. For example, the user may move the object or
a portion of the object in real 3D space (e.g., using the object or a portion of the
object to draw a letter or number in the air, rotating, tilting, shaking, etc.). One
embodiment may detect more than one user interactions with the object (e.g., making
a gesture in front of the object, contacting the object, making a gesturing along
a surface of the object, and making a gesture using the object). In some embodiments,
a user interaction may include causing an interaction between multiple objects. For
example, the user may tap an object against another object.
[0054] One embodiment may detect a user interacting with (e.g., tapping, holding, gesturing
on, or gesturing toward) a first object with a first body part and interacting with
a second object with a second body part. For example, the embodiment may detect the
user interacting with the first object with the user's right hand and interacting
with the second object with the user's left hand.
[0055] One embodiment may receive a first set of GPS data from the interaction sensor. The
user may also carry a device that also includes GPS functionality and transmits a
second set of GPS data. The embodiment may compare the first set of GPS data with
the second set of GPS data and determine the relative distance between the user and
the haptified device. If the user is within a predetermined distance from the device,
the embodiment may determine that a user interaction has occurred.
[0056] The haptified device may further include one or more additional sensors configured
to generate sensor signals. In some embodiments, the sensors may include, for example,
a humidity sensor, ambient light sensor, gyroscope, GPS unit, accelerometer, range
sensor, depth sensor, biosensor, camera, or temperature sensor. In some embodiments,
the sensors may be external to the device and in wired or wireless communication with
the device. For example, the sensors may include a biosensor coupled to a wearable
device (e.g., a ring or wristband). The biosensor may be configured to wirelessly
transmit sensor signals to the device, which may be, for example, positioned in the
user's pocket.
[0057] In one embodiment, the interaction sensor includes a microphone positioned to detect
sounds associated with the manipulation of a haptified object. For example, a user
may shake a tin of coffee or a box of cereal on a haptified table. The interaction
sensor may detect sounds associated with the shake. The interaction sensor may generate
sensor signals associated with the sounds. Based on the sensor signals, the embodiment
may determine that a user interaction has occurred.
[0058] In one embodiment, the interaction sensor includes an optical sensor. An object may
be positioned for blocking light from reaching the interaction sensor. For example,
the object may sit on top of an interaction sensor embedded in a haptified table.
Upon a user moving the object or manipulating the object, the interaction sensor may
detect a change in the amount of light. The interaction sensor may generate sensor
signals associated with the change in the amount of light. Based on the sensor signals,
the embodiment may determine that a user interaction occurred, or determine a characteristic
of the user interaction (e.g., if the user moved the object a distance that is above
a threshold).
[0059] One embodiment determines a characteristic (e.g., an amount of pressure, speed, direction,
location, or type of gesture) associated with the interaction. The embodiment analyzes
sensor signals from the interaction sensor or any other sensors to determine the characteristic.
For example, the embodiment may analyze images from a 3D imaging system to determine
a type of gesture (e.g., swipe, two-finger pinch, shake, etc.) made by the user.
[0060] One embodiment determines a characteristic associated with the interaction using
swept frequency capacitive sensing. Swept frequency capacitive sensing may include
measuring the change in the capacitance of an object (e.g., in voltage) at a plurality
of frequencies as a user interacts with a haptified object. The embodiment may generate
a profile of the user interaction based on the changed capacitances at the plurality
of frequencies. One embodiment may compare the profile to predetermined interaction
profiles. In one embodiment, each predetermined interaction profile may include a
unique distribution of changes in capacitance at the plurality of frequencies and
may be associated with a different user interaction (e.g., a two finger pinch, a full
hand grasp, or a single finger tap). For example, a predetermined interaction profile
associated with a two finger pinch may be different than a predetermined interaction
profile associated with a full hand grasp. Accordingly, the embodiment may determine
specifically how the user is interacting with the object.
[0061] One embodiment determines a characteristic associated with the interaction based
on sound signals from the interaction sensor. For example, the interaction sensor
may include a microphone. The embodiment receives sensor signals from the interaction
sensor and compares data from the sensor signals with one or more sound profiles.
In one embodiment, each sound profile may include sound data that is associated with
a different user interaction, for example, a user touching an object with a finger,
a knuckle, a finger nail, or a palm. For example, a sound profile associated with
a finger contacting an object may include a different frequency response than a sound
profile associated with a knuckle contacting the object. Accordingly, the embodiment
determines which body part of the user is interacting with the object.
[0062] One embodiment implements testing functionality to confirm whether a haptified object
is within range of a user. For example, after a user has been determined to be in
range of a haptified object, the object may be tested to produce a haptic effect,
and a user's device may be used to detect the haptic effect by a sensor such as an
accelerometer. Accordingly, the embodiment may confirm that haptic effects generated
by the object can reach the user.
User Agent
[0063] One embodiment implements a user agent which is a device or service that represents
the user in requesting haptic feedback from haptic actuators in the user's environment.
In one embodiment, the agent first determines when haptic feedback is required by
the user and what haptic feedback should be produced. In one embodiment, for example,
the user agent collaborates with an application running on the user's phone to determine
when haptic feedback is required by the user and what haptic feedback should be produced.
For example, as the user watches a video on their device, a media player application
may transmit the haptic track of the video to the user agent. Similarly, the operating
system of the user's smartphone may transmit a haptic notification to the user agent
for playback.
[0064] The user agent then establishes a connection with a haptic actuator and requests
playback of a haptic effect or streaming of a sequence of haptic effects. The connection
may be established according to any of the embodiments described herein. For example,
the user agent may detect the Bluetooth beacons of nearby haptic actuators and determine
which one is most likely to produce acceptable haptic feedback for the user.
[0065] In one embodiment, the communication between the user agent and the haptic actuator
may take place directly (e.g., using Bluetooth). In some embodiments, however, the
communication may instead go through a third party service that connects user agents
with haptic actuators. In these embodiments, the user agent may communicate with this
service (e.g., a server) to request a connection to a specific device or a list of
nearby devices. Communications can then continue indirectly through this server, or
the user agent may later establish a direct connection to a device through Bluetooth
communication.
Broker Service
[0066] One embodiment uses a broker service to establish connections between user agents
and haptic actuators so that the haptic actuators may be shared by the users represented
through the user agents. In one embodiment, the service is a third party service that
is provided independently of haptic actuators and user agents. In one embodiment,
the service is a web service that collects various information about the haptic actuators
such as their type, location, range, haptic capabilities, etc. This information may
be provided by the owner of the haptic actuators in order to make them available through
the service. In one embodiment, the service tracks the location of mobile haptic actuators.
For example, the service may track the location of the haptic actuators using GPS,
indoor positioning data, cameras, etc. In one embodiment, the service interacts indirectly
with the haptic actuators using a framework that allows for managing connected accessories/devices
such as Apple's HomeKit, SmartThings hub, etc.
[0067] In one embodiment, when a user desires to find a shared device and receive haptic
feedback, a corresponding user agent communicates with a broker service to determine
if any haptic actuators are available near the user and/or if the user is within range
of any haptic actuators. The broker service may use the location of the user as well
as any other available sensor data (e.g., an interaction sensor or any other sensor
according to any embodiments described herein) to determine which actuators are near
the user. The broker service may then provide availability and other information (e.g.,
capability, type, etc.) of the available actuators to the user agent such that a connection
can be established between the user agent and an identified actuator to let the user
receive haptic feedback from the haptic actuator.
[0068] In one embodiment, the broker service may include a payment system. For example,
in one embodiment, a provider of an available haptic actuator may indicate an associated
cost (e.g., per unit of time, per haptic effect, etc.) for using its haptic actuator.
The cost may be fixed or may change dynamically depending on various parameters such
as time, competitor pricing, supply and demand, and other external factors in the
market. An example of a service that implements dynamic pricing is Uber. In one embodiment,
the broker service collects the cost information from the providers of haptic actuators
(e.g., price per haptic effect, per unit of time, etc.) so this information can be
provided to a user agent that inquires about shared haptic actuators. If the user
agrees to pay the cost to receive haptic effects from a shared actuator, the broker
service implements the payment system to receive payment from the user for using the
shared haptic actuator.
[0069] In one embodiment, the owner of a haptic actuator may determine a price for the use
of the haptic actuator as a function of the time of day. In this embodiment, a user
agent is informed of such price when making a request to use the haptic actuator.
In one embodiment, the user agent accepts or rejects the service offer based on rules,
such as the maximum price set by the user represented by the user agent. In one embodiment,
for example, the user agent may select the least expensive available haptic actuator
or ask the user whether or not to accept a service offer.
[0070] In one embodiment, the broker service and/or the user agent determine the best shared
haptic actuator to use based on the context of use. For example, in one embodiment,
the haptic track of a movie may be better provided by HD actuators while a SD actuator
may be sufficient for some haptic notifications. In one embodiment, after identifying
and collecting information about available shared haptic actuators, the broker service
and/or the user agent may determine that the best actuator to use is a haptic actuator
of one of user devices of the user.
[0071] One embodiment identifies haptic actuators and makes them available through a global
network such as the IoT. In one embodiment, a broker service is implemented as a web
service where haptic actuators register in the cloud and are then available for other
users that reach the cloud and desire to use available haptic actuators.
[0072] Fig. 3 is a flow diagram of haptic functionality in accordance with embodiments of
the present invention. In one embodiment, the functionality of the flow diagram of
Fig. 3 (and Figs. 7-9 below) is implemented by software stored in memory or other
computer readable or tangible medium, and executed by a processor. In other embodiments,
the functionality may be performed by hardware (e.g., through the use of an application
specific integrated circuit ("ASIC"), a programmable gate array ("PGA"), a field programmable
gate array ("FPGA"), etc.), or any combination of hardware and software.
[0073] At 302 a user device of a user indicates that a haptic notification needs to be provided
to the user. For example, a smartphone of a user may receive information or otherwise
determine that the user needs to be haptically alerted of a notification.
[0074] At 304 the user device contacts a broker service with a request to provide the haptic
notification to the user.
[0075] At 306 the broker service identifies haptic actuators that are in the proximity of
the user. For example, the broker service may use GPS or indoor positioning functionality
of the user device and one or more shared haptic actuators to determine if the user
is nearby or within range of the haptic actuators.
[0076] At 308 the broker service offers a haptic actuator to the user device at a given
price (e.g., per haptic notification, per unit of time, etc.). The price may have
been set by a provider of the haptic actuators as a fixed or dynamic price.
[0077] At 310 the user device accepts the offer to use the haptic actuator at the given
price.
[0078] At 312 the broker service establishes a communication between the user device and
the haptic provider. In some embodiments, the haptic provider is implemented within
the object that embeds the haptic actuator. In some other embodiments, the haptic
provider is separate from the haptic actuator, and the haptic actuator identifies/registers
itself with the haptic provider so that the haptic provider can determine what haptic
effects to send to the device/object that embeds the haptic actuator.
[0079] At 314 the haptic provider produces haptic feedback on the haptic actuator. Accordingly,
the user receives the haptic notification via the shared haptic actuator of the haptic
provider.
Haptic Alerts based on Information from loT Items or Mobile Devices
[0080] In one embodiment, various loT items and/or mobile devices are utilized to collect
information pertinent to a user and to provide corresponding haptic effects to the
user. Examples of such items/devices are smartphones, smart watches, smart wallets,
smart cloths, smart fridges, or any other items that include functionality for connecting
to a cloud system or to another network system and for providing information to the
cloud system or the network system.
[0081] In one embodiment, the haptic effects may correspond to an alert that is necessitated
by the information collected from the loT items and/or mobile devices. For example,
information from the loT items and/or mobile devices of a user may be processed to
determine if the user is missing or needing an item and provide corresponding alerts
to the user if necessitated. The alert may be a haptic alert that is provided to the
user by a haptically enabled device/object of the user or by a shared haptic actuator
as described herein with reference to various embodiments.
[0082] Fig. 4 illustrates an example system 400 for providing haptic functionality. System
400 includes a user's suitcase 402 that can provide a haptic alert to the user based
on information collected from the loT items and/or mobile devices of the user. For
example, the haptic alert may be provided to the user by a haptic actuator 404 on
a telescopic handle 406 of suitcase 402 and/or by a haptic actuator 408 on a side
handle 410 of suitcase 402. Actuators 404 and 408 may implement any haptic functionality
described herein with reference to various embodiments. For example, actuators 404
and 408 may implement functionality according to TouchSense™ software by Immersion
Corp.
[0083] In one embodiment, in addition to haptic actuator 408, side handle 410 of suitcase
402 may include a weight sensor that can be used to determine the weight of suitcase
402 when lifted by side handle 410 so that a haptic notification may be provided to
the user via a haptically enabled device within range of the user to indicate if suitcase
402 is overweight.
[0084] In one embodiment, suitcase 402 may include various personal items of the user that
are connected to the IoT, such as smart clothing or smart electronic devices. The
IoT items of the user may send information to a cloud service which collects the information
and compares it with a list of items that the user has indicated as required to being
packed in suitcase 402. Such list may have been previously compiled and provided by
the user to the cloud service. If the comparison indicates that the user is missing
an item that should have been included in suitcase 402, a distinctive haptic alert
is provided to the user by a haptically enabled device within range of the user.
[0085] In one embodiment, suitcase 402 may also include various sensors that are used to
collect information and provide haptic notification to the user. For example, wheels
412 of suitcase 402 may include an acceleration sensor that can be used to determine
if the user is on the move. Wheels 412 or any other portion of suitcase 402 may also
include GPS or other location functionality that can be used to determine the location
of the user. Based on the information provided by the acceleration sensor, the location
functionality, and/or the loT items or mobile device, system 400 may provide any necessitated
haptic notifications to the user via a haptically enabled device within range of the
user. One embodiment may collect further information from loT items located around
the user or synced manually with system 400.
[0086] One arrangement provides dynamic haptic alerts based on the location of the user.
For example, if the user is lugging suitcase 402 at a shopping area of an airport
and the boarding time is close, a haptic notification may be provided to the user
via actuator 404 to indicate to the user to return to the gate. In another example,
if the user is lugging suitcase 402 at a shopping area of an airport and there is
an item missing in suitcase 402, a haptic notification may be provided to the user
via actuator 404 to indicate to the user to purchase the missing item at the shopping
area.
[0087] In one embodiment, after system 400 determines what items are packed in suitcase
402, it may further determine whether the user is moving (e.g., out of a hotel). For
example, system 400 may use an acceleration sensor and/or GPS functionality to determine
movement that has an intensity that cannot be attributed to just loading suitcase
402. Accordingly, when it is determined that suitcase 402 is moving, system 400 may
alert the user via a haptically enabled device within the range of the user if suitcase
402 is missing an item. In one embodiment, the intensity of the alert is increased
as the movement is increased.
[0088] One embodiment determines if the user is missing or needing an item by implementing
a "checksum" functionality over the items already with the user. For example, a checksum
functionality may be applied to the loT items in suitcase 402 to determine if the
user is missing an item. Such checksum functionality may be used to dynamically create
corresponding haptic effects to be played back on a haptically enabled device that
is closest to the user and/or within range of the user.
[0089] Embodiments are also applicable to any functionality for providing dynamic alerts
based on the location of the user. For example, if a user is at a supermarket and
their smart fridge indicates that they are missing an item (e.g., milk), a haptically
enabled device within range of the user may be used to provide a corresponding haptic
alert to the user. One embodiment further implements functionality to further specify
severity and/or priority of such alerts.
[0090] One embodiment determines missing items by labeling items with key features. For
example, one embodiment labels each item as a "bucket" or a "simple item," where a
"bucket" is an item that holds other items (e.g., a suitcase, a wallet, a purse, a
backpack, etc.) and a "simple item" is an item that is placed inside a "bucket" (e.g.,
clothes, phones, computers, tablets, groceries, etc.). One embodiment further associates
relative priorities to the items. For example, a smart wallet may be given the highest
priority while a certain piece of casual smart clothing may be given the lowest priority.
The embodiment then determines, based on various inputs, (e.g., a user's schedule,
location, etc.) which of their "items" they should have with them, and provides alerts
based on missing items and the priority of missing items.
[0091] One embodiment implements a cloud based haptic control system, or other remote network,
that performs device authentication and registration in the cloud, and user data storage
of devices and their haptic capabilities in the cloud. The cloud based haptic control
system also executes device and effect decision functionality to determine which device
to play an effect on and which effect to play. The decision algorithms may be based
on user inputs and usage context. Such user inputs may be provided by the same devices
or by other components/devices different than the devices.
[0092] In one embodiment, for example, the cloud system may be used to establish a connection
to a smart device to alert a user of the device if the device is left behind in a
security line at an airport. As another example, the cloud system may be used to implement
location based alerts (e.g., driving past a gas station, receiving an alert to purchase
an item at a supermarket based on data from a smart fridge, etc.). As another example,
the cloud system may be used to play a high priority alert when a high priority item
is stolen from a user's bag (e.g., a wallet/phone/watch is taken out of a bag).
[0093] In one embodiment, a cloud backend executes device and effect decision functionality
to control which device plays haptic effects and what haptic effects to play. One
embodiment provides device side functionality for connectivity to the cloud and a
software development kit ("SDK") that allows the cloud to control haptic playback
on a device.
[0094] One embodiment implements a peer to peer network of devices where each node (e.g.,
each device) handles part of the execution of the device and effect decision functionality
instead of the cloud backend.
[0095] One embodiment tags alerts. By tagging different kinds of alerts, the embodiment
may implement a lookup table of the tags and associated alerts so that, upon receiving
a tagged notification, the lookup table can be used to determine an alert haptic signal
that corresponds to the tag and then relay the alert haptic signal to an appropriate
haptic actuator.
[0096] Fig. 5 illustrates an example cloud system 500 for providing haptic functionality
in accordance with embodiments of the present invention. In certain embodiments, services
provided by cloud system 500 may include a host of services that are made available
to users of cloud system 500 on demand, such as online data storage and backup solutions,
Web-based e-mail services, hosted office suites and document collaboration services,
database processing, managed technical support services, and haptic services. Cloud
computing is a model for enabling convenient, on-demand network access to a shared
pool of configurable computing resources (e.g., networks, servers, storage, applications,
and services). The services provided or accessed through the cloud (or network) are
referred to as cloud services. A cloud service provider may make cloud services available
to a customer using a device 502 or object 504 that is registered at cloud system
500.
[0097] Services provided by cloud system 500 can dynamically scale to meet the needs of
its users. A specific instantiation of a service provided by cloud system 500 is referred
to as a "service instance." In general, any service made available to a user via a
communication network, such as the Internet, from a cloud service provider's system
is referred to as a "cloud service." Typically, in a public cloud environment, servers
and systems that make up the cloud service provider's system are different from the
customer's own personal and/or on-premises servers and systems. For example, a cloud
service provider's system may host an application, and a user may, via a communication
network such as the Internet, on demand, order and use the application.
[0098] Cloud system 500 includes devices 502 and object 504 that implement functionality
for connecting to a network 506. Devices 502 may include smartphones, smart watches,
smart fridges, etc. Objects 502 may include any loT objects described herein with
reference to various embodiments. Network 506 may include one or more local area networks,
wide area networks, the Internet, etc. Further, network 506 may include various combinations
of wired and/or wireless networks, such as, for example, copper wire or coaxial cable
networks, fiber optic networks, Bluetooth wireless networks, WiFi wireless networks,
CDMA, FDMA, and TDMA cellular wireless networks, etc., which execute various network
protocols, such as, for example, wired and wireless Ethernet, Bluetooth, etc.
[0099] Devices 502 may include haptically enabled personal devices or any other devices
that include haptic actuators. Objects 504 may also be haptically enabled and include
one or more haptic actuators.
[0100] Cloud system 500 further includes a server 508 that is connected to network 506.
Server 508 may operate as a backend in cloud system 500 to provide haptic functionality
over cloud system 508. Cloud system 500 may also include a data store 510 that is
used by server 508 to provide backend functionality over cloud system 500. Server
508 may execute a server side application that communicates with client side applications
executing on devices 502 and/or objects 504 to provide haptic effects via haptic actuators
in devices 502 and/or objects 504. In one embodiment, the server side application
is a web server application that communicates with a web browser application executing
on a haptic device 502. Other client-server and distributed software architectures
are also contemplated by the present embodiments.
[0101] Fig. 6 illustrates an example system 600 for providing haptic functionality in accordance
with embodiments of the present invention. System 600 implements device and effect
decision functionality over a cloud system such as cloud system 500 in Fig. 5. In
system 600, one or more user devices 602 provide various information (e.g., location
information, alerts, etc.) to a cloud backend service 604. Cloud backend service 604
may be provided, for example, by server 508 and data store 510 of cloud system 500
of Fig. 5.
[0102] Cloud backend service 604 includes a device registration and authentication module
608 that allows for one or more haptic devices 606 to connect to system 600, register
with system 600, and be authenticated. Haptic devices 606 may include haptically enabled
personal devices (e.g., smartphones, smart watches, etc.) or haptically enabled loT
objects (e.g., chairs, tables, etc.). In one embodiment, haptic devices 606 may include
haptically enables devices/objects that are shared by their provider/user over system
600 so they can be used by other users.
[0103] Cloud backend service 604 also includes a user data module 610 that receives haptic
device information from device registration and authentication module 608 and determines
whether a shared/available haptically enabled device/object is nearby or within range
of a user that desires to receive haptic effects. User data module 610 may use any
user and/or device data available at cloud backend service 604 to make such determination.
For example, user data module 610 may make such determination based on the location
of haptic devices 606 and the location of the user that desires to receive haptic
effects or needs to be notified with a haptic alert.
[0104] Cloud backend service 604 also includes a haptic device decision module 612 that
receives information about available haptic devices 606 from user data module 610
and determines which haptic devices 606 to use for providing haptic effects to a user.
Cloud backend service 604 also includes a haptic effect decision module 614 that receives
information about the selected haptic devices 606 from haptic device decision module
612 and determines which haptic effects need to be provided on the selected haptic
devices 606 and sends corresponding commands to the selected haptic devices 606.
[0105] Fig. 7 is a flow diagram of the operation of haptic device decision module 612 of
Fig. 6 in one embodiment. At 702 haptic device decision module 612 receives information
about available haptic devices 606 from user data module 610. At 704 haptic device
decision module 612 determines the proximity of haptic devices 606 to the user. At
706 haptic device decision module 612 determines the haptic capabilities of haptic
devices 606. Based on the proximity and haptic capabilities of haptic devices 606,
at 708 haptic device decision module 612 determines one or more subsets of haptic
devices 606 to use for providing haptic effects to the user.
[0106] For example, in one embodiment, haptic devices 606 may be divided into subsets based
on their properties (e.g., haptic capabilities, haptic technology (e.g., vibration,
projection, deformation, etc.), haptic effect strength/perception, etc.). For example,
one subset of haptic devices 606 may include contact based haptic devices that are
presumed to be in physical contact with the body of the user, and another subset of
haptic devices 606 may include non-contact based haptic devices that are within range
of the user. Alternatively or additionally, haptic devices 606 may be divided into
subsets based on their geographical location and/or the type/properties of the device/object
they are embedded within (e.g., mobile/non-mobile devices, appliances, wearables/non-wearable
devices, personal/public objects, secure/non-secure devices (e.g., whether the device
is password protected, etc.), battery-powered/line-powered devices, etc.).
[0107] Fig. 8 is a flow diagram of the operation of haptic effect decision module 614 of
Fig. 6 in one embodiment. At 802 haptic effect decision module 614 receives information
about one or more subsets of haptic devices 606 determined by haptic device decision
module 612 to use for providing haptic effects to the user. At 804 haptic effect decision
module 614 determines a severity of a notification that needs to be provided to the
user. At 806 haptic effect decision module 614 determines a fidelity of haptic devices
in the subsets provided by haptic device decision module 612. Based on the fidelity
of the devices and the severity of the notification, at 808 haptic effect decision
module 614 select a haptic device for providing the notification to the user. Based
on such a selection, at 810 haptic effect decision module 614 selects a haptic effect
for providing the notification to the user via the selected haptic device.
[0108] In one embodiment, for example, the haptic effect may be selected from a cloud library
based on one or more input tags. For example, one embodiment may implement an input
tag corresponding to the device type and another input tag corresponding to the alert
type, and the input tags in combination identify a haptic effect in the library that
is configured to provide such an alert type (e.g., a strong vibration for a high priority
alert) on such a device type (e.g., a haptic device that includes a low fidelity vibrating
actuator). Once the haptic device and the haptic effects are selected, corresponding
information is provided to the haptic device to provide the haptic effect to the user.
[0109] Fig. 9 is a flow diagram of haptics module 16 of Fig. 1 when producing haptic effects
in accordance with embodiments of the present invention.
[0110] At 902 information is received from a first device registered at the networked system
and at 904 a notification is determined to be provided to a user based on the information.
[0111] At 906 a second device registered at the networked system is selected. The second
device is selected from a plurality of devices registered at the networked system,
and each one of the plurality of devices includes a haptic actuator. The second device
is selected based on a relative location of the second device with respect to the
user. In one embodiment, the relative location of the second device with respect to
the user is determined based on the information received from the first device and
information at the networked system about the second device. In one embodiment, the
second device is selected from the plurality of devices further based on a haptic
capability of the second device, a severity of the notification, and a fidelity of
the second device. In one embodiment, the second device includes a sensor configured
to detect a user interaction with the second device, and the second device is selected
based on the user interaction.
[0112] At 908 the notification is provided to the user by producing a haptic effect on the
second device. In one embodiment, the haptic effect is determined based on characteristics
of the notification and characteristics of the second device. In one embodiment, the
characteristics of the notification include a context of the notification or a severity
of the notification. In one embodiment, the characteristics of the second device include
a fidelity of the second device or a haptic capability of the second device.
[0113] In one embodiment, the information received from the first device indicates that
the user is missing an item. In one embodiment, the networked system determines that
the user is missing an item based on information received from a plurality of devices
registered at the networked system. In one embodiment, the networked system determines
that the user is missing an item and by comparing the information received from the
plurality of devices with a list of items that the user needs to have, wherein the
list is based on a location of the user.
[0114] As disclosed, embodiments allow for using various network connected device such as
loT objects/devices to provide haptic effects to a user. In one embodiment, loT devices
are used to collect information pertinent to a user to alert the user if necessary.
In one embodiment, network connected haptically enabled devices are opportunistically
used to alert a user of a notification when the user is within range or in proximity
of such devices. Accordingly, embodiments allow for better haptic notification coverage.
[0115] Several embodiments are specifically illustrated and/or described herein. However,
it will be appreciated that modifications and variations of the disclosed embodiments
are covered by the above teachings and within the purview of the appended claims without
departing from the scope of the invention.
1. A non-transitory computer readable medium (14) having instructions stored thereon
that, when executed by a processor (22), cause the processor (22) to provide haptic
functionality over a networked system (10, 200, 400, 500, 600) by:
receiving (902) information from a first device registered at the networked system
(10, 200, 400, 500, 600);
determining (904) a notification to be provided to a user based on the information;
identifying available devices that are within range of the user or in the vicinity
of the user, wherein the available devices are publicly available objects embedded
in the user's environment and each one of the available devices is registered at the
networked system (10, 200, 400, 500, 600) and includes a haptic actuator (204, 208,
404, 408), and wherein an object is considered to be within range of the user if haptic
effects generated by the object can reach the user;
selecting (906) a second device (202, 206, 406, 410, 502, 504, 606) from the available
devices that are within range of the user or in the vicinity of the user; and
providing (908) the notification to the user by producing a haptic effect on the second
device (202, 206, 406, 410, 502, 504, 606).
2. The non-transitory computer readable medium (14) of claim 1, wherein a relative location
of the second device (202, 206, 406, 410, 502, 504, 606) with respect to the user
is determined based on the information received from the first device and information
at the networked system (10, 200, 400, 500, 600) about the second device (202, 206,
406, 410, 502, 504, 606) and/or wherein the second device (202, 206, 406, 410, 502,
504, 606) is selected from the available devices that are within range of the user
or in the vicinity of the user based on a haptic capability of the second device (202,
206, 406, 410, 502, 504, 606), a severity of the notification, and a fidelity of the
second device (202, 206, 406, 410, 502, 504, 606).
3. The non-transitory computer readable medium (14) of claim 1, wherein the haptic effect
is determined based on characteristics of the notification and characteristics of
the second device (202, 206, 406, 410, 502, 504, 606).
4. The non-transitory computer readable medium (14) of claim 3, wherein the characteristics
of the notification include a context of the notification or a severity of the notification
and/or wherein the characteristics of the second device (202, 206, 406, 410, 502,
504, 606) include a fidelity of the second device (202, 206, 406, 410, 502, 504, 606)
or a haptic capability of the second device (202, 206, 406, 410, 502, 504, 606).
5. The non-transitory computer readable medium (14) of claim 1, wherein the second device
(202, 206, 406, 410, 502, 504, 606) includes a sensor configured to detect a user
interaction with the second device (202, 206, 406, 410, 502, 504, 606), wherein the
second device (202, 206, 406, 410, 502, 504, 606) is selected from the available devices
that are within range of the user or in the vicinity of the user based on the user
interaction.
6. The non-transitory computer readable medium (14) of claim 1, wherein the publicly
available objects include furniture or an architectural element.
7. A method of providing haptic functionality over a networked system (10, 200, 400,
500, 600), the method being executed by a processor (22) and comprising:
receiving (902) information from a first device registered at the networked system
(10, 200, 400, 500, 600);
determining (904) a notification to be provided to a user based on the information;
identifying available devices that are within range of the user or in the vicinity
of the user, wherein the available devices are publicly available objects embedded
in the user's environment and each one of the available devices is registered at the
networked system (10, 200, 400, 500, 600) and includes a haptic actuator (204, 208,
404, 408), and wherein an object is considered to be within range of the user if haptic
effects generated by the object can reach the user;
selecting (906) a second device (202, 206, 406, 410, 502, 504, 606) from the available
devices that are within range of the user or in the vicinity of the user; and
providing (908) the notification to the user by producing a haptic effect on the second
device (202, 206, 406, 410, 502, 504, 606).
8. The method of claim 7, wherein a relative location of the second device (202, 206,
406, 410, 502, 504, 606) with respect to the user is determined based on the information
received from the first device and information at the networked system (10, 200, 400,
500, 600) about the second device (202, 206, 406, 410, 502, 504, 606) and/or wherein
the second device (202, 206, 406, 410, 502, 504, 606) is selected from the available
devices that are within range of the user or in the vicinity of the user based on
a haptic capability of the second device (202, 206, 406, 410, 502, 504, 606), a severity
of the notification, and a fidelity of the second device (202, 206, 406, 410, 502,
504, 606).
9. The method of claim 7, wherein the haptic effect is determined based on characteristics
of the notification and characteristics of the second device (202, 206, 406, 410,
502, 504, 606) or wherein the haptic effect is determined based on characteristics
of the notification and characteristics of the second device (202, 206, 406, 410,
502, 504, 606) and the characteristics of the notification include a context of the
notification or a severity of the notification.
10. The method of claim 7, wherein the publicly available objects include furniture or
an architectural element.
11. A system for providing haptic functionality over a networked system (10, 200, 400,
500, 600), comprising:
a receiving module that receives information from a first device registered at the
networked system (10, 200, 400, 500, 600);
a determining module that determines a notification to be provided to a user based
on the information;
an identification module that identifies available devices that are within range of
the user or in the vicinity of the user, wherein the available devices are publicly
available objects embedded in the user's environment and each one of the available
devices is registered at the networked system (10, 200, 400, 500, 600) and includes
a haptic actuator (204, 208, 404, 408), and wherein an object is considered to be
within range of the user if haptic effects generated by the object can reach the user;
a selecting module that selects a second device (202, 206, 406, 410, 502, 504, 606)
from the available devices that are within range of the user or in the vicinity of
the user; and
a providing module that provides the notification to the user by producing a haptic
effect on the second device (202, 206, 406, 410, 502, 504, 606).
12. The system of claim 11, wherein the publicly available objects include furniture or
an architectural element.
1. Nichtflüchtiges computerlesbares Medium (14), auf dem Befehle gespeichert sind, die,
wenn sie durch einen Prozessor (22) ausgeführt werden, bewirken, dass der Prozessor
(22) eine haptische Funktionalität über ein vernetztes System (10, 200, 400, 500,
600) bereitstellt durch:
Empfangen (902) von Informationen von einer ersten Vorrichtung, die bei dem vernetzten
System (10, 200, 400, 500, 600) registriert ist;
Bestimmen (904) einer für einen Benutzer bereitzustellenden Benachrichtigung auf der
Basis der Informationen;
Identifizieren von verfügbaren Vorrichtungen, die sich innerhalb der Reichweite des
Benutzers oder in der Nähe des Benutzers befinden, wobei die verfügbaren Vorrichtungen
öffentlich verfügbare Objekte sind, die in die Umgebung des Benutzers eingebettet
sind, und eine jede der verfügbaren Vorrichtungen bei dem vernetzten System (10, 200,
400, 500, 600) registriert ist und einen haptischen Aktuator (204, 208, 404, 408)
umfasst, und wobei ein Objekt als innerhalb der Reichweite des Benutzers betrachtet
wird, wenn durch das Objekt erzeugte haptische Effekte den Benutzer erreichen können;
Auswählen (906) einer zweiten Vorrichtung (202, 206, 406, 410, 502, 504, 606) aus
den verfügbaren Vorrichtungen, die sich innerhalb der Reichweite des Benutzers oder
in der Nähe des Benutzers befinden; und
Bereitstellen (908) der Benachrichtigung für den Benutzer durch Erzeugen eines haptischen
Effekts an der zweiten Vorrichtung (202, 206, 406, 410, 502, 504, 606).
2. Nichtflüchtiges computerlesbares Medium (14) nach Anspruch 1, wobei ein relativer
Ort der zweiten Vorrichtung (202, 206, 406, 410, 502, 504, 606) in Bezug auf den Benutzer
auf der Basis der von der ersten Vorrichtung empfangenen Informationen und Informationen
am vernetzten System (10, 200, 400, 500, 600) über die zweite Vorrichtung (202, 206,
406, 410, 502, 504, 606) bestimmt wird und/oder wobei die zweite Vorrichtung (202,
206, 406, 410, 502, 504, 606) aus den verfügbaren Vorrichtungen, die sich innerhalb
der Reichweite des Benutzers oder in der Nähe des Benutzers befinden, auf der Basis
einer haptischen Fähigkeit der zweiten Vorrichtung (202, 206, 406, 410, 502, 504,
606), eines Schweregrades der Benachrichtigung und einer Wiedergabetreue der zweiten
Vorrichtung (202, 206, 406, 410, 502, 504, 606) ausgewählt wird.
3. Nichtflüchtiges computerlesbares Medium (14) nach Anspruch 1, wobei der haptische
Effekt auf der Basis von Eigenschaften der Benachrichtigung und Eigenschaften der
zweiten Vorrichtung (202, 206, 406, 410, 502, 504, 606) bestimmt wird.
4. Nichtflüchtiges computerlesbares Medium (14) nach Anspruch 3, wobei die Eigenschaften
der Benachrichtigung einen Kontext der Benachrichtigung oder einen Schweregrad der
Benachrichtigung umfassen und/oder wobei die Eigenschaften der zweiten Vorrichtung
(202, 206, 406, 410, 502, 504, 606) eine Wiedergabetreue der zweiten Vorrichtung (202,
206, 406, 410, 502, 504, 606) oder eine haptische Fähigkeit der zweiten Vorrichtung
(202, 206, 406, 410, 502, 504, 606) umfassen.
5. Nichtflüchtiges computerlesbares Medium (14) nach Anspruch 1, wobei die zweite Vorrichtung
(202, 206, 406, 410, 502, 504, 606) einen Sensor umfasst, der dazu ausgelegt ist,
eine Benutzerwechselwirkung mit der zweiten Vorrichtung (202, 206, 406, 410, 502,
504, 606) zu detektieren, wobei die zweite Vorrichtung (202, 206, 406, 410, 502, 504,
606) aus den verfügbaren Vorrichtungen, die sich innerhalb der Reichweite des Benutzers
oder in der Nähe des Benutzers befinden, auf der Basis der Benutzerwechselwirkung
ausgewählt wird.
6. Nichtflüchtiges computerlesbares Medium (14) nach Anspruch 1, wobei die öffentlich
verfügbaren Objekte Möbel oder ein Architekturelement umfassen.
7. Verfahren zum Bereitstellen einer haptischen Funktionalität über ein vernetztes System
(10, 200, 400, 500, 600), wobei das Verfahren durch einen Prozessor (22) ausgeführt
wird und umfasst:
Empfangen (902) von Informationen von einer ersten Vorrichtung, die bei dem vernetzten
System (10, 200, 400, 500, 600) registriert ist;
Bestimmen (904) einer für einen Benutzer bereitzustellenden Benachrichtigung auf der
Basis der Informationen;
Identifizieren von verfügbaren Vorrichtungen, die sich innerhalb der Reichweite des
Benutzers oder in der Nähe des Benutzers befinden, wobei die verfügbaren Vorrichtungen
öffentlich verfügbare Objekte sind, die in die Umgebung des Benutzers eingebettet
sind, und eine jede der verfügbaren Vorrichtungen bei dem vernetzten System (10, 200,
400, 500, 600) registriert ist und einen haptischen Aktuator (204, 208, 404, 408)
umfasst, und wobei ein Objekt als innerhalb der Reichweite des Benutzers betrachtet
wird, wenn durch das Objekt erzeugte haptische Effekte den Benutzer erreichen können;
Auswählen (906) einer zweiten Vorrichtung (202, 206, 406, 410, 502, 504, 606) aus
den verfügbaren Vorrichtungen, die sich innerhalb der Reichweite des Benutzers oder
in der Nähe des Benutzers befinden; und
Bereitstellen (908) der Benachrichtigung für den Benutzer durch Erzeugen eines haptischen
Effekts an der zweiten Vorrichtung (202, 206, 406, 410, 502, 504, 606).
8. Verfahren nach Anspruch 7, wobei ein relativer Ort der zweiten Vorrichtung (202, 206,
406, 410, 502, 504, 606) in Bezug auf den Benutzer auf der Basis der von der ersten
Vorrichtung empfangenen Informationen und Informationen am vernetzten System (10,
200, 400, 500, 600) über die zweite Vorrichtung (202, 206, 406, 410, 502, 504, 606)
bestimmt wird und/oder wobei die zweite Vorrichtung (202, 206, 406, 410, 502, 504,
606) aus den verfügbaren Vorrichtungen, die sich innerhalb der Reichweite des Benutzers
oder in der Nähe des Benutzers befinden, auf der Basis einer haptischen Fähigkeit
der zweiten Vorrichtung (202, 206, 406, 410, 502, 504, 606), eines Schweregrades der
Benachrichtigung und einer Wiedergabetreue der zweiten Vorrichtung (202, 206, 406,
410, 502, 504, 606) ausgewählt wird.
9. Verfahren nach Anspruch 7, wobei der haptische Effekt auf der Basis von Eigenschaften
der Benachrichtigung und Eigenschaften der zweiten Vorrichtung (202, 206, 406, 410,
502, 504, 606) bestimmt wird oder wobei der haptische Effekt auf der Basis von Eigenschaften
der Benachrichtigung und Eigenschaften der zweiten Vorrichtung (202, 206, 406, 410,
502, 504, 606) bestimmt wird und die Eigenschaften der Benachrichtigung einen Kontext
der Benachrichtigung oder einen Schweregrad der Benachrichtigung umfassen.
10. Verfahren nach Anspruch 7, wobei die öffentlich verfügbaren Objekte Möbel oder ein
Architekturelement umfassen.
11. System zum Bereitstellen einer haptischen Funktionalität über ein vernetztes System
(10, 200, 400, 500, 600), das umfasst:
ein Empfangsmodul, das Informationen von einer ersten Vorrichtung empfängt, die bei
dem vernetzten System (10, 200, 400, 500, 600) registriert ist;
ein Bestimmungsmodul, das eine für einen Benutzer bereitzustellende Benachrichtigung
auf der Basis der Informationen bestimmt;
ein Identifikationsmodul, das verfügbare Vorrichtungen identifiziert, die sich innerhalb
der Reichweite des Benutzers oder in der Nähe des Benutzers befinden, wobei die verfügbaren
Vorrichtungen öffentlich verfügbare Objekte sind, die in die Umgebung des Benutzers
eingebettet sind, und eine jede der verfügbaren Vorrichtungen bei dem vernetzten System
(10, 200, 400, 500, 600) registriert ist und einen haptischen Aktuator (204, 208,
404, 408) umfasst, und wobei ein Objekt als innerhalb der Reichweite des Benutzers
betrachtet wird, wenn durch das Objekt erzeugte haptische Effekte den Benutzer erreichen
können;
ein Auswahlmodul, das eine zweite Vorrichtung (202, 206, 406, 410, 502, 504, 606)
aus den verfügbaren Vorrichtungen auswählt, die sich innerhalb der Reichweite des
Benutzers oder in der Nähe des Benutzers befinden; und
ein Bereitstellungsmodul, das die Benachrichtigung für den Benutzer durch Erzeugen
eines haptischen Effekts an der zweiten Vorrichtung (202, 206, 406, 410, 502, 504,
606) bereitstellt.
12. System nach Anspruch 11, wobei die öffentlich verfügbaren Objekte Möbel oder ein Architekturelement
umfassen.
1. Support non transitoire lisible par ordinateur (14), ayant des instructions qui y
sont stockées qui, lorsqu'elles sont exécutées par un processeur (22), amènent le
processeur (22) à fournir une fonctionnalité haptique sur un système en réseau (10,
200, 400, 500, 600) en :
recevant (902) des informations de la part d'un premier dispositif, enregistré dans
le système en réseau (10, 200, 400, 500, 600) ;
déterminant (904) une notification, à délivrer à un utilisateur, en fonction des informations
;
identifiant des dispositifs disponibles, qui sont à portée de l'utilisateur ou à proximité
de l'utilisateur, dans lequel les dispositifs disponibles sont des objets publiquement
disponibles, incorporés dans l'environnement de l'utilisateur et chacun des dispositifs
disponibles est enregistré dans le système en réseau (10, 200, 400, 500, 600) et comporte
un actionneur haptique (204, 208, 404, 408) et dans lequel un objet est considéré
comme étant à portée de l'utilisateur si des effets haptiques, générés par l'objet,
peuvent atteindre l'utilisateur ;
sélectionnant (906) un second dispositif (202, 206, 406, 410, 502, 504, 606) parmi
les dispositifs disponibles qui sont à portée de l'utilisateur ou à proximité de l'utilisateur
et en
délivrant (908) la notification à l'utilisateur, en produisant un effet haptique sur
le second dispositif (202, 206, 406, 410, 502, 504, 606).
2. Support non transitoire lisible par ordinateur (14) selon la revendication 1, dans
lequel un emplacement relatif du second dispositif (202, 206, 406, 410, 502, 504,
606) par rapport à l'utilisateur est déterminé en fonction des informations, reçues
de la part du premier dispositif et des informations dans le système en réseau (10,
200, 400, 500, 600) concernant le second dispositif (202, 206, 406, 410, 502, 504,
606) et / ou dans lequel le second dispositif (202, 206, 406, 410, 502, 504, 606)
est sélectionné parmi les dispositifs disponibles qui sont à portée de l'utilisateur
ou à proximité de l'utilisateur en fonction d'une capacité haptique du second dispositif
(202, 206, 406, 410, 502, 504, 606), d'une importance de la notification et d'une
fidélité du second dispositif (202, 206, 406, 410, 502, 504, 606).
3. Support non transitoire lisible par ordinateur (14) selon la revendication 1, dans
lequel l'effet haptique est déterminé en fonction de caractéristiques de la notification
et de caractéristiques du second dispositif (202, 206, 406, 410, 502, 504, 606).
4. Support non transitoire lisible par ordinateur (14) selon la revendication 3, dans
lequel les caractéristiques de la notification comportent un contexte de la notification
ou une importance de la notification et / ou dans lequel les caractéristiques du second
dispositif (202, 206, 406, 410, 502, 504, 606) comportant une fidélité du second dispositif
(202, 206, 406, 410, 502, 504, 606) ou une capacité haptique du second dispositif
(202, 206, 406, 410, 502, 504, 606).
5. Support non transitoire lisible par ordinateur (14) selon la revendication 1, dans
lequel le second dispositif (202, 206, 406, 410, 502, 504, 606) comporte un capteur,
configuré pour détecter l'interaction d'un utilisateur avec le second dispositif (202,
206, 406, 410, 502, 504, 606), dans lequel le second dispositif (202, 206, 406, 410,
502, 504, 606) est sélectionné parmi les dispositifs disponibles qui sont à portée
de l'utilisateur ou à proximité de l'utilisateur, en fonction de l'interaction de
l'utilisateur.
6. Support non transitoire lisible par ordinateur (14) selon la revendication 1, dans
lequel les objets publiquement disponibles comportent du mobilier ou un élément architectural.
7. Procédé, consistant à fournir une fonctionnalité haptique sur un système en réseau
(10, 200, 400, 500, 600), le procédé étant exécuté par un processeur (22) et comprenant
les opérations, consistant à :
recevoir (902) des informations de la part d'un premier dispositif, enregistré dans
le système en réseau (10, 200, 400, 500, 600) ;
déterminer (904) une notification, à délivrer à un utilisateur, en fonction des informations
;
identifier des dispositifs disponibles, qui sont à portée de l'utilisateur ou à proximité
de l'utilisateur, dans lequel les dispositifs disponibles sont des objets publiquement
disponibles, incorporés dans l'environnement de l'utilisateur et chacun des dispositifs
disponibles est enregistré dans le système en réseau (10, 200, 400, 500, 600) et comporte
un actionneur haptique (204, 208, 404, 408) et dans lequel un objet est considéré
comme étant à portée de l'utilisateur si des effets haptiques, générés par l'objet,
peuvent atteindre l'utilisateur ;
sélectionner (906) un second dispositif (202, 206, 406, 410, 502, 504, 606) parmi
les dispositifs disponibles qui sont à portée de l'utilisateur ou à proximité de l'utilisateur
et
délivrer (908) la notification à l'utilisateur, en produisant un effet haptique sur
le second dispositif (202, 206, 406, 410, 502, 504, 606).
8. Procédé selon la revendication 7, dans lequel un emplacement relatif du second dispositif
(202, 206, 406, 410, 502, 504, 606) par rapport à l'utilisateur est déterminé en fonction
des informations, reçues de la part du premier dispositif et des informations dans
le système en réseau (10, 200, 400, 500, 600) concernant le second dispositif (202,
206, 406, 410, 502, 504, 606) et / ou dans lequel le second dispositif (202, 206,
406, 410, 502, 504, 606) est sélectionné parmi les dispositifs disponibles qui sont
à portée de l'utilisateur ou à proximité de l'utilisateur, en fonction d'une capacité
haptique du second dispositif (202, 206, 406, 410, 502, 504, 606), d'une importance
de la notification et d'une fidélité du second dispositif (202, 206, 406, 410, 502,
504, 606).
9. Procédé selon la revendication 7, dans lequel l'effet haptique est déterminé en fonction
de caractéristiques de la notification et de caractéristiques du second dispositif
(202, 206, 406, 410, 502, 504, 606) ou dans lequel l'effet haptique est déterminé
en fonction de caractéristiques de la notification et de caractéristiques du second
dispositif (202, 206, 406, 410, 502, 504, 606) et les caractéristiques de la notification
comportent un contexte de la notification ou une importance de la notification.
10. Procédé selon la revendication 7, dans lequel les objets publiquement disponibles
comportent du mobilier ou un élément architectural.
11. Système, destiné à fournir une fonctionnalité haptique sur un système en réseau (10,
200, 400, 500, 600), comprenant :
un module récepteur, qui reçoit des informations d'un premier dispositif, enregistré
dans le système en réseau (10, 200, 400, 500, 600) ;
un module déterminant, qui détermine une notification, à délivrer à un utilisateur
en fonction des informations ;
un module d'identification, qui identifie les dispositifs disponibles qui sont à portée
de l'utilisateur ou à proximité de l'utilisateur, dans lequel les dispositifs disponibles
sont des objets publiquement disponibles, incorporés dans l'environnement de l'utilisateur
et chacun des dispositifs disponibles est enregistré dans le système en réseau (10,
200, 400, 500, 600) et comporte un actionneur haptique (204, 208, 404, 408) et dans
lequel un objet est considéré comme étant à portée de l'utilisateur si des effets
haptiques, générés par l'objet, peuvent atteindre l'utilisateur ;
un module sélectionnant, qui sélectionne un second dispositif (202, 206, 406, 410,
502, 504, 606) parmi les dispositifs disponibles qui sont à portée de l'utilisateur
ou à proximité de l'utilisateur et
un module délivrant, qui délivre la notification à l'utilisateur, en produisant un
effet haptique sur le second dispositif (202, 206, 406, 410, 502, 504, 606).
12. Système selon la revendication 11, dans lequel les objets publiquement disponibles
comportent du mobilier ou un élément architectural.