Frugal user engagement help systems

Information

  • Patent Grant
  • 9846881
  • Patent Number
    9,846,881
  • Date Filed
    Friday, December 19, 2014
    10 years ago
  • Date Issued
    Tuesday, December 19, 2017
    7 years ago
Abstract
One embodiment of the present invention provides a system for providing assistance to a user of a product in diagnosing faults in the product. During operation, the system receives, at a help server, data associated with current and/or past operation of the product; performs an optimization to determine a sequence of diagnostic actions that is expected to maximize a net benefit to the user. The sequence of diagnostic actions includes one or more actions that require the user to perform at least one task, and performing the optimization involves accounting for costs to the user for performing the at least one task and savings to the user for correcting the faults. The system then interacts with the user, which involves presenting the sequence of diagnostic actions to the user.
Description
BACKGROUND

Field


This disclosure is generally related to help systems that rely on user input for diagnosis purposes. More specifically, this disclosure is related to such a help system that is frugal with user engagement.


Related Art


Many current customer-assistance systems that provide assistance for products or services rely on extra information provided or extra steps taken by the customers themselves to help with diagnosis of problems associated with the products or services. For example, when a user experience problems with his computer system, he may use a self-help system available on the website of the product maker to troubleshoot and to fix the problems. Before performing the diagnostics, the self-help system may require the user to place his computer system into a standard configuration. For example, the user may be asked to re-install certain software. Another example can be a call center that collects extra information from a calling customer in order to route the call to specific service personnel. Such an approach reduces the burden on providers of the help systems at the expense of the customers' involvement in diagnostics. In some instances a customer may be asked to take unnecessary steps, just on the off chance that it will save the help provider extra costs. The shift of costs from help providers to customers may often not benefit the customers.


In many applications the help provider may not be motivated to provide a high-quality help system because users of such a system may have already purchased the product or service, and the help system only needs to meet minimum requirements. In such settings a provider may shift to the user, as much as possible, the burden of diagnosis and repair, and the user, having already purchased the product, may have no choice but to bear the extra costs.


Nevertheless, in many markets, particularly those covered by third-party surveys and reputation management systems, the quality of product support is an integral part of the product's overall reputation for quality. In such markets, help systems that provide limited assistance or are too burdensome to users may become an obstacle in attracting more users to adopt the corresponding products or services.


SUMMARY

One embodiment of the present invention provides a system for providing assistance to a user of a product in diagnosing faults in the product. During operation, the system receives, at a help server, data associated with current and/or past operation of the product, and performs an optimization to determine a sequence of diagnostic actions that is expected to maximize a net benefit to the user. The sequence of diagnostic actions includes one or more actions that require the user to perform at least one task, and performing the optimization involves accounting for costs to the user for performing the at least one task and savings to the user for correcting the faults. The system then interacts with the user, which involves presenting the sequence of diagnostic actions to the user.


In a variation on this embodiment, the system further performs an initial testing to determine a baseline operating profile of the product, and compares the received data associated with the current and/or past operation of the product to determine whether the product is degraded.


In a variation on this embodiment, the product includes a heating, ventilation, and air conditioning (HVAC) system. Performing the optimization involves: obtaining a weather prediction, and based on the obtained weather prediction, including in the determined sequence of actions a delaying-to-learn-more action that delays the interaction with the user for a predetermined time.


In a variation on this embodiment, the sequence of diagnostic actions includes one or more of: a survey action, a research action, and an experiment action.


In a variation on this embodiment, the system estimates the cost to the user for performing the at least one task by one or more of: learning a cost model associated with the user, wherein the cost model specifies how the user values his time and the user's preference and skills, asking the user to self-classify, and asking the user to answer a set of questions.


In a variation on this embodiment, the system provides additional incentives to the user in response to the optimization determining that the maximized net benefit to the user is less than a predetermined threshold, thereby motivating the user to remain engaged.


In a variation on this embodiment, interacting with the user further involves presenting to the user explanations of the net benefit, thereby motivating the user to perform the at least one task.





BRIEF DESCRIPTION OF THE FIGURES


FIG. 1 presents a diagram illustrating the architecture of an exemplary frugal user engagement help system (FUEHS), in accordance with an embodiment of the present invention.



FIG. 2 presents a diagram illustrating the architecture of an exemplary help server, in accordance with an embodiment of the present invention.



FIG. 3 presents a flowchart illustrating an exemplary diagnosis process, in accordance with an embodiment of the present invention.



FIG. 4 illustrates an exemplary computer and communication system for implementing a frugal user engagement help system (FUEHS), in accordance with one embodiment of the present invention.





In the figures, like reference numerals refer to the same figure elements.


DETAILED DESCRIPTION

The following description is presented to enable any person skilled in the art to make and use the embodiments, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.


Overview


Embodiments of the present invention provide a method and a system that provide remote assistance to customers of a product or service. More specifically, when diagnosing a faulty or degraded product, the help system engages the customers in providing information that may be useful to the diagnosis. The help system optimizes the decision for user engagement based on cost of user participation (which is user-dependent and can be learned by the system over time or by using a survey) and the expected benefit to the users. The help system can be triggered by a customer call or a detection of product degradation. At any point of the operation, when there is no possible action that can lead to positive expected benefit to the user, the help system terminates. Note that this termination may leave the problem unresolved; nevertheless the continued operation of the degraded system may be of net benefit to the user (a less efficient air condition is better than no air condition in hot summer days). A future time, when more data is available, may be a better time for diagnosis and repair.


In this disclosure, the term “help system” broadly refers to a system that provides help to customers with products or services. It can include call centers, online tools, and mobile apps.


Frugal User Engagement Help System (FUEHS) for Improving Energy Efficiency of an HVAC System


Many modern energy systems, such as water heaters, refrigerators, and HVAC (heating, ventilation, and air conditioning) systems include control systems that are able to keep these systems functioning well, even when they have partial faults. As these systems degrade, the effective built-in control is able to make sure that there is little impact on perceived performance; instead, the impact is on energy efficiency. For example, a faulty HVAC system may continue to function in terms of regulating the room temperature at the expense of consuming more energy. This additional energy consumption is often buried in energy bills and not directly perceived. Without direct feedback, users are often not motivated to fix the degraded system, thus missing the chance of substantial energy savings. Contact by the utility providers may help the customers find energy savings, but the customers may be particularly sensitive to interaction costs (in terms of time and resources), and may not have strong goals to save energy.


To address such a problem, embodiments of the present invention provide a proactive help system that contacts users based on preliminary evidence (such as a user's smart meter data of a phone call reporting a problem) and is frugal with user engagement thereafter. More specifically, such a frugal user engagement help system (FUEHS) ensures that the user will have net positive expected benefits at each step that expects participation from the user; hence, the user is more motivated to cooperate with the diagnosis and repair process. Although there are other approaches that attempt to diagnose HVAC systems remotely (without sending a technician to a user's home), they generally require significant instrumentation (with specially designed sensors). Note that, although the instrumentation may provide more accurate and rapid diagnosis, it tends to be more expensive and may not be readily available in many cases. Other diagnostic approaches that engage users often do not account for the cost of user participation. In contrast, FUEHS technology provides an online, interactive approach to diagnosis that takes into consideration the cost of user participation. More specifically, this approach focuses on the decision process. At each step, the system assures the users that they are required to invest in the diagnosis because the end result benefits the users. In contrast to instrumentation-heavy solutions, FUEHS uses little instrumentation a priori; instead, additional investigation, tests, and instrumentation are used only when there are compelling potential savings to HVAC performance.



FIG. 1 presents a diagram illustrating the architecture of an exemplary frugal user engagement help system (FUEHS), in accordance with an embodiment of the present invention. In FIG. 1, an FUEHS 100 includes a help server 102 that is coupled to homes 104, 106, and 108 via a network 110. In some embodiments, a home may include a smart meter that is capable of monitoring the performance of an HVAC system and communicating with help server 102. For example, home 104 is equipped with a smart meter 124, which couples to help server 102 via network 110. Note that network 110 may correspond to any type of wired or wireless communication channels capable of coupling together computing nodes, such as smart meters in customer homes (e.g., smart meter 124 in home 104) and help server 102. This includes, but is not limited to, a local area network (LAN), a wide area network (WAN), an enterprise's intranet, a virtual private network (VPN), and/or a combination of networks. In one or more embodiments of the present invention, network 110 includes the Internet. Network 110 may also include phone and cellular phone networks, such as a Global Systems for Mobile Communications (GSM) network or an LTE (long-term evolution) network. In some embodiments, network 110 can be used to gather data and to interact with the users, such as user 114 in home 104.


In some embodiments, a help system operator 112 may interact with users, such as a user 114 in home 104, using various communication techniques, such as telephone (wired or wireless), texting, online chatting, emailing, etc., in order to obtain information from the users and to instruct the users to take certain actions. For example, help system operator 112 may answer a service call from user 114. During the service call, help system operator 112 may, based on an optimization result of help server 102, instruct user 114 to check the airflow of a register of the HVAC system.


Before FUEHS 100 can start to diagnose a faulty product, initial background testing is needed to obtain baseline parameters associated with normal operation of the product. For example, the help system may need to learn the amount of energy an HVAC system consumes under normal working conditions. This background test can be performed by analyzing the smart meter data (either electric or gas). Note that, although the resolution of the smart meter data is often too low to support precise HVAC diagnosis, it provides sufficient information to identify bad trends that justify activation of the diagnostic process. In most cases, the background testing is an analytic operation performed by the provider of the help system, and does not engage or cost anything of the user.


Various analytical methods can be useful for deriving the baseline operating parameters of an HVAC system of a building. For example, the help system can disaggregate the smart meter data to separate the energy usage of the HVAC system from other loads within the building, or use the HVAC electric fan power as a proxy for gas consumption. In some embodiments, the background testing may involve modeling weather effects on the building, so that HVAC degradation can be distinguished from normal weather-related load changes (as hot days lead to an over-worked HVAC system). In some embodiments, the background testing can involve inferring the occupancy of the building, particularly the trend in occupancy, so that HVAC degradation can be distinguished from occupancy-related load changes (especially the effect of more people entering and leaving the building). In some embodiments, the background testing may involve filtering the data to look for degradation of the HVAC system when other energy consumption activity is minimal. For example, overnight data may be more relevant to HVAC operation. When there is no obvious degradation, the help system can determine the baseline operating parameters of the HVAC system in the building.


Upon completion of the background testing, the help system can begin to diagnose faulty or degraded customer systems, such as an HVAC system. Note that, when the HVAC system is operating normally, there is no need to activate the help process of the FUEHS, which involves user engagement. In some embodiments, activation of the help process can be triggered by a number of events, including but not limited to: receiving a user request, and detecting performance degradation and the expected savings resulting from fixing the degradation exceeding a threshold value. It is obvious that, when a user reports (either by calling or making an online request) a problem, the help process should be activated immediately in order to assist the user with diagnosis and/or repairs. On the other hand, as discussed previously, much progressive degradation of HVAC systems will go unnoticed, and can result in significant amounts of energy being wasted. For example, a clogged air filter may lead to lowered HVAC efficiency, and may be ignored by the user. In such a situation, the help process can be automatically triggered (without a service call from the user) if the FUEHS observes the problem and determines that the cost to fix the problem is much less than the potential savings to the user. Using the same air filter example, based on the smart meter data and the previously performed baseline testing, the help system may determine that there is a performance degradation of the HVAC and calculate how much the HVAC has degraded (e.g., by 10%). The FUEHS can also calculate the amount of savings that that can be achieved from fixing the degradation. When the amount exceeds a predetermined threshold value (such as a $100), the help process can be automatically activated. For example, the user may be contacted and asked to check whether the air filter is clogged.


In some embodiments, the FUEHS may periodically (e.g., on a daily or weekly basis) compute the expected net benefit to the user resulting from engaging the user to fix the problem; once the expected benefit is positive, the help process is activated. Note that, although this approach of repeatedly attempting to activate the help process can be computationally more expensive, it has the advantage of taking into account both the savings obtained from repairing the HVAC and the costs of engaging the user.



FIG. 2 presents a diagram illustrating the architecture of an exemplary help server, in accordance with an embodiment of the present invention. In FIG. 2, a help server 200 includes a data-receiving module 202, a data-analysis module 204, a trigger module 206, an action library 208, an optimization module 210, a user-engagement module 212, a termination module 214, and a transfer module 216.


Data-receiving module 202 is responsible for receiving data that is relevant to helping the user. For equipment that consumes utility delivered power (e.g., HVAC, refrigeration systems, etc.), the smart meter data is a good source of information. The data received by data-receiving module 202 may include other types of data, such as weather data or sensor data.


Data-receiving module 202 sends received data to data-analysis module 204 for analysis. Note that, although the received smart meter data cannot provide detailed information related to the current operating conditions of the HVAC system, by analyzing the smart meter data, data-analysis module 204 is able to extract the energy usage trend of the HVAC system. In some embodiments, data-analysis module 204 maintains a baseline profile for the HVAC system. The baseline profile may include the energy usage profile of the HVAC system during different kinds of weather or different seasons of the year. By comparing the current energy usage (or trend of the energy usage) with the baseline profile, data-analysis module 204 can identify certain abnormal (or “bad”) trends. A “bad” or abnormal trend may indicate performance degradation. For example, the baseline profile of an HVAC system may indicate that the energy usage gradually decreases as the seasons change from summer to fall. If data-analysis module 204 observes an upward energy usage trend during the same time period, it may infer that the HVAC is experiencing performance degradation. Data-analysis module 204 may also calculate to what extent the HVAC system has degraded. The output of data-analysis module 204, which can include the identified bad or abnormal trend, is then sent to trigger module 206.


Trigger module 206 determines, based on the output of data-analysis module 204, whether the help process should be activated. In some embodiments, trigger module 206 may evaluate the amount of money that can be saved if the HVAC degradation can be fixed, and determine whether such potential savings exceeds a threshold. If so, trigger module 206 activates optimization module 210 to determine an effective help process to address the degradation. In some cases, the help process engages the user (via user-engagement module 212) during the diagnosing process, and may possibly have the user fix the degraded HVAC system. Other events may also cause trigger module 206 to activate the help process. For example, trigger module 206 may receive a user request (forwarded by user-engagement module 212), and in response to such a request, trigger module 206 activates the help process.


Action library 208 stores a number of actions (user engagements) that can be applied during the help process. These actions are designed to elicit features of the building and the HVAC system, and to differentiate among different failures of the HVAC system. In some embodiments, an action can be specified with a number of features, including but not limited to: a protocol for interacting with the user, cost estimation, and a transformation of the belief representation of the system.


The protocol for interacting with the user specifies how the help system should engage the user. For example, the protocol may specify what questions to ask the user and what responses to collect from the user. The questions and responses facilitate gathering of new data that can be used for diagnosis. In some embodiments, the protocol for interacting with the user indicates the preferred communication channel, such as phone calls, text messages, emails, etc., for interacting with users.


The cost estimation represents the estimated cost of the user performing the action. In some embodiments, the cost may include the time spent by the user performing the action and the burden perceived by the user for performing the action. Note that the cost may be user-specific. For example, a particularly busy user may place more value on his time, and perceive a time-consuming action as a greater burden compared with a different user who has more leisure time. On the other hand, a user who is very sensitive to privacy may find answering the question about household occupancy burdensome. In some embodiments, estimating the cost of actions to a user may involve learning a model (which can be performed within user-engagement module 212) of the user's cost for participation in diagnosis. In some embodiments, the cost model can include a value of the user's time, as well as the user's preferences and skills in performing the actions. In some embodiments, the system allows the user to configure such a cost model. In some embodiments, the learning process happens concurrently with the diagnosis. The system gathers responses from the user while the user is performing the actions in order to establish a cost model. However, because of the need to interact lightly with the user, it might be simpler to ask the user to self-classify, choosing from among a few archetypes. For example, a user can identify himself as a handyman. The system can perform more powerful analytics (while it is not interacting with users) to learn the relevant characteristics of a few archetypes. In some embodiments, such self-identification can be achieved by the user completing a brief survey before or during diagnosis.


The transformation of the belief representation of the system indicates changes to the system based on the newly gathered data and any actions (such as replacing a component) that modify the system. Depending on the implementation of different fault-diagnosis algorithms, there are various belief representations of the system. In some embodiments, the fault-diagnosis process involves using a dependency matrix (D-matrix) or a diagnostic inference model (DIM) to capture the relationship between test outcomes and diagnosis. In such scenarios, the diagnostic system will have potential diagnoses (d1, d2, d3, . . . ), actions or tests (t1, t2, t3, . . . ), and implications dicustom charactertj. An implication dicustom charactertj means that diagnosis di will be detected by test tj. If test tj is not true, then diagnosis di can be eliminated. Hence, assuming single fault, a suitable “belief representation” of the system is the set D of remaining possible diagnoses. The initial D includes all possible diagnoses D←(d1, d2, d3, . . . ). One or more of the possible diagnoses may be considered “normal,” and do not require repairs. For an action that corresponds to test tj, the transformation of the belief representation (D) is specified as the set of diagnoses that imply tj; that is, all di such that dicustom charactertj. Note that there may be more than one diagnosis in the set Dj. If tj is false, the transformation of D consists of deleting certain diagnoses from the initial belief representation: D←D−D∩Dj.


Other diagnosis algorithms may require different belief representations. For example, a Bayesian approach to system identification might use a belief representation that includes the current prior distribution of parameters in the model. For example, the D-matrix described in the previous paragraph may be modified so that the belief update rule is a Bayesian update. More generally, a POMDP (partially observable Markov decision process) approach to diagnosis may use a belief representation b=(b1, b2, b3, . . . ) that is a vector of current probabilities corresponding to the potential diagnoses (d1, d2, d3, . . . ). Other diagnosis approaches are also possible.


There are many actions stored in action library 208. Depending on the actual tasks performed by the user, some can be categorized as survey actions, research actions, experiment actions, and repairing/replacing actions. Moreover, depending on the tools that the user used for performing the actions, some actions are categorized as smartphone actions and actions requiring temporary instrumentation. There are also delaying-to-learn-more actions and provider actions.


A survey action entails asking the user one or more survey questions (by mail, phone or through a smartphone app). The questions that might be useful for HVAC diagnosis include such topics as: changes in occupancy (the arrival of a new baby, or long-term visitors); number of rooms in the building; typical thermostat settings; and kind of HVAC system. In most cases, these questions can be answered easily by the user. One or more questions may be asked as part of a single action. There are tradeoffs between the survey length and frequency. For example, the system can ask only the most relevant questions each time it surveys the user, which may result in more surveys being needed to achieve a correct diagnosis. Alternatively, the system may survey the user less frequently by batching together questions that might arise in the future. In some embodiments, both single and batch surveys can be registered in the action library (with appropriate costs), and the most beneficial strategy will be chosen by optimization module 210 when it performs the decision-theoretic optimization.


A research action asks the user to investigate a certain aspect of the HVAC system, his home, or the environment. Unlike a survey action, where the user might know the answer immediately, a research action typically requires more investigative effort from the user, such as: measuring the outside dimensions of the home, observing shading patterns, counting HVAC registers, checking whether a motor is hot, etc. In action database 208, these actions are often associated with higher costs to the user and, thus, will be used more carefully by the FUEHS.


An experiment action asks the user to perform a simple test, such as an airflow test, a thermal load test, or an HVAC stress test. To perform the airflow test, a user may be asked to place a tissue on a register, and observe whether HVAC activation disturbs the tissue. To perform the thermal load test, a user may be asked to change the blinds from open to closed, and to text a message when the blinds are changed. To perform the stress test, the user may be asked to turn up the thermostat by 4 degrees for two hours, and to text when the thermostat is changed.


A repairing/replacing action asks the user to perform certain simple repair or replacement tasks. For example, a user may be asked to replace an air filter or other components in the HVAC system. Note that sometimes trying the remedy may be the most cost-effective way of testing for a fault. When a repair is used as an action, a delaying-to-learn-more action is appended in order to determine success. In some embodiments, one or more simple repairs can be combined into one action.


Smartphone actions refer to actions that require a smartphone, more specifically the various components on the smartphone, such as camera, GPS, and microphone. For example, certain research actions may ask the user to photograph the HVAC nameplate (obtaining the model number), the outdoor shading on the roof, or the thermostat (during an experiment). A smartphone action may involve the user walking the perimeter of his house (estimating square footage from GPS tracks) or using GPS tracking to estimate occupancy. Another action may involve the user recording sounds of the HVAC system, or airflow at the registers.


Certain actions require specialized instruments. To facilitate such actions, the user is loaned additional sensing equipment, such as: RFID temperature tags, add-on sensors for his phone, and Wi-Fi-enabled temperature and power monitors.


The delaying-to-learn-more actions are similar to the initial background testing. A delaying-to-learn-more action typically includes an additional interval of time to wait for more data for the analytics to improve. For example, weather patterns can be used to predict the rate of occurrence of unusual stress events (e.g., very windy cold days, or hot days with no sun) that will improve the data set beyond the initial set used in the initial background testing. The cost of a delaying-to-learn-more action may include additional degraded operation of the HVAC system, which is balanced by less interaction with the user. In some embodiments, the diagnostic system may rely on weather predictions, such as the prediction of the occurrence of specific weather conditions (particularly hot or cold days) to determine whether a delaying-to-learn-more action could benefit the diagnosis system. In other words, the diagnosis system may determine that it is beneficial to “sleep” while waiting for new data that can be gathered on an extremely hot day, which can be a few days later. Hence, instead of asking the user to take certain actions now, the system temporarily pauses, not engaging the user but relying on background data gathering to make progresses.


Provider actions are actions that are performed by the provider of the help system. For example, the provider might use the cell phone app's location to select and analyze satellite imagery of the building.


In some embodiments, action library 208 can be both expanded and pruned. As operators of a call center discover ways to help users with new problems, new actions can be added to action library 208. Moreover, depending on the diagnostic algorithm, various methods can be used to reduce the size of action library 208 and the complexity of diagnosis computation. For example, using logical analysis, D-matrix tests that can be “covered” by less expensive tests may be deleted from action library 208. Statistical methods can also be used to delete actions that are seldom beneficial, based on data from model-based simulations or from actual usage.


Optimization module 210 is responsible for performing the diagnosis and running a decision-theoretic optimization during the diagnostic process. In other words, at each step of the diagnostic process, a decision is made to optimize the benefit to the user. Note that such decision-theoretic optimization takes into account the cost to users associated with the actions. Various approaches to diagnosis can be used, such as a D-matrix approach or POMDPs.


In some embodiments, the FUEHS uses a POMDP for diagnosis, and optimization module 210 performs a decision-theoretic optimization for a POMDP, represented as a 7-tuple: (S,A,T,R,O,Ω,b0), with each component explained in detail below.


S is the set of states. In the example of HVAC diagnosis, S may include faults and other operating modes of the HVAC system. In some embodiments, states can correspond to multiple faults, or combinations of faults with operating modes of the system. Alternatively, a factored representation may be used for multiple faults. For simplicity, it is assumed here that there is a single normal operating state s0, and each of the other states si corresponds to a single fault di, although it will be understood that this may be expanded to include multiple faults.


A represents a set actions, as described previously.


T indicates the transition probabilities. More specifically, T(s′|s,a) is the conditional probability that action a will cause a transition from state s to s′. In the HVAC diagnostic problem, most of the actions simply observe the state of the system. In other words, if the system is in state si indicating fault di, then it will still have that fault after the action. The action may refine our belief about the state, but it will not change the state. Some actions may temporarily modify the operating mode of the system. For example, the action of raising the thermostat changes the operating mode of the HVAC. For simplicity, it is assumed that such actions just increase the probability of the current state. Some actions will attempt to fix a problem. If the fault is corrected, then S will transition into a normal operating state s0, which is also identified as a terminal state.


R is the “reward” to the user. More specifically, R(s,a) indicates the reward for taking action a in state s. In HVAC diagnosis many of the rewards are slightly negative, corresponding to the cost of the user performing the action. However, once a problem is diagnosed and fixed, a positive reward can be achieved. Optimizing R means that the cheapest (least cost) way is used to reach a diagnosis.


O is the observation of the actions. O(o|a,s′) is the conditional probability of observation o as action a transitions to state s′. In the HVAC diagnosis problem, each action a will have two or more observations o, depending on the state of the system. For practical reasons, given that a user is performing the action, it is beneficial to have “inconclusive” outcomes among the possible observations.


Ω is the space of possible observations. oεΩ.


b0 is a vector of probabilities, one for each state in S. It is the initial belief about the state of the POMDP. In the HVAC diagnosis problem b0 might be the a priori probabilities of the faults.


The classic approach to solving POMDPs is to reduce them to a Markov Decision Problem (MDP) over a belief space consisting of vectors of probabilities (b=(b1, b2, b3, . . . )) that the POMDP is in the corresponding states (s1, s2, s3, . . . ). A solution to a POMDP finds an optimal policy, which prescribes the best action for each belief state. In some embodiments of the present invention, optimization module 210 solves the MDP by value iteration. Note that the best action can be the action that leads to a diagnosis that is the least-cost to the user.


Unfortunately, the size of the representation of the value function can grow exponentially, making it notoriously difficult to solve POMDPs for all but the smallest state spaces. In some embodiments, the system may use a variety of point-based value iteration (PBVI) methods to solve the POMDPs. These methods avoid the potentially exponential growth of the representation of the value function by using heuristic methods to select a subset of points where the value function is represented. Nearby points have lower fidelity representations than a single point, so the solution is only an approximation. However this heuristic approach to solving POMDPs has made the POMDPs much more practical. It will be understood that there are a variety of approximation methods that may be applied to approximate the solution of a POMDP, and that formulation of the problem as a POMDP has benefits even when it is not solved exactly.


In the value iteration approach, the policy (best action) is implicitly represented in the value function, i.e., the best action can be determined by comparing the expected value of the actions using the computed values of their next states. This solution allows additional flexibility in interacting with the user. The user may be presented with more than one possible action to perform next (e.g., the best, the second-best, and the third-best actions) to allow the user flexibility. Likewise, with slight loss of optimality the system may enforce external constraints during action selection (e.g., not asking the user to repeat an action, to avoid frustration, even when it's the best action).


The output of optimization module 210, which can include the determined optimal action, is sent to user-engagement module 212, which interacts with and engages the user during the diagnostic process. In some embodiments, user-engagement module 212 may interact with the user via phone, text, email, or online chatting in order to instruct the user to perform certain actions. Note that, during a diagnostic process, it is particularly important that the user remain engaged with the help system. This is accomplished fundamentally by making each action have a positive expected value for the user, i.e., the expected benefit of fixing the degraded system exceeds the costs to the user of the actions performed. While this is a fundamental property of FUEHS and is ensured by optimization module 210, it may be helpful to give the user continuous indication of this expected benefit. Such continuous indication is often provided to the user via user-engagement module 212.


For many users the concept of an “expected” benefit may not be intuitive or easy to understand. Note that even with a positive expected benefit roughly half the time the operation of the system will result in less than its expected benefit. In some embodiments, to make it easy for users to apprehend the expected benefit, user-engagement module 212 presents to the user representative examples of the possible operation of FUEHS. For example, rather than telling a user that the expected benefit of action ak is $300, user-engagement module 212 may present the user with an example: the suggested action ak can help distinguish a simple repair you can do yourself, such as cleaning the filters, with a benefit of $600, from a service call with a net benefit of $200. Note that, while such an example may not give a precise explanation to the user (for example, it may not explain why ak is better than another action am), it may be easier for the user to appreciate.


In some embodiments, during the diagnostic process, upon determination by optimization module 210 of an optimal action, user-engagement module 212 extracts an “explanation of the expected benefit” from optimization module 210. The extraction procedure will depend on the diagnostic approach used by optimization module 210. For example, an explanation based on informative scenarios (such as the previous example) can be computed using Monte Carlo sampling from the solution of a POMDP. A plurality of scenarios can be generated by sampling paths through the solution of the POMDP, using the optimal policy for choice of actions and drawing randomly from T and O to determine transitions and observations. User-engagement module 212 can then select a few illustrative samples using one or more of the following methods in combination:

    • 1) Select samples that illustrate different possible observations resulting from the current action. These samples will show the user how the next action might affect the outcome.
    • 2) Using the distribution obtained from the Monte Carlo sampling, present examples with benefits at roughly ±σ (variance) in the distribution, to better illustrate to the user the outcome and its uncertainty.
    • 3) Modify the sampling to favor more likely transitions and observations to find more common and representative samples.


These approaches to explanation, while less mathematically informative than the expected value, the variance, and the value at risk, can be more concrete and easier for the user to comprehend.


Also note that an action can incur different costs to the provider and the user of the help system. Moreover, there are different rewards (expected benefits) to the provider and user. The FUEHS focuses primarily on treating the user optimally with respect to their cost-benefit, to motivate them to use the system, and to provide a better help system experience. Therefore, optimization module 210 primarily optimizes operations based on the user's costs and rewards. However, it should be understood that the provider's optimization criteria may be appropriately weighted and incorporated into the objective of the optimization.


When the provider has significant rewards for successful diagnosis (e.g., a utility company, under “decoupling” policies in many states, can potentially profit from prompting successful energy savings activity of its customers), it may benefit the provider to offer additional incentives to the user to keep the user engaged during the diagnostic process. This can be adapted to the current state of the diagnosis. For example, in situations where the user's cost-benefit might be weaker (such as the net benefit being less than a threshold value), and his motivation is lagging, an additional incentive can help complete the diagnosis. In some embodiments, the incentive may be in the form of a rebate to utility bills. In some embodiments, optimization module 210 adjusts the rebate value based on the current state of the diagnosis. If the decision-theoretic diagnosis process (run by optimization module 210) predicts that the subsequently required actions provide less benefit to the user, then optimization module 210 can adjust the rebate value upward. User-engagement module 212 conveys the incentive (rebate) to the user at an appropriate time to motivate the user to perform the actions required for diagnosis.


Termination module 214 is responsible for terminating the diagnostic process. In some embodiments, termination module 214 terminates a process in response to the system reaching a diagnosis of the problem that a user can self-repair. For HVAC diagnosis, this would include such things as: cleaning filters, adjusting registers, defrosting external coils, and improving normal airflow near thermostats. In some embodiments, FUEHS includes these repairs as actions in the system, and can try them early in the process to avoid more costly service calls. Termination module 214 may also terminate a diagnostic process by recommending that professional service be called. This may occur when there are still multiple possible diagnoses, even possibilities of user repair, simply because the decision-theoretic optimization run by optimization module 210 determines that the cost-benefit of additional diagnosis is less than a service call. It is also possible for termination module 214 to halt the diagnostic process without suggesting any repair. For example, the HVAC system may have faults, but the degradation is small enough that it is not worth diagnosing at the present time. Note that, while this appears similar to the previously described “delaying-to-learn-more” action, the difference here is that it terminates the FUEHS diagnostic process. When this termination occurs, modifications to the trigger condition for FUEHS must be made to prevent the FUEHS from starting again too soon. Also, as part of the termination, results from certain actions may be archived for future FUEHS processes.


When the diagnostic system terminates with the suggestion that the user call professional HVAC service, transfer module 216 can transfer useful information to the service technician. In some cases the diagnostic system has identified a single fault that requires professional service. This fault can be suggested to the technician. However, it is much more likely that the diagnostic system will terminate with multiple fault possibilities, because the diagnostic process will stop when actions get costly and fewer problems can be fixed by the user. With multiple possibilities, it is unlikely that simply transferring the internal belief representation will be helpful to the service technician. In some embodiments, before transferring the useful information to the service technician, transfer module 216 extracts an “explanation of the belief state,” and then transfers such explanation to the service technician.


The explanation of the belief state may take various forms. If the diagnostic approach is the previously described POMDP, then an explanation of the belief state might be formed by listing (as likely faults) all di with high probability bi. For each such di, the currently completed diagnostic steps (current path) can be traced to identify the largest jump, where bi increased the most along the path. The action that causes the jump is then reported next to bi as a plausible explanation for why di might be likely. In this way, the most compelling evidence for the diagnosis can be selected. In addition, the explanation might also list unlikely diagnoses, which may include dj with low probability bj along with the action that causes the largest decrease in bj. Different diagnostic approaches will require different extraction procedures. For example, the D-matrix approach can form explanations by listing one or more actions that either excluded or included the diagnosis.


FUEHS Diagnosis Process



FIG. 3 presents a flowchart illustrating an exemplary diagnosis process, in accordance with an embodiment of the present invention. During operation, the help system first performs initial background testing by collecting and analyzing measurement data associated with the product that needs help (operation 302). Note that if the product is an HVAC system, the measurement data can include smart meter data. The initial background testing can be essential in determining the baseline energy-usage profile of the HVAC system. Subsequently, the help system continuously receives smart meter data (operation 304), and waits for the trigger condition to be met (operation 306). In some embodiments, the trigger can include a user request, such as a service call. Moreover, the help system may compare current smart meter data with the baseline energy-usage profile (obtained via background testing) in order to identify bad or abnormal trends of the HVAC system. Such a trend often indicates degradation of the HVAC system. The help system can then estimate the amount of savings that can be achieved by fixing the degradation. If such savings exceeds a threshold, the trigger condition is met. Alternatively, the help system may estimate the net benefit to the user. If the net benefit is positive, the trigger condition is met, and the help system starts an FUEHS diagnostic process.


At the beginning of the FUEHS diagnostic process, the help system performs a decision-theoretic optimization to select, from an action library, an optimal action (operation 308). In some embodiments, the optimal action is chosen to maximize the overall benefit to the user. Note that, to do so, the help system takes into consideration both the end result as well as the cost to the user of actions taken. Various diagnostic approaches may be used by the help system, including but not limited to: D-matrix, POMDP, Bayesian networks, system identification, the general diagnostic engine, particle filtering, and any combination thereof. Depending on the diagnostic approach, the decision-theoretic optimization may be performed differently. In some embodiments, heuristic approaches, such as a PBVI method, are used to solve the POMDP optimization problem.


In some embodiments, the help system may determine, based on the optimization outcome, that it is beneficial to halt the system (adopt a delaying-to-learn-more action) for a predetermined time. In further embodiments where an HVAC system is being diagnosed, such a determination may involve obtaining a weather forecast, and waiting for an appropriate weather condition (such as extremely hot or cold days) in order to gather new data under that weather condition. For example, to help system may learn that, based on whether forecast, the atmosphere temperature will be over 90° F. next week, and determines to halt operations until next week. In some embodiments, the help system may halt operations indefinitely until a certain condition (such as the atmosphere temperature being over a threshold value) is met.


Once an action that involves user engagement is chosen, the help system interacts with the user to instruct the user to perform such an action (operation 310). Most actions are lightweight, requiring little effort or skill from the user. Note that, although these lightweight actions may not be precise enough to be systematically used as HVAC diagnostic tools by technicians or customers, when used selectively in combination with the FUEHS, they contribute to overall improvement in diagnostic efficiency.


After the action has taken place, the help system observes the outcome of the action (operation 312). Note that if the action itself is for the user to observe the current status of the system, such as the settings of the thermostat, the help system receives the user report as the outcome of the action.


Based on the outcome of the action, the help system determines whether a termination condition is met (operation 314). The help system terminates under a number of scenarios, such as when a diagnosis is achieved and a simple repair from the user can fix the problem, or when a diagnosis is achieved and the user is asked to contact a professional service technician to fix the problem. Alternatively, the FUEHS process may also be terminated if the optimization determines that, even if there are still multiple possible diagnoses, the cost benefit to the user for continuing the diagnostic process is less than the cost of a service call. Moreover, the help system may also terminate if it finds that the degradation is small enough to not be worth diagnosing at present. If so, the system terminates without recommending repair or contacting service technicians. If no termination condition is met, the help system continues the diagnostic process by running the optimization to determine the next suitable action (operation 308).


If a termination condition is met, the help system may optionally transfer useful information to the service technician (operation 316). This usually happens when the help system recommends contacting service technicians, either after a diagnosis is reached or when there are still multiple possible diagnoses. The system then terminates the FUEHS process (operation 318). Note that when terminating the help system, results from certain actions may be archived in the help system for use of future FUEHS operations.


Computer and Communication System



FIG. 4 illustrates an exemplary computer and communication system for implementing a frugal user engagement help system (FUEHS), in accordance with one embodiment of the present invention. In one embodiment, a computer and communication system 400 includes a processor 410, a memory 420, and a storage device 430. Storage device 430 stores an FUEHS application 432, as well as other applications, such as applications 434 and 436. During operation, FUEHS application 432 is loaded from storage device 430 into memory 420 and then executed by processor 410. While executing the program, processor 410 performs the aforementioned functions. Computer and communication system 400 is coupled to an optional display 440, keyboard 460, and pointing device 470. Computer and communication system 400 is coupled to a network 450.


The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. The computer-readable storage medium includes, but is not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), DVDs (digital versatile discs or digital video discs), or other media capable of storing computer-readable media now known or later developed.


The methods and processes described in the detailed description section can be embodied as code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium.


Furthermore, methods and processes described herein can be included in hardware modules or apparatus. These modules or apparatus may include, but are not limited to, an application-specific integrated circuit (ASIC) chip, a field-programmable gate array (FPGA), a dedicated or shared processor that executes a particular software module or a piece of code at a particular time, and/or other programmable-logic devices now known or later developed. When the hardware modules or apparatus are activated, they perform the methods and processes included within them.


The foregoing descriptions of various embodiments have been presented only for purposes of illustration and description. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention.

Claims
  • 1. A method for providing assistance to a user of a product in diagnosing faults in the product, comprising: receiving, at a help server, data associated with current and/or past operation of the product;performing an optimization to determine a sequence of diagnostic user actions that is expected to maximize a net benefit to the user, wherein the sequence of diagnostic user actions includes one or more of: a test associated with the product's operation; anda research action to investigate an aspect of the product or its environment; andwherein the net benefit to the user accounts for costs to the user for performing a respective diagnostic action and savings to the user for correcting the faults;presenting the sequence of diagnostic user actions to the user;receiving a response from the user; anddiagnosing, by the help server, based on the user's response, a likely fault in the product.
  • 2. The method of claim 1, further comprising: performing an initial testing to determine a baseline operating profile of the product; andcomparing the received data associated with the current and/or past operation of the product to determine whether the product is degraded.
  • 3. The method of claim 1, wherein the product includes a heating, ventilation, and air conditioning (HVAC) system, and wherein performing the optimization involves: obtaining a weather prediction; andbased on the obtained weather prediction, including in the determined sequence of actions a delaying-to-learn-more action that delays the interaction with the user for a predetermined time.
  • 4. The method of claim 1, wherein the sequence of diagnostic actions further includes a survey action asking the user one or more survey questions.
  • 5. The method of claim 1, wherein maximizing the net benefit to account for costs to the user further comprises estimating the cost to the user for performing the at least one task, wherein the estimated cost includes a value for time spent by the user performing the action, based on one or more of: learning a cost model associated with the user, wherein the cost model specifies how the user values his time and the user's preference and skills;asking the user to self-classify; andasking the user to answer a set of questions.
  • 6. The method of claim 1, further comprising: providing additional incentives including a rebate to the user in response to the optimization determining that the maximized net benefit to the user is less than a predetermined threshold;responsive to predicting that a subsequent required action will provide less benefit to the user, increasing a value of the rebate; andconveying the rebate to the user to motivate the user to perform the actions required for diagnosis.
  • 7. The method of claim 1, wherein presenting the sequence of diagnostic user actions to the user further involves presenting to the user explanations of the net benefit, thereby motivating the user to perform the at least one task.
  • 8. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for providing assistance to a user of a product in diagnosing faults in the product, the method comprising: receiving, at a help server, data associated with current and/or past operation of the product;performing an optimization to determine a sequence of diagnostic user actions that is expected to maximize a net benefit to the user, wherein the sequence of diagnostic user actions includes one or more of: a test associated with the product's operation; anda research action to investigate an aspect of the product or its environment; andwherein the net benefit to the user accounts for costs to the user for performing a respective diagnostic action and savings to the user for correcting the faults;presenting the sequence of diagnostic user actions to the user;receiving a response from the user; anddiagnosing, by the help server, based on the user's response, a likely fault in the product.
  • 9. The computer-readable storage medium of claim 8, wherein the method further comprises: performing an initial testing to determine a baseline operating profile of the product; andcomparing the received data associated with the current and/or past operation of the product to determine whether the product is degraded.
  • 10. The computer-readable storage medium of claim 8, wherein the product includes a heating, ventilation, and air conditioning (HVAC) system, and wherein performing the optimization involves: obtaining a weather prediction; andbased on the obtained weather prediction, including in the determined sequence of actions a delaying-to-learn-more action that delays the interaction with the user for a predetermined time.
  • 11. The computer-readable storage medium of claim 8, wherein the sequence of diagnostic actions further includes a survey action asking the user one or more survey questions.
  • 12. The computer-readable storage medium of claim 8, wherein maximizing the net benefit to account for costs to the user further comprises estimating the cost to the user for performing the at least one task, and wherein the estimated cost includes a value for time spent by the user performing the action, based on one or more of: learning a cost model associated with the user, wherein the cost model specifies how the user values his time and the user's preference and skills;asking the user to self-classify; andasking the user to answer a set of questions.
  • 13. The computer-readable storage medium of claim 8, wherein the method further comprises providing additional incentives including a rebate to the user in response to the optimization determining that the maximized net benefit to the user is less than a predetermined threshold; responsive to predicting that a subsequent required action will provide less benefit to the user, increasing a value of the rebate; andconveying the rebate to the user to motivate the user to perform the actions required for diagnosis.
  • 14. The computer-readable storage medium of claim 8, wherein presenting the sequence of diagnostic user actions to the user further involves presenting to the user explanations of the net benefit, thereby motivating the user to perform the at least one task.
  • 15. A computer system for providing assistance to a user of a product in diagnosing faults in the product, comprising: a processor; anda storage device coupled to the processor and storing instructions which when executed by the processor cause the processor to perform a method, the method comprising: receiving, at a help server, data associated with current and/or past operation of the product;performing an optimization to determine a sequence of diagnostic user actions that is expected to maximize a net benefit to the user, wherein the sequence of diagnostic user actions includes one or more actions that require the user to perform at least one task, of:a test associated with the product's operation; anda research action to investigate an aspect of the product or its environment; andwherein the net benefit to the user accounts for costs to the user for performing a respective diagnostic action and savings to the user for correcting the faults;presenting the sequence of diagnostic user actions to the user;receiving a response from the user; anddiagnosing, by the help server, based on the user's response, a likely fault in the product.
  • 16. The computer system of claim 15, wherein the method further comprises: performing an initial testing to determine a baseline operating profile of the product; andcomparing the received data associated with the current and/or past operation of the product to determine whether the product is degraded.
  • 17. The computer system of claim 15, wherein the product includes a heating, ventilation, and air conditioning (HVAC) system, and wherein performing the optimization involves: obtaining a weather prediction; andbased on the obtained weather prediction, including in the determined sequence of actions a delaying-to-learn-more action that delays the interaction with the user for a predetermined time.
  • 18. The computer system of claim 15, wherein the sequence of diagnostic actions further includes a survey action asking the user one or more survey questions.
  • 19. The computer system of claim 15, wherein maximizing the net benefit to account for costs to the user further comprises estimating the cost to the user for performing the at least one task, and wherein the estimated cost includes a value for time spent by the user performing the action, based on one or more of: learning a cost model associated with the user, wherein the cost model specifies how the user values his time and the user's preference and skills;asking the user to self-classify; andasking the user to answer a set of questions.
  • 20. The computer system of claim 15, wherein the method further comprises providing additional incentives including a rebate to the user in response to the optimization determining that the maximized net benefit to the user is less than a predetermined threshold; responsive to predicting that a subsequent required action will provide less benefit to the user, increasing a value of the rebate; andconveying the rebate to the user to motivate the user to perform the actions required for diagnosis.
  • 21. The computer system of claim 15, wherein presenting the sequence of diagnostic user actions to the user further involves presenting to the user explanations of the net benefit, thereby motivating the user to perform the at least one task.
US Referenced Citations (384)
Number Name Date Kind
817441 Niesz Apr 1906 A
4309569 Merkle Jan 1982 A
4921898 Lenney May 1990 A
5070134 Oyamada Dec 1991 A
5110856 Oyamada May 1992 A
5506844 Rao Apr 1996 A
5629370 Freidzon May 1997 A
5870605 Bracho Feb 1999 A
6052683 Irwin Apr 2000 A
6091724 Chandra Jul 2000 A
6173364 Zenchelsky Jan 2001 B1
6226618 Downs May 2001 B1
6233646 Hahm May 2001 B1
6332158 Risley Dec 2001 B1
6366988 Skiba Apr 2002 B1
6574377 Cahill Jun 2003 B1
6654792 Verma Nov 2003 B1
6667957 Corson Dec 2003 B1
6681220 Kaplan Jan 2004 B1
6681326 Son Jan 2004 B2
6769066 Botros Jul 2004 B1
6772333 Brendel Aug 2004 B1
6862280 Bertagna Mar 2005 B1
6901452 Bertagna May 2005 B1
6917985 Madruga Jul 2005 B2
6968393 Chen Nov 2005 B1
6981029 Menditto Dec 2005 B1
7013389 Srivastava Mar 2006 B1
7031308 Garcia-Luna-Aceves Apr 2006 B2
7061877 Gummalla Jun 2006 B1
7206860 Murakami Apr 2007 B2
7257837 Xu Aug 2007 B2
7287275 Moskowitz Oct 2007 B2
7315541 Housel Jan 2008 B1
7339929 Zelig Mar 2008 B2
7350229 Lander Mar 2008 B1
7382787 Barnes Jun 2008 B1
7444251 Nikovski et al. Oct 2008 B2
7466703 Arunachalam Dec 2008 B1
7472422 Agbabian Dec 2008 B1
7496668 Hawkinson Feb 2009 B2
7509425 Rosenberg Mar 2009 B1
7523016 Surdulescu Apr 2009 B1
7543064 Juncker Jun 2009 B2
7552233 Raju Jun 2009 B2
7555482 Korkus Jun 2009 B2
7555563 Ott Jun 2009 B2
7567547 Mosko Jul 2009 B2
7567946 Andreoli Jul 2009 B2
7580971 Gollapudi Aug 2009 B1
7623535 Guichard Nov 2009 B2
7647507 Feng Jan 2010 B1
7660324 Oguchi Feb 2010 B2
7685290 Satapati Mar 2010 B2
7698463 Ogier Apr 2010 B2
7769887 Bhattacharyya Aug 2010 B1
7779467 Choi Aug 2010 B2
7801177 Luss Sep 2010 B2
7801702 Berbaum Sep 2010 B2
7816441 Elizalde Oct 2010 B2
7831733 Sultan Nov 2010 B2
7908337 Garcia-Luna-Aceves Mar 2011 B2
7924837 Shabtay Apr 2011 B1
7953885 Devireddy May 2011 B1
8000267 Solis Aug 2011 B2
8010691 Kollmansberger Aug 2011 B2
8074289 Carpentier Dec 2011 B1
8117441 Kurien Feb 2012 B2
8160069 Jacobson Apr 2012 B2
8204060 Jacobson Jun 2012 B2
8214364 Bigus Jul 2012 B2
8224985 Takeda Jul 2012 B2
8225057 Zheng Jul 2012 B1
8271578 Sheffi Sep 2012 B2
8312064 Gauvin Nov 2012 B1
8386622 Jacobson Feb 2013 B2
8467297 Liu Jun 2013 B2
8553562 Allan Oct 2013 B2
8572214 Garcia-Luna-Aceves Oct 2013 B2
8654649 Vasseur Feb 2014 B2
8665757 Kling Mar 2014 B2
8667172 Ravindran Mar 2014 B2
8688619 Ezick Apr 2014 B1
8699350 Kumar Apr 2014 B1
8750820 Allan Jun 2014 B2
8761022 Chiabaut Jun 2014 B2
8762477 Xie Jun 2014 B2
8762570 Qian Jun 2014 B2
8762707 Killian Jun 2014 B2
8767627 Ezure Jul 2014 B2
8817594 Gero Aug 2014 B2
8826381 Kim Sep 2014 B2
8832302 Bradford Sep 2014 B1
8836536 Marwah Sep 2014 B2
8862774 Vasseur Oct 2014 B2
8903756 Zhao Dec 2014 B2
8937865 Kumar Jan 2015 B1
9071498 Beser Jun 2015 B2
9112895 Lin Aug 2015 B1
20020010795 Brown Jan 2002 A1
20020048269 Hong Apr 2002 A1
20020054593 Morohashi May 2002 A1
20020077988 Sasaki Jun 2002 A1
20020078066 Robinson Jun 2002 A1
20020138551 Erickson Sep 2002 A1
20020176404 Girard Nov 2002 A1
20020188605 Adya Dec 2002 A1
20020199014 Yang Dec 2002 A1
20030046437 Eytchison Mar 2003 A1
20030048793 Pochon Mar 2003 A1
20030051100 Patel Mar 2003 A1
20030074472 Lucco Apr 2003 A1
20030097447 Johnston May 2003 A1
20030140257 Peterka Jul 2003 A1
20040024879 Dingman Feb 2004 A1
20040030602 Rosenquist Feb 2004 A1
20040073715 Folkes Apr 2004 A1
20040139230 Kim Jul 2004 A1
20040221047 Grover Nov 2004 A1
20040225627 Botros Nov 2004 A1
20040252683 Kennedy Dec 2004 A1
20050003832 Osafune Jan 2005 A1
20050028156 Hammond Feb 2005 A1
20050043060 Brandenberg Feb 2005 A1
20050050211 Kaul Mar 2005 A1
20050074001 Mattes Apr 2005 A1
20050149508 Deshpande Jul 2005 A1
20050159823 Hayes Jul 2005 A1
20050198351 Nog Sep 2005 A1
20050249196 Ansari Nov 2005 A1
20050259637 Chu Nov 2005 A1
20050262217 Nonaka Nov 2005 A1
20050289222 Sahim Dec 2005 A1
20060010249 Sabesan Jan 2006 A1
20060029102 Abe Feb 2006 A1
20060039379 Abe Feb 2006 A1
20060051055 Ohkawa Mar 2006 A1
20060072523 Richardson Apr 2006 A1
20060099973 Nair May 2006 A1
20060129514 Watanabe Jun 2006 A1
20060133343 Huang Jun 2006 A1
20060173831 Basso Aug 2006 A1
20060193295 White Aug 2006 A1
20060206445 Andreoli Sep 2006 A1
20060215684 Capone Sep 2006 A1
20060223504 Ishak Oct 2006 A1
20060256767 Suzuki Nov 2006 A1
20060268792 Belcea Nov 2006 A1
20070019619 Foster Jan 2007 A1
20070073888 Madhok Mar 2007 A1
20070094265 Korkus Apr 2007 A1
20070112880 Yang May 2007 A1
20070124412 Narayanaswami May 2007 A1
20070127457 Mirtorabi Jun 2007 A1
20070160062 Morishita Jul 2007 A1
20070162394 Zager Jul 2007 A1
20070189284 Kecskemeti Aug 2007 A1
20070195765 Heissenbuttel Aug 2007 A1
20070204011 Shaver Aug 2007 A1
20070209067 Fogel Sep 2007 A1
20070239892 Ott Oct 2007 A1
20070240207 Belakhdar Oct 2007 A1
20070245034 Retana Oct 2007 A1
20070253418 Shiri Nov 2007 A1
20070255699 Sreenivas Nov 2007 A1
20070255781 Li Nov 2007 A1
20070274504 Maes Nov 2007 A1
20070276907 Maes Nov 2007 A1
20070294187 Scherrer Dec 2007 A1
20080005056 Stelzig Jan 2008 A1
20080010366 Duggan Jan 2008 A1
20080037420 Tang Feb 2008 A1
20080043989 Furutono Feb 2008 A1
20080046340 Brown Feb 2008 A1
20080059631 Bergstrom Mar 2008 A1
20080080440 Yarvis Apr 2008 A1
20080101357 Iovanna May 2008 A1
20080107034 Jetcheva May 2008 A1
20080123862 Rowley May 2008 A1
20080133583 Artan Jun 2008 A1
20080133755 Pollack Jun 2008 A1
20080151755 Nishioka Jun 2008 A1
20080159271 Kutt Jul 2008 A1
20080186901 Itagaki Aug 2008 A1
20080200153 Fitzpatrick Aug 2008 A1
20080215669 Gaddy Sep 2008 A1
20080216086 Tanaka Sep 2008 A1
20080243992 Jardetzky Oct 2008 A1
20080256359 Kahn Oct 2008 A1
20080270618 Rosenberg Oct 2008 A1
20080271143 Stephens Oct 2008 A1
20080287142 Keighran Nov 2008 A1
20080288580 Wang Nov 2008 A1
20080320148 Capuozzo Dec 2008 A1
20090006659 Collins Jan 2009 A1
20090013324 Gobara Jan 2009 A1
20090022154 Kiribe Jan 2009 A1
20090024641 Quigley Jan 2009 A1
20090030978 Johnson Jan 2009 A1
20090037763 Adhya Feb 2009 A1
20090052660 Chen Feb 2009 A1
20090067429 Nagai Mar 2009 A1
20090077184 Brewer Mar 2009 A1
20090092043 Lapuh Apr 2009 A1
20090097631 Gisby Apr 2009 A1
20090103515 Pointer Apr 2009 A1
20090113068 Fujihira Apr 2009 A1
20090144300 Chatley Jun 2009 A1
20090157887 Froment Jun 2009 A1
20090185745 Momosaki Jul 2009 A1
20090193101 Munetsugu Jul 2009 A1
20090222344 Greene Sep 2009 A1
20090228593 Takeda Sep 2009 A1
20090254572 Redlich Oct 2009 A1
20090268905 Matsushima Oct 2009 A1
20090285209 Stewart Nov 2009 A1
20090287835 Jacobson Nov 2009 A1
20090288163 Jacobson Nov 2009 A1
20090292743 Bigus Nov 2009 A1
20090293121 Bigus Nov 2009 A1
20090300079 Shitomi Dec 2009 A1
20090300407 Kamath Dec 2009 A1
20090307333 Welingkar Dec 2009 A1
20090323632 Nix Dec 2009 A1
20100005061 Basco Jan 2010 A1
20100027539 Beverly Feb 2010 A1
20100046546 Ram Feb 2010 A1
20100057929 Merat Mar 2010 A1
20100088370 Wu Apr 2010 A1
20100094767 Miltonberger Apr 2010 A1
20100098093 Ejzak Apr 2010 A1
20100100465 Cooke Apr 2010 A1
20100103870 Garcia-Luna-Aceves Apr 2010 A1
20100124191 Vos May 2010 A1
20100125911 Bhaskaran May 2010 A1
20100131660 Dec May 2010 A1
20100150155 Napierala Jun 2010 A1
20100165976 Khan Jul 2010 A1
20100169478 Saha Jul 2010 A1
20100169503 Kollmansberger Jul 2010 A1
20100180332 Ben-Yochanan Jul 2010 A1
20100182995 Hwang Jul 2010 A1
20100185753 Liu Jul 2010 A1
20100195653 Jacobson Aug 2010 A1
20100195654 Jacobson Aug 2010 A1
20100195655 Jacobson Aug 2010 A1
20100217874 Anantharaman Aug 2010 A1
20100232402 Przybysz Sep 2010 A1
20100232439 Dham Sep 2010 A1
20100235516 Nakamura Sep 2010 A1
20100246549 Zhang Sep 2010 A1
20100250497 Redlich Sep 2010 A1
20100250939 Adams Sep 2010 A1
20100268782 Zombek Oct 2010 A1
20100272107 Papp Oct 2010 A1
20100284309 Allan Nov 2010 A1
20100284404 Gopinath Nov 2010 A1
20100293293 Beser Nov 2010 A1
20100322249 Thathapudi Dec 2010 A1
20110013637 Xue Jan 2011 A1
20110022812 vanderLinden Jan 2011 A1
20110047418 Drees Feb 2011 A1
20110055392 Shen Mar 2011 A1
20110055921 Narayanaswamy Mar 2011 A1
20110090908 Jacobson Apr 2011 A1
20110106755 Hao May 2011 A1
20110145597 Yamaguchi Jun 2011 A1
20110145858 Philpott Jun 2011 A1
20110153840 Narayana Jun 2011 A1
20110161408 Kim Jun 2011 A1
20110202609 Chaturvedi Aug 2011 A1
20110231578 Nagappan Sep 2011 A1
20110239256 Gholmieh Sep 2011 A1
20110258049 Ramer Oct 2011 A1
20110264824 Venkata Subramanian Oct 2011 A1
20110265174 Thornton Oct 2011 A1
20110271007 Wang Nov 2011 A1
20110286457 Ee Nov 2011 A1
20110286459 Rembarz Nov 2011 A1
20110295783 Zhao Dec 2011 A1
20110299454 Krishnaswamy Dec 2011 A1
20120011170 Elad Jan 2012 A1
20120011551 Levy Jan 2012 A1
20120022700 Drees Jan 2012 A1
20120036180 Thornton Feb 2012 A1
20120047361 Erdmann Feb 2012 A1
20120066727 Nozoe Mar 2012 A1
20120106339 Mishra May 2012 A1
20120114313 Phillips May 2012 A1
20120120803 Farkas May 2012 A1
20120136676 Goodall May 2012 A1
20120136936 Quintuna May 2012 A1
20120136945 Lee May 2012 A1
20120137367 Dupont May 2012 A1
20120141093 Yamaguchi Jun 2012 A1
20120155464 Kim Jun 2012 A1
20120158973 Jacobson Jun 2012 A1
20120163373 Lo Jun 2012 A1
20120179653 Araki Jul 2012 A1
20120197690 Agulnek Aug 2012 A1
20120198048 Ioffe Aug 2012 A1
20120221150 Arensmeier Aug 2012 A1
20120224487 Hui Sep 2012 A1
20120257500 Lynch Oct 2012 A1
20120259583 Noboa Oct 2012 A1
20120284791 Miller Nov 2012 A1
20120290669 Parks Nov 2012 A1
20120290919 Melnyk Nov 2012 A1
20120291102 Cohen Nov 2012 A1
20120314580 Hong Dec 2012 A1
20120317307 Ravindran Dec 2012 A1
20120331112 Chatani Dec 2012 A1
20130041982 Shi Feb 2013 A1
20130051392 Filsfils Feb 2013 A1
20130060962 Wang Mar 2013 A1
20130073552 Rangwala Mar 2013 A1
20130074155 Huh Mar 2013 A1
20130091539 Khurana Apr 2013 A1
20130110987 Kim May 2013 A1
20130111063 Lee May 2013 A1
20130151584 Westphal Jun 2013 A1
20130163426 Beliveau Jun 2013 A1
20130166668 Byun Jun 2013 A1
20130173822 Hong Jul 2013 A1
20130182568 Lee Jul 2013 A1
20130185406 Choi Jul 2013 A1
20130190940 Sloop et al. Jul 2013 A1
20130197698 Shah et al. Aug 2013 A1
20130198119 Eberhardt, III Aug 2013 A1
20130219038 Lee Aug 2013 A1
20130219081 Qian Aug 2013 A1
20130219478 Mahamuni Aug 2013 A1
20130223237 Hui Aug 2013 A1
20130227166 Ravindran Aug 2013 A1
20130242996 Varvello Sep 2013 A1
20130250809 Hui Sep 2013 A1
20130282854 Jang Oct 2013 A1
20130282860 Zhang Oct 2013 A1
20130282920 Zhang Oct 2013 A1
20130304937 Lee Nov 2013 A1
20130329696 Xu Dec 2013 A1
20130336323 Srinivasan Dec 2013 A1
20130343408 Cook Dec 2013 A1
20140003232 Guichard Jan 2014 A1
20140006565 Muscariello Jan 2014 A1
20140029445 Hui Jan 2014 A1
20140032714 Liu Jan 2014 A1
20140040505 Barton Feb 2014 A1
20140074730 Arensmeier et al. Mar 2014 A1
20140075567 Raleigh Mar 2014 A1
20140082135 Jung Mar 2014 A1
20140089454 Jeon Mar 2014 A1
20140096249 Dupont Apr 2014 A1
20140129736 Yu May 2014 A1
20140136814 Stark May 2014 A1
20140140348 Perlman May 2014 A1
20140143370 Vilenski May 2014 A1
20140146819 Bae May 2014 A1
20140149733 Kim May 2014 A1
20140156396 deKozan Jun 2014 A1
20140165207 Engel Jun 2014 A1
20140172783 Suzuki Jun 2014 A1
20140172981 Kim Jun 2014 A1
20140173034 Liu Jun 2014 A1
20140192717 Liu Jul 2014 A1
20140195328 Ferens Jul 2014 A1
20140195666 Dumitriu Jul 2014 A1
20140233575 Xie Aug 2014 A1
20140237085 Park Aug 2014 A1
20140280823 Varvello Sep 2014 A1
20140281489 Peterka Sep 2014 A1
20140281505 Zhang Sep 2014 A1
20140282816 Xie Sep 2014 A1
20140289325 Solis Sep 2014 A1
20140289790 Wilson Sep 2014 A1
20140314093 You Oct 2014 A1
20140365550 Jang Dec 2014 A1
20150006896 Franck Jan 2015 A1
20150018770 Baran Jan 2015 A1
20150032892 Narayanan Jan 2015 A1
20150063802 Bahadur Mar 2015 A1
20150095481 Ohnishi Apr 2015 A1
20150095514 Yu Apr 2015 A1
20150188770 Naiksatam Jul 2015 A1
Foreign Referenced Citations (16)
Number Date Country
1720277 Jun 1967 DE
19620817 Nov 1997 DE
0295727 Dec 1988 EP
0757065 Jul 1996 EP
1077422 Feb 2001 EP
1384729 Jan 2004 EP
2124415 Nov 2009 EP
2214357 Aug 2010 EP
2674822 Dec 2013 EP
03005288 Jan 2003 WO
03042254 May 2003 WO
03049369 Jun 2003 WO
03091297 Nov 2003 WO
2007113180 Oct 2007 WO
2007144388 Dec 2007 WO
2011049890 Apr 2011 WO
Non-Patent Literature Citations (147)
Entry
Mahadevan, Priya, et al. “Orbis: rescaling degree correlations to generate annotated internet topologies.” ACM SIGCOMM Computer Communication Review. vol. 37. No. 4. ACM, 2007.
Mahadevan, Priya, et al. “Systematic topology analysis and generation using degree correlations.” ACM SIGCOMM Computer Communication Review. vol. 36. No. 4. ACM, 2006.
Jacobson, Van et al., “Content-Centric Networking, Whitepaper Describing Future Assurable Global Networks”, Palo Alto Research Center, Inc., Jan. 30, 2007, pp. 1-9.
Koponen, Teemu et al., “A Data-Oriented (and Beyond) Network Architecture”, SIGCOMM '07, Aug. 27-31, 2007, Kyoto, Japan, XP-002579021, p. 181-192.
Beben et al., “Content Aware Network based on Virtual Infrastructure”, 2012 13th ACIS International Conference on Software Engineering.
Biradar et al., “Review of multicast routing mechanisms in mobile ad hoc networks”, Aug. 16, Journal of Network$.
Detti et al., “Supporting the Web with an information centric network that routes by name”, Aug. 2012, Computer Networks 56, pp. 3705-3702.
Garcia-Luna-Aceves et al., “Automatic Routing Using Multiple Prefix Labels”, 2012, IEEE, Ad Hoc and Sensor Networking Symposium.
Ishiyama, “On the Effectiveness of Diffusive Content Caching in Content-Centric Networking”, Nov. 5, 2012, IEEE, Information and Telecommunication Technologies (APSITT), 2012 9th Asia-Pacific Symposium.
L. Wang et al., ‘OSPFN: An OSPF Based Routing Protocol for Named Data Networking,’ Technical Report NDN-0003, 2012.
Merindol et al., “An efficient algorithm to enable path diversity in link state routing networks”, Jan. 10, Computer Networks 55 (2011), pp. 1132-1140.
Soh et al., “Efficient Prefix Updates for IP Router Using Lexicographic Ordering and Updateable Address Set”, Jan. 2008, IEEE Transactions on Computers, vol. 57, No. 1.
V. Jacobson et al., ‘Networking Named Content,’ Proc. IEEE CoNEXT '09, Dec. 2009.
Ao-Jan Su, David R. Choffnes, Aleksandar Kuzmanovic, and Fabian E. Bustamante. Drafting Behind Akamai: Inferring Network Conditions Based on CDN Redirections. IEEE/ACM Transactions on Networking {Feb. 2009).
B. Lynn$2E.
C. Gentry and A. Silverberg. Hierarchical ID-Based Cryptography. Advances in Cryptology—ASIACRYPT 2002. Springer Berlin Heidelberg (2002).
D. Boneh, C. Gentry, and B. Waters, 'Collusi.
Hoque et al., “NLSR: Named-data Link State Routing Protocol”, Aug. 12,2013, ICN'13.
D. Boneh and M. Franklin. Identity-Based Encryption from the Weil Pairing. Advances in Cryptology—CRYPTO 2001, vol. 2139, Springer Berlin Heidelberg (2001).
G. Ateniese, K. Fu, M. Green, and S. Hohenberger. Improved Proxy Reencryption Schemes with Applications to Secure Distributed Storage. In the 12th Annual Network and Distributed System Security Sympo.
H. Xiong, X. Zhang, W. Zhu, and D. Yao. CloudSeal: End-to$2.
J. Bethencourt, A, Sahai, and B. Waters, ‘Ciphertext-policy attribute-based encryption,’ in Proc. IEEE Security & Privacy 2007, Berkeley, CA, USA, May 2007, pp. 321-334.
J. Lotspiech, S. Nusser, and F. Pestoni. Anonymous Trust: Digital Rights Management using Broadcast Encryption. Proceedings of the IEEE 92.6 (2004).
J. Shao and Z. Cao. CCA-Secure Proxy Re-Encryption without Pairings. Public Key Cryptography. Springer Lecture Notes in Computer ScienceVolume 5443 (2009).
M. Blaze, G. Bleumer, and M. Strauss, ‘Divertible protocols and atomic prosy cryptography,’ in Proc. EUROCRYPT 1998, Espoo, Finland, May-Jun. 1998, pp. 127-144.
R. H. Deng, J. Weng, S. Liu, and K. Chen. Chosen-Ciphertext Secure Proxy Re-Encryption without Pairings. CANS. Spring Lecture Notes in Computer Science vol. 5339 (2008).
RTMP (2009). Available online at http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/rtmp/pdf/rtmp specification 1.0.pdf.
S. Chow, J. Weng, Y. Yang, and R. Deng. Efficient Unidirectional Proxy Re-Encryption. Progress in Cryptology—AFRICACRYPT 2010. Springer Berlin Heidelberg (2010).
S. Kamara and K. Lauter. Cryptographic Cloud Storage. Financial Cryptography and Data Security. Springer Berlin Heidelberg (2010).
Sandvine, Global Internet Phenomena Report—Spring 2012. Located online at http://www.sandvine.com/downloads/ documents/Phenomenal H 2012/Sandvine Global Internet Phenomena Report 1H 2012.pdf.
The Despotify Project (2012). Available online at http://despotify.sourceforge.net/.
V. K. Adhikari, S. Jain, Y. Chen, and Z.-L. Zhang. Vivisecting Youtube:An Active Measurement Study. In INFOCOM12 Mini-conference (2012).
Vijay Kumar Adhikari, Yang Guo, Fang Hao, Matteo Varvello, Volker Hilt, Moritz Steiner, and Zhi-Li Zhang. Unreeling Netflix: Understanding and Improving Multi-CDN Movie Delivery. In the Proceedings of IEEE Infocom 2012 (2012).
Jacobson, Van et al. ‘VoCCN: Voice Over Content-Centric Networks.’ Dec. 1, 2009. ACM ReArch'09.
Rosenberg, J. “Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols”, Apr. 2010, pp. 1-117.
Shih, Eugene et al., ‘Wake on Wireless: An Event Driven Energy Saving Strategy for Battery Operated Devices’, Sep. 23, 2002, pp. 160-171.
Fall, K. et al., “DTN: An architectural retrospective”, Selected areas in communications, IEEE Journal on, vol. 28, No. 5, Jun. 1, 2008, pp. 828-835.
Gritter, M. et al., ‘An Architecture for content routing support in the Internet’, Proceedings of 3rd Usenix Symposium on Internet Technologies and Systems, 2001, pp. 37-48.
“CCNx,” http://ccnx.org/. downloaded Mar. 11, 2015.
“Content Delivery Network”, Wikipedia, Dec. 10, 2011, http://en.wikipedia.org/w/index.php?title=Content—delivery—network&oldid=465077460.
“Digital Signature” archived on Aug. 31, 2009 at http://web.archive.org/web/20090831170721/http://en.wikipedia.org/wiki/Digital—signature.
“Introducing JSON,” http://www.json.org/. downloaded Mar. 11, 2015.
“Microsoft PlayReady,” http://www.microsoft.com/playready/.downloaded Mar. 11, 2015.
“Pursuing a pub/sub internet (PURSUIT),” http://www.fp7-pursuit.ew/PursuitWeb/. downloaded Mar. 11, 2015.
“The FP7 4WARD project,” http://www.4ward-project.eu/. downloaded Mar. 11, 2015.
A. Broder and A. Karlin, “Multilevel Adaptive Hashing”, Jan. 1990, pp. 43-53.
Detti, Andrea, et al. “CONET: a content centric inter-networking architecture.” Proceedings of the ACM SIGCOMM workshop on Information-centric networking. ACM, 2011.
A. Wolman, M. Voelker, N. Sharma N. Cardwell, A. Karlin, and H.M. Levy, “On the scale and performance of cooperative web proxy caching,” ACM SIGHOPS Operating Systems Review, vol. 33, No. 5, pp. 16-31, Dec. 1999.
Afanasyev, Alexander, et al. “Interest flooding attack and countermeasures in Named Data Networking.” IFIP Networking Conference, 2013. IEEE, 2013.
B. Ahlgren et al., ‘A Survey of Information-centric Networking’ IEEE Commun. Magazine, Jul. 2012, pp. 26-36.
Bari, MdFaizul, et al. ‘A survey of naming and routing in information-centric networks.’ Communications Magazine, IEEE 50.12 (2012): 44-53.
Baugher, Mark et al., “Self-Verifying Names for Read-Only Named Data”, 2012 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Mar. 2012, pp. 274-279.
C.A. Wood and E. Uzun, “Flexible end-to-end content security in CCN,” in Proc. IEEE CCNC 2014, Las Vegas, CA, USA, Jan. 2014.
Carzaniga, Antonio, Matthew J. Rutherford, and Alexander L. Wolf. ‘A routing scheme for content-based networking.’ Infocom 2004. Twenty-third Annual Joint Conference of the IEEE Computer and Communications Societies. vol. 2. IEEE, 2004.
Cho, Jin-Hee, Ananthram Swami, and Ray Chen. “A survey on trust management for mobile ad hoc networks.” Communications Surveys & Tutorials, IEEE 13.4 (2011): 562-583.
Compagno, Alberto, et al. “Poseidon: Mitigating interest flooding DDoS attacks in named data networking.” Local Computer Networks (LCN), 2013 IEEE 38th Conference on. IEEE, 2013.
Conner, William, et al. “A trust management framework for service-oriented environments.” Proceedings of the 18th international conference on World wide web. ACM, 2009.
Content Centric Networking Project (CCN) [online], http://ccnx.org/releases/latest/doc/technical/, Downloaded Mar. 9, 2015.
Content Mediator Architecture for Content-aware Networks (COMET) Project [online], http://www.comet-project.org/, Downloaded Mar. 9, 2015.
D.K. Smetters, P. Golle, and J.D. Thornton, “CCNx access control specifications,” Parc, Tech. Rep., Jul. 2010.
Dabirmoghaddam, Ali, Maziar Mirzazad Barijough, and J. J. Garcia-Luna-Aceves. ‘Understanding optimal caching and opportunistic caching at the edge of information-centric networks.’ Proceedings of the 1st international conference on Information-centric networking. ACM, 2014.
Dijkstra, Edsger W., and Carel S. Scholten. ‘Termination detection for diffusing computations.’ Information Processing Letters 11.1 (1980): 1-4.
Dijkstra, Edsger W., Wim HJ Feijen, and A—J M. Van Gasteren. “Derivation of a termination detection algorithm for distributed computations.” Control Flow and Data Flow: concepts of distributed programming. Springer Berlin Heidelberg, 1986. 507-512.
E. Rescorla and N. Modadugu, “Datagram transport layer security,” IETF RFC 4347, Apr. 2006.
E.W. Dijkstra, W. Feijen, and A.J.M. Van Gasteren, “Derivation of a Termination Detection Algorithm for Distributed Computations,” Information Processing Letter, vol. 16, No. 5, 1983.
Fayazbakhsh, S. K., Lin, Y., Tootoonchian, A., Ghodsi, A., Koponen, T., Maggs, B., & Shenker, S. {Aug. 2013). Less pain, most of the gain: Incrementally deployable ICN. In ACM SIGCOMM Computer Communication Review (vol. 43, No. 4, pp. 147-158). ACM.
G. Tyson, S. Kaune, S. Miles, Y. El-Khatib, A. Mauthe, and A. Taweel, “A trace-driven analysis of caching in content-centric networks,” in Proc. IEEE ICCCN 2012, Munich, Germany, Jul.-Aug. 2012, pp. 1-7.
G. Wang, Q. Liu, and J. Wu, “Hierarchical attribute-based encryption for fine-grained access control in cloud storage services,” in Proc. ACM CCS 2010, Chicago, IL, USA, Oct. 2010, pp. 735-737.
G. Xylomenos et al., “A Survey of Information-centric Networking Research,” IEEE Communication Surveys and Tutorials, Jul. 2013.
Garcia-Luna-Aceves, Jose J. ‘A unified approach to loop-free routing using distance vectors or link states.’ ACM SIGCOMM Computer Communication Review. vol. 19. No. 4. ACM, 1989.
Garcia-Luna-Aceves, Jose J. ‘Name-Based Content Routing in Information Centric Networks Using Distance Information’ Proc ACM ICN 2014, Sep. 2014.
Ghali, Cesar, GeneTsudik, and Ersin Uzun. “Needle in a Haystack: Mitigating Content Poisoning in Named-Data Networking.” Proceedings of NDSS Workshop on Security of Emerging Networking Technologies (SENT). 2014.
Ghodsi, Ali, et al. “Information-centric networking: seeing the forest for the trees.” Proceedings of the 10th ACM Workshop on Hot Topics in Networks. ACM, 2011.
Ghodsi, Ali, et al. “Naming in content-oriented architectures.” Proceedings of the ACM SIGCOMM workshop on Information-centric networking. ACM, 2011.
Gupta, Anjali, Barbara Liskov, and Rodrigo Rodrigues. “Efficient Routing for Peer-to-Peer Overlays.” NSDI. vol. 4. 2004.
Herlich, Matthias et al., “Optimizing Energy Efficiency for Bulk Transfer Networks”, Apr. 13, 2010, pp. 1-3, retrieved for the Internet: URL:http://www.cs.uni-paderborn.de/fileadmin/informationik/ag-karl/publications/miscellaneous/optimizing.pdf (retrieved on Mar. 9, 2012).
https://code.google.com/p/ccnx-trace/.
I. Psaras, R.G. Clegg, R. Landa, W.K. Chai, and G. Pavlou, “Modelling and evaluation of CCN-caching trees,” in Proc. IFIP Networking 2011, Valencia, Spain, May 2011, pp. 78-91.
Intanagonwiwat, Chalermek, Ramesh Govindan, and Deborah Estrin. ‘Directed diffusion: a scalable and robust communication paradigm for sensor networks.’ Proceedings of the 6th annual international conference on Mobile computing and networking. ACM, 2000.
J. Aumasson and D. Bernstein, “SipHash: a fast short-input PRF”, Sep. 18, 2012.
J. Hur, “Improving security and efficiency in attribute-based data sharing,” IEEE Trans. Knowledge Data Eng., vol. 25, No. 10, pp. 2271-2282, Oct. 2013.
Jacobson et al., “Custodian-Based Information Sharing,” Jul. 2012, IEEE Communications Magazine: vol. 50 Issue 7 (pg. 3843).
K. Liang, L. Fang, W. Susilo, and D.S. Wong, “A Ciphertext-policy attribute-based proxy re-encryption with chosen-ciphertext security,” in Proc. INCoS 2013, Xian, China, Sep. 2013, pp. 552-559.
L. Zhou, V. Varadharajan, and M. Hitch Ens, “Achieving secure role-based access control on encrypted data in cloud storage,” IEEE Trans. Inf. Forensics Security, vol. 8, No. 12, pp. 1947-1960, Dec. 2013.
Li, Wenjia, Anupam Joshi, and Tim Finin. “Coping with node misbehaviors in ad hoc networks: A multi-dimensional trust management approach.” Mobile Data Management (MDM), 2010 Eleventh International Conference on. IEEE, 2010.
Lopez, Javier, et al. “Trust management systems for wireless sensor networks: Best practices.” Computer Communications 33.9 (2010): 1086-1093.
M. Green and G. Ateniese, “Identity-based proxy re-encryption,” in Proc. ACNS 2007, Zhuhai, China, Jun. 2007, pp. 288-306.
M. Ion, J. Zhang, and E.M. Schooler, “Toward content-centric privacy in ICN: Attribute-based encryption and routing,” in Proc. ACM SIGCOMM ICN 2013, Hong Kong, China, Aug. 2013, pp. 39-40.
M. Naor and B. Pinkas “Efficient trace and revoke schemes,” in Proc. FC 2000, Anguilla, British West Indies, Feb. 2000, pp. 1-20.
M. Nystrom, S. Parkinson, A. Rusch, and M. Scott, “PKCS#12: Personal information exchange syntax v. 1.1,” IETF RFC 7292, K. Moriarty, Ed., Jul 2014.
M. Parsa and J.J. Garcia-Luna-Aceves, “A Protocol for Scalable Loop-free Multicast Routing.” IEEE JSAC, Apr. 1997.
M. Walfish, H. Balakrishnan, and S. Shenker, “Untangling the web from DNS,” in Proc. USENIX NSDI 2004, Oct. 2010, pp. 735-737.
Matocha, Jeff, and Tracy Camp. ‘A taxonomy of distributed termination detection algorithms.’ Journal of Systems and Software 43.3 (1998): 207-221.
Matteo Varvello et al., “Caesar: A Content Router for High Speed Forwarding”, ICN 2012, Second Edition on Information-Centric Networking, New York, Aug. 2012.
Mobility First Project [online], http://mobilityfirst.winlab.rutgers.edu/, Downloaded Mar. 9, 2015.
NDN Project [online], http://www.named-data.net/, Downloaded Mar. 9, 2015.
Omar, Mawloud, Yacine Challal, and Abdelmadjid Bouabdallah. “Certification-based trust models in mobile ad hoc networks: A survey and taxonomy.” Journal of Network and Computer Applications 35.1 (2012): 268-286.
P. Mahadevan, E.Uzun, S. Sevilla, and J. Garcia-Luna-Aceves, “CCN-krs: A key resolution service for ccn,” in Proceedings of the 1st International Conference on Information-centric Networking, Ser. INC 14 New York, NY, USA: ACM, 2014, pp. 97-106. [Online]. Available: http://doi.acm.org/10.1145/2660129.2660154.
S. Deering, “Multicast Routing in Internetworks and Extended LANs,” Proc. ACM SIGCOMM '88, Aug. 1988.
S. Deering et al., “The PIM architecture for wide-area multicast routing,” IEEE/ACM Trans, on Networking, vol. 4, No. 2, Apr. 1996.
S. Jahid, P. Mittal, and N. Borisov, “EASiER: Encryption-based access control in social network with efficient revocation,” in Proc. ACM ASIACCS 2011, Hong Kong, China, Mar. 2011, pp. 411-415.
S. Kamara and K. Lauter, “Cryptographic cloud storage,” in Proc. FC 2010, Tenerife, Canary Islands, Spain, Jan. 2010, pp. 136-149.
S. Kumar et al. “Peacock Hashing: Deterministic and Updatable Hashing for High Performance Networking,” 2008, pp. 556-564.
S. Misra, R. Tourani, and N.E. Majd, “Secure content delivery in information-centric networks: Design, implementation, and analyses,” in Proc. ACM SIGCOMM ICN 2013, Hong Kong, China, Aug. 2013, pp. 73-78.
S. Yu, C. Wang, K. Ren, and W. Lou, “Achieving secure, scalable, and fine-grained data access control in cloud computing,” in Proc. IEEE INFOCOM 2010, San Diego, CA, USA, Mar. 2010, pp. 1-9.
S.J. Lee, M. Gerla, and C. Chiang, “On-demand Multicast Routing Protocol in Multihop Wireless Mobile Networks,” Mobile Networks and Applications, vol. 7, No. 6, 2002.
Scalable and Adaptive Internet Solutions (SAIL) Project [online], http://sail-project.eu/ Downloaded Mar. 9, 2015.
Shneyderman, Alex et al., ‘Mobile VPN: Delivering Advanced Services in Next Generation Wireless Systems’, Jan. 1, 2003, pp. 3-29.
Solis, Ignacio, and J. J. Garcia-Luna-Aceves. ‘Robust content dissemination in disrupted environments.’ proceedings of the third ACM workshop on Challenged networks. ACM, 2008.
T. Ballardie, P. Francis, and J. Crowcroft, “Core Based Trees (CBT),” Proc. ACM SIGCOMM '88, Aug. 1988.
T. Dierts, “The transport layer security (TLS) protocol version 1.2,” IETF RFC 5246, 2008.
T. Koponen, M. Chawla, B.-G. Chun, A. Ermolinskiy, K.H. Kim, S. Shenker, and I. Stoica, ‘A data-oriented (and beyond) network architecture,’ ACM SIGCOMM Computer Communication Review, vol. 37, No. 4, pp. 181-192, Oct. 2007.
V. Goyal, 0. Pan Dey, A. Sahai, and B. Waters, “Attribute-based encryption for fine-grained access control of encrypted data,” in Proc. ACM CCS 2006, Alexandria, VA, USA, Oct.-Nov. 2006, pp. 89-98.
V. Jacobson, D.K. Smetters, J.D. Thornton, M.F. Plass, N.H. Briggs, and R.L. Braynard, ‘Networking named content,’ in Proc. ACM CoNEXT 2009, Rome, Italy, Dec. 2009, pp. 1-12.
Vutukury, Srinivas, and J. J. Garcia-Luna-Aceves. A simple approximation to minimum-delay routing. vol. 29. No. 4. ACM, 1999.
W.-G. Tzeng and Z.-J. Tzeng, “A public-key traitor tracing scheme with revocation using dynamic shares,” in Proc. PKC 2001, Cheju Island, Korea, Feb. 2001, pp. 207-224.
Waldvogel, Marcel “Fast Longest Prefix Matching: Algorithms, Analysis, and Applications”, A dissertation submitted to the Swiss Federal Institute of Technology Zurich, 2002.
Wang, Jiangzhe et al., “DMND: Collecting Data from Mobiles Using Named Data”, Vehicular Networking Conference, 2010 IEEE, pp. 49-56.
Xylomenos, George, et al. “A survey of information-centric networking research.” Communications Surveys & Tutorials, IEEE 16.2 (2014): 1024-1049.
Yi, Cheng, et al. ‘A case for stateful forwarding plane.’ Computer Communications 36.7 (2013): 779-791.
Yi, Cheng, et al. ‘Adaptive forwarding in named data networking.’ ACM SIGCOMM computer communication review 42.3 (2012): 62-67.
Zahariadis, Theodore, et al. “Trust management in wireless sensor networks.” European Transactions on Telecommunications 21.4 (2010): 386-395.
Zhang, et al., “Named Data Networking (NDN) Project”, http://www.parc.com/publication/2709/named-data-networking-ndn-project.html, Oct. 2010, NDN-0001, PARC Tech Report.
Zhang, Lixia, et al. ‘Named data networking.’ ACM SIGCOMM Computer Communication Review 44.3 {2014): 66-73.
D. Trossen and G. Parisis, “Designing and realizing and information-centric Internet”, IEEE Communications Magazing, vol. 50, No. 7, pp. 60-67, Jul. 2012.
Gasti, Paolo et al., ‘DoS & DDoS in Named Data Networking’, 2013 22nd International Conference on Computer Communications and Networks (ICCCN), Aug. 2013, pp. 1-7.
J. Hur and D.K. Noh, “Attribute-based access control with efficient revocation in data outsourcing systers,” IEEE Trans. Parallel Distrib. Syst, vol. 22, No. 7, pp. 1214-1221, Jul. 2011.
Kaya et al., “A Low Power Lookup Technique for Multi-Hashing Network Applications”, 2006 IEEE Computer Society Annual Symposium on Emerging VLSI Technologies and Architectures, Mar. 2006.
Hoque et al., ‘NLSR: Named-data Link State Routing Protocol’, Aug. 12, 2013, ICN 2013, pp. 15-20.
Nadeem Javaid, “Analysis and design of quality link metrics for routing protocols in Wireless Networks”, PhD Thesis Defense, Dec. 15, 2010, Universete Paris-Est.
Brambley, Michael, A novel, low-cost, reduced-sensor approach for providing smart remote monitoring and diagnostics for packaged air conditioners and heat pumps. Pacific Northwest National Laboratory, 2009.
McWilliams, Jennifer A., and Iain S. Walker. “Home Energy Article: A Systems Approach to Retrofitting Residential HVAC Systems.” Lawrence Berkeley National Laboratory (2005).
Garcia, Humberto E., Wen-Chiao Lin, and Semyon M. Meerkov. “A resilient condition assessment monitoring system.” Resilient Control Systems (ISRCS), 2012 5th International Symposium on. IEEE, 2012.
Heckerman, David, John S. Breese, and Koos Rommelse. “Decision-Theoretic Troubleshooting.” Communications of the ACM. 1995.
Narasimhan, Sriram, and Lee Brownston. “HyDE—A General Framework for Stochastic and Hybrid Modelbased Diagnosis.” Proc. DX 7 (2007): 162-169.
Heinemeier, Kristin, et al. “Uncertainties in Achieving Energy Savings from HVAC Maintenance Measures in the Field.” ASHRAE Transactions 118.Part 2 (2012).
Ji, Kun, et al. “Prognostics enabled resilient control for model-based building automation systems.” Proceedings of the 12th Conference of International Building Performance Simulation Association. 2011.
Katipamula, Srinivas, and Michael R. Brambley. “Review article: methods for fault detection, diagnostics, and prognostics for building systems—a review, Part I.” HVAC&R Research 11.1 (2005): 3-25.
Katipamula, Srinivas, and Michael R. Brambley. “Review article: methods for fault detection, diagnostics, and prognostics for building systems—a review, Part II.” HVAC&R Research 11.2 (2005): 169-187.
Shani, Guy, Joelle Pineau, and Robert Kaplow. “A survey of point-based POMDP solvers.” Autonomous Agents and Multi-Agent Systems 27.1 (2013): 1-51.
Schein, Jeffrey, and Steven T. Bushby. A Simulation Study of a Hierarchical, Rule-Based Method for System-Level Fault Detection and Diagnostics in Hvac Systems. US Department of Commerce,[Technology Administration], National Institute of Standards and Technology, 2005.
Sheppard, John W., and Stephyn GW Butcher. “A formal analysis of fault diagnosis with d-matrices.” Journal of Electronic Testing 23.4 (2007): 309-322.
Verma, Vandi, Joquin Fernandez, and Reid Simmons. “Probabilistic models for monitoring and fault diagnosis.” The Second IARP and IEEE/RAS Joint Workshop on Technical Challenges for Dependable Robots in Human Environments. Ed. Raja Chatila. Oct. 2002.
Sun, Ying, and Daniel S. Weld. “A framework for model-based repair.” AAAI. 1993.
Walker, Iain S. Best practices guide for residential HVAC Retrofits. No. LBNL-53592. Ernest Orlando Lawrence Berkeley National Laboratory, Berkeley, CA (US), 2003.
Wetherall, David, “Active Network vision and reality: Lessons form a capsule-based system”, ACM Symposium on Operating Systems Principles, Dec. 1, 1999. pp. 64-79.
Kulkarni A.B. et al., “Implementation of a prototype active network”, IEEE, Open Architectures and Network Programming, Apr. 3, 1998, pp. 130-142.
Related Publications (1)
Number Date Country
20160180347 A1 Jun 2016 US