U.S. patent application number 13/342825 was filed with the patent office on 2012-07-05 for use of geofences for location-based activation and control of services.
Invention is credited to Mani Partheesh, Kirupa Pushparaj.
Application Number | 20120172027 13/342825 |
Document ID | / |
Family ID | 46381190 |
Filed Date | 2012-07-05 |
United States Patent
Application |
20120172027 |
Kind Code |
A1 |
Partheesh; Mani ; et
al. |
July 5, 2012 |
Use of geofences for location-based activation and control of
services
Abstract
Disclosed herein is a geofence service that enables various
remote control and automatic operations based a user's current
geographic position as determined by the user's mobile device's
current geographic location. The geofence service enables the user
to define one or more geofences based on specific geographic
locations. Such geofences may be applied against several geofence
applications for remote and automatic control of devices. In one
embodiment, the mobile device's volume or power control settings
are adjusted based on the user's location inside or outside a
geofence. In one embodiment, temperature setting of a building or
house is controlled based on user's proximity to a geofence. In one
embodiment, electrical appliances within a home are activated and
controlled automatically based on user's current geographic
location.
Inventors: |
Partheesh; Mani; (Santa
Clara, CA) ; Pushparaj; Kirupa; (Santa Clara,
CA) |
Family ID: |
46381190 |
Appl. No.: |
13/342825 |
Filed: |
January 3, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61397727 |
Jan 3, 2011 |
|
|
|
Current U.S.
Class: |
455/420 |
Current CPC
Class: |
H04M 1/72415 20210101;
H04L 12/2816 20130101; H04W 4/021 20130101; H04L 2012/2841
20130101; H04M 1/72457 20210101; H04L 2012/285 20130101 |
Class at
Publication: |
455/420 |
International
Class: |
H04W 4/02 20090101
H04W004/02 |
Claims
1. A method for operating a geofence application to remotely
control an electric or electronic appliance, the method comprising:
defining a geofence associated with a particular geographic
location; and upon a user entering the geofence, automatically
activating an electric or electronic appliance, wherein the user's
current geographic position is determined using the geographic
location of the user's mobile device.
Description
CLAIM OF PRIORITY
[0001] This application claims priority to U.S. Provisional
Application No. 61/397,727, entitled "Remote Appliance Control
utilizing Geofencing Techniques," filed on Jan. 3, 2011, the
contents of which are fully incorporated herein by this
reference.
FIELD
[0002] This application generally relates to the field of
controlling electrical and electronic appliances and services
offered by such appliances utilizing geofencing capabilities
offered through the user's mobile device.
BACKGROUND
[0003] With the ever increasing availability of smart phones, more
and more users are able to use their mobile devices not just for
telephone conversations, but for advanced services (e.g., Internet
browsing, digital video playback, etc.) that would normally require
a personal computer. Such smart phones typically include
geo-positioning capabilities (e.g., GPS locators, etc.), allowing
the mobile device to be cognizant of its present geographic
location.
[0004] These advanced services come at the cost of increased power
consumption, requiring a user to frequently charge the phone for
reliable and continuous usability. In most smart phones, a user may
be able to manipulate certain settings (e.g. WiFi connection
on/off, Bluetooth connection on/off, etc.) to efficiently manage
battery life. Typically, a user would have to manually control such
settings based on the user's location. For example, when the user
is home (with ready access to a power outlet to charge his phone),
the user may have his WiFi and Bluetooth radios turned on. However,
when the user is on the road, the user would have to remember to
turn off the radios to be able to conserve power. The user would
have to manually make desired changes based on changing geographic
situations.
[0005] In another similar example, a user may wish to manually
change ring-option settings based on the user's present location.
For example, the user may desire full volume ring setting at home
but may wish the phone on vibrate when he is outside of his house.
The user may forget to change these settings every time he leaves
or enters his house, leading to either missed calls at home or
unintended interruption at public places.
[0006] In some examples, users may utilize the mobile phone to
remotely control equipment (e.g., dish washer, HVAC control, etc.).
For example, a user may connect to an automated system to remotely
monitor and change temperature settings of his house. In present
remote control systems, the user would need to manually connect to
an online interface (e.g., using Internet browsing capabilities in
his mobile phone) to be able to make such changes. There are some
examples by which the user can automate such settings--for example,
the user may set time-based control by which the temperature at his
home shifts to particular values based on the time of the day.
However, such automatic settings are unintelligent in that they are
consistently applied regardless of whether the user is actually
located at his home or not.
SUMMARY OF THE DISCLOSURE
[0007] This application discloses a geofence service that enables
various remote control and automated operations based a user's
current geographic position as determined by the user's mobile
device's current geographic location. The geofence service enables
the user to define one or more geofences based on particular
geographic locations. Such geofences may be used in conjunction
with several mobile-based "geofence applications" for remote and
automatic control of devices. In one example, the mobile device's
volume or power-control settings (e.g., wireless radios, Bluetooth
radios) are automatically adjusted based on the user's location
inside or outside a geofence. In one example, the temperature
setting of a building or house is selectively controlled based on
the user's proximity to a geofence defined relative to the building
or the house. In one example, electrical appliances within a
geofence (e.g., within a house) are automatically activated and
controlled based on the user's current geographic location relative
to the geofence.
BRIEF DESCRIPTION OF DRAWINGS
[0008] In the drawings:
[0009] FIG. 1 provides a representative environment in which the
invention can be implemented;
[0010] FIG. 2 identifies examples of parameters that a user or the
geofence service may utilize to define a geofence;
[0011] FIG. 3A is an example of a user interface that allows the
user to define various geofence parameters;
[0012] FIGS. 4A-4C describe the operation of the geofence service;
and
[0013] FIGS. 5A-5C describe examples of geofence applications;
and
[0014] FIG. 6 is a high-level block diagram showing an example of
the architecture for a computer system that can be used to practice
this invention.
DETAILED DESCRIPTION
[0015] Various examples of the invention will now be described. The
following description provides specific details for a thorough
understanding and enabling description of these examples. One
skilled in the relevant art will understand, however, that the
invention may be practiced without many of these details. Likewise,
one skilled in the relevant art will also understand that the
invention can include many other obvious features not described in
detail herein. Additionally, some well-known structures or
functions may not be shown or described in detail below, so as to
avoid unnecessarily obscuring the relevant description.
[0016] FIG. 1 and the following discussion provide a brief, general
description of a representative environment in which geofencing
applications can be implemented. Although not required, aspects of
the invention may be described below in the general context of
computer-executable instructions, such as routines executed by a
general-purpose data processing device (e.g., a server computer or
a personal computer). Those skilled in the relevant art will
appreciate that the invention can be practiced with other
communications, data processing, or computer system configurations,
including: wireless devices, Internet appliances, hand-held devices
(including personal digital assistants (PDAs)), wearable computers,
all manner of cellular or mobile phones, multi-processor systems,
microprocessor-based or programmable consumer electronics, set-top
boxes, network PCs, mini-computers, mainframe computers, and the
like. Indeed, the terms "computer," "server," and the like are used
interchangeably herein, and may refer to any of the above devices
and systems.
[0017] While aspects of the invention, such as certain functions,
are described as being performed exclusively on a single device,
the invention can also be practiced in distributed environments
where functions or modules are shared among disparate processing
devices. The disparate processing devices are linked through a
communications network, such as a Local Area Network (LAN), Wide
Area Network (WAN), or the Internet. In a distributed computing
environment, program modules may be located in both local and
remote memory storage devices.
[0018] Aspects of the invention may be stored or distributed on
tangible computer-readable media, including magnetically or
optically readable computer discs, hard-wired or preprogrammed
chips (e.g., EEPROM semiconductor chips), nanotechnology memory,
biological memory, or other data storage media. Alternatively,
computer implemented instructions, data structures, screen
displays, and other data related to the invention may be
distributed over the Internet or over other networks (including
wireless networks), on a propagated signal on a propagation medium
(e.g., an electromagnetic wave(s), a sound wave, etc.) over a
period of time. In some implementations, the data may be provided
on any analog or digital network (packet switched, circuit
switched, or other scheme).
[0019] As shown in FIG. 1, a user may use a personal computing
device (e.g., a phone 102, a personal computer 104, etc.) to
communicate with a network. In one example, the phone 102 connects
using one or more cellular transceivers or base station antennas
106 (in cellular implementations), access points, terminal
adapters, routers or modems 108 (in IP-based telecommunications
implementations), or combinations of the foregoing (in converged
network embodiments). The network 110 allows the phone 102 (with,
for example, WiFi capability) or the personal computer 104 to
access web content offered through various web servers. The network
110 may be any type of cellular, IP-based or converged
telecommunications network. A user uses one of the personal
computing devices (e.g., the phone 102, the personal computer 104,
etc.) to connect to a server 114 through the network 110.
[0020] The geofence server 114 is a server or other computing
system capable of hosting a service that is accessible by other
computing systems (e.g., the personal computer 104) through the
network 110. As will be explained in more detail below, the
geofence server 114 offers a geofence service that enables a
variety of capabilities to a mobile user. In one example, the user
may selectively define a geographic boundary (i.e., geofence)
within which certain functionalities (e.g., mobile device ring
options, temperature control settings, etc.) are automatically
enabled or disabled based on the mobile device's location inside or
outside of the defined geofence.
[0021] FIG. 2 illustrates some of the parameters that that may be
used to establish a geofence for use in a geofence application. In
a first example, a user may define a geofence by means of a zip
code. Here, the user may define the geofence to be a geographic
boundary defined by a zip code or a particular city (e.g., 95630 or
Folsom, Calif.). Here, the geofence application (e.g., an automated
phone-ringer controller) would perform different operations based
on the mobile device's presence within or outside of the geofence
(i.e., within or outside of Folsom, Calif.). In a second example,
the geofence may be a geographic boundary custom-defined by a user.
For example, a user may pull up a map of a particular area (e.g., a
map of Sacramento, Calif.) using services offered by the geofence
server 114. Using the map, the user may define a particular
geofence location (e.g., by drawing a circle or any other shape
over the displayed map to define a geofence boundary). Here, the
geofence server 114 would translate the defined map (i.e., the map
drawn by the user) and translate it to geographic coordinates for
use by the geofence service to determine the presence of the user
within a given geofence. In a third example, the user may define a
geofence based on a telephone area code (e.g., 916 area code for
the Sacramento, Calif. region). Here, the geofence server 114 may
determine a mobile user's current area code and perform functions
based on whether the user is located within or outside a geographic
boundary defined by the area code. In the above examples, the user
may simultaneously define two or more locations (e.g., two area
codes, two cities, etc.) to be one geofence, such that various
operations may automatically be performed based on whether the
mobile user is inside or outside any of the geographic
locations.
[0022] In another example, the user may define a geofence based on
the mobile device's connection to a particular WiFi or Wireless LAN
device. Here, a user may have configured his mobile device such
that the device automatically connects to a particular WiFi or
Wireless LAN connection when the device is within range of a hub
offering such a connection. For example, when a user enters his
home, his mobile device may be configured to automatically connect
to a wireless internet offered by the home's wireless adapter. So,
the phone would use the wireless internet for data services instead
of using a 3G or 4G service offered by the user's mobile service
provider. Here, the geofence is defined by whether the mobile
device is presently connected or not connected to the wireless
network. In some examples, the user may specifically specify the
name of the wireless connection profile (e.g., the SSID) or a
particular IP address or any other indicator associated with a
particular connection profile in order to activate geofence
services only when the mobile device is present within such
wireless connection profiles. To sum up, in a first example, the
geofence services may be activated when the mobile device is
present within the purview of (or connected to) any wireless
network (as opposed to a cellular data network). In a second
example, the geofence services may be activated only when the
wireless device is connected to a specific wireless network.
[0023] In some examples, the user may specify a particular address
and define a geofence in relation to the particular address (or
particular geographic point on a map). For example, the user may
enter an address and specify that the geofence is a 2 mile radius
around that particular address.
[0024] In some examples, an "auto geofence profile" may be used to
automatically define a geofence based on the user's current
geographic location. For example, one of the geofence applications
discussed here is a geofence based phone-ringer manager in a mobile
device. In one use, a vibrate-only option may be automatically
enabled based on the mobile device's current location within a
particular geofence. This particular geofence is normally a fence
defined by the user using one of the above examples. However, if an
"auto geofence profile" is activated, the geofence service would
automatically apply it's own predefined geofences. For example, the
geofence service may define a geofence surrounding cinemas, where
the user's mobile device automatically goes to vibrate when the
user enters that location. The geofence service may predefine this
based on mapping information offered through other services (e.g.,
the geofence service may tap into Google Map.RTM. resources to
identify such information). In another example, the geofence
service may automatically turn off the user's 3G and WiFi services
and put the user's phone on vibrate when the service determines
that the user is located within a proximity of a hospital (as
indicated by the user's present geographic location). In some
examples, the geofence service may automatically apply the auto
profiles as soon as the user enters these "auto geo fences." In
some examples, the geofence service may issue an alert to the user
allowing the user to confirm the auto-profile services (e.g., the
automatic switchover to vibrate setting) before applying such a
setting.
[0025] FIG. 3A illustrates an example of a user interface that
allows the user to define various geofence parameters. Here, in
some cases, the user may utilize more than one parameter for
defining a single geofence and save the definition as a particular
geofence in association with the user's profile. In some instances,
the user may apply these parameters dynamically when a geofence
needs to be established. In the example shown in FIG. 3A, the user
defined a specific wireless network profile (or an IP address
associated with a wireless profile) as the sole parameter for
creating a first geofence (geofence setting 1). In this example,
when the user selects "choose a wireless profile," the system may
automatically retrieve a list of available wireless profiles, or
allow the user to define a particular wireless profile. In
examples, once the "geofence setting 1" is established, the defined
geofence may be instantly applied or may be added to the user's
geofence profile (maintained, for example, by the geofence server
114) for later use by the user in conjunction with a particular
geofence application.
[0026] The user interfaces, the geofence services, etc. illustrated
here and through the rest of this application may be offered as
part of a mobile application (an "app") offered through the user's
mobile device. These interfaces may also be offered in the form of
regular web pages that the user may access from the user's mobile
device or any other computing device. Here, the user may access his
geofence profile by means of a login account that can be accessed
over any web operated computing device where the user can make the
required changes or definitions within her geofence profile.
[0027] FIG. 3B illustrates a user interface allowing the user to
apply geofence settings from the user's geofence profile to various
"geofence applications." Examples of such geofence applications are
explained in further detail below. The user is provided a list of
various geofence applications allowing the user to pick one or more
applications to be enabled. In addition to enabling a particular
geofence application, the user also has the option of specifying a
particular geofence setting to be applied to each of the enabled
applications. For example, the user may enable an auto-profile
option. Here, in examples, the user may not need to specify a
geofence setting because the geofence service would automatically
identify geofences. In the example shown in FIG. 3B, the user has
also enabled the "vibrate-settings" geofence application. Here, the
user would also have the option of picking one of a list of
previously defined geofences to assign to this particular
application. Other examples of geofence applications shown in FIG.
3B are: garage opener application; home temperature-setting
application; phone 3G enable/disable application; etc.
[0028] FIGS. 4A-4C are used to describe an example of how the
geofence service operates. Here, the user's current location is
indicated by the triangle 402. In this example, the geofence
service operates on the basis of geofence 404. For operation, the
geofence service may, for example, install an application that runs
in the foreground of the user's mobile device to track the user's
mobile location relative to selected geofences and control
activation of geofence applications based on the user's location
relative to the selected geofences. In the examples of FIGS. 4A and
4B, when the geofence service determines that the user is outside
of geofence 404, it does not enable a particular geofence
application (that may have been previously specified for geofence
404). When the user enters the geofence area 404, the geofence
service activates one or more particular geofence applications
(e.g., phone-ringer application, temperature control application,
etc) that were previously assigned to the particular geofence.
[0029] In some examples, several geofence applications may be
simultaneously enabled, as shown in FIG. 4C. In this example, two
geofences are defined: geofence 408 and geofence 410. The two
geofences have an overlap defined by region 410. In this example,
geofence 408 is associated with a phone-ringer application.
Geofence 408 is associated with a garage opener application.
Accordingly, the overlap region 410 is associated with both the
phone-ringer and garage opener applications. Here, if the user is
located at mobile location 1, the geofence service does not enable
either of the two applications. If the user is located at geofence
overlap 410, both applications are enabled. If the user is located
at a location of geofence 408 that is not covered by the overlap
region 410, only the phone-ringer application is turned on. If the
user is located at a location of geofence 406 not covered by
overlap region 410, only the garage opener application is
enabled.
Phone-Ringer and Smart-Phone Power-Control Geofence
Applications
[0030] This paragraph provides a more detailed description of the
phone-ringer geofence application. When this application is enabled
for a given geofence, the geofence service enables vibrate (and
deactivates ringing or changes the volume setting as defined by the
user) when a user enters a particular geofence. In an illustrative
example, the user has the phone normally enabled at full volume
when he is at home and when he is in his car. However, when he
reaches work, workplace restrictions may require the user to have
his mobile phone in vibrate. The user may forget to switch to
vibrate option every time he enters work and may forget to switch
back to ring when he leaves work. To avoid this inconvenience, the
user may enable the geofence vibrate application where he may have
set his geofence by either defining a wireless profile his phone
connects to automatically when he enters work, or by defining a 1
mile radius around work as the geofence, etc. Accordingly, when the
user enters the work based geofence, the geofence service triggers
the user's mobile-device to automatically switch to the defined
vibrate setting. When the user leaves the geofence location, the
geofence service may cause the mobile device to automatically
revert to the ring option.
[0031] The above example was specific to controlling the phone's
"ringer." In examples, smart-phone controls (e.g., wireless radios,
Bluetooth radios, etc.) may also be enabled or disabled using
geofence services. Examples of such controls or functionalities may
include: 3G (or 4G or the equivalents) setting, data or voice
roaming settings, Wi-Fi setting, cellular data setting, tethering
setting, phone auto-lock, Bluetooth setting, etc. Using an
appropriate combination of geofences and geofence applications that
enable or disable such features the user could potentially ensure
that the battery charge cycle of the phone is enhanced or extended
by selectively (and automatically) enabling and disabling the power
sensitive settings of the mobile device.
Other Examples of Geofence Applications
[0032] In embodiments, in addition to, or in lieu of controlling
features within the user's mobile device, the user may also utilize
the geofence service to control external applications. Some such
examples are discussed herein with respect to FIGS. 5A-5C. While
these illustrations use specific examples such as garage opening
applications, temperature setting applications, power control
applications, etc., these geofence services can be extended to any
other application that benefits from remote and automatic
controlling based on the user's present geographic location (as
determined by the location of the user's mobile device).
Garage Opener Geofence Application
[0033] FIG. 5A shows an example where the geofence service is
utilized for a remote garage-opener geofence application. Here, a
garage door (or mechanism controlling the garage door) is
pre-fitted with a communication device that allows the garage door
to receive remote instructions through radio messaging. For
example, the garage opener may be fitted with an RFID device or a
wireless radio device that receives a signal over the network. In
some examples, the wireless device could just be connected to a
home network of the user's home, allowing it to receive
instructions through the home network. For example, the user's
mobile device would send an instruction to the home network,
allowing the home network to select and send a corresponding
instruction to the wireless device attached to the garage opener.
In some examples, the garage openers are already fitted with
wireless receivers (e.g., from the wireless remote controls). Here,
the home network would simply cause the wireless sensor to be
activated appropriately.
[0034] Such remote connection capabilities, enabling remote
operation of garage openers, indoor climate controllers, wireless
indoor appliance controllers, etc. through, for example, a home
network or through an internet connection, are already in use in
current technologies. The geofencing services may simply be built
on top of such existing remote communication capabilities to be
able to control such devices. For example, the user may utilize X10
interfaces to electric appliance modules to enable control of the
electric appliances over a network by means of X10 signals. In
another example, a user may utilize LnCP protocols (developed by LG
Homenet), which allows Internet-aware appliances to use existing
electrical wires to talk to one another or be controlled using
signals sent by a mobile device.
[0035] As shown in FIG. 5A, a user interface allows a user to
control geofence settings for a garage opener application. Here,
the user can create a profile that allows the garage door to be
automatically opened when a user enters a given geofence.
Accordingly, when a user enters a geofence (defined, for example,
by a radius about the user's home address), the geofence service
detects the entry and transmits a message, for example, to the home
network or an internet service that controls the wireless device
attached to the garage opener application. The garage door then
automatically opens up in advance (e.g., when the user is 0.2 miles
away from home), allowing the user to simply drive straight into
his garage. In some examples, as illustrated in FIG. 5A, the user
may even build in a delay to the garage-opening action after the
user enters the geofence.
Temperature Setting Geofence Application
[0036] FIG. 5B illustrates a user interface for a remote
temperature control using the geofence service. In some cases, the
user may wish to control the temperature within a room or a house
or an office based on the user's current geographic position. For
example, the user may wish to turn on the AC or start decreasing
the temperature setting of the room or office when the user is only
10 miles away from reaching the room or office. In conventional
systems, the user would simply use a time-based approach to control
settings. That is, the temperature is set to 82 F at 6 PM, and 76 F
at 7 PM, with the assumption that the user arrives home at 7 PM.
But this conventional system results in power wastage when the user
decides to stop for dinner before arriving home at 9 PM (causing
the home to be unnecessarily cooled to 76 F for the two hours the
user is not even at home). This disadvantage is cured by the
geofence application. In one example, the temperature is set to 76
F only when the geofence application detects that the user is
within a 2-mile radius of the house. In this example, the user
would have previously established a 2-mile geofence around his
house, and paired the geofence with the temperature-setting
geofence application to coordinate such automatic location-based
control.
[0037] In some instances, the user may want to stagger the change
in temperature settings to be energy efficient. For example, on a
hot day, the user may want to decrease the temperature control from
an original value of 90 F to 86 F when the user is 10 miles away,
to 84 F when the user is 5 miles away and to 76 F when the user is
a mile away. This way, if the user decides to stop for dinner 5
miles away from home, the temperature does not switch to a lower
value until the user actually enters the 5-mile radius. Also,
gradually decreasing (or decreasing in a staggered fashion)
decreasing the temperature based on different proximities of the
user allows energy efficient decrease of temperature (instead of
suddenly dropping the temperature from 90 F to 76 F when the user
enters a 2-mile radius of the house). For such a staggered
temperature control example, the user may define multiple geofences
(one for 10 miles, one for 5 miles, one for 2 miles, etc. around
the house address) and apply all the geofences simultaneously (with
each geofence setting applied for a different temperature value)
for the staggering to work. In other examples, the user may define
all the stagger values within one geofence using suitable user
interfaces offered by the geofencing application. One example of
such a user interface is shown in FIG. 5B to allow the user to
create such settings. Accordingly, in an illustrative example, when
the user leaves his home and is more than 2 miles away from the
house, the temperature setting is allowed to increase as high as 90
F to save energy associated with cooling the house. Later, when the
user is on his way back home, the geofence service automatically
detects the user's presence within one or more geofences to
selectively control the temperature, ensuring that the user returns
home to an optimal temperature setting.
Geofence-Based Appliance Control
[0038] FIG. 5C is example of a geofence application, where
geofences are used for controlling electrical or electronic
appliances in a house or other such location. Using suitable user
interfaces (an example is shown in FIG. 5C), the user may perform a
variety of operations to efficiently control and manage appliances
in his home. Some examples where the geofence services may be
applied are listed below:
(1) When a user leaves his house, he may forget to turn off
unessential appliances such as lights and fans and so want such
appliances automatically switched off when he leaves a geofence he
defined around his house. On the other hand, the user may want
these turned on when he comes back home. (2) The user may want the
user's lawn to be watered (i.e., the water sprinklers to be
activated) only after the user leaves his home in the mornings or
after he is located a certain distance away from his home (or a
certain duration after he leaves a geofence associated with his
home). (3) The user may wish to automatically engage a home alarm
when the user leaves his house (or after a certain duration of time
after the user leaves the geofence associated with his house) and
automatically disengage the alarm after the user enters the
geofence (or after a certain duration of time after the user enters
the geofence). (4) The user may wish to start his dishwasher or
washer or dryer after he leaves the house (or after leaving the
house's geofence) so that the noise does not bother him. (5) The
user may wish to automatically control the temperature setting of
the water heater in house based on the user's current geographic
location in order to conserve resources. (6) The user may want to
automatically control a music player or other entertainment device
setting to ensure that the entertainment device, for example, plays
a soothing music after the user's arrival within a geofence (i.e.,
just before the user enters the house). To accomplish these
illustrative examples, a user may draw one or more geofences and
use corresponding geofence application interfaces to accomplish
such automatic control of remote devices or appliances. The example
in FIG. 5C would allow the user to set preferences for some such
appliances. In these examples, the geofence service monitors the
user's position, and then transmits a signal to the home network or
other wireless capability associated with the electrical appliance
to switch on or off or otherwise control the appliance based on the
user's current geographic position.
[0039] FIG. 6 is a high-level block diagram showing an example of
the architecture for a computer system 1400 that can be utilized to
implement a geofence server, a web server, a computing device,
etc., for performing the various operations discussed in this
application. In FIG. 6, the computer system 1400 includes one or
more processors 1405 and memory 1410 connected via an interconnect
1425. The interconnect 1425 is an abstraction that represents any
one or more separate physical buses, point to point connections, or
both connected by appropriate bridges, adapters, or controllers.
The interconnect 1425, therefore, may include, for example, a
system bus, a Peripheral Component Interconnect (PCI) bus, a
HyperTransport or industry standard architecture (ISA) bus, a small
computer system interface (SCSI) bus, a universal serial bus (USB),
IIC (I2C) bus, or an Institute of Electrical and Electronics
Engineers (IEEE) standard 694 bus, sometimes referred to as
"Firewire".
[0040] The processor(s) 1405 may include central processing units
(CPUs) to control the overall operation of, for example, the host
computer. In certain embodiments, the processor(s) 1405 accomplish
this by executing software or firmware stored in memory 1410. The
processor(s) 1405 may be, or may include, one or more programmable
general-purpose or special-purpose microprocessors, digital signal
processors (DSPs), programmable controllers, application specific
integrated circuits (ASICs), programmable logic devices (PLDs), or
the like, or a combination of such devices.
[0041] The memory 1410 is or includes the main memory of the
computer system. The memory 1410 represents any form of random
access memory (RAM), read-only memory (ROM), flash memory (as
discussed above), or the like, or a combination of such devices. In
use, the memory 1410 may contain, among other things, a set of
machine instructions which, when executed by processor 1405, causes
the processor 1405 to perform operations to implement embodiments
of the present invention.
[0042] Also connected to the processor(s) 405 through the
interconnect 1425 is a network adapter 1415. The network adapter
1415 provides the computer system 1400 with the ability to
communicate with remote devices, such as the storage clients,
and/or other storage servers, and may be, for example, an Ethernet
adapter or Fiber Channel adapter.
[0043] The above Detailed Description of examples of the invention
is not intended to be exhaustive or to limit the invention to the
precise form disclosed above. While specific examples for the
invention are described above for illustrative purposes, various
equivalent modifications are possible within the scope of the
invention, as those skilled in the relevant art will recognize.
While processes or blocks are presented in a given order in this
application, alternative implementations may perform routines
having steps performed in a different order, or employ systems
having blocks in a different order. Some processes or blocks may be
deleted, moved, added, subdivided, combined, and/or modified to
provide alternative or sub-combinations. Also, while processes or
blocks are at times shown as being performed in series, these
processes or blocks may instead be performed or implemented in
parallel, or may be performed at different times. Further any
specific numbers noted herein are only examples. It is understood
that alternative implementations may employ differing values or
ranges.
[0044] The various illustrations and teachings provided herein can
also be applied to systems other than the system described above.
The elements and acts of the various examples described above can
be combined to provide further implementations of the
invention.
* * * * *