Paper of ANS
2017-12-10 本文已影响0人
Colin_0463
1. Requirements
1.1 Contents Needed
- 1 Background knowledge that is not written in the paper
- 2 Short executive summary of the paper
- 3 Key messages of the paper
- 4 Details of data (data collection techniques, statistics)
- 5 Analysis methodologies used in the paper
- 6 Results -- meaning of each graph/table. Implications of the results.
- Fig 1 in 3.2.2.1 Para3
- Fig 2 in 3.2.3.2 Para1-4
- Fig 3 in 3.2.3.2 Para1-5
- Fig 4 in 3.2.4.1 Para2
- Fig 5 in 3.2.4.1 Para4
- Fig 6 in 3.2.4.2 Para1
- Fig 7 in 3.2.4.3 Para1
- Table 1 in 3.2.3.2 Para1-3
- Table 2 in 3.2.3.1 Para2
- Table 3 in 3.2.3.2 Para1-4
- Table 4 in 3.2.4.1 Para1
- Table 5 in 3.2.4.1 Para4 - 7 Discussion (limitation of the work etc.)
- 8 What you learned from the paper; your personal opinion
1.2 Notations
- Slides pages less than 40
- Make sure that the slides are made in a consistent way
- Make offline meeting with your partner at least once before the presentation.
-
Each talk has 40 mins time slot: 30 mins for talk and 10 mins for Q and A. For your talk, use the first 15 mins for the first half and another 15 mins for the second half.
- The first half may include introduction/background, executive summary, methodologies.
- The second half may include results, discussion, and summary.
- You can adjust the balance between first and second half after discussion with your partner; e.g., some of results may be moved to the first half, and etc. - You will present your talk in English. If you find difficulty to speak in English at the Q/A session, you can speak in Japanese.
2. IFTTT Introductions (Search on the Internet)
2.1 Terms
Chinese Website: https://sspai.com/post/25270
- Channels(频道)
- Triggers(触发器)
- Actions(动作)
- Ingredients(组成要素)
- Recipes(流程)
3. Paper
3.1 Paper Introductions
3.1.1 Pulications
-
ACM Reference Format :
Xianghang Mi, Feng Qian, Ying Zhang, and XiaoFeng Wang. 2017. An Empirical Characterization of IFTTT: Ecosystem, Usage, and Performance. In Proceedings of IMC ’17. ACM, New York, NY, USA, 7 pages. https://doi.org/10.1145/3131365.3131369
3.1.2 Authors
-
Xianghang Mi
-- Indiana University Bloomington
-- xmi@indiana.edu -
Feng Qian
-- Indiana University Bloomington
-- fengqian@indiana.edu -
Ying Zhang
-- Facebook Inc.
-- zhangying@fb.com -
XiaoFeng Wang
-- Indiana University Bloomington
-- xw7@indiana.edu
3.2 Paper Summary
3.2.1 Introduction
-
Para 1
有很多智能设备,他们各有指标,需要统一的管理来完成复杂的任务
Many smart devices and web applications, they have own all kinds of features
It is non-trivial to manage each device separately, letting alone managing proper policies to coordinate them to accomplish complex tasks.
-
Para 2
- Simple introduction of IFTTT
- Why they choose IFTTT
- Why IFTTT is the most popular, given 3 Reasons
- Para 3
- What do they want to show by writing this paper(IFTTT's ecosystem, usage, performance)
- 3 Challenges they faced when they do their measurement study
- Para 4
- To address those challenges, they create a testbed to automatically monitor and profile the whole process of applets execution
- Para 5
- According to their study of IFTTT, They found that:
52% of services and 16% of applet usage are IoT-related
With more than 200 IoT services identifed, IFTTT indeed provides a way to identify popular smart home and wearable devices on the market in a “centralized” manner.
- Para 6
-
In-lab controlled experiments :
- Actions of many applets cannot be executed in real time when their triggers are activated, The delays are long (usually 1 to 2 minutes) with huge variance(up to 15min)
- Reason: We found the delay is caused by IFTTT’s long polling interval.
-Para 7
- 3 Contributions of the paper
- Paper Outlines
- CH2 : IFTTT's ecosystem
- CH3 : IFTTT's usages
- CH4 : IFTTT's performance
- CH5 : Related work and Conclusions
- CH6 : Recommendations
3.2.2 Understanding The Ecosystem
- Para 1
- Simple introduction of IFTTT's applet and trigger and action and service
3.2.2.1 The Measurement Testbed
- Para 1
- Introduction the rules of IFTTT's Centralized Engine, Partner Services, IoT devices and Web Applications
- Para 2
- Introduction of the Testbed
- They get an account from IFTTT and can provide their service
- The service can be provided triggers and actions for 4 devices and some web applications
- Para 3
- Introduction of the structure with Figure 1
- The Paths for comunications and protocols it was used
- APIs they used
3.2.2.2 Profiling Interactions Among Entities
- Para 1
- They use the testbed and self-implement ITFFF service to profile the interactions among entities within IFTTT's Ecosystem
- Why they need to do their own experiments since ITFFF has it's documents to know some the interactions (Several Reasons)
- How to publish the services ( Base URL and series of unique URL under the base URL)
- How to Construct an applet (User visit ITFFF by web or smartphone app, and set an applet)( OAuth2framework used to do authentication)
- Online applet execution phase
3.2.3 Understanding IFTTT Usage
- A holistic view of IFTTT usage. Contains services, triggers, actions, applets
3.2.3.1 Data Collection Methodology
- Para 1
- From IFTTT partner service index page to get the list of all the services
- From reverse engineering the URLs of applet's pages to know the URLs can be transfered to a 6-digital appletID
- Fetch more than 300,000 published applets
- From each applet, get : (applet name, description, trigger, trigger service, action name, action service, add count)
- Para 2
- How the do the data collection
- Simple introduction of the dataset
- Table 2 : The Comparison between their dataset with Paper[28]'s dataset
3.2.3.2 Data Characterization
- Para 1
- First, IFTTT is growing steadily
- Next, characterize a particular snap shot collected on 3/25/2017
-
Service Semantics
- 13 categories of service (Table 1)
- 1-4 are IoT devices
- 5-13 are non-Iot device
- Overall, We find that ** services provided by IFTTT are extraordinarily rich.**
-
IoT Usage
- Table 3 : List top IoT-related services and triggers and actions
- Fig 2 : A heat map illustrating the interaction among different service categories.
- The features of IoT service and **non-IoT services **
- ** Applet Properties**
- Fig 3 : quantifes the overall applet usage by ranking the applets (X-Axis) by their add count (Y-Axis)
- It exhibits a heavy-tail distribution: the top 1% (10%) of applets contribute 84.1% (97.6%) of the overall add count.
- More interestingly and commonly, IFTTT helps bridge IoT devices with non-IoT services in the cloud
- Although triggers and actions can only be provided by services, most applets (98%) are home-made by users.
3.2.4 Applet Execution Performance
3.2.4.1 Trigger-to-Action(T2A) Latency
- Para 1
- T2A Latency is key performance metric for applet execution
- Table 4 : 7 popular applets and measure their T2A Latency used the testbed
- 2 functionalities of Test Controller (Fig 1-9)
- Para 2
- Fig 4 : shows the T2A latency for the seven applets using the offcial IFTTT partner services
- Network never becomes the performance bottleneck.
- Para 3
- To find high and variable Latency reason they do 3 scenarios test(E1,E2,E3)
- They use their implement service to replace IFTTT's service
- Para 4
- Fig 5 : plots the T2A latency for A2 under scenarios E1/E2 and E3 (for each scenario we run 20 tests)
- The results clearly indicate that the performance bottleneck is the IFTTT engine itself
- Table 5 : exemplifes the breakdown of the T2A latency for a typical execution of applet A2 under the scenario E2
- Para 4
- Introduction of the IFTTT's real-time APIs
- But it no use for their service, and show the reasons
- Para 5
- Discussion about the Alexa which all used by A5 to A7
3.2.4.2 Squential Execution of Applets
- Para 1
- The performance when a trigger is activated multiple times sequentially (every 5 seconds in our experiment)
- Fig 6 : top, show the clustered pattern of IFTTT and given the reason(Batched process of ITFFF polling)
- Fig 6 : bottom, shows one extreme case (possibly when IFTTT experiences high workload) where the polling delay between two clusters inflate to 14 minutes
3.2.4.3 Concurrent Execution of Applets
- Para 1
- ** if A then B and C**
- Fig 7 : plots the CDF for T2A latency difference between “turn on Hue light when email arrives” and “activate WeMo switch when email arrives”
- As shown, the T2A latency difference ranges from -60 to 140 seconds(2 Reasons)
- Conclusion: The results indicate that in reality, IFTTT cannot guarantee the simultaneous execution of two applets with the same trigger.
3.2.4.4 Infinite Loop
- Para 1
- **2 Reasons ** may cause Infinite Loop, and it's harmful
- IFTTT can not find the potential infinite loop
- Some runtime detection techniques are needed.
3.2.5 Related Work
3.2.5.1 IFTTT Characterization
- Para 1
- Several related works: 27,28,25,19
- 3 contributions advanced with those related works
3.2.5.2 IFTTT-like Platforms
- Para 1
- Several exist commerical platforms like IFTTT( 2,14,11,15,10,13)
- All less popular than IFTTT
3.2.5.3 Trigger-action Programming(TAP)
- Para 1
- Samrt Home : 17,21,26,29,30
- Smart Buildings : 22
- general IoT/context -aware systems : 16.18.20,23
3.2.6 Discussions And Conclusions
3.2.6.1 Performance Improvements
- Para 1
- How to reduce T2A Latency
- One reason why IFTTT reduce latency is Workload
3.2.6.2 Distributed Applet Execution
- Para 1
- IFTTT need to have a **Hybrid(Centralized + Distributed) Applet exeution shceme
- But it has many Challenges
3.2.6.3 Permission Management
- Para 1
- coarse-grained permission control at service level
- We need better permission management schemes that balance the tradeoff between usability and security.
3.2.6.4 Limitations
- Para 1
- We acknowledge that observing the IoT ecosystem from the perspective of IFTTT is interesting but still limited as IFTTT may not cover all available IoT devices and their owners.
- To conclude, in this study, we observe the fast growth of the IFTTT ecosystem and its increasing usage for automating IoTrelated tasks, which correspond to 52% of services and 16% of the applet usage.
- We observe several performance inefciencies and identify their causes.
- We plan to study future IFTTT features such as queries and conditions [25].