U.S. patent application number 14/324174 was filed with the patent office on 2015-05-07 for user interface for internet of everything environment.
The applicant listed for this patent is Cisco Technology, Inc.. Invention is credited to Neil Cormican, Ronnie Dan, James Walker.
Application Number | 20150128050 14/324174 |
Document ID | / |
Family ID | 53008011 |
Filed Date | 2015-05-07 |
United States Patent
Application |
20150128050 |
Kind Code |
A1 |
Cormican; Neil ; et
al. |
May 7, 2015 |
USER INTERFACE FOR INTERNET OF EVERYTHING ENVIRONMENT
Abstract
A graphical user interface is provided that intuitively presents
a collection of icons, with each icon representing one or more
networked appliances in an environment. The interface allows
selection of an appliance(s) and presentation of an interface for
interacting with the selected appliance(s).
Inventors: |
Cormican; Neil; (London,
GB) ; Dan; Ronnie; (Modiin, IL) ; Walker;
James; (Kings Worthy, GB) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Cisco Technology, Inc. |
San Jose |
CA |
US |
|
|
Family ID: |
53008011 |
Appl. No.: |
14/324174 |
Filed: |
July 5, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61901383 |
Nov 7, 2013 |
|
|
|
Current U.S.
Class: |
715/734 |
Current CPC
Class: |
G09G 2354/00 20130101;
H04N 21/4307 20130101; H04N 21/42224 20130101; G06F 3/0484
20130101; G06F 3/04883 20130101; H04N 21/4316 20130101; G06F 3/1423
20130101; G06F 3/1454 20130101; H04N 21/4143 20130101; G09G 5/12
20130101; H04N 21/482 20130101; H04N 21/23424 20130101; H04N
21/42209 20130101; H04N 21/4227 20130101; G06F 3/0488 20130101;
H04L 65/00 20130101; H04N 21/4784 20130101; G06F 3/04817 20130101;
H04N 21/4122 20130101; H04N 21/47205 20130101; G06F 2203/04803
20130101; H04N 21/44222 20130101; H04N 21/47217 20130101; H04N
21/812 20130101; H04N 21/4788 20130101; H04L 41/22 20130101; H04N
21/4222 20130101; H04N 21/4126 20130101; G06F 3/0412 20130101 |
Class at
Publication: |
715/734 |
International
Class: |
G06F 3/0484 20060101
G06F003/0484; H04L 12/24 20060101 H04L012/24; G06F 3/0481 20060101
G06F003/0481 |
Claims
1. A computer-implemented method comprising: providing, a device
overview graphical user interface (GUI) on a computing device, the
device overview GUI including a collection of icons each
representing an appliance having an available appliance interface;
receiving, by the computing device, a selection input in the GUI
indicating a selection of one of the collection of icons; and
providing, by the computing device, the appliance interface
pertaining to the appliance represented by the selected icon.
2. The computer-implemented method of claim 1, wherein the device
overview GUI also includes notifications from the at least one of
the appliances represented by the collection of icons.
3. The computer-implemented method of claim 1, wherein the
appliance interface pertaining to the appliance represented by the
selected icon provides controls specific an appliance type.
4. The computer-implemented method of claim 1, further comprising:
registering the appliance at an appliance service, wherein the
collection of icons corresponds to appliances registered at the
appliance service.
5. The computer-implemented method of claim 4, further comprising:
receiving a request at the appliance service to register the
appliance.
6. The computer-implemented method of claim 4, further comprising:
detecting by the appliance service the appliance; and transmitting
a registration invitation to the appliance.
7. The computer-implemented method of claim 3, further comprising:
receiving an input effective to operate the controls specific to
the appliance type; sending a message to the appliance using an
application programming interface for the appliance.
8. The computer-implemented method of claim 4, further comprising:
receiving from the appliance an electronic message including an
application programming interface of the appliance service.
9. The computer-implemented method of claim 3, wherein the
appliance interface pertaining to the appliance includes a
graphical element that represents a recipe of two or more control
operations to be used together to affect a result at the
appliance.
10. The computer-implemented method of claim 1, wherein the
receiving a selection input in the GUI indicating a selection of
one of the collection of icons includes receiving a selection input
in the GUI indicating a selecting of at least two of the collection
of icons, and wherein the providing the appliance interface
pertaining to the appliance represented by the selected icon
comprises providing a recipe of two or more control operations to
be used together to control all of the appliance represented by the
at least of the collection of icons.
11. A computing device for interacting with a plurality of
appliances comprising: a display a storage device storing
computer-readable instructions, the computer-readable instructions;
a processor configured to interpret and perform the
computer-readable instructions, the computer-readable instructions
are effective to cause the display to present a device overview
graphical user interface (GUI) including a collection of icons each
representing an appliance having an available appliance interface;
and an input device for receiving selection inputs selecting one or
more of the collection of icons and passing the selection input to
the processor.
12. The computing device of claim 11, wherein the processor is
further configured to cause the display to present the appliance
interface pertaining to the appliance represented by the selected
icon.
13. The computing device of claim 11, wherein the device overview
GUI also includes notifications from the at least one of the
appliances represented by the collection of icons.
14. The computing device of claim 11, wherein the appliance
interface pertaining to the appliance represented by the selected
icon provides controls specific an appliance type.
15. The computing device of claim 14, wherein the appliance
interface pertaining to the appliance includes a graphical element
that represents a recipe of two or more control operations to be
used together to affect a result at the appliance.
16. The computing device of claim 11, wherein the receiving a
selection input in the GUI indicating a selection of one of the
collection of icons includes receiving a selection input in the GUI
indicating a selecting of at least two of the collection of icons,
and wherein the providing the appliance interface pertaining to the
appliance represented by the selected icon comprises providing a
recipe of two or more control operations to be used together to
control all of the appliance represented by the at least of the
collection of icons.
17. An application for interfacing with appliances comprising: a
device overview graphical user interface (GUI) including a
collection of icons each representing an appliance, the device
overview GUI being configured to receive a selection input in the
GUI indicating a selection of one of the collection of icons; and
appliance interfaces each pertaining to the appliance represented
by the selected icon.
18. The application of claim 17, wherein the device overview GUI
also includes notifications from the at least one of the appliances
represented by the collection of icons.
19. The application of claim 17, wherein the appliance interface a
graphical element that represents a recipe of two or more control
operations to be used together to affect a result at the
appliance.
20. The application of claim 17 further configured to receive a
selection input in the GUI indicating a selection at least two of
the collection of icons and in response to receiving a selection of
at least two of the collection of icons, provide a recipe of two or
more control operations to be used together to control all of the
appliances represented by the at least of the collection of icons.
Description
RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent
Application No. 61/901,383, filed on Nov. 7, 2013, the content of
which is incorporated herein by reference in its entirety.
TECHNICAL FIELD
[0002] The present technology pertains to remotely-controlling
devices, and more specifically to a universal interface for
controlling any networked appliance.
BACKGROUND
[0003] For some time, it has been predicted that all devices in the
home will eventually be connected to the Internet; this concept is
currently known as the Internet of Things. While the concept of the
Internet of Things has been conceptualized, this scenario has yet
to be realized. While some appliances, such as various televisions,
thermostats, and automobiles, are connected to the Internet and can
at least read diagnostics to a mobile application--if not able to
be remotely controlled--such applications are rare. And when they
do exist, each application provides its own look and feel. It can
also be cumbersome to have to browse for a particular application
to interact with a particular appliance.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] In order to describe the manner in which the above-recited
and other advantages and features of the disclosure can be
obtained, a more particular description of the principles briefly
described above will be rendered by reference to specific
embodiments thereof, which are illustrated in the appended
drawings. Understanding that these drawings depict only exemplary
embodiments of the disclosure and are not therefore to be
considered to be limiting of its scope, the principles herein are
described and explained with additional specificity and detail
through the use of the accompanying drawings.
[0005] FIG. 1 is an example system embodiment of the present
technology illustrating appliances, an appliance service, and a
mobile device running applications for interacting with the
appliances;
[0006] FIG. 2A, 2B, and 2C illustrate an example graphical user
interface of an Internet of Everything (IoE) application of the
present technology;
[0007] FIG. 3A illustrates a further example of graphical user
interface of an Internet of Everything application of the present
technology;
[0008] FIG. 3B illustrates the graphical user interface of FIG. 3A
rendered on an example mobile device;
[0009] FIG. 4 illustrates an example graphical user interface for
an appliance;
[0010] FIG. 5A illustrates a first example interface for
interacting with a television appliance;
[0011] FIG. 5B illustrates a second example interface for
interacting with a television appliance;
[0012] FIG. 6A illustrates an IoE interface with two devices
selected;
[0013] FIG. 6B illustrates an interface for interacting with the
personal computing device and the digital picture frame selected in
FIG. 6A;
[0014] FIG. 7 illustrates an example method embodiment wherein
steps on the right are performed by the appliance service, steps on
the left are performed by the IoE app, and a step in the middle
could be performed by either entity; and
[0015] FIG. 8A and FIG. 8B illustrate exemplary possible system
embodiments.
DESCRIPTION
[0016] Various embodiments of the disclosure are discussed in
detail below. While specific implementations are discussed, it
should be understood that this is done for illustration purposes
only. A person skilled in the relevant art will recognize that
other components and configurations may be used without parting
from the spirit and scope of the disclosure.
Overview
[0017] The present technology pertains to presenting and
interacting with any networked appliance in an environment. A
device can be registered with an appliance service, represented in
a graphical user interface that allows selection of the appliance
through selection of an icon, and controlled using a graphical user
interface that presents functions of the appliance.
[0018] As used herein, the term "configured" shall be considered
interchangeable with configured and configurable, unless the term
"configurable" is explicitly used to distinguish from "configured."
As used herein the term "transceiver" can mean a single device
comprising a transmitter and receiver or can mean a separate
transmitter and a separate receiver. The proper understanding of
the term will be apparent to persons of ordinary skill in the art
in the context in which the term is used.
[0019] FIG. 1 is an example system embodiment of the present
technology, illustrating appliances, an appliance service, and a
mobile device running applications for interacting with the
appliances. Specifically, FIG. 1 illustrates example appliances
100: automobile 101, refrigerator 103, television 105, and lighting
107. Each appliance is configured with a network interface for
sending and receiving electronic messages over a network, and each
appliance can include its own application programming interface
102, 104, 106, 108 for making certain device functions available to
other devices that wish to remotely control one of the appliances
101, 103, 105, 107, or work in concert with one of the appliances.
In some embodiments, the API is specific to the device type, but
not necessarily the specific device model. It may be that the API
conforms to an industry standard, whether it is an officially
recognized or de facto standard. In some embodiments, the API is
specific to the manufacturer or model of the specific
appliance.
[0020] While FIG. 1 illustrates example appliances 100 that can be
used with the present technology it will be understood by persons
of ordinary skill in the art that these examples are not limiting.
Any networked device can potentially be an appliance. Likewise,
while the appliances are shown having their own API, this is not a
requirement of the present technology.
[0021] FIG. 1 also illustrates an appliance service 120 that is
configured to register network connected appliances 100 in
registered appliance database 124. Appliances 100 can request to
register with the appliance service 120 through a communication,
using an appliance service application programming interface (API)
122. For example, the refrigerator could send a network message
using a register device API, e.g., reg.device
(refrigerator_model_XYZ).
[0022] The application service 120 can run on any networked
computing device. In some embodiments this could be any of the
following: a dedicated computing device, a routing device, a set
top box, laptop, or portable computing device. In embodiments
wherein the application service 120 runs on a mostly stationary
device, the application service 120 can be used with multiple
portable computing devices, such as portable computing device 110,
allowing potentially multiple devices to interact with appliances
through just one instance of the application service 120. However,
in embodiments wherein the application service 120 runs on a
portable or personal device, separate instances of the application
service 120 would be required on each device to compensate for the
possibility that a portable device might leave the networked
environment.
[0023] FIG. 1 also illustrates portable computing device 110.
Portable computing device 110 can have an Internet of Everything
(IoE) application 112 running thereon that is configured to provide
a consistent interface for controlling any appliance that has
registered with the appliance service 120. The appliance service
120 is responsible for communicating to the IoE application 112
which devices are registered.
[0024] The IoE application 112, upon learning of a registered
device, can download an app 114 to interface with the appliance. In
some embodiments the appliance app 114 can be an appliance-specific
app that is specific to a particular registered model of the
appliance. In some embodiments the appliance app can be a generic
app for any appliance of the same type (e.g., app of refrigerators,
app for televisions, etc.).
[0025] FIG. 2A, 2B, and 2C illustrate an example graphical user
interface of an Internet of Everything application of the present
technology. The interface illustrated in FIG. 2A, 2B, and 2C is a
continuous interfaces that can be scrollable left and right to
reveal appliances on a display of a computing device. Each
appliance that is illustrated in interface 200 represents an
appliance that has been registered with the appliance service 120,
and can be controlled by the IoE app 112 or appliance app 114.
[0026] Some example devices that can be presented in interface 200
include: a water meter 201, power meter 202, plumbing fixture 203,
a cleaning device 204, a recycling or rubbish container 206, wine
cellar 207, kitchen appliance 208, refrigerator 209, personal
health device 210, thermostat 211, personal device 212, television
213, camera or photo collection 214, sound system 215, lights or
lighting 216, digital photo frames 217, toys 218, windows or shades
219, plant condition monitor 220, door/door lock 221, security
camera 222, personal health monitoring appliances 223, automobile
224, etc. Interface 200 is configured to be horizontally scrollable
to reveal the full list of appliances. A user can select one or
more of the appliances through the interfaces to interact with the
device.
[0027] In some embodiments the icons in interface 200 which appear
to represent a single appliance can represent multiple appliances
fitting a category. For example, the lighting icon 216 might
represent all lighting in the environment or a particular light. In
another example, health monitoring appliances 223 can include a
variety of devices from pedometers to blood sugar meters, to smart
watches with biometric sensors. In embodiments wherein an icon
represents more than one appliance, selection of the icon can bring
up a selection menu to choose the specific appliance, or an
appliance app will be configured to allow for selection of a single
appliance or coordinated interaction with two or more appliances in
the category at once.
[0028] FIG. 3A illustrates a further example of graphical user
interface of an Internet of Everything application of the present
technology. FIG. 3A illustrates device overview interface 250,
which displays appliances in the same scrollable interfaces as
illustrated in FIGS. 2A-2C, along with notifications 252. These
notifications 252 can include data that is reported by the
appliances 100, or messages generated by the appliances 100 or the
appliance apps 114.
[0029] FIG. 3B illustrates the graphical user interface of FIG. 3A
rendered on an example mobile device. Device overview interface 250
can be rendered on a portable computing device and can be
scrollable in a left or right direction. Each appliance icon and
badge can be selected by entering a selection action into the
graphical user interfaces. In some embodiments, the selection
action includes a tap on a touchscreen device or a click of the
mouse. A selection action can launch an interface for interacting
with the appliance.
[0030] FIG. 4 illustrates an example graphical user interface for
an appliance. For example, graphical user interface 302 is an
example interface for a thermostat. A user of the IoE App 112
browsed device overview interface 250 and selected icon 211
representing a thermostat, which launched interface 302 on portable
computing device 110.
[0031] In some embodiments, interface 302 is presented by a
stand-alone appliance app that is specific to the particular make
and model of the thermostat/climate control device. In such
embodiments IoE App 112 contains a reference to the stand-alone
appliance app, and when the icon--such as icon 211--representing
the appliance is selected, the IoE application launches the stand
alone appliance app. In such embodiments it may be possible to
launch the stand alone appliance app from other points within the
portable computing device operating system as well from the IoE App
112.
[0032] In some embodiments, interface 302 is presented by an add-on
module to the IoE App 112. In such embodiments, the appliance app
runs within, or at least appears to the user to run in, the same
context as the IoE App 112. In such embodiments, it may only be
possible to launch the appliance interface from within the IoE App
112.
[0033] In some embodiments, interface 302 is a generic interface
illustrating generic controls for an appliance of a given type,
e.g., a generic interface for thermostats.
[0034] Regardless of whether interface 302 is a generic interface
or an interface specific to a given make and model, interface 302
can present information about the networked appliance, and one or
more controls to adjust settings or to provide instructions to the
networked appliance. For example, a thermostat interface such as
interface 302 might display a temperature 304 (current temperature
or a set temperature), time day settings for turning the climate
control system on or off, a virtual power switch 306, etc.
Interface 302 can also include an interface object for closing out
of interface 302 and returning to the device overview interface 250
of the IoE app 112.
[0035] FIG. 5A illustrates a first example interface for
interacting with a television appliance. FIG. 5B illustrates a
second example interface for interacting with a television
appliance. FIG. 5A illustrates a television appliance 105 and a
portable computing device 110 having a graphical user interface 310
of a television appliance app for interacting with the television
appliance 105. FIG. 5B illustrates another interface 320 of the
television appliance app for interacting with the television
appliance 105. Interfaces 310 and 320 can be considered different
menus or screen of the television appliance app and can be used
together to interact with the television appliance 105. The
television appliance app can be manufacture or model specific or
generic.
[0036] Interface 310 in FIG. 5A can include a portion of the
interface that mirrors or previews content that can be displayed on
the television appliance 105. Interface 310 can also include
sub-apps 312 for use with the television appliance. In some
embodiments, these sub-apps 312 may be apps that are used along
with the appliance. For example, in the case of a television
appliance, it is now common for many users to watch television
programming with a second screen device and interact with social
media or secondary content related to the programing on the
television appliance. Sub-apps 312 can include apps that provide a
portion of the second screen experience.
[0037] In some embodiments, sub-apps 312 can provide additional
interfaces for controlling the television appliance 105. For
example one of the sub-apps 312, when selected could open a content
browsing interface such as a program guide that can be used to tune
the television appliance to a new program or channel, or library of
content (interface 320) that can be used to display recorded
content, or cloud hosted content.
[0038] As addressed above, appliance apps can be launched by
selection of an icon in device overview interface 250 that
represents an appliance. In some embodiments, it can be desirable
to have two or more appliances interact together and in such
embodiments, device overview interface 250 can support the
selection of more than one appliance.
[0039] FIG. 6A illustrates an IoE interface with two devices
selected. Specifically, FIG. 6A illustrates device overview
interface 250 displaying a collection of appliances as addressed
above, having selections 350 and 352 selecting a personal computing
device 212 and digital photo frames 217, respectively. In some
embodiments, a long tap or a long click can be used to indicate
that other devices are to be selected to prevent the IoE app 112
from immediately launching an interface or app that applies to the
first appliance selected. For example, the graphical user device
overview interface 250 of the IoE app 112 can receive a long
selection action on photo frame appliance 217 and then receive a
selection of personal computing device 212 to launch an interface
that is common for both appliances. In some embodiments, IoE app
112 can present a collection of controls or options for selecting
additional interfaces that makes use of, or are relevant to, both
of the selected appliances. For example selection of any appliance
and a power meter might present an interface for adjusting power
consumption for that device, or presenting power consumption
statistics. Another example might include selecting an input
device--such as a camera, computing device, etc.--and a display
device to bring up options for displaying content on the display
device. Another example might include selecting an audio output
device, such as personal computing device television and speakers,
to bring up audio output options.
[0040] FIG. 6B illustrates an interface for interacting with the
personal computing device and the digital picture frame selected in
FIG. 6A. The interface illustrated in FIG. 6B shows available
digital picture frame appliances 405 and a collection of photos 410
stored on personal computing device 212. A user can select a
photo(s) from the collection and drag it to one of the digital
picture frames 405 to cause the selected photo(s) to be transferred
from the personal computing device 212 to the selected picture
frames.
[0041] In addition to replicating traditional device controls in
the appliance apps 114, the appliance apps 114 or the IoE app 112
can include device recipes, which are two or more control
operations that to be used together to affect a result at an
appliance. For example, a recipe could include a lighting recipe
configured to keep lighting in a room at a current level. Therefore
the recipe would call for periodic sampling of the light level in
the room and adjusting the lumens of the light output to maintain
the light level in the room.
[0042] In some embodiments, these recipes can be preconfigured in
an appliance specific application or in the IoE app 112. In some
embodiments, a user can create their own recipes and save them for
later selection.
[0043] In some embodiments recipes can be used to control two or
more appliances wherein a recipe might include one or more control
operations for each of the two or more appliances. For example a
recipe affecting two appliances could be a slide show recipe which
displays photographs from a portable computing device on a
television display. Such recipes can be selected from within the
IoE app, appliance specific apps, or can be presented when a user
selects two appliances to which a recipe pertains.
[0044] FIG. 7 illustrates an example method embodiment wherein
steps on the right are performed by the appliance service, steps on
the left are performed by the IoE app, and a step in the middle
could be performed by either entity. The method of FIG. 7 begins
with registering an appliance 100 with the appliance service 120.
An appliance might broadcast its presence to network using a
network discovery protocol such that the appliance can be detected
(500) by the appliance service 120, or an appliance service 120
might ping devices on a network to detect (500) the presence of an
appliance. If the appliance service 120 detects (500) an
unregistered appliance, the appliance service can send (502) an
invitation message to the appliance inviting the appliance to
register with the appliance service 120.
[0045] In some embodiments the method of FIG. 7 can skip directly
to the appliance service 120 receiving a request to register a
device (504). In such embodiments, the appliance service 120 itself
might broadcast its presence or make it detectable to networked
appliances, or a user might inform an appliance of the existence of
the appliance service 120.
[0046] Regardless of how the appliance service and appliance learn
of each other, the appliance can be registered at the appliance
service (506).
[0047] Once an appliance is registered at the appliance service
120, IoE app 112 can be notified (508) by appliance service 120 of
the presence of a registered appliance, and the IoE app can display
(510) an icon representing the appliance, and download (512) an
interface, commands, and recipes, if applicable for interacting
with the registered appliance.
[0048] The IoE app 112 can provide and display (514) a device
overview graphical user interface. In some embodiments the device
overview graphical user interface includes at least a collection of
appliance icons representing appliances that can be interacted with
through the IoE app 112. In some embodiments the device overview
interface can also include one or more messages from the
appliances, appliance apps, or IoE app.
[0049] A user can navigate the device overview interface of the IoE
app 112 using any input device,--including a keyboard, mouse,
stylus, or touch input,--to locate and select (516) one or more
appliances. Upon selection of an appliance the IoE app 112 can
present an appliance interface (518) that is configured to interact
with the appliance. In some embodiments the IoE app 112 can present
the appliance interface. In some embodiments the IoE app 112 can
cause a separate appliance app to launch (518) directly from the
device overview screen on the IoE app 112.
[0050] The appliance interface can provide controls, recipes, and
messages relevant to the appliance to which the appliance interface
pertains. The appliance interface can be navigated using the same
mechanisms as the device overview interface. A user can select a
control from the appliance interface (520) which is received by the
app.
[0051] A message corresponding to the selected control can be sent
(522) to the appliance either by an appliance specific app, the IoE
app, or the appliance service. In some embodiments, it is desirable
from a security perspective to have messages/commands flow between
the appliance service 120 and the appliance so that a single,
trusted party is attempting to communicate and control the
appliance. In such embodiments, the app receiving a selected
control 520 communicates the desired control to the appliance
service 120, which communicates (522) the desired control to the
appliance. Of course, it is possible to communicate (522) directly
from the IoE app to the appliance.
[0052] FIG. 8A and FIG. 8B illustrate exemplary possible system
embodiments. The more appropriate embodiment will be apparent to
those of ordinary skill in the art when practicing the present
technology. Persons of ordinary skill in the art will also readily
appreciate that other system embodiments are possible.
[0053] FIG. 8A illustrates a conventional system bus computing
system architecture 600, wherein the components of the system are
in electrical communication with each other using a bus 605.
Exemplary system 600 includes a processing unit (CPU or processor)
610 and a system bus 605 that couples various system components
including the system memory 615--such as read only memory (ROM) 620
and random access memory (RAM) 625--to the processor 610. The
system 600 can include a cache of high-speed memory connected
directly with, in close proximity to, or integrated as part of the
processor 610. The system 600 can copy data from the memory 615
and/or the storage device 630 to the cache 612 for quick access by
the processor 610. In this way, the cache can provide a performance
boost that avoids processor 610 delays while waiting for data.
These and other modules can control or be configured to control the
processor 610 to perform various actions. Other system memory 615
may be available for use as well. The memory 615 can include
multiple different types of memory with different performance
characteristics. The processor 610 can include any general purpose
processor and a hardware module or software module--such as module
1 632, module 2 634, and module 3 636--stored in storage device
630, configured to control the processor 610, as well as a
special-purpose processor where software instructions are
incorporated into the actual processor design. The processor 610
may essentially be a completely self-contained computing system,
containing: multiple cores or processors, a bus, memory controller,
cache, etc. A multi-core processor may be symmetric or
asymmetric.
[0054] To enable user interaction with the computing device 600, an
input device 645 can represent any number of input mechanisms, such
as: a microphone for speech, a touch-sensitive screen for gesture
or graphical input, keyboard, mouse, motion input, speech and so
forth. An output device 635 can also be one or more of a number of
output mechanisms known to those of skill in the art. In some
instances, multimodal systems can enable a user to provide multiple
types of input to communicate with the computing device 600. The
communications interface 640 can generally govern and manage the
user input and system output. There is no restriction on operating
on any particular hardware arrangement; therefore, the basic
features here may easily be substituted for improved hardware or
firmware arrangements as they are developed.
[0055] Storage device 630 is a non-volatile memory and can be a
hard disk or other types of computer readable media which can store
data that are accessible by a computer, such as: magnetic
cassettes, flash memory cards, solid state memory devices, digital
versatile disks, cartridges, random access memories (RAMs) 625,
read only memory (ROM) 620, and hybrids thereof.
[0056] The storage device 630 can include software modules 632,
634, and 636 for controlling the processor 610. Other hardware or
software modules are contemplated. The storage device 630 can be
connected to the system bus 605. In one aspect, a hardware module
that performs a particular function can include the software
component stored in a computer-readable medium in connection with
the necessary hardware components, such as the processor 610, bus
605, display 635, and so forth, to carry out the function.
[0057] FIG. 8B illustrates a computer system 650 having a chipset
architecture that can be used in executing the described method and
generating and displaying a graphical user interface (GUI).
Computer system 650 is an example of computer hardware, software,
and firmware that can be used to implement the disclosed
technology. System 650 can include a processor 655, representative
of any number of physically and/or logically distinct resources
capable of executing software, firmware, and hardware configured to
perform identified computations. Processor 655 can communicate with
a chipset 660 that can control input-to and output-from processor
655. In this example, chipset 660 outputs information to output
665, such as a display, and can read and write information to
storage device 670, which can include magnetic media, and solid
state media, for example. Chipset 660 can also read data from and
write data to RAM 675. A bridge 680 for interfacing with a variety
of user interface components 685 can be provided for interfacing
with chipset 660. Such user interface components 685 can include: a
keyboard, a microphone, touch detection and processing circuitry, a
pointing device, such as a mouse, and so on. In general, inputs to
system 650 can come from any of a variety of sources, machine
generated and/or human generated.
[0058] Chipset 660 can also interface with one or more
communication interfaces 690 that can have different physical
interfaces. Such communication interfaces can include interfaces
for wired and wireless local area networks, for broadband wireless
networks, as well as personal area networks. Some applications of
the methods for generating, displaying, and using the GUI disclosed
herein can include receiving ordered datasets over the physical
interface or generation by the machine itself by processor 655
analyzing data stored in storage 670 or 675. Further, the machine
can receive inputs from a user--via user interface components
685--and execute appropriate functions, such as browsing functions
by interpreting these inputs using processor 655.
[0059] It can be appreciated that exemplary systems 600 and 650 can
have more than one processor 610 or be part of a group or cluster
of computing devices networked together to provide greater
processing capability.
[0060] For clarity of explanation, in some instances, the present
technology may be presented as including individual functional
blocks including: functional blocks comprising devices, device
components, steps or routines in a method embodied in software, or
combinations of hardware and software.
[0061] In some embodiments the computer-readable storage devices,
mediums, and memories can include a cable or wireless signal
containing a bit stream and the like. However, when mentioned,
non-transitory computer-readable storage media expressly exclude
media, such as: energy, carrier signals, electromagnetic waves, and
signals per se.
[0062] Methods according to the above-described examples can be
implemented using computer-executable instructions that are stored
or otherwise available from computer readable media. Such
instructions can comprise, for example, instructions and data which
cause or otherwise configure a general purpose computer, special
purpose computer, or special purpose processing device to perform a
certain function or group of functions. Portions of computer
resources used can be accessible over a network. The
computer-executable instructions may be, for example, binaries,
intermediate format instructions, such as assembly language,
firmware, or source code. Examples of computer-readable media that
may be used to store instructions, information used, and/or
information created during methods according to described examples
include: magnetic or optical disks, flash memory, USB devices
provided with non-volatile memory, networked storage devices, and
so on.
[0063] Devices implementing methods according to these disclosures
can comprise hardware, firmware and/or software, and can take any
of a variety of form factors. Typical examples of such form factors
include: laptops, smart phones, small form factor personal
computers, personal digital assistants, and so on. Functionality
described herein can also be embodied in peripherals or add-in
cards. Such functionality can also be implemented on a circuit
board among different chips or different processes executing in a
single device, by way of further example.
[0064] The instructions, media for conveying such instructions,
computing resources for executing them, and other structures for
supporting such computing resources are means for providing the
functions described in these disclosures.
[0065] Although a variety of examples and other information was
used to explain aspects within the scope of the appended claims, no
limitation of the claims should be implied based on particular
features or arrangements in such examples, as one of ordinary skill
would be able to use these examples to derive a wide variety of
implementations. Furthermore, although some subject matter may have
been described in language specific to examples of structural
features and/or method steps, it is to be understood that the
subject matter defined in the appended claims is not necessarily
limited to these described features or acts. For example, such
functionality can be distributed differently or performed in
components other than those identified herein. Rather, the
described features and steps are disclosed as examples of
components of systems and methods within the scope of the appended
claims.
* * * * *