U.S. patent application number 11/786550 was filed with the patent office on 2008-10-16 for system and method for monitoring locations of mobile devices.
This patent application is currently assigned to Palm, Inc.. Invention is credited to William K. Stewart.
Application Number | 20080254811 11/786550 |
Document ID | / |
Family ID | 39854190 |
Filed Date | 2008-10-16 |
United States Patent
Application |
20080254811 |
Kind Code |
A1 |
Stewart; William K. |
October 16, 2008 |
System and method for monitoring locations of mobile devices
Abstract
A method of identifying mobile computing devices includes
sending a request from a first mobile computing device to a second
mobile computing device for the location of the second mobile
computing device, and receiving the location of the second mobile
computing device at the first mobile computing device. The method
further includes providing a notification to one of the first and
second mobile computing devices based upon the location of the
second mobile computing device.
Inventors: |
Stewart; William K.; (San
Francisco, CA) |
Correspondence
Address: |
FOLEY & LARDNER LLP
777 EAST WISCONSIN AVENUE
MILWAUKEE
WI
53202-5306
US
|
Assignee: |
Palm, Inc.
|
Family ID: |
39854190 |
Appl. No.: |
11/786550 |
Filed: |
April 11, 2007 |
Current U.S.
Class: |
455/456.2 ;
455/566 |
Current CPC
Class: |
H04M 1/72457 20210101;
H04W 8/005 20130101; H04W 4/30 20180201; H04W 4/021 20130101; H04W
68/005 20130101 |
Class at
Publication: |
455/456.2 ;
455/566 |
International
Class: |
H04Q 7/20 20060101
H04Q007/20; H04M 1/00 20060101 H04M001/00 |
Claims
1. A method of identifying mobile computing devices, comprising:
sending a request from a first mobile computing device to a second
mobile computing device for the location of the second mobile
computing device; receiving the location of the second mobile
computing device at the first mobile computing device; and
providing a notification to one of the first and second mobile
computing devices based upon the location of the second mobile
computing device.
2. The method of claim 1, wherein providing the notification is
based further upon availability data indicative of an availability
status of the second mobile computing device.
3. The method of claim 2, further comprising: sending a request for
the availability data for the second mobile computing device; and
receiving the availability data at the first mobile computing
device from the second mobile computing device.
4. The method of claim 2, further comprising: receiving the
availability data from a server separate from the first and second
mobile computing devices.
5. The method of claim 1, wherein providing the notification
comprises displaying a map indicating the geographic location of
the second mobile computing device.
6. The method of claim 1, wherein providing the notification
further comprises providing the availability data of the second
mobile computing device.
7. The method of claim 1, wherein the availability data of the
second mobile computing device is based upon electronic calendar
data stored on the second mobile computing device.
8. The method of claim 1, wherein the notification is one of an
email, a phone call, and a text message.
9. The method of claim 1, wherein the request is sent over a
cellular communications network.
10. The method of claim 1, wherein providing the notification is
based further upon permission data indicative of a permission
status of the second mobile computing device defined by a user of
the second mobile computing device
11. The method of claim 1, wherein the first mobile computing
device is a handheld computing device.
12. An electronic device, comprising: a display; and a processing
circuit configured to run an application, the application
configured to send a request to a mobile computing device for the
location of the mobile computing device, receive the location of
the mobile computing device, and provide a notification based upon
the location of the mobile computing device.
13. The electronic device of claim 12, wherein the application is
configured to provide the notification based further upon
availability data indicative of an availability status for the
mobile computing device.
14. The electronic device of claim 12, wherein the notification
comprises a geographic map indicating the location of the mobile
computing device.
15. The electronic device of claim 12, wherein the notification
further comprises an indication of the availability data of the
mobile computing device.
16. The electronic device of claim 15, wherein the processor is
further configured to send a second notification to the mobile
computing device upon receipt of the location of the mobile
computing device.
17. The electronic device of claim 16, wherein the second
notification is one of a wireless phone call, a text message, and
an email.
18. The electronic device of claim 12, wherein the processor is
configured to provide the notification based further upon
permission data indicative of a permission status for the mobile
computing device defined by a user of the mobile computing
device.
19. The electronic device of claim 12, wherein the electronic
device is a mobile computing device.
20. A method of identifying mobile computing devices, comprising:
requesting location and availability data for a first mobile
computing device; and receiving the location data for the first
mobile computing device based upon the availability data of the
first mobile computing device; wherein the availability data is
indicative of an availability status of the first mobile computing
device.
21. The method of claim 20, further comprising: providing a
notification to a second mobile computing device based upon the
availability data.
22. The method of claim 21, further comprising: providing the
availability data for the first mobile computing device on a
display of the second mobile computing device.
23. The method of claim 20, further comprising: sending a wireless
communication from the second mobile computing device to the first
mobile computing device based upon the availability data.
Description
BACKGROUND
[0001] The present application relates generally to the field of
location-based services, and more particularly, to providing
location-based data or notifications based upon the location and/or
availability of one or more electronic devices.
[0002] Some location-based services may permit a user of an
electronic device to obtain a graphical display of the location of
other electronic devices. This is often accomplished using a
server-based system, where various electronic devices may broadcast
their location to a server that monitors the locations of the
various electronic devices and provides location data to be used,
for example, in generating a map of the device locations. One
problem associated with this type of system is that with the
increasing use of electronic devices, and in particular mobile
computing devices, in order to accurately track the location of
large numbers of such devices, servers must often send and/or
receive significant numbers of communications, often creating
delays in response time and increasing operational costs.
[0003] Further, some location-based services take into account only
the location of an electronic device. In many instances, a user of
an electronic device may be unavailable, or may desire to not be
bothered by incoming messages such as phone calls, emails, etc. In
these cases, the current location-based services may be unable to
accommodate the needs and/or desires of many users.
[0004] Accordingly, there is a need for an electronic device that
is able to provide location-based notifications without the need of
a server that monitors the locations of various electronic devices.
Further, there is also a need for an electronic device that takes
into account the availability of one or more electronic devices in
providing location-based data or notifications.
[0005] The teachings herein extend to those embodiments which are
within the scope of the appended claims, regardless of whether they
accomplish one or more of the above-identified needs.
BRIEF DESCRIPTION OF THE FIGURES
[0006] FIG. 1 is a front view of a mobile computing device
according to an exemplary embodiment;
[0007] FIG. 2 is a back view of the mobile computing device of FIG.
1 according to an exemplary embodiment;
[0008] FIG. 3 is a side view of the mobile computing device of FIG.
1 according to an exemplary embodiment;
[0009] FIG. 4 is a block diagram of the mobile computing device of
FIG. 1 according to an exemplary embodiment;
[0010] FIG. 5 is an illustration of an electronic device wirelessly
communicating with other electronic devices according to an
exemplary embodiment;
[0011] FIG. 6 is an illustration of an image of a map indicating
the location and/or availability of one or more electronic devices
according to an exemplary embodiment;
[0012] FIG. 7 is a flowchart illustrating a method of providing a
notification based on location-based data according to an exemplary
embodiment; and
[0013] FIG. 8 is an illustration of an image of a listing providing
distance and/or availability information for one or more electronic
devices according to an exemplary embodiment.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0014] Referring to FIGS. 1-3, a mobile computing device 10 is
shown. The teachings herein can be applied to device 10 or to other
electronic devices (e.g., a desktop computer), mobile computing
devices (e.g., a laptop computer) or handheld computing devices,
such as a personal digital assistant (PDA), smartphone, mobile
telephone, personal navigation device, etc. According to one
embodiment, device 10 is a smartphone, which is a combination
mobile telephone and handheld computer having PDA functionality.
PDA functionality can comprise one or more of personal information
management (e.g., including personal data applications such as
email, calendar, phone, text messaging, etc.), database functions,
word processing, spreadsheets, voice memo recording, Global
Positioning System (GPS) functionality, etc. Device 10 is
configured to synchronize personal information from these
applications with a computer (e.g., a desktop, laptop, server,
etc.). Device 10 is further configured to receive and operate
additional applications provided to device 10 after manufacture,
e.g., via wired or wireless download, SecureDigital card, etc.
[0015] As shown in FIGS. 1-3, device 10 includes a housing 12 and a
front side 14 and a back side 16. Device 10 further comprises a
display 18 and a user input device 20 (e.g., a QWERTY keyboard,
buttons, touch screen, speech recognition engine, etc.). Display 18
can comprise a touch screen display in order to provide user input
to a processor 40 (see FIG. 4) to control functions, such as to
select options displayed on display 18, enter text input to device
10, or enter other types of input. Display 18 also provides images
(see, e.g., FIG. 6) that are displayed and may be viewed by users
of device 10. User input device 20 can provide similar inputs as
those of touch screen display 18. Device 10 can further comprise a
speaker 26, and a stylus 30 to assist the user in making selections
on display 18.
[0016] According to an exemplary embodiment, housing 12 is
configured to hold a screen such as display 18 in a fixed
relationship above a user input device such as user input device 20
in a substantially parallel or same plane. This fixed relationship
excludes a hinged or movable relationship between the screen and
the user input device (e.g., a plurality of keys) in the fixed
embodiment. Device 10 may be a handheld computer, which is a
computer small enough to be carried in a typical front pocket found
in a pair of pants, comprising such devices as typical mobile
telephones and personal digital assistants, but excluding typical
laptop computers and tablet PCs.
[0017] In various embodiments, housing 12 could be any size, shape,
and dimension. In some embodiments, housing 12 has a width 13 of no
more than about 200 mm or, alternatively, no more than about 100
mm. According to some of these embodiments, housing 12 has a width
13 of no more than about 85 mm or, alternatively, no more than
about 65 mm. According to some embodiments, housing 12 has a width
13 of at least about 30 mm or, alternatively, at least about 50 mm.
According to some of these embodiments, housing 12 has a width 13
of at least about 55 mm.
[0018] In some embodiments, housing 12 has a length 15 of no more
than about 200 mm or, alternatively, no more than about 150 mm.
According to some of these embodiments, housing 12 has a length 15
of no more than about 135 mm or, alternatively, no more than about
125 mm. According to some embodiments, housing 12 has a length 15
of at least about 70 mm or, alternatively, at least about 100 mm.
According to some of these embodiments, housing 12 has a length 15
of at least about 100 mm.
[0019] In some embodiments, housing 12 has a thickness 17 of no
more than about 150 mm or, alternatively, no more than about 50 mm.
According to some of these embodiments, housing 12 has a thickness
17 of no more than about 30 mm or, alternatively, no more than
about 25 mm. According to some embodiments, housing 12 has a
thickness 17 of at least about 10 mm or, alternatively, at least
about 15 mm. According to some of these embodiments, housing 12 has
a thickness 17 of at least about 50 mm.
[0020] In some embodiments, housing 12 has a volume of up to about
2500 cubic centimeters or, alternatively, up to about 1500 cubic
centimeters. In some alternative embodiments, housing 12 has a
volume of up to about 1000 cubic centimeters or, alternatively, up
to about 600 cubic centimeters.
[0021] Referring now to FIG. 4, device 10 comprises a processing
circuit 46 comprising a processor 40. Processor 40 can comprise one
or more microprocessors, microcontrollers, and other analog and/or
digital circuit components configured to perform the functions
described herein. Processor 40 comprises one or more memories
(e.g., random access memory, read only memory, flash, etc.)
configured to store software applications provided during
manufacture or subsequent to manufacture by the user or by a
distributor of device 10. In one embodiment, processor 40 can
comprise a first applications microprocessor configured to run a
variety of personal information management applications, such as
email, a calendar, contacts, etc., and a second, radio processor on
a separate chip or as part of a dual-core chip with the application
processor. The radio processor is configured to operate telephony
functionality. Device 10 can be configured for cellular radio
telephone communication, such as Code Division Multiple Access
(CDMA), Global System for Mobile Communications (GSM), Third
Generation (3G) systems such as Wide-Band CDMA (WCDMA), or other
cellular radio telephone technologies. Device 10 can further be
configured for data communication functionality, for example, via
GSM with General Packet Radio Service (GPRS) systems (GSM/GPRS),
CDMA/1XRTT systems, Enhanced Data Rates for Global Evolution (EDGE)
systems, Evolution Data Only or Evolution Data Optimized (EV-DO),
and/or other data communication technologies.
[0022] Device 10 comprises a receiver 38 which comprises analog
and/or digital electrical components configured to receive and
transmit wireless signals via antenna 22 to provide cellular
telephone and/or data communications with a fixed wireless access
point, such as a cellular telephone tower, in conjunction with a
network carrier, such as, Verizon Wireless, Sprint, etc. Device 10
can further comprise circuitry to provide communication over a
local area network, such as Ethernet or according to an IEEE
802.11x standard or a personal area network, such as a Bluetooth or
infrared communication technology.
[0023] Device 10 further comprises a microphone 36 (see FIG. 2)
configured to receive audio signals, such as voice signals, from a
user or other person in the vicinity of device 10, typically by way
of spoken words. Alternatively or in addition, processor 40 can
further be configured to provide video conferencing capabilities by
displaying on display 18 video from a remote participant to a video
conference, by providing a video camera on device 10 for providing
images to the remote participant, by providing text messaging,
two-way audio streaming in full- and/or half-duplex mode, etc.
[0024] Device 10 further comprises a location determining
application, shown in FIG. 3 as GPS application 44. GPS application
44 can communicate with and provide the location of device 10 at
any given time. Device 10 may employ one or more location
determination techniques including, for example, Global Positioning
System (GPS) techniques, Cell Global Identity (CGI) techniques, CGI
including timing advance (TA) techniques, Enhanced Forward Link
Trilateration (EFLT) techniques, Time Difference of Arrival (TDOA)
techniques, Angle of Arrival (AOA) techniques, Advanced Forward
Link Trilateration (AFTL) techniques, Observed Time Difference of
Arrival (OTDOA), Enhanced Observed Time Difference (EOTD)
techniques, Assisted GPS (AGPS) techniques, hybrid techniques
(e.g., GPS/CGI, AGPS/CGI, GPS/AFTL or AGPS/AFTL for CDMA networks,
GPS/EOTD or AGPS/EOTD for GSM/GPRS networks, GPS/OTDOA or
AGPS/OTDOA for UMTS networks), and so forth.
[0025] Device 10 may be arranged to operate in one or more location
determination modes including, for example, a standalone mode, a
mobile station (MS) assisted mode, and/or an MS-based mode. In a
standalone mode, such as a standalone GPS mode, device 10 may be
arranged to autonomously determine its location without real-time
network interaction or support. When operating in an MS-assisted
mode or an MS-based mode, however, device 10 may be arranged to
communicate over a radio access network (e.g., UMTS radio access
network) with a location determination entity such as a location
proxy server (LPS) and/or a mobile positioning center (MPC).
[0026] Referring now to FIG. 5, according to an exemplary
embodiment, device 10 is configured to communicate with one or more
other electronic devices, shown in FIG. 4 as mobile computing
devices 50 and 52. According to one embodiment, device 10 requests
the location data for devices 50, 52 from devices 50, 52 via
wireless communications. The wireless communications may include
communications via a cellular communications network, Bluetooth
transceivers, infrared communications, etc.
[0027] Processor 40 provides a notification (e.g., email, phone
call, text message, graphical map display, etc.) to device 10
and/or devices 50, 52 based upon location data for devices 50, 52.
For example, the notification may comprise a graphical display of a
map that includes the location of device 10 and/or the location of
one or more other electronic devices. Alternatively, the
notification may comprise a message (e.g., an email, text message,
etc.) that is automatically generated and sent to device 10 (and/or
one or more other electronic devices). For example, a user of
device 10 may receive an email indicating that a particular device
is within a certain proximity of device 10 or at a certain
geographic location.
[0028] According to an exemplary embodiment, devices 50, 52 (and/or
their respective users) may belong to a predetermined database of
devices, such as contacts information database 42 shown in FIG. 3,
from which processor 40 requests location data. For example,
devices 50, 52 may be associated with user data stored in a
contacts application (e.g., an electronic contacts application
designed to store contact information such as a user's name, phone
number, email address, etc.). According to an alternative
embodiment, devices 50, 52 may be associated with users that have
been placed on a short list of contacts (e.g., a "friends list," a
subset of a contacts listing, etc.). Various other methods of
identifying devices 50, 52 may also be used. For example, device 50
or 52 may be associated with a second user that the user of device
10 has chosen to request location data from, and the second user
may not belong to any particular group, list, etc. According to
another embodiment, rather than a user identifying a subset of
contacts (e.g., from a contacts application) from which to request
location data, a user may instead identify users associated with
devices from which the user of device 10 does not wish to request
location data. Processor 40 may then request location data from
those devices except those identified.
[0029] Processor 40 may request the location data in response to
receiving an input from a user of device 10. According to an
alternative embodiment, processor 40 may be configured to request
the location data automatically based upon time or location
parameters. For example, processor 40 may request location data
every hour (or every 1/2 hour, every minute, etc.), or the location
data may be requested on a continuous basis. Device 10 may also
permit a user to identify discrete times at which location data is
to be requested. Alternatively, processor 40 may request the
location data based upon the location of device 10. For example, if
a user wants to know if a particular device is nearby whenever the
user passes a specific location, the user may configure processor
40 to request the location data of the particular device whenever
device 10 is at or near the specific location. The specific
location and/or time parameters may be configured by a user of
device 10 and may vary based upon the devices to which the request
for location data is sent.
[0030] After sending the request for the location data, device 10
receives the location data from devices 50, 52. The location data
may include information such as the current geographic locations of
devices 50, 52, the current distance between devices 50, 52 and
device 10, a point of interest nearest to or in the vicinity of
devices 50 and/or 52, and so on. Other location data may also be
provided according to various other alternative embodiments.
[0031] According to an exemplary embodiment, the receipt of
location data is permission-based. In order for a user of device 10
to receive the location data for a particular device (even if the
particular device is associated with a user on a "friends list"),
the user of the particular device must first grant permission for
the location data to be communicated to device 10. If no permission
has been granted, device 10 will not receive a response from the
other device. According to one embodiment, an indication that
permission has not been granted may be provided to a user of device
10. Devices 50, 52 may be configured to store a user-defined list
of contacts which do and/or do not have permission to request
location data associated with devices 50, 52.
[0032] Once the location data is received by device 10, processor
40 may send out one or more notifications to device 10 and/or
devices 50, 52 based upon the location data. For example, a user of
device 10 may wish to simply know the locations of devices 50, 52.
In such a case, processor 40 may provide a notification, such as
the graphical display shown in FIG. 6, indicating the location of
devices 50, 52. According to another embodiment, processor 40 may
provide a display of only those devices within a certain distance
of device 10. For example, referring to FIG. 5, a user may wish to
know whether any other users on a friends list are within a certain
distance, such as distance 54 (which may be user-adjustable or
pre-set by the application), of device 10. In the embodiment shown
in FIG. 5, only device 52 is within distance 54 of device 10.
Therefore, a user of device 10 may be provided with a notification
including a graphical map displaying the geographic location of
device 52 (e.g., and preferably device 10). If the user of device
10 requests location data for any devices within distance 56, both
devices 50, 52 may be displayed to the user.
[0033] According to another embodiment, processor 40 may provide
the notification based on the geographic location of devices 50,
52, rather than the proximity of devices 50, 52 to device 10. For
example, referring further to FIG. 5, a user may wish to determine
whether any other users on a friends list are currently in a
specific city or other specific location 58. Processor 40 requests
the location data from all of the users on the friends list, but
displays only those in the specific location. For example,
referring to FIG. 5, a user may wish to know whether any of devices
50, 52 are within location 58. Because only device 52 is located
within location 58, the user of device 10 may be provided with a
notification including a map of location 58 and the particular
location of device 50 and optionally directions (e.g. turn-by-turn,
graphical, etc.) to location 58.
[0034] Referring now to FIG. 6, according to one embodiment, the
notification includes a graphical image 80 of a map 82 that
indicates the geographic location of devices 50, 52. Image 80 may
further indicate the geographic location of device 10. Other
information may further be provided via image 80, for example,
driving directions to/from one or more other devices, points of
interest located within the displayed geographic area, etc.
According to one embodiment, a user may select (e.g. highlight,
hover over, etc.) one of the devices displayed on image 80, and be
provided with an overlay menu of options (e.g. "email," "call,"
etc.) from which to select in order to contact the selected device.
According to another embodiment, a user may toggle between a
graphical display such as that shown in FIG. 6. and a textual
listing of the nearby devices (see FIG. 8). For example, a user may
select the "List results" option 53 shown in FIG. 6 to view a
textual listing 90 of the devices as shown in FIG. 8. For example,
listing 90 may include name information 94, distance information
(to/from) 96, availability information 98, etc. Further, textual
listing 90 may include toggle option 100, permitting a user to
return to a graphical display such as that shown in FIG. 6.
[0035] As shown in FIG. 6, the notification includes a graphical
display of the location of device 10, and one or more other devices
50, 52. According to various other embodiments, the notification
may comprise an email, a text message, etc. or other notification
or message that may be sent automatically to one or more of device
10 and/or other mobile devices such as devices 50, 52. For example,
upon determining that device 50 is within a specified distance of
device 10, processor 40 may generate and send an email to one or
both of the devices (e.g. "John is nearby.").
[0036] As discussed with respect to FIGS. 5 and 6, processor 40
requests location data from one or more other electronic devices
(e.g., devices 50, 52 shown in FIG. 5) and provides a notification
to device 10 and/or the other electronic device(s) based on the
location data. According to an alternative embodiment, providing
the notification and/or receiving the location data from the other
electronic devices is also based upon the availability data (e.g.,
presence) of the other devices. Availability data reflects the
availability of a particular device and may represent various
states such as "available," "unavailable," "do not disturb,"
"silent/vibrate mode only," etc. Availability data may reflect the
availability of a device to, for example, receive and respond to
emails, phone calls, text messages, and other messages.
Availability data may also reflect the availability of a user as
defined by, for example, an electronic calendar storing
appointments and indicating that the user is available/unavailable
during a certain time period. Availability data may also reflect an
availability status selected by a user (e.g., do not disturb,
silent mode, etc.). Further yet, availability data may take into
account whether a device is currently powered ON or OFF. Other
factors may further be taken into account in determining the
availability of a particular device.
[0037] According to one embodiment, device 10 requests and receives
the availability data for a particular electronic device from the
electronic device, e.g., one of devices 50, 52, rather than from,
for example, a server that collects, stores, and updates
availability data for a number of electronic devices. According to
another embodiment, the availability data is provided by a server
or a third party source.
[0038] Processor 40 may display an indication of the availability
of particular devices along with the locations of the particular
devices. For example, as shown in FIG. 6, image 80 shows devices
50, 52 having availability indicators 84, 86, respectively.
Indicators 84, 86 may be icons that represent the availability of a
particular device (e.g., a smiling face for available, a frowning
face for unavailable, etc.). Alternatively, indicators 84, 86 may
include textual phrases representing the availability of the
devices (e.g., "available," "busy," etc.). Indicators 84, 86 may
take other forms according to various other alternative
embodiments.
[0039] According to one embodiment, when a particular device is
unavailable, processor 40 does not receive the location data for
the device. Device 10 may then provide an indication that the
device is unavailable without providing the location of the device.
According to another embodiment, if a particular device is
unavailable, neither the availability nor the location of the
device is provided.
[0040] Referring now to FIG. 7, a flowchart illustrating the
process of providing a notification based upon location data is
shown. At step 60, a request is sent from a first mobile device to
a second mobile device for location data for the second mobile
device. At step 62, the first mobile device receives the location
data for the second mobile device from the second mobile device.
The location data may be communicated to/from the first and second
mobile devices via wireless communications such as cellular
communications, Bluetooth-based communications, etc. At step 64,
the processor of the first mobile device provides a notification
(e.g., a graphical display of a map, an email, text message, phone
call, or other message, etc.) based on the location data. The
notification may be sent to one or both of the first and second
electronic devices, and may include the location and/or
availability data.
[0041] As discussed above, processor 40 may take availability data
for other electronic devices into account in addition to location
data in determining whether to provide a notification and the
content of the notification. For example, referring again to FIG.
7, if processor 40 additionally requests availability data at step
60, whether the location data is received may be dependent upon the
availability data (e.g., if the particular device is "unavailable,"
location data for the particular device may not be received by
device 10).
[0042] As discussed with respect to the FIGURES, device 10 requests
and receives location data from another electronic device, such as
device 50. According to an alternative embodiment, a server may be
provided that tracks the location of the devices and generates a
notification to one or both devices based on the location of the
devices (e.g., based on whether the two devices are within a
certain distance or the two devices are within a specific
geographic area). A server-based architecture may utilize many of
the same features as the peer to peer architecture, including
friends lists, permission requirements, availability-based
notifications, etc.
[0043] While the detailed drawings, specific examples and
particular formulations given describe exemplary embodiments, they
serve the purpose of illustration only. The hardware and software
configurations shown and described may differ depending on the
chosen performance characteristics and physical characteristics of
the computing devices. The systems shown and described are not
limited to the precise details and conditions disclosed.
Furthermore, other substitutions, modifications, changes, and
omissions may be made in the design, operating conditions, and
arrangement of the exemplary embodiments without departing from the
scope of the invention as expressed in the appended claims.
* * * * *