top100summit 于辰涛-联想乐云平台
TRANSCRIPT
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 2
于辰涛
来自联想研究院
邮件地址:[email protected]
2000年四川大学毕业后,加入联想至今
长期从事操作系统和多设备协同系统的开发和设计工作,主持并领导大型软件团队设计和优化了幸福Linux,LEOS,IGRS中间件,智能本,平板电脑等产品的操作系统和应用软件,帮助多项产品获得多项CES大奖
个人简介
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 3
多设备协同成为基本用户需求,智能手机成为个人设备中心
At Home At Office
6 AM 9 AM 5 PM 7 PM
Bus Bus
9 PM
Bedroom Sleeping
Smart Services Push/Download Backup/Sync, Security scan
用户在不同的场景,不同的需求时会选择不同的设备
From:Google, 2012
智能手机成为在线活动最重要的入口,
PC多用于处理复杂的任务
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 4
用户个人数据成为最核心的资产,而非设备本身
智能移动设备(手机和平板电脑)正在取代PC,成为最重要的个人数据消费和处理终端
随着智能移动设备的普及,使得“小数据,大服务”成为可能
– Dropbox 40亿美元估值,最好的跨设备文件同步软件
– Evernote 10亿美元估值,最好的跨设备笔记软件
个人数据管理成为多设备协同的核心功能
内容(音乐/电子书)在任何设备一次购买,自动同步下载阅读
PC和移动设备完全相同的上网习惯记录
所有设备完全相同的个人笔记 碰一下,交换名片
任何手机通讯录自动同步
任何设备上的文件自动同步
任何手机间的快速交换文件和应用
任何设备间的电子书浏览历史和笔记同步
iTunes
Chrome
Bump Evernote
乐同步 Dropbox
iBook
茄子快传 PhotoStream
Find My Phone
有你短信
设备间免费发短信
短信云备份
设备间照片自动同步
通过PC找到丢失的iPhone
奇艺视频
PC和移动设备上同样的高清视频播放体验
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 5
支持Windows,Android和浏览器环境,实现用户个人设备间的设备互联和个人数据交换,降低内部开发者和第三方开发者跨平台应用的门槛
设计原则
–轻量化
–开发包小于2MB,无其它依赖
–模块间松耦合,可以根据应用的需求进行定制和裁剪
–松耦合
–RESTful设计,底层原语尽可能精简和稳定
–屏蔽网络复杂性
–适配各种网络环境的复杂性,提供高效的网络传输管理方式
联想乐云平台
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 6
设备协同的典型场景
Inside home Outside Home
LeCloud
Angry bird in 2nd Level Angry bird in 12th Level
Remote
Game
Remote
设备间任务迁移 游戏进度同步,超级剪贴板,跨设备协作
跨平台设备资源共享 协同游戏,云打印,远程投影
家庭个人云
LeCloud
LeCloud
应用跨平台自动安装/试玩
LeCloud
跨设备文件同步
LeCloud IM适配
Presence Status Update IM
免费短信
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 7
如何简化设备/服务间的连接过程
–如何避免用户输入IP地址
–如何简化用户认证过程,哪怕只是输入一次密码,也会流失大量的用户
如何高效的支持家庭环境,On-the-Go和办公环境
–如何穿越防火墙和适应复杂多变的路由管理策略
如何建立高效的数据传输通道,手机不适合使用P2P,如何跨网访问
如何屏蔽设备的复杂性,构建一致的设备资源描述机制
如何管理复杂多样的用户个人数据
如何提升体验,使得设备上的数据更新及时到达用户
多设备协同平台的挑战
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 8
目标
–构建一个Web抽象层,简化资源的表征和访问
资源(Resource)
– 使用URI描述设备上的各种资源和设备能力
– 自动提取元数据信息
– JSON描述设备能力
容器(Container)
– 公开设备能力的逻辑实体,可以是某种物理设备的高级抽象
存储(Storage)
– 本地文件
– 云存储
– K-V型数据
– 流式数据
设备资源URI化,屏蔽设备和资源的复杂性
Resource
Container
Internal
Device
Capabilities
Service
Capabilities
Auxiliary
Device
Capabilities
Storage
Local Files
Cloud Storage
K-V Data
Streaming
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 9
Resource Publisher
Unified Resource Pool
Presence
Service
Container
Manage
Resource Requester
Autonomous Environment
联想乐云平台
Event
Dispatcher
资源发现,需要兼顾局域网和广域网
Autonomous Environment
P2P Storage
Communications
URI @ XMPP URI @ XMPP
Restful
Events Restful
Events
Access
Control
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 10
一般等价于一个用户设备所在的无线局域网环境,此网络下,设备和设备连接的其他外设构成一个以IGRS协议为基础的资源管理和发布的集合,可以直接调度和操作各种资源请求,无需云端中转资源请求
自治环境 (Autonomous Environment)
Autonomous Environment
Resource Publish
Resource Rendering Resource Description
HAL (Adaptors for)
UPnP Intel CCF QC Alljoyn
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 11
Resource Publisher
–具有网络连接能力的主设备具有统一ID,此设备需要能够运行Web服务来发布设备相关的资源,需要将发现的其他资源发布到云端供个人的其他主设备进行访问
– Internal Device Capability
–用户设备本身包含的关键部件,比如Display,Modem,GPS
–Auxiliary Device Capability
–主设备通过UPnP/Alljoyn/SNMP/IGRS感知的周边环境连接的网络设备,比如DLNA TV,UPnP Router,SNMP Printer,UPnP DC
Resource Proxy
–具有网络连接能力的主设备, 可以将其他主设备的注册信息转发到云端
资源发布的实体
Resource Publisher
Internal Device Capability
Auxiliary Device Capabilit
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 12
XMPP协议管理设备存活,更新订阅,状态迁移,传递设备间交互事件和维护设备间P2P通讯通道
– XMPP是唯一的机制管理设备间的长连接通道的系统机制
– 局限:XMPP协议需要云端进行消息中继,会降低设备间网络直接可达时的通讯效率
– 补充: XMPP over HTTP
HTTP协议管理设备间的直接通讯和资源访问
– HTTP协议是唯一能够穿越所有防火墙的网络协议,而无需企业IT重新配置端口
– 局限:HTTP无法有效的长连接机制,Pub-Sub模型和维护设备间的状态
– 补充:HTTP over UDP/P2P
STUN/TURN管理设备间网络类型探测和地址翻译
– 自动探测网络类型并决定设备间数据和事件的传输通路和协议,数据传输中继
广域网资源发现,混合的多协议设计
XMPP
XMPP XMPP
STUN
HTTP
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 13
基于XMPP构建的Push用于设备唤醒通道,实现设备资源的即时更新提醒
–Push通道进行设备远程唤醒
–承载设备之间和云端到设备间,内容资源的更新提醒
–支持第三方服务使用联想的推送机制,以支持内容推荐和订阅的业务
–Restful接口,可以方便和其它服务厂商对接
Push管理资源更新,提升体验
3rd Party App Server
MSG FrontEnd
Server
Push Server
Secure Channel with App Token
PHP / Rest HTTP
Establish
Msg
Queue
Push to Device
XMPP
Lenovo Unified
Message Service
Apps Apps
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 14
支持结构化数据和非结构化数据的管理
PB级可缩放的个人数据管理架构,支持集群扩展
富客户端设计,简化服务端的复杂性
–文件系统增强,提取元数据(metadata),缓冲管理和分片优化
个人数据融合依赖于前后端一体化的系统设计
Cloud Unified Filesystem Optimized Data Mgnt. Engine
Device (Personal Data Management)
Backend (Storage + Metadata )
Metadata Management
Engine Block Storage Engine NAT LeHive Platform
Rational DB Cluster Search Engine Key-Value Storage Jingle
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 15
Unified file access for different cloud storage including Lenovo, Amazon and others
Adaptors fit for different Cloud Storage API
– XML definitions for minimizing the development cost
Effectively caching cloud file read/write, esp. in low-bandwidth env.
Cloud Unified Filesystem,一致的方式访问云存储和本地数据
User AP User space
Kernel space
Kernel
VFS
CUFS
user-level
program
FUSE
mount as /mnt/ldfs
register_filesystem( )
Cloud
Storage
Connection establish User command
Bypass to user-level program
Cloud Storage command: LS
Return requested data
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 16
原子化的数据操作: Get Metadata, Sendto, Delete, Pause
–优势:仅需要优化Get Metadata和Sendto
所有设备间的数据协同的复杂操作,由原子操作组合提供
–Playto = Sendto others + Open,
–Remote Print = Sendto others + Print,
–Remote Setup = Sendto others + Setup,
–Remote Cut/Paste Files = Sendto others + Delete local,
–Remote Copy/Paste Files = Sendto Local Cache + Delete Cache
–Backup = Sento Cloud, Sync across devices = Get Version(Metadata) + Send updates to others
–Cancel = Pause + Delete,
–Search = Query in Metadata database
RESTful设计的数据传输机制
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 17
Remote Wakeup
Detect Network Type
Data Tranport Cache for Speed up
Secure Channel
Cloud as Relay buffer
Support Multiple Clouds
数据协同平台的核心功能 – Super Sendto
Push for
mobile device
wakeup,
Wake on LAN
IGRS for LAN
Direct,
STUN for
WWAN
目标
– Reliably send data from one device to other devices or cloud storage
– Seamlessly integrate P2P and cloud storage into one unified interface
– Simplify the workload of app developers from many protocols to one simple API or system services
P2P in LAN,
NAT Tunneling
for WWAN,
Compression
and Transcode
Breakpoint
Resume,
Metadata for
cache hitting
HTTPS as
secure channel,
Lenovo Cloud as
relay buffer when
device power off
or in the intranet
Cloud Unified
Adaptors
Protocols:
Lenovo Push,
XMPP,
Android C2DM
Protocols:
STUN, IGRS,
Protocols:
XMPP, JINGLE,
STUN, HTTP
Protocols:
HTTP,
METADATA
Protocols:
SSL
Protocols:
REST, LEHIVE
Protocols:
REST
2012 LENOVO CONFIDENTIAL. ALL RIGHTS RESERVED. 18
多设备协同的平台需要前后端一体化设计,平衡云端和设备端的处理能力
仅仅同一局域网内部的设备协同无法满足用户的需求,云端帮助设备端实现协同功能,能获得更佳的用户体验
多设备协同的核心是在建立设备间传输通道后,高效处理各种类型的个人数据
总结