OSGi Cloud Computing(OSGI Alliance RFP133)
- 格式:pdf
- 大小:313.71 KB
- 文档页数:30
元宇宙basic技术支撑体系元宇宙是指一种基于区块链技术的虚拟世界,它是一个数字化的、可交互的、开放的虚拟平台,其中包含了各种虚拟现实和增强现实的元素。
元宇宙的基本构成是一种基于区块链技术的支撑体系,这个支撑体系是元宇宙运行和发展的基础,下面将从技术角度详细介绍元宇宙basic技术支撑体系。
元宇宙的基本技术之一是区块链技术。
区块链是一种去中心化的分布式账本技术,通过将数据分布到网络中的不同节点上,并使用密码学算法保证数据的完整性和安全性,实现了去中心化的数据存储和传输。
在元宇宙中,区块链技术可以用于记录和验证虚拟资产的所有权和交易信息,确保虚拟资产的真实性和唯一性。
元宇宙的支撑体系还包括智能合约技术。
智能合约是一种自动执行的计算机程序,它可以在没有第三方介入的情况下,根据预先设定的规则和条件,自动执行合约中的各种操作。
在元宇宙中,智能合约可以用于实现虚拟资产的交易和转移,以及虚拟世界中的各种交互操作,如游戏规则的执行、虚拟商品的交换等。
元宇宙的基础技术还包括去中心化存储和计算技术。
去中心化存储技术可以将元宇宙中的数据分布到网络中的不同节点上,提高数据的可用性和安全性;去中心化计算技术可以将元宇宙中的计算任务分布到网络中的不同节点上,提高计算效率和可扩展性。
这些技术的应用可以使元宇宙更加稳定和可靠。
元宇宙的基础技术还包括虚拟现实和增强现实技术。
虚拟现实技术可以通过头戴式显示设备和手柄控制器等设备,模拟出一种沉浸式的虚拟环境,使用户感觉自己身临其境;增强现实技术可以通过智能手机、平板电脑等设备,将虚拟内容叠加在现实世界中,使用户可以与虚拟内容进行交互。
这些技术的应用可以使元宇宙更加真实和可体验。
元宇宙的基础技术还包括身份识别和安全技术。
身份识别技术可以用于验证用户的身份和权限,防止虚拟资产的盗窃和欺诈行为;安全技术可以用于保护用户的隐私和数据安全,防止虚拟世界中的黑客攻击和数据泄露。
这些技术的应用可以使元宇宙更加安全和可信。
云计算技术相关证书
以下是一些常见的云计算技术相关证书:
1. AWS认证:由亚马逊网络服务(Amazon Web Services)提供的一
系列云计算技术认证,包括AWS认证云从业者(AWS Certified Cloud Practitioner)、AWS认证解决方案架构师(AWS Certified Solutions Architect)、AWS认证开发者(AWS Certified Developer)等。
2. Azure认证:由微软提供的一系列云计算技术认证,包括Azure
基础认证(Microsoft Certified: Azure Fundamentals)、Azure解决
方案架构师(Microsoft Certified: Azure Solutions Architect)等。
3. Google Cloud认证:由谷歌提供的一系列云计算技术认证,包括Google Cloud认证云工程师(Google Cloud Certified - Cloud Engineer)、Google Cloud认证数据工程师(Google Cloud Certified
- Data Engineer)等。
SP认证:由国际信息系统安全认证联合会((ISC)²)提供的认证,专注于云计算安全方面的知识和技能。
这些证书可以帮助个人证明自己在云计算技术方面的专业能力和资质,提升就业竞争力,并在云计算领域中寻求更好的职业机会。
中国移动通信企业标准QB-╳╳-╳╳╳-╳╳╳╳中国移动智能智能网关测试规范Test Specification of Intelligent Home Gateway for China Mobile版本号:1.0.0╳╳╳╳-╳╳-╳╳发布╳╳╳╳-╳╳-╳╳实施中国移动通信集团公司发布目录前言 .............................................................................................................................................1. 范围.......................................................................................................................................................2. 规范性引用文件 ...................................................................................................................................3. 术语、定义和缩略语 ...........................................................................................................................3.1. 术语定义 ..................................................................................................................................3.2. 缩略语 ......................................................................................................................................4. 测试配置...............................................................................................................................................5. 管理接口功能测试 ...............................................................................................................................5.1. 连接功能 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5.2. 软件升级 ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5.3. 设备重启 ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5.4. 参数配置文件上传.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5.5. 参数配置文件下载.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5.6. 远程恢复出厂设置.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5.7. 故障诊断 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5.8. 性能监控 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5.9. 安全管理 ....................................................................................................................................................................................................................................................................................................................................................................................................................................5.10. 指示灯控制.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5.11. 智能网关系统信息参数查询.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................6. 设备接入功能测试 ...............................................................................................................................6.1. WAN连接功能.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................6.2. WAN连接配置.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................6.3. WAN连接数据隔离功能 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................7. 设备传送功能测试 ...............................................................................................................................7.1. VLAN功能 .................................................................................................................................................................................................................................................................................................................................................................................................................................7.2. 数据转发功能..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................7.3. 组播功能 ....................................................................................................................................................................................................................................................................................................................................................................................................................................7.4. 接入公网终端数量限制功能.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................8. 设备联网功能测试 ...............................................................................................................................8.1. 用户接口联网功能.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................8.2. 智能网关下挂设备管理测试......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................8.3. WLAN功能........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................9. 设备地址功能测试 ...............................................................................................................................9.1. IPv4地址管理.............................................................................................................................................................................................................................................................................................................................................................................................................................9.2. IPv4 NAT/NAPT要求 ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................9.3. DNS功能要求............................................................................................................................................................................................................................................................................10. 设备QoS 功能测试...........................................................................................................................10.1. 业务流分类和标记功能.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................10.2. 业务流限速.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................10.3. 绝对优先级队列调度功能.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................10.4. WRR优先级队列调度功能........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................11. API功能测试.......................................................................................................................................11.1. API权限测试 ............................................................................................................................................................................................................................................................................................................................................................................................................................11.2. 智能网关API功能调用验证 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................11.3. 插件消息通知测试.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................12. 设备安全功能测试 .............................................................................................................................12.1. 防攻击功能...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................12.2. 网络访问的安全性....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................12.3. WLAN安全...............................................................................................................................................................................................................................................................................................................................................................................................................................12.4. 语音安全 ................................................................................................................................12.5. 家长控制(可选).....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................12.6. 设备其它功能..........................................................................................................................................................................................................................................................................13. VoIP测试.............................................................................................................................................13.1. VoIP双栈管理 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................14. 操作管理维护要求 .............................................................................................................................14.1. 日志功能 ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................14.2. 本地操作管理维护...................................................................................................................................................................................................................................................................................................................................................................................................................。
之江天枢人工智能开源平台面向全球上线1日,之江实验室面向全球开发者上线“之江天枢人工智能开源平台”,该平台是由新型研发机构牵头打造的人工智能开源平台。
以深度学习框架为核心的人工智能开源平台,上承算法应用、下接底层硬件,是大规模人工智能应用的引擎和发动机,是数据驱动智能技术研发和产业化的关键基础设施。
“希望吸引全世界的人工智能从业者和爱好者,把最先进的人工智能算法和技术汇聚到这里,进而解决人工智能核心技术问题。
”中国工程院院士、之江实验室人工智能领域首席科学家潘云鹤在致辞中说。
开源开放是人工智能快速发展的重要推动力。
据了解,之江实验室面向智能安防、智能金融、智能医疗、智能交通、智慧城市、智能机器人等六大产业领域,推动构建了人工智能核心生态圈,目前已有66家生态伙伴。
之江实验室由浙江省人民政府、浙江大学、阿里巴巴集团共同举办,聚焦人工智能和网络信息两大领域,重点在智能感知、智能计算、智能网络和智能系统四大方向开展基础性、前沿性技术研究。
OSGi⼊门教程⽹上能找到的OSGi教程,都喜欢在开篇时就教你如何在eclipse⾥做⼀个OSGi的东西,就算你跟着做了(如果有⾜够的耐⼼,还是不知道OSGi是怎么⼀回事);更可⽓的是,这些教程还会配上⼤段⼤段的eclipse截图,以达到浪费篇幅的⽬的。
鉴于这种情况,我只好找本英⽂OSGi书看了看。
这本书上没有eclipse截图,我看时觉得很满意,所以顺便把⼊门部分微缩⼀下,给⼤家做个简短的教程。
Why OSGi?OSGi⽤于在同⼀个JVM内部实现“模块化” (“组件化”)。
⾸先,它⽤来实现模块化,提供模块化的⼀些常见特性:1. 模块向外只暴露特定的接⼝,内部实现对外不可见2. 模块可独⽴部署3. 像服务治理⼀样管理⾃⼰模块暴露的接⼝,包括服务发布、寻找和版本管理其次,和SOA那种分布式模块化⽅案不同,OSGi的模块并不会分布在多台机器上,⽽是部署在同⼀个jvm进程⾥的:1. 每个模块打包成⼀个JAR2. 整个应⽤只需要⼀个进程,开发、部署会⽐SOA更⾼效OSGi的具体功能有哪些?官⽅⽂档把OSGi的功能分成三⼤块:1. Module: 将程序组装成⼀个⼀个的“模块”,模块⾥除了业务逻辑,还有各种元数据2. Lifecycle:管理模块的⽣命周期,⽐如启动和停⽌模块,并在运⾏时让模块跟OSGi框架发⽣关系(⽐如“热部署”)3. Service层:把模块暴露的接⼝当作SOA服务来管理,⽐如服务的发布和寻找。
实际使⽤时,你并不需要⽤上所有的功能。
如果你只对模块组织感兴趣,“热部署”、“服务治理”等等你都可以不⽤。
顺便提⼀下OSGi的规范与实现。
”OSGi Alliance”组织只提供了规范(specification),具体的java实现则由第三⽅提供。
⽬前主流的实现有:1. Apache Felix2. Eclipse Euinox -- Eclipse组织提供的实现。
Eclipse还为它提供了相应的IDE Plugin,以快速搭建OSGi应⽤。
数字家庭的标准化体系目前从事数字家庭标准化的组织非常多,国外的有DLNA、ITU-T、UPnP、UOPF、ECHONET等,每个标准化组织所涉及的情况不尽相同,而数字家庭涉及的各种业务和技术也非常繁杂,因此从业务和网络分层的角度将各标准化组织涉及的领域进行归纳总结,如右图所示:在各个标准化组织中,DLNA(Digital Living Network Alliance)主要涉及到家庭影音娱乐等业务应用方面,而ITU-T作为电信领域的全球标准化组织,其在家庭方面涉及的业务和应用主要是基于电信网(含Internet)的业务和应用,而ECHONET(Energy Conservation and Homecare Network)则是在家庭监控应用方面具有代表性的标准化组织。
当然,无论是DLNA、ITU-T还是ECHONET涉及的各种家庭网络的业务和应用,其基础是首先实现各种信息终端在物理层和网络层的互联,目前实现家庭网络联网的技术有很多种,对联网技术进行标准化的组织也有很多,比如IEEE(802.11 WLAN、802.15.3 UWB、1394)、HomePlug(Power Line Communica-tion,PLC)、HomePNA(Phoneline Networking Alliance)等。
从下一代网络(NGN)的角度来看,家庭网络位于接入网之后,是直接为最终的家庭用户提供服务的网络。
目前家庭网络的接入方式多种多样,包括以太网、光纤到家(FTTH)、有线电视电缆、电力线等;家庭内部组网的技术更是五花八门,多种有线和无线技术并存,但网络层协议已经统一为IP,为业务和应用的提供创造了统一的技术平台。
由此可以看出,家庭网络技术标准是分层的。
根据专家的观点,家庭网络标准分为以下几个方面:侧重电信技术的标准,以国际电信联盟(ITU-T)和欧洲电信标准协会(ETSI)为代表。
侧重家庭网络设备互通的标准,这类组织以国际上的数字生活网络联盟(DLNA)、国内的e家佳和闪联为代表。
OSGi是什么OSGi亦称做Java语言的动态模块系统,它为模块化应用的开发定义了一个基础架构。
OSGi容器已有多家开源实现,比如 Knoflerfish、Equinox和Apache的Felix。
您可以通过这些容器,把您的应用程序劈分为多个模块单元,这样,您就可以更容易地管理这些模块单元之间的交叉依赖关系。
OSGi规范和Servlet规范及EJB规范类似,该规范定义了两种对象,一是容器对外提供的服务对象,另一个是容器和您的应用程序之间必须遵守的契约,其中,服务对象是容器要实现的。
您如果想要在OSGi平台上进行开发,首先,您必须要使用OSGi API来创建您的应用,然后将之部署到OSGi容器中。
从开发者的角度看,OSGi具有以下优点:a) 您可以在不重启容器的情况下,动态地安装、卸载、启动和停止您的应用程序中的不同模块;b) 对于您应用程序中的某一特定模块,容器可以同时运行该模块的多个版本;c) OSGi为开发嵌入式应用、移动应用、富互联网应用(RIA)提供了非常优秀的基础架构如果说您使用Servlet容器开发您的网络应用,使用EJB容器开发交易式应用,您可能会问,为什么我们还需要另外的容器呢?对这个问题的简短回答是,OSIG 容器是专门为开发复杂的Java应用准备的,在这些应用的开发过程中,您非常需要将这些应用分割为一个个的模块。
在本系列以后的文章中,我将针对这个问题进行展开并深入回答。
1. OSGi在企业开发中的应用OSGi联盟(OSGiAlliance)于1999年3月开始着手制定OSGi规范,其主要目的就是要制定一套开放式标准,以便向局域网及其中的设备提供可管理的服务;其基本思路是,一旦您在网络设备(如服务器和嵌入式设备)上使用了OSGi服务平台,您就可以在网络上的任何地方管理这些设备上运行的软件组件的生命周期,可以在后台对这些组件进行安装、升级或卸载,但不需要打断该设备的正常运行。
近年来,OSGi技术在嵌入式系统及网络设备市场得到广泛应用。
关于本教程目标在本教程中,您将学习:∙OSGi 及框架简介∙编写第一个 OSGi 应用程序∙重要的理论知识∙开发一个真实的 OSGi 应用程序∙探讨 OSGi 应用架构∙部署 OSGi 应用程序先决条件系统需求OSGi 及框架简介OSGi 框架开发基于 OSGi 的应用程序离不开实现了 OSGi 标准的框架,就好比是基于J2EE 的开发离不开应用服务器一样。
目前比较流行的基于 OSGi R4 标准实现的OSGi 框架有三个:1.Equinox:这是大名鼎鼎的 Eclipse 所使用的 OSGi 框架,Eclipse 强大的插件体系就是构建在 OSGi bundles 的基础之上,Eclipse 的稳定可靠性为该框架带来了声誉,而且由于有 IBM 公司的强力支持,其后续的开发和文档资料也有了一定的保障。
一般情况下,我们推荐您使用该框架进行 OSGi 开发。
本教程的后续部分也将演示如何使用 Equinox 框架来进行 OSGi 应用程序的开发。
2.Makewave Knopflerfish:这是另外一个比较知名的 OSGi 框架,目前的版本已经支持 R4 规范,其特点在于为应用程序的开发提供了大量的bundle 。
3.Apache Flex:由 Apache 基金组织开发的面向社区的 OSGi 框架实现,提供了标准的服务和一些有趣的和 OSGi 相关的服务实现。
Hello World!编写第一个 OSGi 应用程序准备工作1.从附属资料中下载 Eclipse 3.x 版本,Eclipse 3.2+ 版本已经全面支持OSGi R4 规范。
目前最佳实践是下载 Eclipse 3.3.2 版本。
(下载请见:参考资料)2.将 Eclipse 解压缩到 d:\work\seclipse 目录,开始我们的 OSGi 之旅。
Hello World一般情况下,学习一门新的技术,程序员都习惯于首先开发一个 hello world 应用程序,这似乎也是一种“工业标准”。
超越摩尔定律作者:Mark Papermaster来源:《中国计算机报》2015年第02期在微处理器发展的前20年中,如何使其极速运行几乎是发展的唯一的目标。
而在过去10年,这一目标则持续围绕如何提高效率!乍一听很可笑,但如果您意识到机器在待机状态下比运行时更节能,就不会这么觉得了。
试想一下:当阿波罗13号的宇航员们遭遇险境时,让他们顺利返航的关键,就是关闭所有非必要系统来节省能源。
并且只有在系统工作所需的精确时间内才将其开启。
现代微处理器和片上系统可以自动完成这一动作,我们无需再等候任务控制中心的紧急指令。
现代硅芯片的准则是快速运行,然后关闭。
它们具备启用和管理单个功能块功耗的能力,从而更加智能地完成这一操作:选择运行关键任务和优化运行,或是关闭以节省电力。
信息技术是日常生活的一部分当我们乐此不疲地查看手持设备时,很少有人会想到究竟是什么样的IT基础设施才能做到将所有的信息都置于我们掌上。
而考虑运行这种基础设施所需能源的人,更是少之又少。
大多数人对于IT能效最关注的一点,就是希望电池能够支撑一整天使用。
从流媒体视频或音乐到共享照片,到社交媒体,再到跟踪我们的健身信息,抑或是评价餐厅,我们与互联网的联系从未如此紧密,而未来的发展没有终点。
智能手机风暴席卷全球始于2007年iPhone的推出。
随后开发商推出了各种我们能想得到的应用,智能手机成为我们生活中不可或缺的一部分。
例如,2012年的一篇报道指出,18岁至29岁的人群中大多数在睡觉时把智能手机放在身边。
计算设备正在飞速地渗透到日常生活。
接下来即将是可穿戴设备的天下,如谷歌眼镜、智能手表,以及各式各样的健身或健康监测设备。
而所有这一切的发生正是始于万物互联的物联网,大量设备或电器将与互联网连接,环绕计算(Surround Computing)将让我们随时享受超强计算性能,预测我们的需求,并且为我们无缝提供与环境相关的信息。
环绕计算可谓是一个物联网的超集合,因为它描述了我们将如何自然地与技术进行互动,以及技术将如何以各种新颖、令人激动的方式给我们带来更多的可能性。
OSGI原理和实现框架总结OSGi(Open Service Gateway Initiative)是一个由IBM、Ericsson、Sun Microsystems、Motorola等公司发起的开放性标准化项目,旨在提供一个基于Java的动态模块化架构,使得应用程序可以更加灵活、可扩展和可管理。
OSGi 的核心原理是将应用程序划分为一个个模块,称为bundle,每个bundle是一个自包含的、可插拔的单元,可以独立运行和管理。
每个bundle都由一组类、资源以及声明了导入和导出服务的清单文件(manifest)组成。
bundle可以通过接口(服务)进行交互,也可以在运行时动态添加、删除或替换。
实现OSGi的框架有多个,其中最重要的是Equinox、Apache Felix和Knopflerfish。
下面对这三个框架进行简要介绍:1. Equinox:Equinox是Eclipse项目的核心框架,也是OSGi R3规范的参考实现。
它具有强大的动态模块化能力和灵活的扩展机制,支持热更新、动态加载和卸载bundle等特性。
Equinox还提供了一套丰富的工具和插件,使得开发者可以方便地构建和调试OSGi应用。
2. Apache Felix:Apache Felix 是一个轻量级的、可嵌入的OSGi框架,是OSGi Alliance 的成员之一、它实现了OSGi基本规范,并提供了一些扩展功能,如Web容器、Shell命令行等。
Felix的设计非常精简,易于使用和定制,可以在嵌入式设备、服务器和桌面环境中广泛应用。
3. Knopflerfish:Knopflerfish 是另一个流行的开源OSGi框架,具有良好的稳定性和兼容性。
它提供了一些高级特性,如远程服务、事务管理和动态升级等。
Knopflerfish还支持与其他标准(如JMX和HTTP)的集成,使得应用开发更加方便。
这三个框架的共同特点是都遵循了OSGi规范,并提供了一套通用的API和工具来支持模块化开发。
RFP 133 Cloud ComputingDraft30 PagesAbstractAn investigation into the possibility for standard OSGi Service APIs and new features for the framework that can be useful for using OSGi in the context of cloud/grid/utility computing. The unique aspects of cloud computing require services for awareness and control of theenvironment as well as more control over the instantiation of new machines and new processes. Many of these functions are also required for computing in large data centers. This RFP is intended a work document for investigating the needs for a cloud expert group.Copyright © OSGi Alliance 2010.All company, brand and product names contained within this document may be trademarks that are the sole property of the respective owners.The above notice must be included on all copies of this document that are made.1Document InformationTable of Contents1 Document Information (2)Table of Contents (2)Terminology and Document Conventions (5)Revision History (5)2 Introduction (6)3 Application Domain (6)Introduction (6)Advantages (7)Disadvantages (8)Terminology (9)Assumptions (11)Scalable System Architectures (12)4 Applicability of OSGi? (14)Relevance of OSGi to Cloud? (14)Existing OSGi Standards (16)5 Problem Description (17)Scale & Volatility (17)Isolation/Application Model (17)Configuration (17)Resource Discovery (18)Resource Provisioning (19)Service Discovery (20)System Provisioning (20)Required Node Behaviour (21)System Validation (22)Monitoring (22)Post Mortem/Debugging (23)6 Use Cases (23)Purpose (23)Use Case - The Customer (23)Use Case - The Cloud Provider (23)SmugMug (24)Use Case - Agility (24)Use Case – LockIn (25)Department Server (25)Use Case – Hybrid EU based Server (25)Private Cloud (25)Large Scale Data Processing (26)Mixing private and public clouds (26)Development (26)7 Requirements (26)Management (26)Instances (27)Cloud storage support (27)VariousDiverse (27)8 Appendices (28)Cloud Providers (28)Amazon (28)Google Apps (28)Rackspace (28)Microsoft Windows Azure (29)IBM (29)Private Cloud Solutions (29)Red Hat (29)9 Document Support (30)References (30)Author’s Address (30)End of Document (31)Terminology and Document ConventionsThe key words"MUST","MUST NOT","REQUIRED","SHALL","SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" and "OPTIONAL" in this document are to be interpreted as described in .Source code is shown in this typeface.Revision HistoryThe last named individual in this history is currently responsible for this document.2IntroductionThe OSGi Alliance held a joint workshop March 25, 2010 in the Santa Clara Hyatt. The goal of the workshop was to find out what role OSGi could play in the cloud.Obviously OSGi is very well suited for remote deployment, a characteristic that seems extremely applicable for cloud based applications.The workshop turned out a number of important topics for this subject as well a set of requirements. This RFP was created out of this workshop as a working document to further investigate the needs for a Cloud Expert Group or for different RFCs in the Enterprise Expert Group.3Application DomainIntroductionCloud Computing is a major IT trend; possibly qualifying as a real paradigm shift whose eventual impact may exceed that of the move to client server computing in the 1980's. Cloud Computing service are already extensively used to provide cost effective third party hosting for some categories of traditional application; differing only in the granularity of utilisation and subsequent payment from the previous utility compute service providers. However, for applications architected in the appropriate manner, Cloud Computing also offers the promise of massive 'just-in-time' resource elasticity.The National Institute of Standards and Technology(NIST)(see /groups/SNS/cloud-computing/index.html) define Cloud Computing as:“Cloud computing is a model for enabling convenient, on-demand networkaccess to a shared pool of configurable computing resources (e.g., networks,servers, storage, applications, and services) that can be rapidly provisionedand released with minimal management effort or service provider interaction.”The NIST go on to describe the essential characteristics, Service and Deployment models that collectively define Cloud Computing.There is perhaps no better demonstration of the importance of the Cloud Computing than by the number of standards bodies and industry collaborations that are involved. The Object Management Group maintain the following list of industry activities (/wiki/index.php?title=Main_Page) and attempt to map these standardisation activities to the Cloud service model in the following presentation /wiki/index.php?title=Cloud_standards_overview.Distributed Management Task Force's (DMTF) recently formed Cloud Management WG (CMWG) are focused on resource management aspects of Infrastructure as a Service (a.k.a IaaS – see next section) including constraint and policies, SLAs, QoS along with modelling considerations for managing utilisation,provisioning,monitoring/reporting, auditing and cloud service lifecycle. It is also stated that the CMWG will need to work closely with the OVF workgroup on the evolution of that model as middleware and applications are brought into the composite image, including the aspects of personalisation and policy controls for those elements within an OVF package. With respect to OVF, DMTF have received initial contribution from VMware. Meanwhile Fujitsu, and recently Oracle,have contributed REST based API's via which a customer might create an appropriate set of infrastructure resources.For an overview of DMTF cloud related activities see; /about/cloud- incubator/DSP_IS0101_1.0.0.pdf. Meanwhile Storage Network Industry Association (SNIA) are working on storage discovery and management standards; see/forums/csi/knowledge/tech_activities/standards/curr_standards/cdmi/C DMI_SNIA_Architecture_v1.0.pdf).In addition to these standards activities, several attempts have been made by commercial led ventures to define reference architectures or open-source communities. The most recent of these being the / consortium formed by Rackspace and NASA, whose stated aim it to build an Infrastructure as a Service (IaaS) framework capable of support 1,000,000 physical server nodes and 60,000,000 VM instances. Finally, a valuable reality check is provided by the following articlehttp://www.sector.ca/Presentations09/Cloudifornication-SecTor.pdf which highlights a number of common misconceptions and risks concerning public Cloud Computing.AdvantagesTraditional enterprise applications are built around a small number of static coarse grained software components. This is even true of enterprise Compute Grid solutions, which whilst consisting of many thousands of processing nodes, are never-the-less static functional silos.Hence,a qualitative difference between cloud computing and more traditional computing is not necessarily the quantity of the number of instances, but the dynamic nature of these resources and the fact that the quantity of available compute resource may change overtime.Cloud Computing is often cited has having the following advantages:1.No up-front investment in hardware and licenses; computing cost is based on actualconsumption. This is business enabler as it enables company start-ups to provide innovative services without investing in data centers that can scale when the start-up is successful.2.Correctly architected applications can be scale based on demand by load balancingacross available instances; this a cost effective to handle highly volatile customer load.3. A correctly architected application that leverages many instances will have inherentfailover capabilities, so masking failures from service users.rge scale providers will provide multiple data centers located in differentgeographic locations. For example, Amazon provides datacenters spread around the US as well as in Ireland. Location can provide affinity to the data and user for performance but it can also provide for complying with legal requirements,for example certain EU privacy laws put requirements on the location of the server. DisadvantagesMeanwhile, cited disadvantages (some perceived), include:tency: Network latency is limited by the speed of light; a hard limit. Co-locatinginstances minimizes latency but increases risk that a failure affects all instances.However, such latency / locality trade-offs apply to all distributed environments, not just Cloud.2.Throughput: Network throughput is most likely limited; both internal within the Cloudand connectivity to the Cloud. Again, this is not just an issue for Cloud, but any distributed environment as high performance non-blocking networks cost a premium.3.Contention:Despite the propaganda,Clouds are not infinite and computecontention does occur;see /landingpage/bitcurrentcloud2/The_Performance_of_Clo uds_Complete.pdf4.Data Services.The classic relational database has problems with scaling'horizontally'due to ACID behaviour and the potential volatility of underlying compute resources.To address this,some PaaS solutions offer scalablealternatives with different Consistency, Availability, Partitioning (CAP) trade-offs; i.e.Amazon's Simple DB.5.Trust: A Cloud provider is independent of the cloud user and therefore cannot becompletely trusted to act in the interest of the user. Cloud providers have full access to all the data and processing in the applications. Cloud applications must therefore consider privacy and security issues.Even though a cloud provider could be trusted, cloud providers must follow the jurisdiction that they are based in which might be different than the jurisdiction of the user. A specific example are the EU privacy laws that are much stricter than US laws.6.TrustSecurity:Applications are frequently co-located upon the same physicalhardware. Isolation between applications is usually enforced by the virtual machine, virtual network and virtual storage infrastructure. For some customers these levels of isolation are not sufficient.7.Remoteness: The remoteness of a deployed application requires some re-think withrespect its management. For example, for scalable applications, how might one deal with the potential of run-away scaling; especially in the event that external management connectivity is unavailable?8.Lockin: From a developer perspective a major concern is implicit “runtime” lock-in.As soon as PaaS specific services are used, the application becomes locked into that vendor's Cloud runtime.plexity:Traditional datacenters attempt to maintain static unchangingenvironments,within which static applications are deployed once and run unchanged. The complexities that ensue through a failure of these assumptions, are born by the operational staff.In contrast Clouds provide a dynamic environments, where resource may come and go. Whilst this poses an immediate and significant challenge for traditional applications; e.g. distributed transaction / ACID based applications that assume a fixed / unchanging resource landscape, the resultant Cloud optimised replacements will from an operational perspective be much simpler to manage. For further comments of the issue of Clouds & Complexity see: /mfrancis/complexity-components-clouds-paremus TerminologyWhere terms are defined by National Institute of Standards and Technology (NIST), those same terms and interpretations will be used here. NIST defined terms include: •Infrastructure as a Service (IaaS): The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able todeploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networking components (e.g., host firewalls).•Platform as a Service (PaaS): The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and toolssupported by the provider. The consumer does not manage or control the underlying cloud infrastructureincluding network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.•Software as a Service (SaaS): The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devicesthrough a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific applicationconfiguration settings.•Private cloud: The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.•Public cloud: The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.•Hybrid cloud: The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting for load-balancing between clouds).•Resource Pool/ing: The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassignedaccording to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage,processing, memory, network bandwidth, and virtual machines.•Rapid Elasticity (cloud bursting): Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time. Consult NIST documentation (/groups/SNS/cloud-computing/index.html) for further terms.This document uses the following additional terminology.•System: Alternatively referred to as an 'Assembly' or a 'composite application'. A 'System' refers to the unit of deployment to a Cloud; and subsequently the entity that is managed.•Element(or alternatively'System Element'): A System consists of one or more 'elements'.System Elements within the same System may each be implemented using different underlying technologies; i.e.e.g.,:•An OSGi subSystem• A SCA composite•An opaque VM image or C library.A System must comprise of at least one Element. A deployed System mustcomprise of at least one instance of an Element. Elements may be co-located on the same physical resource or distributed across the resources available in the resource pool.•Process Group (sometimes referred to as a 'scale-out' group): If Element E(x)is instantiated multiple times (e.g. N times), then the collection of NE(x) instances is referred to as the Process Group for E(x). It is the architecture of the System which dictates whether an Element is optional, a singleton, or may be instantiated multiple times so creating a Process Group. Process groups may expand or contract across available resources in response to changing load,environmental conditions or manual management commands.•System Provisioner:The System Provisioner is responsible for the ongoingmapping of System Elements to the underlying resource. This includes expansion or contraction of Process Groups in response to load,resource availability,or operational commands and on-going reallocation of Elements in response to resource failure and/or resource optimisation behaviours.•Resource Provisioner:The resource provisioner is responsible for ongoing maintenance of the resource pool:◦Ensuring population of resources have the required characteristics.◦Ensuring sufficient members for the current load.•Resource Topology:The mapping of a System's Element instances to the underlying resource instances.As this mapping changes over time;resource topology is not static.The System Provisioner is responsible for managing a System's resource topology.•Resource / Node: A physical or virtual compute resource.•Service Scope: The visibility of a service advertised by an Element instance.◦May be private: A service is for consumption by other Element instances within the same System. For example, a private services may be consumed by othermembers of the same Process Group, or members of other Process Groupswithin the same System.◦May be public: A service advertised for consumption by an entity external to the System.◦Service scope is directly related to the service topology concept in the OSGi Remote Admin Specification(RSA):Should an Element be RSA complaint,visibility of exported and imported services may be managed by associatedpublishing and consuming topology managers.Assumptions1.The environment is multi-tenant; i.e. multiple concurrent Systems.2.The PaaS/IaaS provider may be independent of the System provider.3.Resource and Service discover y is an ongoing process.4.Resource provisioning – addition / removal of resources - is on-going.5.System provisioning – Element deployment / re-deployment - is on-going.6.At each point-in-time information may be incomplete. The environment is dynamic,with new resources being deployed and existing resources failing or being withdrawn. Required resource,which exist and accessible,may yet to be discovered. Previously deployed system elements may need to be re-discovered.7..The environment is multi-tenant; i.e. multiple concurrent Systems8.Based on policy – each physical resource may / may not / be multi-tenant; i.e. –hosting e lement instances from different Systems.9.Management and configuration interactions needs to be asynchronous andidempotent.10.Different Systems will have different Consistency, Availability,Partitioning (CAP)trade-offs, which apply to not only the the data services associated with the System, but also configuration behaviour.11.A System may be a chimera; that is implemented with a number of Elements whichthemselves are implement in different technologies; i.e.I.An opaque blob; i.e. a C library, even a virtual machine imageII.May / may not use OSGi Config AdminIII.May / may not be an OSGi SubsystemIV.May / may not support RSA (Remote Service Admin).12.The IaaS layer may / may not / be dependent up virtual machine images.13.The following structural hierarchy is assumed:I.Element InstanceII.Process Group – Comprising of one or more Element instances.III.System – Comprising of one of more Process Groups.IV.Resource Pool – Supporting multiple Systems, comprised of multiple compute resourceV.Cloud – Comprised on multiple resource pools & SystemsScalable System ArchitecturesWhilst Clouds provide resource elasticity,applications must be architected in an appropriate fashion to make use of this resource elasticity. Considerations include:1.Data Representation: The traditional relational database approach has limitationsw.r.t.'horizontal'scaling due to ACID behaviour.Also,traditional relational databases were not designed to run across a volatile set of compute resources. To address this,some PaaS solutions offer alternatives with different Consistency, Availability, Partitioning (CAP) trade-offs;i.e.e.g.,Amazon's Simple DB. 'Dynamic sharding' and scale-out are of interest whether in Cloud or traditional data centre environments. This, in conjunction with the realisation that not all data is relational, has fuelled the recent No-SQL trend, (e.g.Hadoop, Voldermort, Cassandra etc).2.Shared state management – Providing access to shared state between ProcessGroup instances; this needs to be fast, reliable and resilient. A typical example may be sharing session state across a group of web servers.e of Transient/Persistent Message Queues – A middleware messaging serviceeases co-ordination by virtual of itself being a singelton. By providing durability, the messaging service allows publishers and consumers to be stateless. However, the durability of the message queue is now a concern and must be managed. A shared middleware queue also introduce latency and potential point of contention. Is a persistent messaging service an Element within a System? If so, management of queue persistence is a concern for the System architect.At runtime is the messaging service a Singelton or a Process Group? If the latter, then the issue of message flow co-ordination is a concern for the System architect. Meanwhile, if messaging in considered to be an external PaaS service; then these issues remain, but are the concern of the PaaS architect.A major architectural consideration is which services are / or should be / provided by the host PaaS (possibly provided by the IaaS), and which are integral to each System? Taking messaging middleware as an example, this may be either:◦An internal'element'of the System and so deployed alongside business elements.In which case the System has a runtime dependency on themessaging artefact being available for deployment. Lifecycle and recovery of themessage service being the responsibility of each System that contains amessaging service.Or◦ A middleware services offered by the host PaaS. In which case a System has a runtime service dependency on the PaaS messaging service being available.Lifecycle and recovery of the message service being a concern of the hostPaaS.4Applicability of OSGi?Relevance of OSGi to Cloud?It is not the vision of the OSGi Alliance to enable cloud computing. Cloud Computing is already a reality, with simple applications achieving scale and service elasticity on public Compute Clouds.Given this, what is the relevance of OSGi? Especially as, with the notable exceptions of Oracle (/us/technologies/036500.pdf) and the Paremus OSGi based Service Fabric(/products/products.html) (COMMENT:is there anyone else?), all current public and private cloud implementations assume the unit of deployment as a virtual machine image with static pre-installed software.To answer this one only need look at recent industry articles; i.e. “VMware knows that Cloud doesn't need Server Virtualisation” – /2010/07/17/vmware-knows-the-cloud-doesn’t-need-server-virtualization/.It is suggested that the degree of applicability of OSGi to cloud computing is dependent upon:•Whether one considers OSGi a development only concern. Or, one also considers OSGi to be an essential enabler for the next generation of reactive composite cloud runtime.•Which layer of the cloud stack one is considering? (i.e. IaaS, PaaS, SaaS).More specifically iI t is proposed that value of OSGi, in the post static virtual machine image era is in its ability to address the following:Dependencies, dependencies, dependencies:It all boils down to dependency management!It is suggested that re-use and ease-of-use are essential characteristics for next generation cloud solutions. Yet to enable effective re-use whilst maintaining ease-of-use, the issue of module and context / environmental dependencies must be fully addressed; /modularity/2009/12/chapter-6-realizing-reuse/.Recent OBR standards work by the OSGi EEG group; addresses some of the final areas required to achieve dynamic dependency management between software modules; however, context & environmental dependencies currently remain out of scope.It is important to note that the following three abilities are just desirable derivative behaviours that directly result from the ability to perform dynamic dependency management.Sized just right:With virtual machine based Clouds, a complete image of a traditional software stack and underlying operating system are deployed.This is no different from the software deployment techniques used for the last two decades;in that,as the inter-relationship between software components is not know or too difficult to track – hence a few “golden” images are produced and subsequently used,; these are typically a super-set of the actual requirements.This coarse grained approach to software deployment consumes unnecessary WAN and LAN bandwidth and memory,while the use of software OS virtualisation consumes unnecessary memory & CPU resource. The overhead on each resource instance isn't high, but summed over ~60,000,000 images (stated scale aim of OpenStack) and the overhead has a real cost impact.In contrast, in an OSGi based cloud, required artefacts would be available in one or more OBR artefact repositories hosted within the cloud.As modular dependencies are dynamically resolved when deploying an OSGi based system to an OSGi enabled cloud, the compute nodes would only download and install required artefacts from these localOBR repositories.Avoiding Lock-In:As a System is a self-describing entity,it may in principle be validated against each potential Cloud runtime before it is deployed.By understanding the runtime dependencies a developer / organisation can more easily manage / avoid cloud lock-in. Does the target runtime:•Provide artefacts for my System – what are these?•Have the required types of resource – compute and data. As a result of running my System what data have I left in the Cloud?•Have the required PaaS Service referenced by my System?The validation process may customise a generic System description; perhaps replacing a generic PaaS Service dependencies with concrete implementations offered by the target runtime; for example, generic message binding might be replaced with a specific SMS binding implementation for Amazon EC2.In addition new resource OSGi API's might allow a degree of abstraction from the target runtime;i.e.abstraction of the state discovery mechanisms used by different cloud members from the OSGi application logic.A Reactive Runtime:Adaption and post deployment modification of sophisticated System dependencies would be possible in an OSGi centric cloud runtime in a manner which is not possible with traditional virtual machine centric solutions.Such behaviours may range from simple System rolling upgrades and back-out,through to sophisticated behaviours where a System modifies itself in response to the local environment or changing business load/characteristics.Existing OSGi StandardsThe following OSGi standards and activities provide a start ing point from which the required functionality may be derived.RFC 152 – SubsystemsQuestion:What is the relationship between a System Element and a RFC152 subSystem?RFC 112 – Bundle Repository DescriptionQuestion: What is the relationship between a System Element and a OBR Resource and / or a P2 Deployable unit?RFC 154 – Requirements / CapabilitiesQuestion:Are these Requirements/Capabilities sufficiently general to include。