Adaptive data analytics service

A closed-loop service, referred to as an Adaptive Data Analytics Service (ADAS), characterizes the performance of a system or systems by providing information describing how users or agents are operating the system, how the system components interact, and how these respond to external influences and factors. The ADAS then builds models and/or defines relationships that can be used to optimize performance and/or to predict the results of changes made to the system(s). Subsequently, this learning provides the basis for administering, maintaining, and/or adjusting the system(s) under study. Measurement can be ongoing, even after the operating parameters or controls of a system under the administration or monitoring of the ADAS have been adjusted, so that the impact of such adjustments can be determined. This recursive process of observation, analysis, and adjustment provides a closed-loop system that affords adaptability to changing operating conditions and facilitates self-regulation and self-adjustment of systems.

TECHNICAL FIELD

The present disclosure relates to systems and methods for performing data analytics relating to physical systems.

BACKGROUND

The field of data analytics has grown tremendously in recent years. With an ever-increasing proliferation of affordable technologies capable of collecting and reporting data, coupled with an also ever-increasing ability to process data cheaply, the role that data and data analysis plays in identifying trends and improving decision-making processes is also growing both in use and importance to many facets of industry, commerce, and research. Sophisticated data analytics are commonly used in a broad range of fields such as marketing, insurance, telecommunications, healthcare, and pharmaceuticals. Typically, the desired result of these efforts is a predictive tool that serves the primary interest at hand, such as a well-formed question or specific target of study. Often, it is left to researchers or users to decide when and how to apply what is learned. In that sense, analytics systems are typically disconnected from the processes and systems they study, since they are not generally disposed to automatically acting on the analyses they perform. This is particularly the case when analytics systems aggregating multiple data streams are applied to systems operating in the physical world. In general, analytics systems have not been employed as administrative tools in which the products of their evaluation processes would be automatically applied to the system or systems under study.

SUMMARY

According to various embodiments, the method and system described herein implement an Adaptive Data Analytics Service (ADAS). An ADAS is a closed-loop service that characterizes the performance of a system or systems by providing information describing how users or agents are operating the system, how the system components interact, and how these respond to external influences and factors. The ADAS then builds models and/or defines relationships that can be used to optimize performance and/or to predict the results of changes made to the system(s). Subsequently, this learning provides the basis for administering, maintaining, and/or adjusting the system(s) under study.

In an ADAS constructed according to the techniques described herein, measurement can be ongoing, even after the operating parameters or controls of a system under the administration or monitoring of the ADAS have been adjusted. The result is that adjustments made to a system are scrutinized for their impact on system performance. This recursive process of observation, analysis, and adjustment provides a closed-loop system that affords adaptability to changing operating conditions and provides greater ability for systems to be self-regulating and self-adjusting.

DETAILED DESCRIPTION

The system described herein has broad applicability in many contexts, and can be used in any environment where it may be beneficial to perform monitoring and administration functions that provide data regarding different aspects of a system's status and performance. In the following discussion, the system is described in terms of an embodiment applied to monitoring some or all of the functioning portions of a series of mobile agents operating in a physical environment, such as toy vehicles traveling along a track. However, one skilled in the art will recognize that such an embodiment is merely exemplary, and that the discussion herein is in no way intended to suggest limits to which the system can serve to monitor and administrate a system or a population of systems.

Accordingly, in at least one embodiment, the described system is configured to monitor and maintain hardware systems in use, such as those described in the above-referenced related applications. However, the description is merely exemplary, and should not be taken to imply that the described system can only be implemented in such a context. To the contrary, one skilled in the art will recognize that the described system has wide applicability in other contexts as well.

For illustrative purposes, the system will be described herein primarily in the context of an analytics service as applied to a toy car racing game in which mobile agents (such as toy vehicles), which may operate autonomously, semi-autonomously, and/or under user control, compete on a physical track such as a road circuit. The vehicles are wirelessly connected to a host device, such as a smartphone or similar mobile computing device that orchestrates their movement either through software algorithms and/or by responding to control commands from peer mobile devices. Further details regarding the implementation of such a system, and its mechanisms for integrating virtual and physical environments, are set forth in U.S. Utility application Ser. No. 12/788,605 for “Distributed System of Autonomously Controlled Toy Vehicles”, filed on May 27, 2010 and issued as U.S. Pat. No. 8,353,737 on Jan. 15, 2013, which is incorporated herein by reference in its entirety; and U.S. Utility application Ser. No. 13/963,638 for “Integration of a Robotic System with One or More Computing Devices”, filed on Aug. 9, 2013 and issued as U.S. Pat. No. 8,882,560 on Nov. 11, 2014, which is incorporated herein by reference in its entirety. However, one skilled in the art will recognize that the techniques described herein can be implemented in other contexts and environments, and need not be limited to toy vehicles on a physical track. The term “vehicle” as used herein shall therefore be taken to extend to any mobile agent that is capable of being controlled and operated in the manner described herein.

Although the system is described herein primarily in the context of an application in entertainment, one skilled in the art will recognize that the system can be implemented in many other contexts, including contexts that are not necessarily related to entertainment.

System Architecture

Referring now toFIG. 1, there is shown a block diagram depicting an implementation of an adaptive data analytics service107in connection with a system100in which a number of vehicles103travel on a track104as part of a racing game, according to one embodiment. As shown inFIG. 1, system100X can be one of a population102of peer systems100(referred to herein as “cell systems100”, including cell systems100A,100B, and100C) that bear some consistency with each other in terms of general makeup. The various cell systems100can be implemented at different locations, if appropriate. The difference between cell systems100A,100B, and100C is described in more detail below.

In at least one embodiment, cell system100X includes, for example, five vehicles103and track104upon which they navigate. Vehicles103connect to host computing device105, which may be a conduit for data sent from vehicles103and also may be a source of use-related data itself. One or more of the vehicles may be controlled by a human user109B, using another computing device106, connecting through host device105separately, and host device105may control the remaining vehicles103under any of a number of different control schemes. In at least one embodiment, host device105may also be controlled by a human user109A. Any number of devices106may be provided, each operated by a different user109. Further details and variations are provided in the above-referenced related U.S. Utility Patent Applications.

In at least one embodiment, ADAS107is implemented on a server or other electronic device (or in a distributed manner using a plurality of electronic devices), configured to communicate with host device105via any suitable electronic network108, such as the Internet. In at least one embodiment, ADAS107monitors and administers any number of cell systems100in the manner described herein.

Each cell system100can provide multiple feeds of data to ADAS107. For example in cell system100X, each vehicle103may report information regarding its own performance, from low-level function data related to aspects of its components' functions to high-level information that may be relayed to host device105as part of the system's100operation. In at least one embodiment, host device105, as well as any devices connected to host device105(such as vehicles103), provide ADAS107with data that can be used for analysis. Additional data can be collected from other sources, if desired.

Such data received by ADAS107can include, for example: static information such as unique device identifications, user identifiers, and/or type of game played; dynamic information capturing changing states such as actions executed by the vehicles/users109during a game with the corresponding times at which they occurred; and/or data external to system100such as geographic location. One skilled in the art will appreciate that these are only examples of some of the types of data that may be uploaded to ADAS107. Such information may be sent in real-time to ADAS107, or it can be stored (on device105, for example, or any other suitable device) for later uploading.

The magnitude of information collected by ADAS107can be quite large, particularly when ADAS107is administrating a population of cell systems100. In at least one embodiment, ADAS107may start analyzing data to find correlations or develop models as soon as data collection begins. As the volume of data increases, the statistical significance of any resulting evaluations also increases.

In various embodiments, ADAS107uses different methodologies and mechanisms to build models that characterize a cell system100and/or for establishing relationships or correlations among types of data collected by ADAS107. In some instances, correlations establishing relationships among incoming data may prompt ADAS107to define relationship parameters in empirical or other terms as dictated through pre-configuration, rather than directing ADAS107to process multiple types of data for correlation without such predisposition. Any type of pre-configuration can be used, depending for example on the nature of cell system100for which data is being collected.

For example, for a cell system100as described in the above-referenced applications, pre-configuration may include establishing relationships between current draw and corresponding motor speed, memory or battery faults, localization failures, and/or correlations of higher order (e.g., those related to game play and/or interactions among vehicles103). Once pre-configured with these relationships, ADAS107may rely on such relationships as a starting point and use cell-specific data to adapt them to better describe the characteristics of the corresponding cell system100. Various embodiments are broadly adaptable to operational contexts in which models and correlations characterize cell systems100under administration from the outset, and/or cell systems100in which ADAS107is tasked with developing the prevailing system models from the data received during cell system100use and activity. Any suitable method (or combination of methods) can be used in connection with ADAS's107analytical processes, including for example statistical analysis methods. For illustrative purposes, the present disclosure sets forth the system in connection with ADAS107configured to seek relationships with or without predetermination.

Referring now toFIG. 9, there is shown a block diagram depicting a hardware architecture for implementing ADAS107according to one embodiment. Such an architecture can be used, for example, for implementing ADAS107in a device901such as a computing device or other electronic device (such as a server) running software.

In at least one embodiment, device901has a number of hardware components well known to those skilled in the art. Input device903can be any element that receives input from user900, such as for example a touchscreen, keyboard, mouse, dial, wheel, button, trackball, stylus, or the like, or any combination thereof. User900can be a system administrator, operator, or other user interacting with ADAS107. User900can be one of the users109of a cell system100, or may be a different user entirely. In at least one embodiment, input device903can also receive speech input or any other form of input.

Processor904can be a conventional microprocessor for performing operations on data under the direction of software, according to well-known techniques. Memory905can be random-access memory, having a structure and architecture as are known in the art, for use by processor904in the course of running software.

Data store907can be any magnetic, optical, or electronic storage device for data in digital form; examples include flash memory, magnetic hard drive, CD-ROM, or the like. Data store907can be used for storing operational and/or analytical data concerning cell system(s)100(referred to herein as ADAS reports908) and/or the like, either temporarily or permanently, and can also be used for storing other information used in generating ADAS reports908. Network communication device910is any suitable electronic component for enabling communications via network108.

Device901can also include output device909, for outputting or transmitting ADAS reports908and/or any other information concerning the operation of cell system(s)100. Output device909may be, for example, a display screen or any other element that displays or outputs information, which can include ADAS reports908. Such output device909can be integrated into device901, or can be a separate component such as a printer. In at least one embodiment, device901can also include control system(s)911and/or other component(s) for controlling and/or adjusting operation of cell system(s)100, for example by controlling operation of vehicle(s)103, issuing alerts, and/or the like, as described below.

In at least one embodiment, ADAS107can also be implemented in a client/server environment or distributed computing environment. In such environments, any or all of the components shown inFIG. 9can be implemented in different computing devices that communicate with one another over a network such as the Internet. Known protocols are used for implementing such interaction among components. Any suitable type of communications network, such as the Internet, can be used as the mechanism for transmitting data among the various components. In addition to the Internet, other examples include cellular telephone networks, EDGE, 3G, 4G, long term evolution (LTE), Session Initiation Protocol (SIP), Short Message Peer-to-Peer protocol (SMPP), SS7, Wi-Fi, Bluetooth, ZigBee, Hypertext Transfer Protocol (HTTP), Secure Hypertext Transfer Protocol (SHTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), and/or the like, and/or any combination thereof. In at least one embodiment, components of the system can include network communications interfaces for enabling communication with other components via the electronic network. Other architectures are also possible.

In at least one embodiment, such a system can be implemented in a web-based context, wherein user900controls operation of the system via a web browser that interacts with web pages provided by a web server to provide the functionality described herein.

System Architecture

Referring now toFIG. 2, there is shown a flow diagram illustrating a process for collecting data and using such data to establish correlations that characterize a cell system100or a population of cell systems100, according to one embodiment. The diagram also illustrates mechanisms for using new data to refine or further develop relationships and/or to detect variances in performance that may indicate a potential operational issue or problem.

In at least one embodiment, the method ofFIG. 2may be performed by ADAS107constructed using an architecture such as that described above in connection withFIG. 9, operating within an implementation such as that described above in connection withFIG. 1. However, one skilled in the art will recognize that the method ofFIG. 2may be implemented in other contexts and systems as well.

The method begins200. Data is received201from a cell system100being monitored and/or administered by ADAS107. In the example depicted inFIG. 1, host device105may collect data from other components such as device106and/or vehicles103, and may then send collected data to ADAS107. This information is forwarded to two modules: model refinement and performance prediction module207; and issue identification, diagnosis, and response module208. Module207aggregates202and organizes the received data to establish and refine performance benchmarks and/or relationships. Information from these benchmarks and/or relationships is then applied203to optimize and/or improve system performance under prevailing conditions. Steps202and203thus provide mechanisms by which models of system operation can be generated and used for predicting future performance and/or actions, as well as for detecting variances. Data from step203can be fed back into the system (step201), forming an iterative analytical method.

Once module207has sufficiently developed and refined the performance model, module208can use such information to determine whether (and by how much) actual system performance varies from what the models predict. Any suitable variance detection process(es)204can be used to detect such variations. If, in step205, variances are detected, step206is performed, in which focused measurement, analysis, and optimization process(es) are invoked to identify the source of the variance and to enact a response intended to correct a problem or compensate for any apparent performance issues. For example, operational parameters of system components can be adjusted to compensate for the variances. Such a response may be termed an “inline response” since it can be internally selected by ADAS107, potentially with some additional suitable development, tailoring or refinement and executed without intervention beyond ADAS107. Data from steps205and/or206can be fed back into the system (step201), forming an iterative analytical method.

Thus, as shown inFIG. 2, incoming data from step201can be used by the system to serve two parallel processes, one identified with model refinement and performance prediction module207, and the other identified with issue identification, diagnosis, and response module208to identify deviation outside the norms established by the models. In at least one embodiment, both modules207and208are implemented as functional components of ADAS107.

Advance Replacement

One skilled in the art will recognize that ADAS107can be used to collect and analyze many different types of data from cell system(s)100and to perform any suitable type of optimization and/or adjustment(s) based on such analysis. The following example describes an application for model refinement and performance prediction in which the failure of a component within a system (such as a cell system100) can be predicted, so that the component can be replaced prior to the occurrence of the failure. In this example, detection of a variance in performance initiates diagnostics and subsequently invokes a response to correct the issue without the need to notify system users109and without disrupting operation of system100.

In such an application of the ADAS107techniques described herein, ADAS107generates predictions of events such as system failure, with the understanding that advance knowledge of such an event is a critical element in preempting it.

Referring now toFIG. 3A, there is shown an example of a vehicle103as may be used as one of the vehicles in the example system depicted inFIG. 1. Referring now also toFIG. 3B, there is shown an exploded diagram revealing the internal parts of vehicle103according to one embodiment. Motors303, which provide mechanical power to drive vehicle103, are connected to a gear and axle subassembly307,309,310that turns rear wheels311,312of vehicle103. Additional components depicted inFIG. 3Bare described in more detail below.

In at least one embodiment, ADAS107may analyze the wear and aging of a component such as motor303so as to predict failure and to take appropriate corrective and/or preventative action. A rudimentary approach to predicting failure in motor303might rely on reference to the motor manufacturer's specification as to the part's expected lifetime. Often, such a lifetime rating is based on certain operational conditions and a reduction factor intended to assure reliable performance to a minimum threshold. Such a rating can be used, with some adjustment as may be appropriate, to track motor use as a cumulative portion of a predicted total lifetime. However, the result of such analysis may, in some situations, have limited accuracy in predicting failure due to age, since the manner in which motor303is used bears significant impact on its total useful life.

Accordingly, in at least one embodiment, ADAS107collects and uses data streams regarding motor use and performance as a basis for building models that lend themselves to more accurate predictions. In at least one embodiment, ADAS107monitors and administrates a population of cell systems100so as to develop statistically robust models more quickly.

Referring now toFIG. 4, there is shown a graph400depicting how the electrical current I necessary to drive motor303configured in the mechanical assembly shown inFIG. 3at a constant torque (τo) can change with time t (hours of use, for example). In graph400, the current draw may be steady for a short period of time401before declining, a phenomenon often seen in new gears as they wear together. After the mechanical system's break-in period, the current draw necessary to sustain constant torque is again constant for a period of use402. Beyond a certain usage, however, the current necessary to sustain starts to increase403as motor303ages. This growth in current draw increases until motor303fails at time404. In at least one embodiment, ADAS107develops and determines the correlation between electrical current and motor use, as shown in graph400, as ADAS107receives use data from motors303operating within vehicles103running within cell systems100.

In at least one embodiment, ADAS107gathers data from a single cell system100in use or from a population of multiple cell systems100in use. Using this information, ADAS107develops specifically tailored correlations and/or models to characterize how cell systems100(and their components) are performing. For example, in order to develop the relationship depicted in graph400ofFIG. 4, raw data can be collected from multiple vehicles103with the same electro-mechanical design, so as to determine current draw in motors303of such vehicles103under a specific torque, which may be established by proxy. For example, data can be collected based on current necessary to sustain a particular velocity while traveling in a straight line over a set distance. Data can be collected for vehicles103belonging to a single cell system100or multiple cell systems100. Any suitable mechanism can be used for aggregating data collected from multiple cell systems100. The greater the population of vehicles103from which data is collected, the more quickly a useful correlation (or other relationship) may be developed, and the more reliable such a correlation may be.

In at least one embodiment, ADAS107also collects peripheral data to characterize the relevant elements of a correlation and thereby provide additional indications of accuracy and reliability of data. For example, ADAS107can collect additional data to examine how a correlation may vary according to specific aspects of motor303(such as, for example, left or right position in the chassis, manufacturer, production lot number, how much time passed between when motor303was manufactured and when it entered service, how long motor303has been turning in its current operation, ambient temperature, and/or the like).

When predicting motor burn-out using a relationship as depicted in graph400ofFIG. 4, the curve may have an inherent uncertainty relative to the degree of inherent variability in motor performance, as suggested by matching dashed lines405bounding curve406. In at least one embodiment, ADAS107seeks to minimize uncertainty in its development of correlations and/or ascribe confidence metrics to such correlations. Any suitable mechanism can be used for determining such confidence metrics, such as for example by performing statistical analysis based on the amount of data collected and the number of data sources (vehicles103and/or cell systems100) involved.

In at least one embodiment, ADAS107generates and develops performance correlations as illustrated inFIG. 4in the context of an ongoing background process. Data is channeled into ADAS107during normal operation, and ADAS107aggregates and organizes data as part of its analysis processes.

In some cases, the system can be configured so that capture of data requires specific action from one or more component parts of a cell system100, for example to maintain consistency in measurement conditions. For example, such a situation may arise if there is a need to assess current by a proxy of constant velocity on a straight course. In such a case, if the system is unable to gather the necessary information at an opportune moment of normal operation (e.g., while a vehicle103is travelling at a particular velocity), ADAS107may direct one or more vehicles103operating within one or more cell systems100to execute the motion necessary to capture the desired data. This can be done, for example, at the beginning or end of a formal use session when such action will not interfere with a user's109operation of device106, vehicle103, and/or cell system100. Such action can be performed without notifying user109of the purpose; alternatively, a message can be generated to inform user109that system diagnostics or similar operational verifications are being performed.

As mentioned above, in at least one embodiment, the system collects data from several individual cell systems100of similar nature. While the various components (such as vehicles103, tracks104, and/or the like) may have similarities and may have been manufactured under the same general specifications, each set is an individual cell system100that can be supported by (and monitored by) ADAS107. The greater the number of these individual cell systems100in use and providing information to ADAS107, the more effective ADAS107is in providing optimal performance. By lending itself to administration across multiple similar cell systems100, ADAS107provides distinct advantages over other systems.

As previously discussed, the effectiveness of ADAS107improves with an increasing population of similar elements under study (in this example, vehicles103), whether or not the elements are distributed across multiple separate cell systems100or within a single cell system100. Thus, in the information gathering stage, the greater the amount of data available, the faster statistically significant relationships can be identified and refined. In order to expedite collection of data, it may be beneficial to monitor a multitude of cell systems100simultaneously. In this manner, a potential performance issue can be diagnosed in one cell system100partly through tests conducted on one or more other cell systems100. However, one skilled in the art will recognize that simultaneous collection of data across multiple cell systems100is not necessary, and the system can also operate without such simultaneous collection.

In the current example wherein operating life of motors303is being estimated, a tailored and refined model that relates electrical current draw to total elapsed hours of use may only be one part of the characterization used by ADAS107in determining when a motor303is nearing the end of its life and should be replaced. Another important consideration may be the utilization rate of motor303. For a cell system100as described above, usage of motor303may follow a pattern often seen in consumer products in which the utility rate changes with time. Models based around consumer use are likely to encounter higher degrees of variability than do studies on a mass-manufactured component such as a motor303integrated into a mass-manufactured mechanical assembly. In this context, other factors can be taken into consideration, such as for example, demographic information of users109, user age, location, time of day, number of peer users109, time since first use, number of vehicles103in operation for a particular cell system100, and/or the like. Any such factors may influence the utility rate of a particular vehicle103in a particular cell system100, and may therefore be used in refining a predictive model. In the same manner that the system aggregates use data and seeks to find correlation among pertinent variables, an appropriate model of utility rate may emerge that serves to inform ADAS107of how much time will pass before a particular component (such as motor303) will have logged a target amount of operating time.

Referring now toFIG. 5, there is shown a graph500depicting an example of a utility model for a component such as a vehicle103of a cell system100as shown inFIG. 1. Graph500depicts a utility rate that declines with time in a nonlinear fashion, a pattern that indicates reduced user109engagement with time. This model can be combined with the correlation depicted inFIG. 4, to allow ADAS107to determine the optimal time to replace motor303of vehicle103as it approaches the end of its operating life.

An illustrative example is presented. Referring also toFIG. 4, suppose motor303is determined by its current-torque status to be at point A in its life. From the model depicted in graph400, which describes the relationship between current-to-torque ratio and time, ADAS107can predict that motor303has a period of Ofremaining in its life (the time between point A and predicted failure404). The utility curve of graph500(FIG. 5) can thereby be employed to calculate how much actual time will pass from the current moment (tA) until motor303has been used for a period of Of, as depicted on the graph as the area501under the curve from current date tAuntil the expected failure date tf.

In this scenario, the utility rate provides the basis for determining the actual time elapsed from now tAuntil the moment of failure tf. Once this latter date is known, ADAS107can determine how much earlier a replacement should be provided. The date on which to ship a replacement is indicated as R in graph500. It is the date of expected failure tfminus the time needed to provide for delivery (ts). Once this replacement date R is determined, ADAS107can plan to notify user109(via host device105or via any other notification technique) that the unit in question should be replaced. In at least one embodiment, a replacement unit (either a motor303, or a component that includes motor303, or an entire vehicle103) can be automatically shipped. In another embodiment, user109can be prompted or alerted to order a replacement.

One skilled in the art will recognize that the described scenario is merely one example that illustrates application of the system to a single failure mode of a single component (motor303) in a vehicle103used in a cell system100. However, the system can be applied in more complex contexts, so as to enable system modeling and performance predictions in a wide variety of situations, depending on the quantity, quality, and nature of data fed into ADAS107. The more data is available, the more detailed and comprehensive the models and correlations underpinning ADAS's107administration of a system100or systems100can be. Any suitable factors can be taken into account; for example, when considering the time required to replace a unit such as motor303, the cadence of weekly courier delivery can be a factor.

The described example illustrates advantages of the system over conventional customer care mechanisms for responding to issues. More particularly, in this example, the system provides a mechanism for minimizing the time between when an issue is reported or diagnosed, and when it is addressed. In addition, the system improves the efficiency with which user concerns are addressed, thus enhancing the user experience, particularly in situations where users109are experiencing a problem with a purchased product such as vehicle103. In a customer service context, advance replacement scenarios have the potential to offer users109an experience that significantly improves upon current customer service norms. Beyond the fundamentally superior experience for a user109who might receive a replacement unit just before the current one fails, the cost to a company providing the advance replacement service is reduced by the elimination of an interaction with a customer support agent, potentially involving user assistance in a diagnosis process. In other words, the advance replacement paradigm provided by the present system avoids the need for user109to notice a problem and report it to customer support, prompting customer support to open a ticket and begin a diagnostic process. Moreover, the described system establishes goodwill by the timely tending of a problem that has yet to occur.

In this fashion, the system distinguishes itself from conventional techniques for remote monitoring of a system. The system, in various embodiments, provides mechanisms for developing models of system performance and for preemptively taking action to replace a part prior to its failure. The system improves upon existing techniques for remote monitoring of products, by making remote monitoring an active, ongoing service that need not necessarily rely on at least some part of a cell system100to conduct diagnostics locally. Rather, cell systems100may send data to ADAS107as directed or according to preconfiguration, and can respond to instructions to execute functional commands that are intended, for example, to yield additional operational data for interpretation within ADAS107, as described above.

Accordingly, the described system can fundamentally alter the need for customer support to address performance problems with products by eliminating reliance on user109to observe and report potential issues once they have occurred. The system's continuous and recursive monitoring and analysis of operating data from hardware while it is in use provides a way to detect problems before they occur, and can also be used to tune systems that have drifted outside specifications in an unanticipated manner. The present system provides mechanisms for performing such operations automatically, with little or no user109involvement.

Remote Diagnostics and Response

As described previously, the example cell system100depicted inFIG. 1includes any number of vehicles103traveling on track104. In at least one embodiment, one component that supports successful navigation of vehicle103on track104is an imager that reads data encoded on track104. Referring again toFIG. 3B, there is shown an exploded diagram revealing the internal components of vehicle103according to one embodiment.

One component shown inFIG. 3Bis printed circuit board (PCB) assembly301. Referring now also toFIG. 3C, there is shown an exploded diagram revealing the internal parts of PCB assembly301, in an inverted orientation. In at least one embodiment, when operating properly, vehicle103reads codes (such as on track104); firmware on vehicle103then decodes data encoded on such codes and transmits the decoded data back to host device105. To perform such operations, in at least one embodiment, an infrared LED321directed through the underside of the vehicle chassis illuminates the portion of the tracks in the field of view of the camera imager chip320affixed to PCB316behind lens assembly317(which includes lens318and lens bracket319). Camera imager chip320captures images of the passing track104(marked with encoded data) so that codes within the images can be decoded and interpreted. The decoded data, which can provide information relevant to determining the current position of vehicle103, is then sent to host device105, which may use the data, for example to update an overall model containing information of multiple vehicle locations, as described in the above-referenced related U.S. Utility Patent Applications.

If the process fails to yield decoded data or performs in a substandard manner, there are a number of possible reasons that might cause such failure. The system described herein provides mechanisms for automatic troubleshooting such a problem and, in some cases, applying an automatic remedy. In at least one embodiment, the system can also notify user109of the issue and the nature of the underlying problem, as well as compare data across multiple cell systems100, vehicles103, and/or users109, to determine if there is a more fundamental or endemic problem requiring attention from the manufacturer of the part under scrutiny.

Because there are a number of elements involved in the decoding process (such as, for example, the track104that vehicle103is navigating, various components of vehicle103itself such as the camera imager chip320, lens318, and LED321, as well as related systems such as power and computing needed to sustain overall functionality), there are a number of points of potential impairment or failure.

In at least one embodiment, when loss in performance occurs in the decoding process executed by a particular vehicle103, processes within ADAS107that analyze collected data can identify that an issue has appeared (e.g., by detecting performance deviation in incoming data) and can begin running diagnostics on that specific vehicle103, ideally without disrupting its operation.

Referring now toFIG. 6, there is shown a flow diagram depicting a method of analysis performed by ADAS107for a vehicle103in use in the field, according to one embodiment. In at least one embodiment, when a potential issue or problem is detected related to decoding data, a process is followed, as illustrated inFIG. 6, that seeks to identify candidate sources of the problem.

In at least one embodiment, ADAS107can be preconfigured to follow a diagnostic process such as that identified inFIG. 6and described in more detail below. ADAS107can be supported by a number of such diagnostic algorithms, each directed at monitoring a cell system100for potential performance issues and making adjustments as needed.

The method begins600. In at least one embodiment, a change in performance might first be scrutinized to determine whether it varies during vehicle103operation. As depicted in the flow chart, a determination as made601as to whether the performance drop is correlated with a particular location on track104. On a closed loop track104, for instance, seeing performance vary in a consistent manner with a vehicle's103repetition of its course may indicate that the issue affecting the decoding process may be associated with a particular area of track104.

If performance drop is correlated with a particular location on track104, a determination is made602as to the spatial limits of the area(s) where performance is impaired. Impairment that correlates with location can be the result of any of a number of causes. For example, there could be foreign matter on track104that impairs reading the codes, or track104may have been damaged in one or more locations to the extent that the codes cannot be conveniently read in the manner intended.

ADAS107may have a schedule of potential corrections that, singly or in combination, enable vehicle103to address the issue. For example, a determination can be made603as to whether increasing the frame rate of the camera capturing images of the track and/or increasing the brightness of LED321illuminating track104improve performance. If so, frame rate can be increased604and/or LED321power increased in the areas of poor performance; either or both together can be implemented by, for example, transmitting appropriate instructions to vehicle103and/or host device105.

The issue (along with any solution that has been applied) can be tagged605in ADAS107for future analysis and/or reporting. The system can then check606for similar issues occurring in cell systems100from similar lots, of similar age, use level, geographic location, and/or the like, to determine whether there is correlation based on any of these factors. Any applied adjustment or response can then be tuned607based on any additional information available from ADAS107. In at least one embodiment, the system automatically notifies608user109of the issue, including the particular location(s) on track104where the issue took place.

If, in step601, it is determined that the performance drop is not correlated with a location on track104, a determination is made609as to whether the performance drop has a cyclic or regular frequency. If so, the system checks610for correlation between the performance drop frequency and the period of wheel rotation. If such a correlation exists611with one or more wheels of vehicle103, it can be inferred that the problem is with a wheel, tire, or related part. User109can be automatically notified612of the issue, for example by alerting user109to inspect the tires and wheels. The issue is tagged613in ADAS107. In at least one embodiment, the system can then check606for similar issues occurring in cell systems100from similar lots, of similar age, use level, geographic location, and/or the like, to determine whether there is correlation based on any of these factors. An inline response is applied615using any relevant information from ADAS107.

If, in step609, it is determined that the performance drop does not have a cyclic or regular frequency, the system proceeds to step616, where it collects sample images taken by the camera of vehicle103, at known locations on track104if possible. Such images can then be analyzed617(either automatically or by a human) for obfuscation, lens aberration, focal variation, and/or any other problems or issues. In at least one embodiment, the system can then check606for similar issues occurring in cell systems100from similar lots, of similar age, use level, geographic location, and/or the like, to determine whether there is correlation based on any of these factors. If an inline solution is known (based, for example, on data and analysis from ADAS107)619, an inline response is applied615using any relevant information from ADAS107. In at least one embodiment, the system automatically notifies621user109of the issue and informs user109of available actions that can be taken. The method then ends699.

In at least one embodiment, the system may consider information collected from other vehicles103navigating a particular track104to determine whether a performance issue is on-board a particular vehicle103or is a part of a shared component of the system external to vehicle103in question, such as a problem with track104. In at least one embodiment, vehicles103operating autonomously (i.e., not controlled by a human player) may be configured to automatically alter their courses to some degree so as to drive over portions of track104where another vehicle103was passing when it experienced a performance issue. This may be done in a way that is imperceptible to users109or otherwise has no material impact on gameplay or other use of the system. In this manner ADAS107can collect useful data to analyze the performance issues in parallel with normal system operation in a manner that is invisible or near-invisible to users109. Alternatively or additionally, the system can direct vehicles103to pass over the relevant portion of track104at an opportune pause in use, or it may suspend use to permit vehicles103to execute their examination passes over the area in question.

Recognizing that a cell system100may have a multiplicity of peers in similar operation using the same equipment, in at least one embodiment the system can vet problems on one cell system100by polling performance of others in the population. As described in step606, ADAS107may select peer cell systems100that have relevant components that are identical or that were manufactured in the same lot, and check their performance for variation or lags that might be similar to the detected problem. A survey of the population of cell systems100under monitoring and administration might reveal that some portions are adequately similar to use for vetting a performance issue detected in a particular cell system100. Referring again toFIG. 1, the candidate sub-population, for example, might include some subset of cell systems (indicated as cell systems100A) shown as empty squares. Among these, if a number of them reveal a similar performance issue (indicated as cell systems100B), ADAS107can look for consistencies among these cell systems100B with respect to manufacturing, distribution, and/or sales, and a report can be generated identifying the issue and any statistically significant similarities across the cell systems100B demonstrating the performance problem. Cell systems100C are those that do not form part of the candidate sub-population, either because they differ in nature or configuration from cell system100X being analyzed, or for some other reason.

In at least one embodiment, ADAS107can be used to detect issues with track104and can help resolve such issues. In the current example of vehicles103traveling on track104, collected data can relate to functional operation of the component parts (e.g., vehicles103, track104, and/or devices105,106) that constitute cell system100. In addition, data related to users109and user interaction can be collected and used by ADAS107for monitoring and administration of cell system100or a population of cell systems100.

For example, ADAS107may perform cohort analysis based on available or discernable attributes such as how much time has elapsed since a user's109first engagement, user skill level, frequency of play, and/or or the number of distinct users109who have engaged with a particular user109, among others. The correlations that ADAS107analyses yield in this area, when coupled with the visibility that the system may provide on all active components and users109, can provide useful actionable information.

In at least one embodiment, the result of data collection and the various analyses performed on the available data is a set of relationships that characterizes cell system100. These relationships serve as a reference for identifying variances in the operation or performance of any component of cell system100and also provide the basis for predicting performance. It is understood that correlations determined among data reflect a population of cell systems100in use and potentially undergoing change. In this fashion, relationships established among existing data can be used as a benchmark for new data.

In various embodiments, ADAS107described herein has the capacity to characterize the operation of a cell system100by drawing data from cell system100itself as well as external or contextual data, so as to detect potential correlations. The extent of inclusion of data external to a particular cell system100under scrutiny can be defined in advance. In at least one embodiment, in characterizing performance of cell systems100with physical components, the system takes into account external data streams that are contextual in the physical environment (such as geographic location, time/date, sunrise/sunset, weather, temperature, humidity, and/or the like). In an example in which a performance issue might be isolated to a portion of track104, an external factor that might influence vehicle's103ability to use optical means to read encoded data could be ambient light. In the case where data decoding problems are detected, but isolated to a portion of track104, geographic location and time of day can be introduced as correlating data. Time of day could be important index data to attach if performance issues are transient; thus, over successive uses, ADAS107can determine if recurrence is related to the time of day during which the racing vehicle system is in use. The external data streams of geographic location, weather, time and date can also be useful in assessing whether, for instance, a transient external light source (i.e., sunlight) of sufficient intensity to impair decoding data may be shining on track104. In the example cell system100described, environmental factors other than natural lighting may also be a factor in performance, such as static electricity and the like; such conditions may become a significant factor depending on prevailing atmospheric conditions. These examples are provided here for illustrative purposes only.

ADAS Structure and Function

In at least one embodiment, ADAS107is implemented as a data-driven construct that gathers, organizes, and aggregates data. In at least one embodiment, the described system uses input data feeds to build models and find correlations between and among the received information. The broader the types of data that are provided and the wider the span of a unit's production life that relevant data covers, the more robustly ADAS107is able to characterize a system (such as cell system100) under study.

Referring now toFIG. 7, there is shown a block diagram depicting an example of an architecture for implementing ADAS107according to one embodiment. One skilled in the art will recognize that the architecture shown in the example is merely provided for illustrative purposes, and that many other architectures can be used for implementing ADAS107in various contexts.

FIG. 7illustrates an embodiment of the system as it might apply to the population of cell systems100depicted inFIG. 1. One skilled in the art will recognize that the depicted embodiment is merely exemplary, and that the system described herein can be implemented in many other contexts. As inFIG. 1, primary components of a cell system100include vehicles103that connect to host device105which may be controlled by user109A. Peer user109B is also using cell system100via peripheral device106, which controls one of vehicles103via connection through host device105. Both devices105,106connect to ADAS107via some type of network connection108, which may be the Internet, a cellular connection, or any other type of electronic connection. Data collected during operation of cell system100is directed into ADAS107. Cell system100can be one of any number of cell systems100from which ADAS107collects information.

In at least one embodiment, data from cell system100operation and use are one part of the information flow pertinent to the function of the system. In at least one embodiment, ADAS107can also draw complementary data from other sources, for example via third-party APIs or other means.

For example, in at least one embodiment, ADAS107collects information during the manufacturing process702of cell system100. Such information can be collected as parts used in the assembly of cell system100find their way onto a production line; such information can be organized based on the production of an individual finished unit. Such parts can include, for example, electronic components provided by a vendor to a contract manufacturer, plastic parts injection molded at the contract manufacturer's own facility, or the like. In at least one embodiment, one aspect of the collected information may be the bill of materials, including data such as lot numbers and dates of manufacture.

In at least one embodiment, ADAS107collects data describing results of quality control tests performed during the manufacturing process702, thus creating a baseline performance record of each component of cell system100. Collection of such production data can be helpful in facilitating system diagnostics executed in the post-sales stage, as described below. Even data gathered on an incomplete unit or a sub-assembly of cell system100can provide information relevant to diagnosing problems or issues that may occur on a finished unit in the field, since such data can provide corroboration of an issue identified on other units, or even a starting point for analysis. Such collected information can be the result of a broad set of tests, conducted on the manufacturing line or elsewhere, each addressing specific aspects of performance, and/or one or more final stage tests that puts a finished product or component through a set of use cases in which the conditions of use and product operating ranges are comprehensively assessed.

Beyond the factory environment, additional data can be gathered on cell system100and its components on a per-unit basis, for example using tracking efforts applied during inventory and logistics processes703. In at least one embodiment, units are tracked by pallet and/or by shipment, so as to retain the ability to know where specific units are in the supply chain at points beyond the production floor (for example, in transit on a freight vessel, at a warehouse in the region of distribution, or delivered to a specific retailer). It is understood that collecting information at these intermediate stages between production and use may be limited by a number of factors, but their absence need not prevent the system from executing its primary functions. The value of knowing a product's path between manufacturing and its end user can be appreciated from the perspective of understanding how well a logistics flow serves the sales and distribution process and the potential to make improvements. In addition, attaching data to an individual product which characterizes storage (e.g., duration, location—which can establish the conditions of storage such as temperature and humidity) can prove useful in identifying a population of products with shared portions of their history and thereby spot potential relationships between that history and aspects of product performance in the field.

Additional information can be collected form sales department704and/or customer care department705, at the point of transaction and/or thereafter. It will be recognized that sales information may vary depending on potential variability of the channels through which products may be sold and the degree to which they support data sharing with a supplier. Potential data that may be reported to the system might include, for example, date of sale, location, and the like. Where available, sales information704can include data that can tie purchases to particular users109or devices106, thereby affording greater visibility on the use and performance of an individual unit (such as a particular vehicle103). Customer service information705can include interactions with service agents.

Data sources702through705may, in some respects, be considered external to the population of cell systems100being monitored. For instance, while manufacturing-related information702may be useful in identifying performance variations owing to variations in production design, it is contextual information to an extent, since product manufacturing occurs prior to a product's actual use in the field.

In various embodiments, data from sources702through705can be organized in any of a number of different ways in connection with the described system. The embodiment described inFIG. 7outlines several major areas of data organization supporting core functionality. These can be provided singly or in any suitable combination with one another

Temporally organized data storage708includes information that has a relevant time metric, such as motions executed by each vehicle703, and/or the use of a controlling application for a game (e.g., launches of an app related to the operation of the cell system), and/or a user's109engagement with a cell system100. These can also include any relevant time-based metrics on a component level, such as for example, the current draw on motors303or the rate of image capture in a camera.FIG. 7depicts several examples of such temporally organized data storage, including user data712, vehicle data713, games data714, and app launches data715.

In at least one embodiment, data that may not be easily organized accordingly to a time-based ordinate may be separately stored in reference data warehouses709that form part of (or are accessible to) ADAS107. Such warehouses709may include specific data storage components719through722for manufacturing data, inventory and logistics, sales, and customer care, respectively. Such data in warehouses709can be tagged, for example, with identifiers that can connect it to data stored elsewhere (such as data stored for a particular user109, vehicle103, and/or device106). In at least one embodiment, other information such as geolocation701) can also be stored in data warehouses709; such data can be captured from a host device105, peripheral device106or the like via a third-party API during the use of cell system100.

In at least one embodiment, ADAS107includes a processing and analysis module707that draws upon data from temporally organized data storage708and/or reference data warehouses709to develop models and to identify correlations that characterize cell system(s)100(s). ADAS107subsequently applies such data and models to perform tasks, issue notifications, automatically order replacements, and/or the like.

In at least one embodiment, module707of ADAS107includes several subcomponents, such as modeling module723, key performance indicator (KPI) engine(s)724, and/or system updater(s)725. System updaters725automatically apply changes or make adjustments to cell systems100according to the models developed through data analysis. In at least one embodiment, ongoing measurement closes the loop by providing feedback on how adjustments may have affected system performance.

To illustrate how the described system might operate to apply models of component or subcomponent function intended to optimize system performance and gather feedback on any resulting adjustments, it is useful to consider the previous example outlined inFIG. 1. As described above, inFIG. 1, ADAS107is implemented in connection with one or more cell system(s)100, each including a set of vehicles103configured travel on a track104as part of a racing game.

Referring now also toFIG. 10, there is shown an example of such a track104constructed from a number of modular pieces1001A-1001G, or road segments. The various modular pieces1001can have different standard shapes; they can be connected to one another in various configurations so as to provide versatility in driving circuit layout.

The various techniques described herein can be applied to such a modular track104as depicted inFIG. 10. In particular, the method depicted inFIG. 6can be applied to analysis and treatment of individual modular pieces1001as well as to the track104as a whole. For example, suppose a manufacturing variance or defect is present in certain lots of certain segment types (such as those segments1001A,1001B,1001C,1001D,1001E,1001F that have a 90° turn), but not in other segment types (such as straight segment1001G). Such a variance or defect might be, for example, an excess application of an surface enamel that might create obfuscating glare under normal LED illumination during scanning or, conversely, an excess application of ink that inhibits scanning under normal LED illumination. In such a circumstance, the method ofFIG. 6could yield detection of the problem in cell systems100whose tracks104contain flawed track pieces1001. Steps601,603,604,605,606,607,608that serve to identify the potential nature of a problem on a single-piece track104could functional as well on tracks104made of individual pieces1001as depicted inFIG. 10.

In such an example, the system could perform a process of analysis that determines a degree of increase or decrease of the intensity of illuminating LED321to improve or facilitate scanning. For example, increased intensity might be appropriate in the instance that an excess of ink was applied during manufacturing, while decreased intensity might be appropriate in the instance that too rich an enamel layer was applied to a track piece1001. Using the techniques described herein, ADAS107can quickly determine the extent of the defective track pieces1001present across all cell systems100.

While the method described inFIG. 6provides an example of a qualitative solution (e.g., increasing LED intensity), in at least one embodiment, ADAS107can perform additional operations such as setting a new light level for LEDs321when vehicles103are traveling over track pieces1001determined to be flawed. ADAS1007can make such determination through a number of different means, for example by detecting problems in scanning and corroboration of the likely presence of the defect through shared manufacturing date or lot codes

In addition, since in at least one embodiment, ADAS107can make use of feedback from a cell system100or systems, a population of cell systems100containing defective track pieces1001presents an opportunity to rapidly converge on an ideal setting. ADAS107may determine a range of candidate light intensities and assign them to particular defective track pieces1001, such that vehicles103would adjust their onboard illuminating LED321to the new level when passing over a specific track piece1001. For the example modular track104as depicted inFIG. 10, six different light intensity values could be applied in a single circuit of a single cell system100. In this fashion, ADAS107could quickly determine what the optimum light intensity adjustment might be based on a process of assigning candidate values and assessing the consequent scanning performance (i.e., feedback from the system) and adjusting as necessary. Such adjustments may include, for example, refining the candidate light intensity level(s) and/or assigning an appropriate level determined through the process of analysis. In more sophisticated approaches, the optimal LED intensity can be determined in concert with other factors that further tailor it. Such factors can be introduced based on the type of vehicle103performing the scan, or what the ambient light level might be in the environment in which a cell system is operating, or the like.

Accordingly, as illustrated in this example, ADAS107can aptly use feedback from a cell system100to determine how well or how poorly changes made in operating parameters or key indicators have improved system performance once sub-optimal operation or substandard components are determined to be present in one or more cell systems100.

In at least one embodiment, ADAS107also includes analysis-tuned data storage710for storing models and correlations, such as those generated by processing and analysis module707. The data stored in710can be organized by component as class716, motor as class717, or any other data element “x” as class718.

Social Relationships and Marketing Adaptation

In at least one embodiment, ADAS107can monitor and record operational data for a plurality of cell systems100. The quantity of data collected may be extensive and can include information from any number of cell systems100. In at least one embodiment, ADAS107can use such data to perform many functions beyond optimizing performance of a particular cell system100.

In at least one embodiment, ADAS107can be configured to map connections between users109of various cell systems100, for example via social networks.

Referring now toFIG. 8, there is shown an example of a graph800depicting relationships801among users109who have used one or more cell system(s)100, according to one embodiment. Any of a number of approaches may be employed to uniquely identify users109within a population that might move fluidly among cell systems100. For example, in at least one embodiment, an account system is implemented that permits ADAS107to recognize users109even when they use different hardware elements such as devices106.

In graph800, users109are shown as dots; lines801connecting dots represent relationships between users109based on mutual use of a cell system100. In the example of the racing game described in the above-cited related applications, players who have competed in the same game would be joined by a line801. Such a graph can therefore be valuable from a marketing perspective, as the most socially active users109are readily identifiable.

In the example of graph800, user109C has connections to a large number of other users109in the population, while user109D has very few connections to other users109. As a marketer contemplates how to most effectively deploy resources to a community of users109, the ability to target the most connected, influential, or visible users109is immensely valuable. The most connected users109across a social group are the most likely to be the most influential evangelists in favor of the product; accordingly, there is value in co-opting these users109toward building awareness for new products or services.

In the example graph800ofFIG. 8, a company might enlist an active user109such as user109C to assist in the introduction of a new feature or system component, for example by providing the new feature or system to user109C for free or at a discount. The company determines that by providing the new feature or system to user109C in this manner, the new feature or system is more likely to gain broad exposure than if a similar offer were provided to user109D. Seeding a community through its top users109(such as user109C) is likely a much more effective approach than a random distribution.

In addition, a social map of users109such as graph800provides a starting point for deeper analysis. Demographic similarities may be of interest, and usage patterns can also be a focus of study. In the latter case, ADAS107can identify groups that may be connected but that are stagnant in their commercial engagement, thereby providing an opportunity for targeted outreach with respect to special offers. Such an outreach might, for example, provide one user109with a competitive edge (in the gameplay context) over other users109in his or her group. This can be used to disrupt an established play pattern and hence incentivize other users109in the group to pursue similar performance improvements, which may be in the form of pursuing additional product accessories or play components. In this fashion, ADAS107can focus on play clusters and identify specific opportunities to market products or enhancements in a manner that is more effective than would a broad campaign.

Furthermore, in at least one embodiment, ADAS107can perform deeper analysis of product use by tracking product use across users109and groups. In at least one embodiment, ADAS107can use graph800to determine metrics of speed of social adoption of new product and product features by word of mouth or social play. In at least one embodiment, ADAS107can deliver targeted messaging during product use to impact and more closely measure the word or mouth or social spread, for example by including referral benefits or displaying social sharing capabilities adaptively in the user interface. Through personalized adaptation, ADAS107system can tune each user's109social participation to maximize product evangelism as well as the enjoyment of each individual user109.

Additionally, in at least one embodiment, data collected by ADAS107across a population of cell systems100is used to determine metrics that can be difficult to measure directly. For example, consider the instance in which ADAS107is used to monitor a population of cell systems100including competitive racing games such as described in the above-cited related applications. Since such a cell system100is a product intended for entertainment, it involves enjoyment, which is by itself a subjective experience that is difficult to measure or quantify. Also, since the product is a competitive game, it can be played in a variety of styles and, as much as it replicates a vehicle racing experience, it enables users109to drive in the manner of their choosing. For the developer of the product, an end goal is to maximize the enjoyment of users109.

The challenge in maximizing the enjoyment of users109is to understand what aspects of play are the most enjoyable to any particular user109. Because ADAS107can monitor several information streams generated during play and can seek to identify correlations among them, it is disposed to recognize what manner of play is likely to provide the most enjoyable experience for a particular user109.

For example, a user109may frequently employ a strategy of attacking opponents by accelerating toward them from behind and delaying a foray until his or her vehicle103is very close behind the target vehicle103. There are many aspect of play that could make this challenging, but fundamentally, such a strategy likely requires rapid acceleration, particularly on a track104that might have many tight turns and thereby restrict driving at top speed for any sustained duration.

In such a context, ADAS107can monitor a user's109performance with respect to metrics that keep track of time spent trailing an opponent's vehicle103and average distance between vehicles103at the time of attack, as well as how the distance between vehicles103trends (e.g., whether the attacking vehicle103exhibits a gradual but persistent rate of approach toward the average attack distance). Based on such an assessment, ADAS107can determine that user's109preferred approach to play could be augmented by adjusting the vehicle's103factory configuration to enable higher rates of acceleration. It can be appreciated that acceleration could be limited for a variety of practical reasons such as dynamic stability, motor lifetime, or battery charge, and that a change in acceleration limit could alter game balance. In consideration of these, ADAS107might also adjust vehicle's103top speed downward in balance with increasing its peak acceleration. In a manner consistent with embodiments described elsewhere, after ADAS107makes such an adjustment, it can monitor user's109play pattern to determine if usage increased or if play duration changed in a way that would indicate a greater interest in using the product. Additionally, ADAS107can also monitor vehicle's103electro-mechanical system to determine if the alteration in vehicle's103operating parameters has a long-term effect on the durability of one or more components.

As ADAS107performs similar analyses across cell systems100and populations of users109, users109can be clustered into groups based on factors such as play style. The greater the confidence ascribed to the relationships that establish one style versus another, the more broadly and potentially more quickly a user109can be identified by type. In at least one embodiment, aspects of a user's109cell system100can be modified to suit likely preferences of that user109. In this manner, ADAS107can help to tailor aspects or components of a cell system100to fit the anticipated preferences of a user109. In at least one embodiment, the system can provide user109with direction on selecting particular accessories or components that would most suit that user's109preferences. Likewise, once ADAS107has established a style type or other characteristic that best describes a user109, ADAS107can configure new components or hardware introduced to a cell system100to better fit a user's109preferences even before the first use of that cell system100.

In this fashion, ADAS107can implement an adaptable monitoring and administrative system that can construct models of performance and their parameters based on a population of similar cell systems100in use. In at least one embodiment, ADAS107is implemented according to a closed-loop design that affords it broad applicability and usefulness, as it can test its models and refine them based on how adjustments based on those models were observed to affect cell systems100under study. The applicability of such a system across a number of cell systems100offers value that increases with the size of the population of cell systems100.

Accordingly, various embodiments of the described system fundamentally improve aspects of individual cell system100performance, user satisfaction with both cell system100function and manufacturer service of said cell system100, lifetime of cell systems100and their components, performance optimizations across multiple cell systems100, and non-operational considerations such as marketing efficacy.

The above description and referenced drawings set forth particular details with respect to possible embodiments. Those of skill in the art will appreciate that other embodiments are possible. First, the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms described herein may have different names, formats, or protocols. Further, the system may be implemented via a combination of hardware and software, or entirely in hardware elements, or entirely in software elements. Also, the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead be performed by a single component.

Reference in the specification to “one embodiment” or to “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least one embodiment. The appearances of the phrases “in one embodiment” or “in at least one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.

Some embodiments may include a system or a method for performing the above-described techniques, either singly or in any combination. Other embodiments may include a computer program product comprising a non-transitory computer-readable storage medium and computer program code, encoded on the medium, for causing a processor in a computing device or other electronic device to perform the above-described techniques.

Certain aspects include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions can be embodied in software, firmware and/or hardware, and when embodied in software, can be downloaded to reside on and be operated from different platforms used by a variety of operating systems.

The algorithms and displays presented herein are not inherently related to any particular computing device, virtualized system, or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will be apparent from the description provided herein. In addition, the system and method set forth herein are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings described herein, and any references above to specific languages are provided for illustrative purposes only.

Accordingly, various embodiments may include software, hardware, and/or other elements for controlling a computer system, computing device, or other electronic device, or any combination or plurality thereof. Such an electronic device can include, for example, a processor, an input device (such as a keyboard, mouse, touchpad, track pad, joystick, trackball, microphone, and/or any combination thereof), an output device (such as a screen, speaker, and/or the like), memory, long-term storage (such as magnetic storage, optical storage, and/or the like), and/or network connectivity, according to techniques that are well known in the art. Such an electronic device may be portable or non-portable. Examples of electronic devices that may be used include: a mobile phone, personal digital assistant, smartphone, kiosk, server computer, enterprise computing device, desktop computer, laptop computer, tablet computer, consumer electronic device, or the like. An electronic device for implementing the system or method described herein may use any operating system such as, for example and without limitation: Linux; Microsoft Windows, available from Microsoft Corporation of Redmond, Wash.; Mac OS X, available from Apple Inc. of Cupertino, Calif.; iOS, available from Apple Inc. of Cupertino, Calif.; Android, available from Google, Inc. of Mountain View, Calif.; and/or any other operating system that is adapted for use on the device.

While a limited number of embodiments has been described herein, those skilled in the art, having benefit of the above description, will appreciate that other embodiments may be devised which do not depart from the scope of the claims. In addition, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, this disclosure is intended to be illustrative, but not limiting.