U.S. patent application number 17/666113 was filed with the patent office on 2022-05-26 for industrial automation personalization engine.
The applicant listed for this patent is Rockwell Automation Technologies, Inc.. Invention is credited to Peter Baron, Brian Dipert, Barry M. Jereb, Jessica L. Korpela, Eric Rehl, Kyle K. Reissner, Amit R. Sathe, Tracy L. Swartzendruber, Jessica M. Truong.
Application Number | 20220163950 17/666113 |
Document ID | / |
Family ID | 1000006128705 |
Filed Date | 2022-05-26 |
United States Patent
Application |
20220163950 |
Kind Code |
A1 |
Dipert; Brian ; et
al. |
May 26, 2022 |
INDUSTRIAL AUTOMATION PERSONALIZATION ENGINE
Abstract
Various embodiments of the present technology provide an
integrated platform that provides personalized experiences for
users of an integrated platform during various phases of an
industrial automation project lifecycle. In accordance with various
embodiments, the integrated platform can create personalized
experiences for different users based on one or more assigned
roles. The roles can include company roles, industry roles, job
roles, location-based roles, personalized roles, and the like. For
example, some company that only purchases certain brands of
components for an industrial automation project can indicate that
preference. During interactions with the integrated platform, any
user associated with that company (e.g., via the company role) will
only be presented with those preferences. As another example,
generic requests received via one interaction channel can be
analyzed and personalized, specific responses can be generated
based on activity within other interaction channels.
Inventors: |
Dipert; Brian; (North
Olmsted, OH) ; Rehl; Eric; (Oak Creek, WI) ;
Jereb; Barry M.; (Chagrin Falls, OH) ;
Swartzendruber; Tracy L.; (Hudson, OH) ; Korpela;
Jessica L.; (Milwaukee, WI) ; Sathe; Amit R.;
(Twinsburg, OH) ; Truong; Jessica M.; (Eagle,
WI) ; Reissner; Kyle K.; (Hudson, OH) ; Baron;
Peter; (Strongsville, OH) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Rockwell Automation Technologies, Inc. |
Mayfield Heights |
OH |
US |
|
|
Family ID: |
1000006128705 |
Appl. No.: |
17/666113 |
Filed: |
February 7, 2022 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
16145619 |
Sep 28, 2018 |
11243515 |
|
|
17666113 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06Q 10/105 20130101;
G06Q 10/0633 20130101; G06Q 10/0875 20130101; G05B 19/41845
20130101; G05B 19/4188 20130101; G06N 20/00 20190101 |
International
Class: |
G05B 19/418 20060101
G05B019/418; G06Q 10/06 20060101 G06Q010/06; G06Q 10/10 20060101
G06Q010/10; G06Q 10/08 20060101 G06Q010/08; G06N 20/00 20060101
G06N020/00 |
Claims
1. An integrated platform for industrial automation projects, the
integrated platform comprising: a processor; one or more tools
configured to allow a user to interact with the integrated platform
during lifecycle phases of an industrial automation project; an
identification module, under control of the processor, to identify
and validate a user and one or more roles of the user within an
industrial automation project design; and a personalization engine,
under control of the processor, to personalize a user experience
within the integrated platform based on the one or more roles of
the user.
2. The integrated platform of claim 1, wherein the personalization
engine monitors one or more interaction channels within the
integrated platform and generates personalized responses in a first
interaction channel based on activity within a second interaction
channel.
3. The integrated platform of claim 2, wherein the first
interaction channels includes a voice assistant and the second
interaction channel includes the one or more tools.
4. The integrated platform of claim 2, wherein the one or more
interaction channels include a chat window, the one or more tools,
a voice assistant, or a search engine.
5. The integrated platform of claim 1, wherein the one or more
roles of the user include a company role identifying a role within
an organization, an industry role identifying industries the user
is associated with, and individual roles identifying specific
activity of the user.
6. The integrated platform of claim 1, wherein the one or more
roles of the user include a company role and the personalization
engine personalizes activity within the integrated platform based
on the company role.
7. The integrated platform of claim 5, wherein the company role
specifies specific components preferred by the company and the
personalization engine only presents those components to the user
during searches.
8. The integrated platform of claim 1, wherein the one or more
roles of the user are generated or updated based on a review from a
machine learning or artificial intelligence engine to automatically
assess the role of the user.
9. The integrated platform of claim 7, wherein the machine learning
or artificial intelligence engine reviews user activity via one or
more interaction channels, company human resource data, cross
platform files from other users in the same industry, historical
sales records, and maintenance records.
10. A method for operating an integrated platform, the method
comprising: identifying a user and one or more user roles, wherein
the one or more user roles include a company role identifying a
role within an organization, an industry role identifying
industries the user is associated with, and individual roles
identifying specific activity of the user within the integrated
platform; monitoring user activity within the integrated platform
via one or more interaction channels; and generating a personalized
experience within the integrated platform based on the user
activity and the one or more user roles.
11. The method of claim 10, further comprising automatically
assigning or updating the one or more user roles to the user based
on an evaluation performed by a machine learning or artificial
intelligence system.
12. The method of claim 11, wherein the generating the personalized
experience includes using the machine learning or artificial
intelligence engine to review the user activity, human resource
data of the company, cross platform files from other users in the
same industry, historical sales records, and maintenance
records.
13. The method of claim 10, wherein generating the personalized
experience within the integrated platform includes generating a
specific response to a generic request received via one of the one
or more interaction channels.
14. The method of claim 13, wherein the generic response is
received via a virtual voice assistant and the specific response is
based on the activity of the user within one or more tools hosted
by the integrated platform.
15. The method of claim 14, wherein the one or more tools hosted by
the integrated platform include a bill of materials builder to
generate an initial design and quote, a studio suite to allow
customization of specific components, and a repair manager to
process maintenance requests.
16. The method of claim 10, wherein the one or more roles of the
user are used to create a customized workflow to order parts.
17. A computer-readable medium, excluding transitory signals,
storing instructions that when executed by one or more processors
cause a machine to: identify a user and one or more user roles
associated with the user, wherein the one or more user roles
include a company role identifying a role within an organization,
an industry role identifying industries the user is associated
with, and individual roles identifying specific activity of the
user within an integrated platform; monitor user activity within
the integrated platform via one or more interaction channels; and
generate a personalized experience within the integrated platform
based on the user activity and the one or more user roles.
18. The computer-readable medium of claim 17, wherein the
instructions when executed by one or more processors further cause
the machine to automatically assign or update the one or more user
roles based on an machine learning or artificial intelligence
evaluation.
19. The computer-readable medium of claim 17, wherein the
instructions when executed by one or more processors further cause
the machine to generate the personalized experience within the
integrated platform by generating a specific response in a first
interaction channel in response to a generic request received via a
second interaction channel.
20. The computer-readable medium of claim 17, wherein the generic
request is received via a virtual voice assistant and the specific
response is based on the activity of a user within one or more
tools.
Description
RELATED APPLICATIONS
[0001] This application is a continuation of and claims the benefit
of and priority to U.S. patent application Ser. No. 16/145,619
filed Sep. 28, 2018 entitled "INDUSTRIAL AUTOMATION PERSONALIZATION
ENGINE," which is hereby incorporated by reference in its entirety
for all purposes.
TECHNICAL FIELD
[0002] Various embodiments of the present technology generally
relate to industrial automation system design. More specifically,
some embodiments of the present technology relate to industrial
automation personalization engines.
BACKGROUND
[0003] The rapid evolution in industrial automation systems has led
to many factory environments that are partially or completely
automated. Such automated systems allow for improved output with
minimal input from humans. For example, automated manufacturing
processes are common in automotive industry, chemical industry,
food and beverage industry, mining and metal industries, and
others. The industrial automation systems are often custom
solutions designed to solve unique needs within each industry and
for each company. Moreover, these industrial automation systems are
more complex than ever and require tighter integration between
other devices or systems on the plant floor and the rest of the
enterprise. This integration requires a secure network
infrastructure, smart devices for efficient data collection, and
the ability to turn data into actionable information.
[0004] The expanding availability of options for motors, motor
controllers, sensors, switches, relays, interface options, and
various other components make designing, building, and maintaining
these industrial automation systems more difficult than even. New
parts are constantly being introduced, while some old parts are
redesigned and replaced with improved versions or phase out of
production. Moreover, some parts are compatible while other parts
are not. As such, developing initial cost estimates, defining
project scope, budget, total cost of ownership, implementation
timelines, and risk assessments can all be challenging. Moreover,
ensuring compliance with various safety and governmental standards
that can vary across industries is another challenge in designing
complex industrial automation solutions.
SUMMARY
[0005] Various embodiments of the present technology generally
relate to industrial automation system design. More specifically,
some embodiments of the present technology relate to industrial
automation personalization engines. In some embodiments, an
integrated platform can be configured to provide users with
customized personalizations that are different for each user. The
integrated platform can include a processor, one or more tools
configured to allow the user to interact with the integrated
platform during lifecycle phases of an industrial automation
project. The integrated platform may also include an identification
module, under control of the processor, to identify and validate a
user and one or more roles of the user within an industrial
automation project design. The one or more user roles may include,
but are not limited to, a company role identifying a role within an
organization, an industry role identifying industries the user is
associated with, and individual roles identifying specific activity
of the user. The personalization engine can personalize a user
experience within the integrated platform based on the one or more
roles of the user.
[0006] In some embodiments, the personalization engine can monitor
one or more interaction channels within the integrated platform and
generates personalized responses in a first interaction channel
based on activity within a second interaction channel. The first
interaction channel may be a voice assistant and the second
interaction channel be the one or more tools. The personalization
engine can also personalize activity within the integrated platform
based on the associated company role. For example, a company may
specify specific components or brands preferred by the company
(e.g., to achieve volume discounts, based on inventory levels,
etc.) and the personalization engine will only present those
component options to the user during searches, designs, or repairs.
The one or more roles of the user can be generated or updated based
on a review from a machine learning or artificial intelligence
engine to automatically assess the role of the user. In some
embodiments, the machine learning or artificial intelligence engine
can also review user activity via one or more interaction channels,
company human resource data, cross platform files from other users
in the same industry, historical sales records, and maintenance
records. As a result, a new person using the integrated platform
can receive the company personalizations to help get them up to
speed or ensure compliance with company policies. Moreover, the
personalization engine can take multiple data points (e.g., browser
history, current activity, articles read by the user, etc.) and
make an educated guess as to what the user wants to know based on a
derived user profile.
[0007] Embodiments of the present invention also include
computer-readable storage media containing sets of instructions to
cause one or more processors to perform the methods, variations of
the methods, and other operations described herein.
[0008] While multiple embodiments are disclosed, still other
embodiments of the present invention will become apparent to those
skilled in the art from the following detailed description, which
shows and describes illustrative embodiments of the invention. As
will be realized, the invention is capable of modifications in
various aspects, all without departing from the scope of the
present invention. Accordingly, the drawings and detailed
description are to be regarded as illustrative in nature and not
restrictive.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Embodiments of the present technology will be described and
explained through the use of the accompanying drawings in
which:
[0010] FIG. 1 illustrates an example of an integrated environment
in which some embodiments of the present technology may be
utilized;
[0011] FIG. 2 illustrates data flow between various components of
an integrated platform that may be used in one or more embodiments
of the present technology;
[0012] FIG. 3 illustrates a set of components that may be used
within an integrated platform according to one or more embodiments
of the present technology;
[0013] FIG. 4 is a flowchart illustrating a set of operations for
managing a customized user experience according to one or more
embodiments of the present technology;
[0014] FIG. 5 is a flowchart illustrating a set of operations for
operating for generating custom recommendations and user
experiences within an integrated platform in accordance with some
embodiments of the present technology;
[0015] FIG. 6 is flowchart illustrating a set of operations for
automatically generating a bill of materials in accordance with one
or more embodiments of the present technology;
[0016] FIG. 7 is a flowchart illustrating a set of operations for
user personalization in accordance with various embodiments of the
present technology;
[0017] FIG. 8 illustrates an example of an interface for
administrating user roles within an integrated platform according
to some embodiments of the present technology;
[0018] FIG. 9 illustrates an example of an interface for managing
user roles within an integrated platform according to some
embodiments of the present technology;
[0019] FIG. 10 is a sequence diagram illustrating an example of the
data flow between various components of an integrated platform
according to various embodiments of the present technology; and
[0020] FIG. 11 is an example of a computer system associated with
an industrial automation system.
[0021] The drawings have not necessarily been drawn to scale.
Similarly, some components and/or operations may be separated into
different blocks or combined into a single block for the purposes
of discussion of some of the embodiments of the present technology.
Moreover, while the technology is amenable to various modifications
and alternative forms, specific embodiments have been shown by way
of example in the drawings and are described in detail below. The
intention, however, is not to limit the technology to the
particular embodiments described. On the contrary, the technology
is intended to cover all modifications, equivalents, and
alternatives falling within the scope of the technology as defined
by the appended claims.
DETAILED DESCRIPTION
[0022] Various embodiments of the present technology generally
relate to industrial automation system design. More specifically,
some embodiments of the present technology relate to industrial
automation personalization engines. Creating complex industrial
automation systems requires a number of individuals in differing
roles performing different activities. At the highest level the
roles of these individuals can be divided into a presale phase and
a post-sale phase. During the presale phase members of the sales
team (e.g., system integrators and distributors) are tasked with
understanding the customer's needs, initially designing a solution,
and generating one or more estimates. Other tasks can include,
procurement, ensure design will work, generating quotes and
proposals, and the like.
[0023] Given the complexity of many of the industrial automation
machine designs, an initial quote providing a rough order of
magnitude is often prepared first. If the customer is comfortable
with the rough order of magnitude of the quote, then more time is
spent refining the project and quote. Depending on the complexity
of the project, these steps may take several days to several
months. There may often be many layers of review by different
individuals before a project design is finalized. Keeping the
reviewers on track and ensuring needed updates to the design are
timely made can be difficult. Ultimately, once the quote is
ultimately accepted (possibly after some modifications) by the
customer, the next step is to build and deliver the industrial
automation machine.
[0024] Building and delivering the industrial automation machine is
part of the post-sale phase can include development work around
delivering the machine. In many cases, control engineers write
programs that will control the industrial automation system (e.g.,
read the inputs, control the outputs, etc.), design and build human
machine interfaces (HMI), configure devices (e.g., making sure each
component has the right firmware and other objects), and the like.
Once the machine is installed, eventually the customer will need
support for routine maintenance, repairs, and/or upgrades for this
custom system.
[0025] Various embodiments of the present technology provide an
integrated platform that provides personalization across all of the
multiple lifecycle phases of an industrial automation system. In
accordance with various embodiments, the integrated platform can
identify the user, the user's affiliation with a company or
distributor, which information the user should have access to, and
the role or roles of the user. In some embodiments, the integrated
platform can take whatever is specified in a presale phase provide
customized recommendations and/or personalizations (e.g., based on
historical purchasing information).
[0026] Once the design is finalized, the integrated platform can
allow the user or other team members to easily open up that
information in a corresponding tool to address needs in the
post-sale phase to allow for all device commissioning, programming,
and configuration without any importing, exporting, or recreation
of presale files. As such, any layouts or designs can be easily
opened up within the platform by users with differing roles.
Moreover, if in the post-sale phase, a control engineer decides
that a specific aspect of control system was left out, the control
engineer can summon the capability of the presale phase to expand
the system. As a result, there is a seamless integration (e.g., no
user ever has to take additional steps to keep in presale records
in sync with the post-sale) as project activity is represented by
the same underlying representation or basis within the integrated
platform.
[0027] Moreover, once an industrial automation system is
commissioned, the integrated platform can provide guidance or
recommendations on component selection or subsystem redesigns to
bring the system up to a contemporary configuration as components
or standards change. Various embodiments can use artificial
intelligence to form presale recommendations and optimized
experiences based on how components are connected and working in
post-sale environments. For example, some embodiments can quickly
review and analyze databases with records of existing
configurations.
[0028] If part A is being switched out with part B pretty often
once an industrial automation machine is up and going, then the
presale experience can be customized to recommend part B.
Similarly, if there is a particular configuration for a specific
application that is successful, then the integrated platform can
streamline the upfront specification time by recommending the
configuration. For example, if a design is being created for a
vertical form post seal machine running at particular rate, the
integrated platform can review typically specified and validated
designs which the presale user can use this as a starting point as
well as identifies components or configurations that maybe now work
better for their machine. Moreover, by understanding the roles of
the user the integrated platform can make customized
personalizations. For example, if a user is part of company Y and
company Y only uses certain brands of drives, then the tool will
only present those particular brands of drives to the user.
[0029] Once built, the lifecycle of a machine can span many years
or even decades. Over time the machine may be upgraded or modified.
The historical records can easily get lost or be no longer
available. This is complicated even more by the fact that different
parties are involved in the design, building, and repair of the
industrial automation system. As such, various embodiments provide
an integrated platform that allows users from multiple companies
(e.g., distributor, component provider, end user, repair
technicians, etc.) to create a data ecosystem which can be
effectively and securely accessible across multiple parties. This
data ecosystem can be useful as an effective knowledge transfer as
individuals leave and new team members are added. Moreover, this
data can be used to create customized recommendations when the
customer starts a new project.
[0030] For example, a user can access the integrated platform.
Instead of the data being siloed by the different parties involved,
the integrated platform can provide a master data hub that
federates the parties and provides appropriate access to the data.
The integrated platform can verify that the user is associated with
the company (e.g., based on location, IP address, prior invoice
numbers, verification by an administrator, etc.). Once vetted, the
system can access specific data about the companies purchases and
goals stored within the data ecosystem. By aggregating historical
purchasing data, the system can provide customized recommendations
and personalizations to the user even if the user is new to the
company and has not made any previous purchases or design
decisions. Moreover, the integrated platform can provide an
effective way for license management and transfer for software sold
via a distributor.
[0031] Various embodiments of the present technology provide for a
wide range of technical effects, advantages, and/or improvements to
computing systems and components. For example, various embodiments
include one or more of the following technical effects, advantages,
and/or improvements: 1) holistic transformation of an automation
project that effectively broadens the scope of the project in a way
that allows the project files to work within an environment that
treats the project as a lifecycle and not just a onetime
deliverable for specific phase; 2) integrated management of project
lifecycle phases allowing the project to be represented in a
consistent way across multiple phases with different users; 3)
proactive summoning capability of what has be traditionally seen as
presale capability so that these capabilities are available at any
time during the lifecycle; 4) use of unconventional and non-routine
computer operations to contextually provide notifications and
recommendations for component (or alternative component) selection
based on lifecycle situations, delivery situations (e.g., parts
still available but harder to get), performance considerations
(e.g., a new switch to increase bandwidth), and other realization
factors; 5) cross-platform integration of machine learning to more
efficiently scope and surface component selection information; 6)
integration of artificial intelligence to review customer activity
and form intelligent presale and/or repair recommendations (e.g.,
based on user roles, how historical designs are connected and
working in post-sale environments, etc.); 7) changing the manner in
which a computing system reacts to design and building of
industrial automation machines; 8) automatic user identification
and risk assessment to provide access to critical information in a
personalized manner; 9) use of unconventional and non-routine
computer operations to provide customized recommendations and
personalization based on distributed knowledge and system design;
10) creation of a master hub to create a dynamic data ecosystem in
providing customized recommendations and/or personalizations; 11)
use of machine learning and artificial intelligence to generate
initial installed base assessments of customer facilities; 12)
fundamental change in the managing services or goods that are not
being sold directly to a consumer; and/or 13) changing the manner
in which a computing system reacts to user interactions and
feedback.
[0032] In the following description, for the purposes of
explanation, numerous specific details are set forth in order to
provide a thorough understanding of embodiments of the present
technology. It will be apparent, however, to one skilled in the art
that embodiments of the present technology may be practiced without
some of these specific details.
[0033] The techniques introduced here can be embodied as
special-purpose hardware (e.g., circuitry), as programmable
circuitry appropriately programmed with software and/or firmware,
or as a combination of special-purpose and programmable circuitry.
Hence, embodiments may include a machine-readable medium having
stored thereon instructions which may be used to program a computer
(or other electronic devices) to perform a process. The
machine-readable medium may include, but is not limited to, floppy
diskettes, optical disks, compact disc read-only memories
(CD-ROMs), magneto-optical disks, ROMs, random access memories
(RAMs), erasable programmable read-only memories (EPROMs),
electrically erasable programmable read-only memories (EEPROMs),
magnetic or optical cards, flash memory, or other type of
media/machine-readable medium suitable for storing electronic
instructions.
[0034] The phrases "in some embodiments," "according to some
embodiments," "in the embodiments shown," "in other embodiments,"
and the like generally mean the particular feature, structure, or
characteristic following the phrase is included in at least one
implementation of the present technology, and may be included in
more than one implementation. In addition, such phrases do not
necessarily refer to the same embodiments or different
embodiments.
[0035] FIG. 1 illustrates an example of an integrated environment
in which some embodiments of the present technology may be
utilized. In accordance with barrios embodiments, integrated
environment 100 can provide a customized portal experience using a
cloud-based data-center. The integrated environment 100 can provide
a customized user experience based on readily access information
from any domain, including live operations data flowing from
manufacturing sites, historical business data, and repair and
maintenance data, to name just a few.
[0036] As illustrated in FIG. 1, integrated environment 100 may
include one or more computing devices 110A-110N (such as a mobile
phone, tablet computer, mobile media device, mobile gaming device,
vehicle-based computer, wearable computing device, etc.) and voice
interfaces 115A-15B, The computing devices 110A-110N and voice
interfaces 115A-15B can connect (e.g., via device application API
120) with applications and tools 125 and virtual assistants 130
which can connect (e.g., via app-engine API 135) to compute engine
140. An intermediate layer involves the applications and tools 125
and can include virtual assistants, powered by natural language
processing capabilities, in support of user interactions with their
applications and tools. The applications and tools 125 can
interface with the compute engine 140 to take advantage of its
machine learning and artificial intelligence capabilities.
[0037] At the user experience layer, customers and partners can
interface with a portal in the usual ways, e.g. in the context of
web browsers and application interfaces, but also via new types of
devices, such as smart speakers, wearable devices, augmented
reality devices, and the like. Integrated security capabilities
will span all layers, reaching from the user experience layer, up
through the applications and tools, to the compute engine 140.
[0038] Computing devices 110A-110N can include network
communication components that enable the mobile devices to
communicate with remote servers (e.g., hosting the applications and
tools 125, virtual assistances 130, etc.) or other portable
electronic devices by transmitting and receiving wireless signals
using licensed, semi-licensed or unlicensed spectrum over a
communications network. In some cases, communication network may be
comprised of multiple networks, even multiple heterogeneous
networks, such as one or more border networks, voice networks,
broadband networks, service provider networks, Internet Service
Provider (ISP) networks, and/or Public Switched Telephone Networks
(PSTNs), interconnected via gateways operable to facilitate
communications between and among the various networks. The
communications network can also include third-party communications
networks such as a Global System for Mobile (GSM) mobile
communications network, a code/time division multiple access
(CDMA/TDMA) mobile communications network, a 3rd or 4th generation
(3G/4G) mobile communications network (e.g., General Packet Radio
Service (GPRS/EGPRS)), Enhanced Data rates for GSM Evolution
(EDGE), Universal Mobile Telecommunications System (UMTS), or Long
Term Evolution (LTE) network), or other communications network.
[0039] Applications and tools 125 can include software that is
useful for creating, building, and managing industrial automation
systems. For example, as illustrated in FIG. 1, applications and
tools 125 can include a studio suite 126, a bill of material
builder 127, and a repair manager 128. Other embodiments may
include different and/or additional applications such as but not
limited to inventory management tools, user experience tools, and
the like. Applications and tools 125 and virtual assistants 130 can
be used by customers and partners to develop projects, put together
bids, and otherwise interact with the product life cycle. In some
embodiments, applications and tools 125 can utilize a specialized
API 135 for interfacing with the compute engine. API 135 can enable
the applications and tools 125 to call into the resources of the
compute engine 140, including its machine learning, artificial
intelligence, and natural language processing capabilities.
[0040] The machine learning and/or artificial intelligence can be
used to improve the user experience. For example, the end-to-end
user experience in some embodiments will allow for various
personalization layers that differ based on who a person is, their
role within an organization, their team, and other factors. As a
user engages with the applications and tools 125, virtual
assistants 130, web portal, and/or other channels, the user's
experience can be customized based on these factors. Different work
flows, different data streams, and/or different features and
functionality can be exposed to the user based on their profile and
interactions.
[0041] In accordance with various embodiments, compute engine 140
supplements the personalized user experience by surfacing
recommendations to end users in the context of their work flow. In
some embodiments, compute engine 140 can recommend product
configurations, project recommendations, build of material
recommendations, and bid recommendations. Compute engine 140 may
also be configured to access past histories of builds,
configurations, and purchases across a spectrum of users and
deployments to optimize a user's project for its current
context.
[0042] In some embodiments, compute engine 140, in conjunction with
applications and tools 125, can accelerate the project development
process for end users. Compute engine 140 can pre-select components
for a project based on an analysis of past projects by a specific
user and projects developed by other users. A project accelerator
(not shown) can integrate with recommendation engine 140 to surface
recommended components for a project. In addition, a given project
can be optimized based on what is most important to the user (or
user's company), such as time to delivery, cost, component
availability, or performance considerations. Compute engine 140 can
use a project optimizer integrated with an accelerator to assist a
user in the project development phase. The optimizer within compute
engine 140 also accesses historical data sets 145 from a wide range
of contexts to arrive at an optimal project design for a given
context. In addition, repair and maintenance records 150,
operational data 155 from customer sites 160, and the like can also
be used by recommendation engine 140 to create customized user
experiences and recommendations.
[0043] In some embodiments, compute engine 140 may also base
recommendation on the current install base of a company. However,
given the lifespan and complexity of many industrial automation
projects, a company may not have a clear picture of the actual
current configuration of their install base. As such, some
embodiments can provide an install base evaluator to identify goods
and services sold to a company. In some embodiments, the install
base evaluator can use data that collected from historical invoices
or manual evaluation with identified part numbers. The compute
engine may also provide an automated analysis (e.g., using machine
learning or artificial intelligence) to identify configurations and
components using video, pictures, historical data, direct
communications with the industrial automation project, maintenance
records, and/or other available data. As such, compute engine can
help identify exactly what is on the company's floors.
[0044] Compute engine 140 may also interact with product
information management (PIM) systems (not illustrated in FIG. 1).
The product information management system can provide detailed
information about parts and components. This information can
include sizes, electrical requirements, restrictions, and the like.
In addition, the PIM system may also provide indicators as to the
lifecycle status of a component. As such compute engine 140 can
make decisions or recommendation based not only on physical or
electrical characteristics but also on component lifecycle and
availability data (e.g., whether a component is scheduled to be
phased out of production, is currently out of production, or may
need replacement).
[0045] The install base evaluator and PIM systems allow the
platform to gather data that can be used to develop and support a
strategic maintenance plan by collecting production specific data
on site, processing and analyzing the data, and delivering detailed
reports and recommendations to users. As such, compute engine can
create, maintain, and access custom built data collections to
gather detailed plant asset information, create topological
descriptions, create hierarchical descriptions specific to the
facility by mapping assets to production priorities and using
terminology and asset descriptions useful to the client. In
addition, other information such as spare part data, environmental
conditions of the facility, number of operating hours per process
may also be used by compute engine 140. For example, in some
embodiments, compute engine 140 may use a mean time to failure and
the variable operating hours by production process to develop
recommended inventory investment levels and reports that can be
sorted by highest risk. The customized inventory analysis can give
companies an overview of their current installed base and store
room inventory. For example, some embodiments may provide an
indication of active spares to support install base, excess active
spares that are more than needed, and inactive spares which are not
part of the current installed base. As a result, compute engine 140
can help optimize inventory levels, lower inventory costs, reducing
downtime, and/or improve a facility's maintenance plan.
[0046] FIG. 2 illustrates data flow between various components of
an integrated platform that may be used in one or more embodiments
of the present technology. As illustrated in FIG. 2, a user can
access user environment 210 to access one or more applications or
tools for managing a particular lifecycle phase of a product. The
user can have different roles which can be used for personalization
of user environment 210, recommendations, data access, and the
like. These roles may be individualized roles, industry roles,
organizational or company roles (e.g., job, location, etc.),
phase-based roles (e.g., presale roles, or post-sale roles), and
the like. For example, in a design phase, a distributor or systems
integrator can access a bill of materials (BOM) builder. During a
production phase, a maintenance technician can access a repair
management tool. Similarly, during an owner of a piece of equipment
may be able to access their project at any stage during the project
lifecycle using the studio suite.
[0047] User environment 210 can make request to integrated platform
to run multiple applications based on a common data file 220. In
accordance with various embodiments, integrated platform 230 can
take whatever is specified in a presale phase (e.g., using the BOM
builder) and easily open up that information in a corresponding
tool to address needs in the post-sale phase to allow for all
device commissioning, programming, and configuration without any
importing, exporting, or recreation of presale files. As such, any
layouts or designs can be easily opened up within the platform by
users with differing roles. Moreover, if in the post-sale phase, a
control engineer decides that a specific aspect of control system
was left out, the control engineer can summon the capability of the
presale phase to expand the system. As a result, there is a
seamless integration (e.g., no user ever has to take additional
steps to keep in presale records in sync with the post-sale) as
project activity is represented by the same underlying
representation or basis within integrated platform 230.
[0048] The user environment can request data from integrated
platform 230. Integrated platform 230 can make one or more queries
to query service to access the underlying data file 220 for the
project. Data file 220 can be in a format to optimize the
capabilities of the tools and applications within the user
environment. The needs for different lifecycles (e.g., presale and
post-sale) can be holistically addressed by the shared data file.
For example, data file 220 can have an XML based file structure in
some embodiments. Data file 220 can accommodate the creation of new
projects and not require the system to go back and change the way
the consuming applications would work. The underlying structure the
bid builder would access the data file to generate bid, read and
write to data file 220. The other applications can also read and
write to the same data file 220. Moreover, meta data within data
file 220 can indicate which data is relevant for a particular
project lifecycle phase.
[0049] In some embodiments, as the results are returned from query
service 240, the data from data file 220 can be formatted (if
needed) by integrated platform 230 so that the tools and
applications within user environment 210 can present the data
according to the role(s) of the user. As a result, industrial
automation projects can be put through different prisms, lenses, or
frames for the optimal presentation within user environment 210.
For example, the prisms, lenses, or frames can include, but are not
limited to, a lowest cost frame, fastest delivery of components
frame, fastest communication speeds frame, quickest available
systems as part of a BOM frame, and/or the like.
[0050] As another example, a user can log into the integrated
platform. The platform can pull a user's identity profile and
identify their roles. For example, based on their corporate role,
the user may be able to see different information (e.g.,
procurement can see prices while automation engineers can only see
component and layout data). As another example, user environment
210 can provide customized lifecycle information about new drivers,
provide notifications, and/or other personalization based on
components within a plant of their company. As such, if a company
only orders particular components (e.g., drives), then only those
drives will be presented to the user.
[0051] In some embodiments, the different roles may be assigned to
different users; administrator that manages the roles. In other
embodiments, a machine learning or artificial intelligence system
may initially assign a role after analyzing available information
and then, over time, update or customize the role based on activity
or inputs from administrators or other sources. For example, over
time the user's role may change within the company. The artificial
intelligence or machine learning engine can ingest title data from
the company. As additional examples, information such as order
history, constructed projects, viewed articles, and other history
items from user may be ingested by the artificial intelligence or
machine learning engine to further customize the personalization
and/or roles defined within the platform.
[0052] Integrated platform 230 can also analyze the data (e.g.,
using machine learning or artificial intelligence) from multiple
projects, companies, and roles to generate an enhanced or optimized
user experience within user environment 210. For example, in a
presale phase, integrated platform can generate initial machine
designs based on characteristics about the user. In addition,
notifications indicative of lifecycle situations, delivery
situations (e.g., parts still available but harder to get),
performance considerations (e.g., a new switch to increase
bandwidth) and the like may also be automatically surfaced to
influence the user's experience and selection. As another example,
the tools and applications may submit (e.g., periodically or in
real-time) system layouts for automated review and analysis by
integrated platform 230. The validation capability provided by
integrated platform 230, in some embodiments, can help the user
ensure selected components are compatible, desirable, and/or most
efficient in generate a proposal or quote.
[0053] FIG. 3 illustrates a set of components 300 that may be used
within an integrated platform according to one or more embodiments
of the present technology. According to the embodiments shown in
FIG. 3, integrated platform can include component database 305,
inventory database 310, project database 315, prioritization module
320, role detection module 325, company module 330, delivery
analyzer 335, cost analyzer 340, availability analyzer 345,
performance analyzer 350, project analyzer 355, lifecycle phase
analyzer 360, recommendation module 365, personalization module or
engine 370, and acceleration module 375. Each of these modules can
be embodied as special-purpose hardware (e.g., one or more ASICS,
PLDs, FPGAs, or the like), or as programmable circuitry (e.g., one
or more microprocessors, microcontrollers, or the like)
appropriately programmed with software and/or firmware, or as a
combination of special purpose hardware and programmable circuitry.
Other embodiments of the present technology may include some, all,
or none of these modules and components along with other modules,
applications, and/or components. Still yet, some embodiments may
incorporate two or more of these modules and components into a
single module and/or associate a portion of the functionality of
one or more of these modules with a different module. For example,
in one embodiment, recommendation module 365, personalization
module 370, and acceleration module 375 can be combined into a
single module for presenting an enhanced customized experience to a
user.
[0054] While not illustrated in FIG. 3, integrated platform can
include processors and memory. The memory can be any device,
mechanism, or populated data structure used for storing
information. In accordance with some embodiments of the present
technology, the memory can encompass any type of, but is not
limited to, volatile memory, nonvolatile memory and dynamic memory.
For example, the memory can be random access memory, memory storage
devices, optical memory devices, media magnetic media, floppy
disks, magnetic tapes, hard drives, SDRAM, RDRAM, DDR RAM, erasable
programmable read-only memories (EPROMs), electrically erasable
programmable read-only memories (EEPROMs), compact disks, DVDs,
and/or the like. In accordance with some embodiments, the memory
may include one or more disk drives, flash drives, one or more
databases, one or more tables, one or more files, local cache
memories, processor cache memories, relational databases, flat
databases, and/or the like. In addition, those of ordinary skill in
the art will appreciate many additional devices and techniques for
storing information which can be used as memory.
[0055] The memory may be used to store instructions for running one
or more applications or modules on one or more processor(s). For
example, the memory could be used in one or more embodiments to
house all or some of the instructions needed to execute the
functionality of, prioritization module 320, role detection module
325, company module 330, delivery analyzer 335, cost analyzer 340,
availability analyzer 345, performance analyzer 350, project
analyzer 355, lifecycle phase analyzer 360, recommendation module
365, personalization module 370, and acceleration module 375. Some
embodiments may also include an operating system that provides a
software package that is capable of managing the hardware resources
the integrated platform. The operating system can also provide
common services for software applications running on one or more
processor(s).
[0056] Prioritization module 320 can identify the priorities the
user. This can be based on a variety of information and/or
inferences made over time from historical interactions, user role,
project lifecycle phase, company preferences, and the like. For
example, role detection module can identify the current role of a
user. In some cases, this may be easy as a user may only have one
role such as a presale distributor. However, in other cases this
may be more complicated as the user's role may change overtime for
a particular project and/or project lifecycle phase. As such, role
detection module 325 can access profile information, project
information, and monitor current activity within the integrated
platform by the user. The user's activity may be suggestive of the
current role (e.g., based on selection of tool or application,
specific inquiries, specific actions or selections, and the like).
Company module 330 can use data provided by the company to set a
profile for the company. For example, the company profile may
indicate specific safety or operational standards they would like
to comply with, general deadlines and timeframes, cost constraints,
and the like. As such, prioritization module 320 can use
information from each of these to prioritize the presentation
(e.g., of components) within a tool or application.
[0057] In order to create an enhanced or optimized user experience
various information may be needed to make information decisions or
recommendations. In some embodiments, delivery analyzer 335 can
analyze current inventory, order, presale activity, material
shortages, geographical locations, and the like to identify any
potential issues with delivery of components. Cost analyzer 340 can
review the project, project goals, project priorities, and the like
to analyze the costs of each component and generate alternative
recommendations. For example, in some embodiments cost analyzer can
not only review the immediate costs, but also the lifetime costs to
own particular components and component configurations. While some
components may be cheaper initially, the lifetime costs of the
component may be more expense.
[0058] Availability analyzer 345 analyze current inventory,
historical inventory, current orders, presale activity, component
lifecycle plans, and the like to identify any potential issues with
availability of components as replacement parts within a desired
time horizon. For example, a particular switch may be in the
process of being phased out of production. Equivalent components
may have slightly different dimensions or ratings. As such,
availability analyzer can identify the potential issue and alert
the user. The user may still select this component, but at least
the decision is based on knowledge the component is being phased
out and replacement parts may have different dimensions.
[0059] Performance analyzer 350 can analyze the industrial
automation design and generate recommendations for improving
throughput, reducing failure rates, reducing energy consumption,
and/or other performance characteristics of the design. Project
analyzer 355 can analyze the compliance with various priorities
identified by the prioritization system and generate one or more
recommendations. Lifecycle phase analyzer 360 can analyze the
lifecycle of the industrial automation design and generate
recommendations for different components to improve the design.
[0060] Recommendation module 365 can take the information from
delivery analyzer 335, cost analyzer 340, availability analyzer
345, performance analyzer 350, project analyzer 355, and/or
lifecycle phase analyzer 360 to generate a holistic enhanced
presentation of information that will allow the user to make
informed decisions. Personalization module 370 presents the
recommendations in an order and/or manner personalized to the user
within each of the applications or tools. In some embodiments,
acceleration module 375 can accelerate the initial designs based on
characteristics about the user and/or project. For example,
acceleration module can generate an initial design or selection of
components based on lifecycle situations, delivery situations
(e.g., parts still available but harder to get), performance
considerations (e.g., a new switch to increase bandwidth) and the
like to accelerate the user's experience.
[0061] FIG. 4 is a flowchart illustrating a set of operations 400
for managing a customized user experience according to one or more
embodiments of the present technology. As illustrated in FIG. 4,
requesting operation 405 receives a request from a user to access
an application or tool. Identification operation 410 identifies the
current role of the user. For example, identification operation 410
can identify roles in the presale and post-sale lifecycle of the
industrial automation project. Once the user's role is identified,
access operation 415 accesses a cross platform data file that can
be used in any stage of the project lifecycle (e.g., from initial
quote to build to eventual repairs or upgrades). The cross-platform
data file provides a common location for all data about the
project. In some embodiments, this may be an XML file which meta
data identifying data relevant to different lifecycle phases of the
industrial automation project.
[0062] Once the data is accessed, formatting operation 425 can
select and format the data according to the current role of the
user and the access tool requesting the information. In some
embodiments, formatting operation may present a high-level summary
of relevant information for decisions or management which can be
refined with more detail upon user requests. Determination
operation 430 determines whether the tool or application makes any
changes to the data file. When determination operation 430
determines no changes were made (e.g., to the bill of materials,
electrical layout, etc.), then determination operation 430 branches
to recordation operation 435 where access to the file is recorded.
When determination operation 430 determines that changes were made
to the file (e.g., component updates, different replacement parts,
electrical redesign, etc.), then update operation 440 can update
the file for use across all lifecycle inquires and tool requests.
For example, a change made to a component during a repair will
update the bill of material. This can be useful for example, if a
user wants to duplicate the industrial automation machine at a
different location. In this way, the machine remain identical and
later design changes are automatically reflected in an updated bill
of materials for the new machine.
[0063] FIG. 5 is a flowchart illustrating a set of operations 500
for operating for generating custom recommendations and user
experiences within an integrated platform in accordance with some
embodiments of the present technology. During ingestion operation
505, data can be ingested and formatted. The data can include, in
accordance with various embodiments, inventory data, historical
configuration data, repair data, failure data, performance data,
energy consumption data, and the like. Monitoring operation 510
actively monitors activity within an application or tool of the
integrated platform. For example, the user may be selecting a
particular part, designing a common subsystem, or the like.
Identification operation 515 can identify the user role, company,
and project lifecycle phase. Enhancement operation 520 can use
artificial intelligence or machine learning to generate an enhanced
user experience. In accordance with various embodiments, the
enhancements can include, but are not limited to, presale
configurations, recommendations for alternate parts (e.g., based on
costs, availability, etc.) and the like. These enhancements can be
surfaced within the application or tool using surfacing operation
525.
[0064] FIG. 6 is flowchart illustrating a set of operations 600 for
automatically generating a bill of materials in accordance with one
or more embodiments of the present technology. As illustrated in
FIG. 6, building operation 605 launches a bill of material builder.
Identification operation 610 can identify project applications and
parameters, Review operation 615 takes this information and
initiates a historical review for similar activity using artificial
intelligence or machine learning. Submission operation 625 submits
a data query to a query service to retrieve the cross-platform
file. Any propriety or confidential data (e.g., identified by
metadata) may be removed from the analysis.
[0065] Receiving operation 625 receives the data and generation
operation 630 generates one or more initial starting designs. These
designs can be presented to the user during presentation operation
635. The user of the application or tool is then free to ignore or
start with one of these designs. The application or tool may
identify a previous design made entirely from the current user or
indicate that the design is a hybrid design across multiple
companies or users.
[0066] In many cases, suppliers of industrial automation equipment
do not sale directly to the end consumer. Instead, a complex supply
chain of system integrator and distributors often sit between the
end customer and the supplier. As such, there are many unique
challenges in understanding which data should be accessible and
used by each person within the supply chain. For example, different
distributors may give different customers varying pricing points.
Moreover, given that these differing roles from ultimately
different companies are essential for the design, implementation,
and maintenance of complex industrial automation designs
efficiently linking the data to a user in a secure fashion can be
difficult. For example, the lifecycle of industrial automation
projects may span many decades. As such, there may be turnover
within a company or distributor and a new employee may need access
to information that originated with another employee.
[0067] FIG. 7 is a flowchart illustrating a set of operations 700
for user personalization in accordance with various embodiments of
the present technology. As illustrated in FIG. 7, identification
operation 705 identifies a user and a user role within an
industrial automation project design lifecycle. In accordance with
various embodiments, identification operation 705 can identify the
user using a variety of available information. For example, in some
embodiments, various information such as e-mail addresses,
authorization number, previous contract number, phone numbers, a
set of IP addresses, and other data may be used to verify that the
user is located onsite with a company.
[0068] As another example, the integrated platform may assign
someone within the company to verify employment and rights to
access certain data along with the user roles and/or allow the
roles to be automatically assigned or updated (e.g., via machine
learning or artificial intelligence). FIG. 8 illustrates an example
of an interface 800 that may be used for administrating user roles
within an integrated platform according to some embodiments of the
present technology. FIG. 9 illustrates an example of an interface
900 for managing user roles within an integrated platform according
to some embodiments of the present technology. One or more roles
may be assigned to the user. In accordance with various
embodiments, the user roles (e.g., company or organizational roles,
personalized roles, etc.) may be dynamic and change over time based
on updated information, detected activity, and the like.
[0069] Determination operation 710 can determine whether the user
is verified (or the level of verification) within the integrated
platform. This verification level can be used to access data from
multiple data sets (e.g., in a cross-platform file). Some of this
data may be hosted or maintained by the company itself. The data
which the user has access to can be used by the artificial
intelligence and/or machine learning engines to generate customized
personalization. However, when determination operation 710
determines that the user is not verified, then determination
operation 710 branches to generic operation 715 where generic
interfaces are generated based solely on public information. When
determination operation 710 determines that the user has been
verified, then determination operation 710 branches to retrieval
operation 720 where user provide data, company profile data, and
other information can be identified and retrieved.
[0070] Monitoring operation 725 can monitor communications and
interactions channels available to the user. Examples of the
channels include, but are not limited to, chat interfaces, voice
assistants, web portals, tools, search engines, and the like. At
some point during the interactions the user can submit a request
that can be received during receiving operation 730. The request
may be, for example, a request for a price, part number, user
manual, or other information for a specific part. Generation
operation 735 can process the request and generate a personalized
response based on activity detected within the other interaction
channels. For example, if a customer is researching a specific
drive within a tool available in the integrated platform and then a
request is received via the voice assistant (e.g., "Roxy: What is
the price of a drive?"). Generation operation 735 can take the
generic request and identify (e.g., based on recent history via
other channels, company personalizations, etc.) a specific part
(e.g., the recently identified drive) and generate a response to a
specific interpretation of the generic questions.
[0071] FIG. 10 is a sequence diagram 1000 illustrating an example
of the data flow between various components of an integrated
platform according to various embodiments of the present
technology. As illustrated in FIG. 10, a user can log in using user
interface 1005. The credentials supplied by the user can be
submitted to integrated platform 1010 for validation. Once
validated, the user can select a lifecycle tool 1015. Lifecycle
tool 1015 can request data from database 1020 which can be used to
populate the instantiation of the tool within user interface 1005.
Lifecyle tool 1015 can request an analysis of the activity within
lifecycle tool 1015 by machine learning engine 1025. The
optimization results can then be sent back to user interface 1005
where recommendations or other presentation enhancements can be
presented to the user.
Exemplary Computer System Overview
[0072] FIG. 11 illustrates a block diagram of an industrial
automation environment 1100 in an exemplary implementation is
shown. Industrial automation environment 1100 provides an example
of an industrial automation environment that may be utilized as
disclosed herein, but other environments could also be used.
Industrial automation environment 1100 includes computing system
1105, machine system 1110, industrial controller 1115, database
system 1120, and application integration platform 1125. Machine
system 1110 and controller 1115 are in communication over a
communication link, controller 1115 and database system 1120
communicate over a communication link, database system 1120 and
application integration platform 1125 communicate over a
communication link, and application integration platform 1125 and
computing system 1105 are in communication over a communication
link. Note that there would typically be many more machine systems
in most industrial automation environments, but the number of
machine systems shown in FIG. 11 have been restricted for
clarity.
[0073] Industrial automation environment 1100 can be an automobile
manufacturing factory, food processing plant, oil drilling
operation, microprocessor fabrication facility, or some other type
of industrial enterprise. Machine system 1110 could include a
sensor, drive, pump, filter, drill, motor, robot, fabrication
machinery, mill, printer, or any other industrial automation
equipment, including their associated control systems. A control
system can include, for example, industrial controller 1115, which
could include automation controllers, programmable logic
controllers (PLCs), programmable automation controllers (PACs), or
any other controllers used in automation control of machine system
1110. Additionally, machine system 1110 could comprise other
industrial equipment, such as a brew kettle in a brewery, a reserve
of coal or other resources, or any other element that may reside in
an industrial automation environment 1100.
[0074] Machine system 1110 may continually produces operational
data over time. The operational data can indicate the current
status of machine system 1110, such as parameters, pressure,
temperature, speed, energy usage, overall equipment effectiveness
(OEE), mean time between failure (MTBF), mean time to repair
(MTTR), voltage, throughput volumes, times, tank levels, or any
other performance status metrics. Machine system 1110 and/or
controller 1115 is capable of transferring the operational data
over a communication link to database system 1120, application
integration platform 1125, and computing system 1105, typically via
a communication network. Database system 1120 could comprise a
disk, tape, integrated circuit, server, or some other memory
device. Database system 1120 may reside in a single device or may
be distributed among multiple memory devices.
[0075] Application integration platform 1125 comprises a processing
system and a communication transceiver. Application integration
platform 1125 may also include other components such as a router,
server, data storage system, and power supply. Application
integration platform 1125 provides an example of an application
server, although alterative configurations could be used.
Application integration platform 1125 may reside in a single device
or may be distributed across multiple devices. Application
integration platform 1125 may be a discrete system or may be
integrated within other systems--including other systems within
industrial automation environment 1100. In some examples,
application integration platform 1125 could comprise a
FactoryTalk.RTM. VantagePoint server system provided by Rockwell
Automation, Inc.
[0076] The communication links over which data is exchanged between
machine system 1110, industrial controller 1115, database system
1120, application integration platform 1125, and communication
interface 1130 of computing system 1105 could use metal, air,
space, optical fiber such as glass or plastic, or some other
material as the transport medium--including combinations thereof.
The communication links could comprise multiple network elements
such as routers, gateways, telecommunication switches, servers,
processing systems, or other communication equipment and systems
for providing communication and data services. These communication
links could use various communication protocols, such as TDM, IP,
Ethernet, telephony, optical networking, packet networks, wireless
mesh networks (WMN), local area networks (LAN), metropolitan area
networks (MAN), wide area networks (WAN), hybrid fiber coax (HFC),
communication signaling, wireless protocols, communication
signaling, peer-to-peer networking over Bluetooth, Bluetooth low
energy, Wi-Fi Direct, near field communication (NFC), or some other
communication format, including combinations thereof. The
communication links could be direct links or may include
intermediate networks, systems, or devices.
[0077] Computing system 1105 may be representative of any computing
apparatus, system, or systems on which the event data saving
processes disclosed herein or variations thereof may be suitably
implemented. Computing system 1105 provides an example of a
computing system that could be used as either a server or a client
device in some implementations, although such devices could have
alternative configurations. Examples of computing system 1105
include mobile computing devices, such as cell phones, tablet
computers, laptop computers, notebook computers, and gaming
devices, as well as any other type of mobile computing devices and
any combination or variation thereof. Examples of computing system
1105 also include desktop computers, server computers, and virtual
machines, as well as any other type of computing system, variation,
or combination thereof. In some implementations, computing system
1105 could comprise a mobile device capable of operating in a
server-like fashion which, among other uses, could be utilized in a
wireless mesh network.
[0078] Computing system 1105 includes processing system 1135,
storage system 1140, software 1145, communication interface 1130,
and user interface 1150. Processing system 1135 is operatively
coupled with storage system 1140, communication interface 1130, and
user interface 1150. Processing system 1135 loads and executes
software 1145 from storage system 1140. Software 1145 includes
application 1155 and operating system 1160. Application 1155 may
include the personalization operations described herein in some
examples. When executed by computing system 1105 in general, and
processing system 1135 in particular, software 1145 directs
computing system 1105 to operate as described herein or variations
thereof. In this example, user interface 1150 includes display
system 1126, which itself may be part of a touch screen that also
accepts user inputs via touches on its surface. Computing system
1105 may optionally include additional devices, features, or
functionality not discussed here for purposes of brevity.
[0079] Storage system 1140 may comprise any storage media readable
by processing system 1135 and capable of storing software. Storage
system 1140 may include volatile and nonvolatile, removable and
non-removable media implemented in any method or technology for
storage of information, such as computer readable instructions,
data structures, program modules, or other data. Storage system
1140 may be implemented as a single storage device but may also be
implemented across multiple storage devices or sub-systems. Storage
system 1140 may comprise additional elements, such as a controller,
capable of communicating with processing system 1135. Examples of
storage media include random access memory, read only memory, and
flash memory, as well as any combination or variation thereof, or
any other type of storage media. In some implementations, the
storage media may be a non-transitory storage media. In some
implementations, at least a portion of the storage media may be
transitory. It should be understood that in no case is the storage
media a propagated signal.
[0080] Software stored on or in storage system 1140 may comprise
computer program instructions, firmware, or some other form of
machine-readable processing instructions having processes that when
executed by processing system 1135 direct the processing system
1135 to operate as described herein.
[0081] The software may also include user software applications.
The software may be implemented as a single application or as
multiple applications. In general, the software may, when loaded
into processing system 1135 and executed, transform processing
system 1135 from a general-purpose device into a special-purpose
device customized as described herein.
[0082] The functional block diagrams, operational sequences, and
flow diagrams provided in the Figures are representative of
exemplary architectures, environments, and methodologies for
performing novel aspects of the disclosure. While, for purposes of
simplicity of explanation, the methodologies included herein may be
in the form of a functional diagram, operational sequence, or flow
diagram, and may be described as a series of acts, it is to be
understood and appreciated that the methodologies are not limited
by the order of acts, as some acts may, in accordance therewith,
occur in a different order and/or concurrently with other acts from
that shown and described herein. For example, those skilled in the
art will understand and appreciate that a methodology could
alternatively be represented as a series of interrelated states or
events, such as in a state diagram. Moreover, not all acts
illustrated in a methodology may be required for a novel
implementation.
[0083] The included descriptions and figures depict specific
implementations to teach those skilled in the art how to make and
use the best mode. For the purpose of teaching inventive
principles, some conventional aspects have been simplified or
omitted. Those skilled in the art will appreciate variations from
these implementations that fall within the scope of the invention.
Those skilled in the art will also appreciate that the features
described above can be combined in various ways to form multiple
implementations. As a result, the invention is not limited to the
specific implementations described above, but only by the claims
and their equivalents.
CONCLUSION
[0084] Unless the context clearly requires otherwise, throughout
the description and the claims, the words "comprise," "comprising,"
and the like are to be construed in an inclusive sense, as opposed
to an exclusive or exhaustive sense; that is to say, in the sense
of "including, but not limited to." As used herein, the terms
"connected," "coupled," or any variant thereof means any connection
or coupling, either direct or indirect, between two or more
elements; the coupling or connection between the elements can be
physical, logical, or a combination thereof. Additionally, the
words "herein," "above," "below," and words of similar import, when
used in this application, refer to this application as a whole and
not to any particular portions of this application. Where the
context permits, words in the above Detailed Description using the
singular or plural number may also include the plural or singular
number respectively. The word "or," in reference to a list of two
or more items, covers all of the following interpretations of the
word: any of the items in the list, all of the items in the list,
and any combination of the items in the list.
[0085] The above Detailed Description of examples of the technology
is not intended to be exhaustive or to limit the technology to the
precise form disclosed above. While specific examples for the
technology are described above for illustrative purposes, various
equivalent modifications are possible within the scope of the
technology, as those skilled in the relevant art will recognize.
For example, while processes or blocks are presented in a given
order, alternative implementations may perform routines having
steps, or employ systems having blocks, in a different order, and
some processes or blocks may be deleted, moved, added, subdivided,
combined, and/or modified to provide alternative or
subcombinations. Each of these processes or blocks may be
implemented in a variety of different ways. 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: alternative
implementations may employ differing values or ranges.
[0086] The teachings of the technology provided herein can be
applied to other systems, not necessarily the system described
above. The elements and acts of the various examples described
above can be combined to provide further implementations of the
technology. Some alternative implementations of the technology may
include not only additional elements to those implementations noted
above, but also may include fewer elements.
[0087] These and other changes can be made to the technology in
light of the above Detailed Description. While the above
description describes certain examples of the technology, and
describes the best mode contemplated, no matter how detailed the
above appears in text, the technology can be practiced in many
ways. Details of the system may vary considerably in its specific
implementation, while still being encompassed by the technology
disclosed herein. As noted above, particular terminology used when
describing certain features or aspects of the technology should not
be taken to imply that the terminology is being redefined herein to
be restricted to any specific characteristics, features, or aspects
of the technology with which that terminology is associated. In
general, the terms used in the following claims should not be
construed to limit the technology to the specific examples
disclosed in the specification, unless the above Detailed
Description section explicitly defines such terms. Accordingly, the
actual scope of the technology encompasses not only the disclosed
examples, but also all equivalent ways of practicing or
implementing the technology under the claims.
[0088] To reduce the number of claims, certain aspects of the
technology are presented below in certain claim forms, but the
applicant contemplates the various aspects of the technology in any
number of claim forms. For example, while only one aspect of the
technology is recited as a computer-readable medium claim, other
aspects may likewise be embodied as a computer-readable medium
claim, or in other forms, such as being embodied in a
means-plus-function claim. Any claims intended to be treated under
35 U.S.C. .sctn. 112(f) will begin with the words "means for", but
use of the term "for" in any other context is not intended to
invoke treatment under 35 U.S.C. .sctn. 112(f). Accordingly, the
applicant reserves the right to pursue additional claims after
filing this application to pursue such additional claim forms, in
either this application or in a continuing application.
* * * * *