08/11/16 1
第五章 漫谈服务计算新技术
授课:孙海龙 北京航空航天大学 2016/11/08
提纲
- 无处不在的“服务”
- Mashup:一种新型服务组合
- 服务推荐:更加有效的服务发现
- 服务互联网:服务的大规模整合
2016/11/08 - - PDF document
08/11/16 2016/11/08 Mashup
08/11/16 1
08/11/16 2
08/11/16 3
5
– 不泌需安装特定的软件,使⽤甩浏览器塀完成所有的操作 – 不泌必关⼼忄软件的升级和维护 – 使⽤甩价格低廉,最好免费 – 服务的质量勵要有保障
6
08/11/16 4
7
网络软件运行环境
服务 服务 服务 服务 服务
服务 服务
无序 有序
服务
无序 有序
自 底 向 上 动 态 组 合 面向服务的软件开发
服务
提高效率:重用+组合 确保质量:动态演化
支付服务 订单服务 配送服务 商品查找服务
– 软件服务化:软件资源、开发过程、运⾏行降平台 – 数量勵多、规模⼤夨:Web service, Web API
08/11/16 5
– ⽤甩户量勵快速增⻓門,例禮如Facebook有超过5亿⽤甩户 – ⽤甩户需求的多样性
– ⽤甩户需求动态多变
– ⼯左具、中间件维护 – 技术⻔闩槛⾼髙 – 开发效率低
– 编程模型 – 托管平台
测 试 运行环境
开发工具
08/11/16 6
– combination, visualization, aggregation – Easy and fast integration
08/11/16 7
Microsoft Virtual Earth
Slashdot.org + Del.icio.us Example: http://www.mapdango.com/
08/11/16 8
2005年6月29日, Google公开 Google Map API, 引发了地图 Mashup的热潮
2005年6月29 日,Google Map Yahoo于2007 年2月推出 Yahoo! pipes, 使用户很容易 的创建 Mashup
08/11/16 9
2005年6月29日, Google推出 Google Map 2007年2月, Yahoo推出 Yahoo! pipes 2007年5月,微软 推出Web Mashup 应用开发工具 Popfly
2005年6月29日 Google推出 Google Map 2007年2月 Yahoo推出 Yahoo! pipes 2007年5月 微软推出 Popfly 2007年5月31日, Google发布了 Google Mashup Editor测试版,支 持在线的Mashup 创建、调试和测试
08/11/16 10
2005年6月29日 Google推出 Google Map 2007年2月 Yahoo推出 Yahoo! pipes 2007年5月 微软推出 Popfly 2007年5月31日 Google发布 GME 2008年4月22日, Intel也发布了一个 Mash Maker的网页 插件,可以把网页变 为Widget并混合在一 起构建新的应用
2005年6月29日 Google推出 Google Map 2007年2月 Yahoo推出 Yahoo! pipes 2007年5月 微软推出 Popfly 2007年5月31日 Google发布 GME 2008年4月22日 Intel发布 Mash Maker 2008年7月1日, IBM发布企业 Mashup平台 IBM Mashup Center
08/11/16 11
Yahoo! Pipes GME Microsoft Popfly Intel Mash Maker IBM Mashup Center 开发界面 拖拽方式 文本编辑 拖拽、文本 鼠标操作 拖拽方式 目标人群 高级Web用 户 程序员 普通web用 户 普通web用户 企业用户 系统需求 普通浏览器 普通浏览器 SilverLight Mash Maker插 件 WebSphere Application Server 内容类型 数据、逻辑 数据、逻辑、 界面 数据、逻辑、 界面 数据 数据、界面 其他 重数据显示 轻数据操作 目标提升用户 浏览网页体验
08/11/16 12
08/11/16 13
necessarily where it is executed
where user interaction takes place
08/11/16 14
Advantages Disadvantages
component
XMLHttpRequests to execute concurrently, can limit performance.
from problems in the other web site.
the other web site returns.
the other web site returns. 5. You cannot make concurrent and asynchronous calls to many data sources at the same time from the client.
Advantages Disadvantages
libraries that make it easy to access other web sites from the server.
serve as a buffer between the client and the
a service into a different format and in smaller chunks. 4. You can handle security requirements more easily on the server. 5. You can make concurrent and asynchronous calls to many data sources at the same time from the server. 1. You need to provide a server-side proxy.
to go from the browser to the server- side proxy, and then from the server-side proxy to the mashup server. This can result in a significant delay in receiving the response. 3. You need to protect the server-side proxy from unauthorized use. For example, suppose you mash up with a service that requires the user to pay a
the server-side proxy to access the service and in this way avoid paying the fee.
08/11/16 15
ICDE 2009.
2009.
WWW 2009.
WWW 2009.
2011.
30
08/11/16 16
– 服务的数量勵多 – 描述模型不泌统⼀丁 – ⽤甩户的需求难以清晰表达
– Enhance user experience
– Increase productivity – Increase credibility – Mutually beneficial proposition
32
08/11/16 17
33
– In their simplest form RSs recommend to their users personalized and ranked lists of items – Provide consumers with information to help them decide which items to purchase
Bracha Shapira. Recommender Systems And Search Engines-Two Sides of the Same Coin?
08/11/16 18
35
36
provides information about actors, films, television shows, television stars, video games and production crew personnel.
08/11/16 19
08/11/16
§ In October 2006, Netflix announced it would give a $1 million to whoever created a movie-recommending algorithm 10% better than its own. § Within two weeks, the DVD rental company had received 169 submissions, including three that were slightly superior to Cinematch, Netflix's recommendation software § After a month, more than a thousand programs had been entered, and the top scorers were almost halfway to the goal § But what started out looking simple suddenly got hard. The rate of improvement began to slow. The same three or four teams clogged the top of the leader-board. § Progress was almost imperceptible, and people began to say a 10 percent improvement might not be possible. § Three years later, on 21st of September 2009, Netflix announced the winner.
abcd The Nextflix prize story
37 38
08/11/16 20
39
Where should I spend my vacation?
Tripadvisor.com
I would like to escape from this ugly an tedious work life and relax for two weeks in a sunny place. I am fed up with these crowded and noisy places … just the sand and the sea … and some “adventure”.
I would like to bring my wife and my children on a
holiday … it should not be to expensive. I prefer mountainous places… not too far from home. Children parks, easy paths and good cuisine are a must. I want to experience the contact with a completely different
learn to look at my life in a totally different way.
08/11/16
Method Commonness Examined Solutions Jinni Taste Kid Nanocrowd Clerkdogs Criticker IMDb Flixster Movielens Netflix Shazam Pandora LastFM YooChoose Think Analytics Itunes Amazon Collaborative Filtering v v v v v v v v v v v v Content-Based Techniques v v v v v v v v v v v Knowledge-Based Techniques v v v v v v v Stereotype-Based Recommender Systems v v v v v v v Ontologies and Semantic Web Technologies for Recommender Systems v v v Hybrid Techniques v v v v v v v Ensemble Techniques for Improving Recommendation v future Context Dependent Recommender Systems v v v v v v Conversational/Critiquing Recommender Systems v v Community Based Recommender Systems and Recommender Systems 2.0 v v v v v
40
08/11/16 21
41
08/11/16
§ kNN - Nearest Neighbor § SVD – Matrix Factorization § Similarity Weights Optimization (SWO)
§ The method of making automatic predictions (filtering) about the interests of a user by collecting taste information from many users (collaborating). The underlying assumption of CF approach is that those who agreed in the past tend to agree again in the future. Collaborative Filtering
1
Description Selected Techniques
42
08/11/16 22
08/11/16
§ Trying to predict the opinion the user will have on the different items and be able to recommend the “best” items to each user based on: the user’s previous likings and the opinions of other like minded users abcd The Idea
? Positive Rating Negative Rating
43
08/11/16
abcd How it works
44
Item to Item User to User abcd User-to-User
§ Recommendations are made by finding users with similar tastes. Jane and Tim both liked Item 2 and disliked Item 3; it seems they might have similar taste, which suggests that in general Jane agrees with Tim. This makes Item 1 a good recommendation for Tim. This approach does not scale well for millions of users.
Item-to-Item
§ Recommendations are made by finding items that have similar appeal to many users. Tom and Sandra are two users who liked both Item 1 and Item 4. That suggests that, in general, people who liked Item 4 will also like item 1, so Item 1 will be recommended to Tim. This approach is scalable to millions of users and millions of items.
08/11/16 23
08/11/16
Hamming distance
5 6 6 5 4 8
0 Dislike 1 Like ? Unknown 1 ? 1 1 1 1 1 1 1 1
Current User Users Items User Model = interaction history
1
1st item rate 14th item rate
§ Nearest Neighbor
abcd
45
§ This user did not rate the item. We will try to predict a rating according to his neighbors.
abcd Unknown Rating
§ There are other users who rated the same item. We are interested in the Nearest Neighbors.
abcd Other Users
§ We are looking for the Nearest
lowest Hamming distance.
abcd Nearest Neighbors
§ The prediction was made based
neighbor.
abcd Prediction
§ The Hamming distance is named after Richard Hamming. § In information theory, the Hamming distance between two strings of equal length is the number of positions at which the corresponding symbols are different.
abcd Hamming Distance
– Long Tail problem - many items in the Long Tail have only few ratings
– It is not useful to recommend all movies by Antonio Banderas to a user who liked one of them in the past
– Gray sheep problem – Black sheep problem
– Misuse – Privacy
08/11/16 24
47 48
08/11/16 25
49
Read update User Profile New books User Profile Recommender Systems Match recommendation
50
08/11/16 26
08/11/16
§ The recommender system uses additional data about the context of an item consumption. § For example, in the case of a restaurant the time or the location may be used to improve the recommendation compared to what could be performed without this additional source of information. § A restaurant recommendation for a Saturday evening when you go with your spouse should be different than a restaurant recommendation on a workday afternoon when you go with co-workers abcd Overview
51
08/11/16
§ Recommend a vacation § Winter vs. summer § Recommend a purchase (e-retailer) § Gift vs. for yourself § Recommend a movie § To a student who wants to watch it on Saturday night with his girlfriend in a movie theater. Motivating Examples
52
08/11/16 27
08/11/16
§ Recommend music § The music that we like to hear is greatly affected by a context, such that can be thought of a mixture of our feelings (mood) and the situation or location (the theme) we associate it with. § Listen to Bruce Springteen "Born in USA" while driving along the 101. § Listening to Mozart's Magic Flute while walking in Salzburg. Motivating Examples
53
08/11/16
abcd Musicovery.com
§ An Interactive personalized WebRadio § A mood matrix propose a relationship between music and mood. § Ethnographic studies have shown that people choose music peaces according to their mood or mood change expectation.
abcd Details
“Tell me the music that I want to listen NOW"
54
08/11/16 28
08/11/16
§ What is the user when asking for a recommendation? § Where (and when) the user is ? § What does the user (e.g., improve his knowledge or really buy a product)? § Is the user
? § Are there products to choose or only ? What simple recommendation techniques ignore?
55
08/11/16
§ What is the user when asking for a recommendation? § Where (and when) the user is ? § What does the user (e.g., improve his knowledge or really buy a product)? § Is the user
? § Are there products to choose or only ? Plain recommendation technologies forget to take into account the user context.
What simple recommendation techniques ignore?
56
08/11/16 29
08/11/16
§ Obtain sufficient and reliable data describing the user context § Selecting the right information, i.e., relevant in a particular personalization task § Understand the impact of contextual dimensions on the personalization process § Computational model the contextual dimension in a more classical recommendation technology § For instance: how to extend Collaborative Filtering to include contextual dimensions? abcd Major obstacle for contextual computing
57
08/11/16
§ Each item in the data base ( ) is a candidate for splitting § Context defines ( ) all possible splits of an item ratings vector § We test all the possible splits – we do not have many contextual features § We choose one split (using a single contextual feature) that maximizes an impurity measure and whose impurity is higher than a threshold abcd Item Split - Intuition and Approach
58
08/11/16 30
59
08/11/16
§ Intuition – Users tend to receive advice from people they trust, i.e., from their friends. § Trusted friends can be defined explicitly by the users or inferred from social networks they are registered to. . abcd Overview
60
08/11/16 31
Rating prediction
Active users’ trusted friends
– Based on the whole community opinion
– Trust is subjective (controversial users)
a b d c 1 3 3 2 3
08/11/16 32
– More accurate – Attack resistance
– Ignoring the “wisdom of the crowd”
a b d c 1 5 3 2 ?
64
个性化推荐的十大挑战. 计算机学会通讯. 2011.
08/11/16 33
65
08/11/16 34
67
2015 1990
Specialised networks Internet
Open Servicenet
Ambient Intelligence Ubiquitous Semantic Trusted Platforms
1960 2007
WEB 2.0
Computer at the Centre USERS at the Edge
Hardware Network Devices Abstraction Middleware Grid Virtualization Services Process Semantic
Services For Users Citizens and Business USERS at the Centre Computers at the Edge
«Internet of Services »
->摘自EU NESSI
System Platform
Consumer Adaptation Service consumers Infrastructure Service Composition BPM view Service Platform
Monitoring
Service Communication Service Discovery Mediation SLA Negotiation Service Coordination Integration Services Reasoning Service Execution Lifecycle Management Service Registration Infrastructure and Data Abstraction Data Management Resources Management Business Process Execution SVN Lifecycle Management Information Services Interaction Services End user Interface Context Handling Mapping users perspectives to business/Integration Native Services External Services Knowledge Modelling Service Modelling SVN Modeling Infrastructure Modelling SBS/SBA Modelling Context Modelling Business Process Modeling
Engineering tools
Requirements Capture
services
08/11/16 35 System Platform
Consumer Adaptation Service consumers Infrastructure Service Composition BPM view Service Platform
Monitoring
Service Communication Service Discovery Mediation SLA Negotiation Service Coordination Integration Services Reasoning Service Execution Lifecycle Management Service Registration Infrastructure and Data Abstraction Data Management Resources Management Business Process Execution SVN Lifecycle Management Information Services Interaction Services End user Interface Context Handling Mapping users perspectives to business/Integration Native Services External Services Knowledge Modelling Service Modelling SVN Modeling Infrastructure Modelling SBS/SBA Modelling Context Modelling Business Process Modeling
Engineering tools
SLA@SOI SOA4ALL MASTER EzWeb RESERVOIR
70
Towards a Unified Service Description Language for the Internet of Services: Requirements and First Developments. SCC 2010
08/11/16 36
71
72
08/11/16 37
73 74
08/11/16 38
75
76
A Distributed Framework for Reliable and Efficient Service Choreographies. WWW 2011
08/11/16 39
77
78
08/11/16 40
79