软件代理协议(推荐8篇)
甲方:常熟市育才精毛纺有限公司
乙方:常熟市丝贝宁国际贸易有限公司
丙方:SEYDEL MASCHINENFABRIK GMBH
甲、乙、丙三方经友好协商,就 进口项目事宜, 根据国家现行的法律、法规和政策之规定,于08年9月26日在常熟签订协议条款如下,以资信守。
一、甲方委托乙方作为其进口项目的代理人,乙方接受甲方委托,代理甲方执行该项目进口合同。
数量: 共1件
总价: EUR487.00
价格条款: CIF SHANGHAI AIRPORT
付款方式及付款时间: 100% T/T 预付
二、甲方义务:
1. 负责按规定办理
□进口证明,□进口登记表,□免税证明,□进口许可证,□进口所需的卫生或食品部门的有关文件。
2. 甲方对外所做的承诺或约定必须符合国家现行的法律、法规和政策的规定,并承担有关责任。同时,负责确保所进商品和商品进价的真实性。如因甲方原因造成到货通关时发生问题,其责任和直接损失,以及乙方按甲方委托要求履行合同过程中所产生的风险和损失都由甲方承担。
3. 甲方须在货到港前 个工作日内,将进口税款(关税、增值税)和乙方进口代理手续费(为合同金额的 %)等款项给付乙方。如因款项未到,而造成滞报金、滞纳金及仓储费等一切费用,由甲方承担;如货到15天后,甲方仍未支付上述款项,乙方有权对所到货物行使留置权。
4.所进商品为法检商品,甲方负责办理有关手续。
三、乙方义务:
1. 乙方负责按规定办理:
□进口证明,□进口登记表,□进口许可证等进口批文。
2. 乙方负责按本协议“
一、”款内容对外签约,确保合同内容的真实性和合法性。
3. 乙方负责办理购付汇和核销手续,汇率为付款当日银行卖出价。
4. 乙方负责按规定自理报关或委托经海关批准注册的报关行报关;如海关验货,乙方应在海关验货前 日内及时通知甲方。
5. 乙方负责按实际支出与甲方结算(多退少补),并向甲方开具结算单据。
四、丙方义务:
1丙方对外所做的承诺或约定必须符合国家现行的法律、法规和政策的规定,并承担有关责任。同时,负责确保商品和商品进价的真实性。
2.收到甲方支付货款后的6-8周之内安排运输。
五、在合同规定的索赔期内,如发现数量和质量问题,由甲方请有关部门出具商检证明并及时与乙方联系,由乙方对外提出索赔。甲乙双方须积极配合。国外供货商或保险公司赔付后,乙方立即将赔付金额拨付甲方。
六、对于甲方对外协商确定的、且须对外预付 %货款的合同,甲方应对外方资信情况负责,并承担乙方按合同规定对外预付货款的风险。
七、甲乙丙三方同意,在执行本代理协议过程中所发生的一切争议首先通过友好协商解决,协商不成的,任何一方均可诉诸人民法院解决,本代理协议的管辖法院是乙方所在地人民法院。
八、本协议未尽事宜,甲乙丙三方应根据国家有关规定另行协商并签补充协议。补充协议为本协议不可分割的组成部分。
九、本协议一式二份,甲已丙三方各执一份。
十、本协议自双方签字盖章之日起生效。
甲方(盖章):
乙方(盖章):
随着网络技术的不断发展,网络的规模及复杂性也在不断的增长,故对网络管理提出了更高的要求。目前,简单网络管理协议(Simple Network Management Protocol,SNMP)以其简单性和实效性已经成为网络管理的标准协议。但是,采用集中管理模式的SNMP网管系统不可避免地存在以下几个方面的问题:
(1) 系统不易集成,由于被管设备的异构性、信息模型的多样性以及管理工具和管理方法的差异,很难对管理系统进行有效的集成;
(2) 系统的负载过大,随着MIB库中的被管对象数目急剧增多,代理轮询一遍MIB库将要耗费大量的时间,很难保证其管理效率;
(3) 系统的可扩展性差,单一的SNMP不能满足任意模块实时的动态加载与卸载的要求,这就导致,每接入一个新的元件或设备,都必须重新设计MIB库、编译代理,从而扩展代理困难。
为了解决以上问题,IETF早期提出了SMUX(SNMP多重协议),后来发现也存在缺陷。于是,IETF在1998年又提出了AgentX(Agent Extensibility)协议标准,在一定程度上解决了上述问题,并且每个符合AgentX的副代理都运行在各自的进程空间里,因此比采用单个完整的SNMP Agent具有更好的稳定性。
1 AgentX的框架及代理的操作原理
1.1 AgentX框架结构
AgentX作为IETF的推荐标准,提出了可扩展代理的主副代理结构,解决了传统SNMP结构的单一代理的缺陷。AgentX扩展代理由一个主代理和一组副代理组成,主代理同副代理之间依照AgentX协议、通过TCP或UNIX域套接字进行通信。AgentX协议的结构框图如图1所示。
1.2 AgentX代理的操作原理
在AgentX框架结构中,在管理端侧,主代理依照SNMP协议,发送和接收SNMP信息,负责与网络管理者的通信,并将副代理的Notification转发给管理者;在子代理侧,主代理依照AgentX协议与各副代理通信并对整个AgentX框架进行管理。其中包括:接受副代理建立会话(Session)的请求;处理副代理注册MIB区域、索引分配、能力声明的请求;维护副代理注册MIB区域库、sysORTable和索引对象库;当接收到管理者的SNMP请求时,通过查询其维护的副代理注册的MIB区域库,将对变量的请求以AgentX PDU发给授权的副代理;对各副代理的AgentX Response PDU分析后,主代理提取信息并构造SNMP响应报文发送给管理者。
副代理直接访问MIB库中的被管对象,负责对管理信息的维护和访问。在目前的AgentX v1中,各副代理之间是不需要通信的,进而,副代理之间的冲突由主代理仲裁。在初始化后,副代理发送AgentX Open PDU,主动建立与主代理的会话,分析主代理返回的AgentX Response PDU,获得主代理为之分配的惟一的session ID;向主代理注册其维护的MIB区域及期望的优先级;向主代理维护的sysORTable中添加其能力声明,并在需要时向主代理申请索引分配;当收到主代理对MIB变量操作的AgentX请求时,调用响应的操作支持例程读取或设置变量并返回响应;副代理还在异常事件发生时向主代理发Notification。
当然,在会话期间,主代理和副代理均可终止会话,其后主代理注销会话中副代理注册的MIB区域,并移去其声明能力、释放为其分配的索引。
AgentX在设计上达到了对网络管理站(NMS)透明和可动态扩展的目的,其中主要的几个方面是两段式set处理、索引分配、注册冲突仲裁和动态处理的协议操作机制。
(1) 两段式set处理。
为使AgentX结构对NSM透明,AgentX保持了SNMP的validate-commit两段式set处理机制。
(2) 索引分配。
为了实现在同一MIB表格中通过不同的行访问到不同的副代理中的信息,主代理必须负责提供没有冲突的索引。只要所有的副代理都统一遵从主代理分配的索引进行注册,就能保证不会发生注册冲突。
(3) 注册冲突仲裁。
当副代理想要注册重复或重叠的MIB区域时,作为AgentX结构中的管理者,主代理需要负责对副代理间的注册冲突进行仲裁,拒绝完全重复的注册,对于重叠的区域注册,采用的方法是,首先选择注册区域更确切(即注册MIB子树的OID更长)的副代理进行处理,然后按PDU中的优先级更高的处理。
(4) 动态处理机制。
AgentX的处理机制保证新加入的副代理随时可以向主代理申请建立会话,加入AgentX结构。由于协议也规定主代理与副代理都可以发出终止会话的报文AgentX Close PDU,因而,主代理可以将副代理移出AgentX结构,副代理也可以主动退出AgentX结构,进而主代理可以注销在该会话上注册的所有MIB区域、释放该会话上申请的所有索引对象、移去该会话上注册在sysORTable中的所有能力声明。对于出现异常现象的副代理,主代理可以依据建立连接时副代理发出的AgentX Open PDU中o.timeout字段,判断副代理的工作状态并在必要时终止会话,以保证协议操作不会长时间被阻塞。
2 AgentX报文结构分析
AgentX PDU的类型有以下18种:
agentx-Open-PDU(1), agentx-Close-PDU(2),
agentx-Register-PDU(3), agentx-Unregister-PDU(4),
agentx-Get-PDU(5), agentx-GetNext-PDU(6),
agentx-GetBulk-PDU(7), agentx-TestSet-PDU(8),
agentx-CommitSet-PDU(9), agentx-UndoSet-PDU(10),
agentx-CleanupSet-PDU(11), agentx-Notify-PDU(12),
agentx-Ping-PDU(13), agentx-IndexAllocate-PDU(14),
agentx-IndexDeallocate-PDU(15), agentx-AddAgentCaps-PDU(16),
agentx-RemoveAgentCaps-PDU(17), agentx-Response-PDU(18)
AgentX PDU与SNMP PDU不同,它不使用BER编码,而是直接以连续字节流传输。为了保证在字节流中的准确定位,AgentX协议在PDU的构成上采用32 b队列,即所有的AgentX PDU的长度必须是32 b的倍数,且包含一个固定的20 b的头,如图2所示。
其中,PDU中各组成部分:
(1) h.version:AgentX协议的版本号,目前为1;
(2) h.type:PDU类型的数值表示;
(3) h.flags:8比特掩码,掩码定义如表1所示;
(4) h.sessionID:惟一地标识主代理同副代理通信所使用的会话。该sessionID是由主代理在副代理请求创建会话时所分配的,并用于该会话上传输的所有PDU中;
(5) h.transactionID:用于标识SNMP请求,并且,由同一SNMP请求引发的所有AgentX PDU使用相同的transactionID;
(6) h.packetID:惟一地标识除Response PDU外的所有AgentX PDU,而Response PDU则使用与之对应PDU相同的packetID;
(7) h.payload_length:PDU中除去PDU首部外剩余部分的长度,为32 b整数。
3 主、副代理的实现
这里主、副代理均利用net-snmp的软件包进行二次开发。现将AgentX主、副代理的开发过程介绍如下。
主代理的开发过程:
(1) 编译、安装net-snmp软件包,生成snmpd;
(2) 编写snmpd.conf,与单一SNMP代理的配置文件的区别在于,用master agentx指定该代理为主代理,并用agentxsocket tcp:localhost:705指明主代理监听agentx登记和发送请求的套接口。
副代理的开发过程:
(1) 在net-snmp/agent/mibgroup中添加副代理程序(如myagentxmain.c)及副代理访问MIB区域的实现程序;
(2) 修改makefile文件,最后编译生成副代理myagentxmain;
(3) 编写副代理配置文件myagentxmain.conf(注意:配置文件名与副代理名相同),保险起见,在/etc/snmp、/usr/share/snmp、/var/net-snmp中均放入myagentxmain.conf来启动副代理。
其中,副代理程序中main()函数的工作流程如图3所示。
注:图3中的subagentname部分替换为所要加入的副代理的程序名,init_my_mib_code为所要加入的副代理的初始化函数名。
4 结 语
AgentX协议建立的这种框架结构,使代理的设计变得简单,同时副代理运行在不同的进程中,也增加了设备上SNMP系统的健壮性。本文研究了基于该协议的代理实现,很大程度上提高了网络设备的管理效率。
参考文献
[1]张劼,杨宗凯.AgentX及其在路由器网管模块中的应用[J].计算机应用研究,2001(6):120-122.
[2]魏燕,秦刘,朱明晖.AgentX协议及在ACR路由器中的实现方案[J].计算机工程与设计,2008,29(4):830-832.
[3]姜飞,史浩山,徐志燕,等.一种基于SNMP协议的主代理/子代理通信机制[J].计算机工程,2007,33(21):81-89.
[4]葛化敏,杨利青,郑静.基于NET-SNMP的嵌入式网络管理代理的开发[J].通信技术,2009,42(11):138-140.
[5]肖容梅,杜旭.基于AgentX主副代理网络管理模型的分析与改进[J].微型机与应用,2005(5):26-28.
[6]RFC2DENIELE M.RFC2471agent extensibility(AgentX)protocol[S].[S.l.]:RFC,2000.
[7]肖志彬.SNMP协议中多代理的研究与实现[D].成都:电子科技大学,2007.
[8]童有成.基于SNMP与AgentX的ForCES路由器网管代理系统的研究与实现[D].杭州:浙江工商大学,2007.
但公司的成人休闲服饰营收下滑并未改变,中高端战略转型困境依旧。其收购中高端休闲男装品牌GXG的计划泡汤后,与德国高端休闲服饰品牌Marc O'Polo签订的代理协议目标也较难达成。
目前,森马服饰的童装业绩表现亮眼,童装业务将成为森马服饰的未来战略重点。
成人休闲服销售不佳
森马服饰2013 年实现营业收入72.9 亿元,同比增长3.3%。其中成人休闲服饰收入为46.8亿元,同比下滑4%,占比65%。
作为国内休闲服饰的领军企业,森马服饰于2011年3月上市,首发市值达449亿元,一举超过美邦服饰和雅戈尔,拿下国内服装行业市值第一宝座。
但上市后,森马服饰的业绩和股价却呈一路下滑的态势。上市前的三年(2008年~2010年),森马服饰的营业收入分别为33.2亿元、42.5亿元和62.9亿元,同比分别增长82.3%、27.9%和47.9%;上市当年营收和净利润分别为77.6亿元和12.2亿元,增长率分别为23.4%和22.3%。随后,森马服饰的业绩一直在低谷徘徊,2012年~2013年营收仅分别为70.6亿元和72.9亿元,其中成人休闲服饰的营收仅分别为48.8亿元和46.8亿元,同比分别下降12.6%和4%。
休闲服饰销售状况持续不佳,森马服饰开始大规模关闭低效店铺。2011年森马服饰门店净增1400余家;而到了2012年,森马服饰在全国的门店(休闲服饰)已经达到4420家,2013年,这一数量变为4029 家。也就是说,2013年,森马服饰关闭门店近400家。
森马服饰休闲服饰类产品销售下滑的原因除了网购的冲击,来自洋品牌的冲击同样巨大。近年来,国外快时尚品牌优衣库、Zara、H&M相继进入国内发展,这些品牌除了设计、品牌等软实力远超国内品牌外,供应链系统的硬实力也远超国内同行。国内森马服饰和美邦服饰的供应链系统均处于较为领先的地位,其前导时间(产品从设计出来到销售的时间跨度)大概在2个月~3个月,而Zara和H&M的前导时间只要2周。
坎坷的中高端之战
面对成人休闲服饰的持续下滑,森马服饰在2013年动作频频,对代理、合资、收购等多种模式进行尝试,努力向中高端市场延伸,并加速布局多品牌战略。
2013年6月,森马宣布与宁波中哲慕尚签署了框架协议书,拟以19.8亿元~22.6亿元收购后者的中高端休闲男装品牌GXG71%的股权;2013年9月,森马服饰宣布与韩国视锬时装成立合资公司,运营视锬时装旗下“it MICHAA”品牌,并欲引入其他韩国品牌;2013年11月28日,又与德国高端休闲服饰品牌Marc O'Polo签订总代理协议。
然而,森马服饰在2014年春节后的第一个交易日便发布“解除购买股权框架协议”的公告,公司收购宁波中哲慕尚控股有限公司(GXG母公司)71%的股权交易正式终止。
收购中哲慕尚的失败让投资者的目光都聚集在与Marc O'Polo签订的总代理协议上。
协议显示,双方首次合作时间15年,Marc O'Polo 选择森马服饰作为中国(不包括香港、澳门和台湾地区)总代理,经营该品牌休闲服饰产品,授权森马服饰在区域内独家使用该品牌知识产权和商标,引入其特许经营体系。
除了代理权限的约定,协议对开店数量也做了细化,协议规定,第一年开设2 家Marc O'Polo特许经营店,第二年开设10家,到第五年开店数量为43 家。其中,第三年底前开设的所有特许店均应为公司直营店。
另外,协议对前5个合同年度内最低采购额也做出了详细规定:第一年320万元、第二年1600万元、第三年4000万元、第四年8000万元、第五年为1.36亿元。
这意味着到第五个年头,平均每家店的最低采购额将超过300万元,以目前森马服饰近40%的毛利率计算,平均每店的年销售额超500万元,而据2013年年报计算,森马服饰成人休闲服饰的单店销售额刚过100万元,森马服饰要想完成协议规定的目标,难度可想而知。
除了外延式扩张,森马也尝试通过提高自身的设计能力来提升品牌影响力。不过,目前其措施并未带来显著效果。
童装成为战略重点
森马服饰2013年财报显示,童装业务收入占比得到一定提升,收入规模达到25.4亿元,同比增长19.9%。
除了自身品牌巴拉巴拉,森马服饰还通过代理意大利中高端童装品牌Sa raba nda 和Minibanda进入更为细分的中高端童装市场领域。
目前,森马服饰旗下的童装品牌巴拉巴拉已经成为国内最大的儿童服饰品牌。对于国内的童装市场,业界普遍看好,资本市场给出的估值也高于一般成人品牌,这也是目前森马服饰的市值超过美邦服饰两倍的原因之一。
目前森马服饰也逐渐将投资重点转向儿童市场,希望凭借儿童服饰进入儿童用品市场。除了童装,森马服饰的母公司森马集团已经推出“梦多多”儿童业态品牌,未来儿童服饰由上市公司森马服饰主营负责,服装外的儿童用品业务则由梦多多主营。
儿童服饰的良好预期也吸引了越来越多的重量级玩家。Zara、H&M、优衣库等多家服装品牌均设置了儿童专区或童装店。而奢侈品牌Gucci、Dior等也在品牌旗舰店设立童装专区。随着重量级玩家的先后介入,未来童装市场的竞争也将加剧,然而对于现阶段的森马服饰而言,童装有着极其重要的战略意义,童装战略的成功与否将直接影响资本市场对其的估值。
甲方:______________________________
乙方:______________________________
乙方提供域名注册、虚拟主机台租用、internet主机托管、以及多媒体和互联网软件增值服务,甲方作为乙方业务的代理商,双方本着互惠互利并在遵守国家有关政策和法规的基础上,签定以下协议:
一、双方责任
甲方责任:
1.甲方应为域名及增值业务中所包含的业务及服务进行必要的宣传,并为用户提供基本的技术咨询;
2.如甲方开展乙方的增值类业务,且甲方采用虚拟主机方式建立自己的网站,则甲方需将该网站设置在乙方的服务器上;
3.甲方应按双方约定的管理流程与其发展的用户签定统一的业务申请表;
4.甲方应负责其发展用户的后续升级工作(即负责用户在________________________.com上所使用服务项目的增减);
5.甲方应负责其发展用户的基本技术支持工作,工作范围详细说明如下:
1)更改密码
2)修改集团电子邮箱名称
3)设置url转发
4)设置邮件转发
5)设置邮件自动回复
6)网站空间使用状态
6.甲方为其发展的用户提供除乙方域名及增值业务以外的服务,如homepage制作等,由甲方负责售后服务工作;
7.甲方和甲方发展的用户应遵守《中华人民共和国计算机信息网络国际互联网管理暂行规定》、邮电部《中国公用计算机互联网国际联网管理办法》和《中国互联网络域名注册暂行管理办法》等有关规定;
8.甲方应为其发展的用户开据全额发票,并承担相关税费;
9.甲方应执行乙方规定的统一资费及服务标准(资费及服务标准以乙方网站。________________.com公布的信息为准),浮动范围不能超过50%,否则必须经过乙方同意。
乙方责任:
1.乙方负责增值业务系统安全可靠的运行;
2.乙方保证对邮局数据进行每周备份,对web及数据库数据进行每天备份,并保存一周内的备份数据。
3.乙方负责域名注册系统的正常运行,为甲方发展的用户提供相关的技术支持(如电话、在线技术手册等),但不包括 ???甲方责任的内容;
4.为甲方及其发展的用户提供免费培训(地点:_______________________);
5.乙方负责制定相关的资费标准和服务标准;
6.乙方为甲方开据相应金额的发票,并承担相关税费;
7.乙方在收到甲方业务款后两个工作日内开通相应服务(不包括域名注册服务时间);
8.为甲方建立网站提供优惠(按甲方获得的代理价格),并提供必要的宣传。
二、违约责任
1.甲方如违反国家有关政策法规,乙方有权中止协议,并由甲方承担相应的责任;
2.如因甲方原因(如未按资费标准和服务标准提供服务、付款不及时等)造成用户争议,由甲方负责;
3.如因乙方原因,而非电信部门检修或其他不可抗力等原因(黑客攻击,政府部门由于某些原因封锁机房线路,地震等自然灾害……)造成虚拟主机服务中断或开通不及时,由乙方担负赔偿责任,具体赔偿方式:
一个月内,虚拟主机停机时间超过1天,补偿客户一个周的租用时间。
一个月内,虚拟主机停机超过3天,补偿客户一个月的租用时间。一个月内,虚拟主机停机超过1个周,免除客户1年的费用。
三、免责条件
1.因电信部门检修等原因造成服务中断的,双方互不承担责任;
2.因国家政策法规调整、自然灾害等不可抗力造成的服务中断,双方互不承担责任。
四、乙方信息
________________多媒体网络技术有限公司
地址:______________________________
邮编:______________________________
联系人:____________________________
电子邮件:__________________________
电话:______________________________
传真:______________________________
开户行:____________________________
帐号:______________________________
个人信用卡汇款方式
招商银行一卡通:__________ ???_________
中国银行长城卡:____________________
中国工商银行牡丹卡:________________
中国建设银行龙卡:__________________
邮局汇款地址:______________________
邮编:______________________________
五、代理价格
请mail致________________.com,获拨打电话____________________获取代理价格。
六、代理结算方式
服务类型结算方式
代理业务甲方需先交纳代理预付款不少于______元。甲方在代理网
站递交服务项目______小时后,乙方即将相关费用从甲方预付款中扣除。当甲方业务预付款不足以继续支付服务项目时,甲方需以支票、汇款或现金等形式将后续域名预付款汇入乙方指定帐号。乙方在收到甲方款项后的两个工作日内将发票寄出给甲方,并做相应的预付款确认以保证甲方正常的后续域名注册工作。______元的预付款不予退还,预付款后的款项在合作结束后全款退还甲方。
七、协议终止
1.一方需提前一个月向另一方提出终止协议的书面通知;
2.甲乙双方任一方违反本协议,且在______天内未能作出书面通知用以更正;
3.甲方的合并,解散等法人变更的原因;
4.甲方未按规定期限为其业务向乙方付费;
5.甲方停止经营本协议所涉及的业务;
6.甲方违反国家有关政策法规;
7.乙方违反国家有关政策法规。
八、协议附件
1.甲乙双方约定的开户管理流程
2.甲方的详细联系信息
3.甲乙双方的营业执照副本复印件(如果甲方是个人,则提供个人身份证复印件)
本协议内容以乙方网站上下载的协议内容为准,甲方如有异议,须以书面形式通知乙方,由双方协商解决。未经乙方同意,甲方私自修改的协议内容无效。
本协议一式二份,双方各执一份,未尽事宜友好协商解决,如有争议,可通过法律程序解决。
甲方:_____________________
代表:_____________________
________年_______月 ____日
乙方:_____________________
代表:_____________________
合同编号:[ ]
诉讼项目委托代理协议
(适用于一般风险代理方式)
本合同由以下双方于【
】年【
】月【
】日在中国【
】共同签署。
甲方:
负责人: 地址:
邮编:电话:0951--6036011
乙方:【
】律师事务所 法定代表人:
地址: 邮编: 电话:
鉴于:
1.甲方为清收债权,委托乙方为代理人,代理
纠纷案。
2.乙方是经合法注册,并具有相应资质的律师事务所,自愿接受甲方的委托。
为明确双方的权利义务,经双方协商一致,特签订本合同。
一、代理权限:
1、乙方接受甲方的委托,指派 刘海斌 律师为甲方与 纠纷案的一审、二审、执行阶段代理人。
2、乙方的代理权限以甲方签发给乙方的授权委托书为准。
3、代理期限自本协议双方签字盖章之日起直至全部代理事项完成为止。
4、乙方的代理目标为: 完成诉讼案件的全部阶段,完成项目的现金回收。
二、甲方的权利义务:
(一)甲方的权利:
1、乙方如有违反本协议行为的,甲方有权解除本协议,乙方已经收取的代理费应全部退还。
2、代理期限内乙方所代理事项未有实质性进展或乙方继续代理已无实际追回财产的可能,甲方视为乙方无能力完成代理事项,甲方有权解除本协议,乙方已经收取的费用应该全额退还甲方。
3、如案件上诉到最高院,甲方认为有必要更换二审代理人的,甲方有权解除本协议,并按本协议的相关约定向乙方支付代理费用。(注:该条只有在一审法院为省高院时才适用)
(二)甲方的义务:
1、甲方应如实向乙方陈述与委托事项有关的情况,提供与委托事项有关的文件、资料及必要的证据材料。
2、甲方应按照本协议第四条的相关约定向乙方支付代理费用。
三、乙方的权利、义务:
(一)乙方的权利:
1、乙方有权按照本协议第四条的相关约定收取代理费用。
2、甲方如有违反本协议行为的,乙方有权解除本协议。
(二)乙方的义务:
1、乙方在代理本案的过程中, 须尽职勤勉,最大限度的维护甲方合法权益;每季度向甲方书面通报案件进展情况;在诉讼结案后,整理案卷,移交甲方一份存档,并提交结案报告。
甲方:
乙方:
现甲、乙双方以中华人民共和国相关法律法规为准则,以平等互利为宗旨,经友好协商,就乙方在指定地区独家总代理甲方XX软件系列产品事宜达成协议如下:
1、甲方开发乙方市场所需要的XX软件版本,建立对应的官方网站和数据库服务器。
2、乙方以成都领房科技信息服务有限公司并负责设立办 公场地,以及投入与市场相关设备和人员,确保市场正常运行。
3、乙方向甲方缴纳2日内支付全额代理费。
4、为了扶持乙方的代理市场,甲方提供在自年日至年日止不进行用户收入分成。年5:5进行分成;采取月结方式,乙方于每月10号前支付上月分成款项。
第六条 服务保障
1、甲方有责任对乙方委派的人员进行软件产品方面的技术培训,相关的差旅费用由乙 方自行承担。
2、作为对乙方的支持,甲方提供3个工作日的现场培训和技术支持服务。乙方负责向 客户提供良好的产品售前、售中和售后服务,包括:安装、调试、培训、故障排除等,甲方给予相应远程技术支持和指导。
第七条 双方权利和义务
甲方
1、规范市场体系管理,提供技术支持及非保密技术支持文件。
2、对乙方销售负责人员提供产品培训服务。
3、有计划的开展广告宣传、活动推广并事先通知乙方予以配合。
4、监督乙方的经销活动。
5、提供乙方市场软件版本的升级与维护。
6、甲方有义务为乙方所在区域用户提供正规发票,由乙方支付国家规定相应的税费。
7、在乙方未违反合同相关条款时,甲方不得以任何理由提出终止合同。
乙方
1、乙方不得违反甲方制定的销售政策,不得扰乱甲方正常销售秩序。
2、乙方不得生产、代理与甲方产品有竞争关系的其他任何产品。
3、乙方积极推广该产品。
4、乙方用甲方提供的产品名称。
5、乙方严格遵守甲方的价格政策。
6、乙方在本协议指定地区内展开业务,不得跨地域销售。
7、乙方有保护甲方产品的义务,不得以任何形式泄露甲方的产品机密。
8、帮助甲方进行市场调查、搜集相关信息,及时反映顾客的要求和意见。以便甲方了解市场动态,调整产品市场定位及策略。
第八条 合同的终止
1、合同期限届满时,如乙方达到本协议规定的事项,未给对方造成不良影响及后果,甲方在该区域优先选择乙方作为下一个协议期间的区域总代理。
2、乙方如因经营确实有困难,在不影响甲方的正常经营和处理好用户情况下,有权提
前终止合同,不视为违约。但须提前一个月向甲方申请。
3、如因甲方原因要提前终止合同的,须双方确认同意,甲方须按代理费的双倍偿还乙方;因此给乙方造成损失的,甲方应承担相应的赔偿责任和法律责任。
4、如因乙方原因要提前终止合同的,或是由于乙方销售中出现问题影响公司正常业务开发或给公司造成损失的),乙方需向甲方结清所有甲方应得分成款项;因此给甲方造成损失的,乙方应承担相应的赔偿责任和法律责任。
第九条违约责任与纠纷解决
1、就分成方式甲乙双方以按月结算方式,如乙方在规定的期限内未给甲方结算,甲方有权终止合同,由此给甲方带来经济损失,甲方有权追究其法律责任。
2、所有款项来往均按规定执行,如对方在规定的期限内未作出结算,每逾期支付一天,违约方向对方支付逾期部分款项的千分之五作为逾期违约金,并有权终止合同。
3、双方应严格按照此协议规定履行相关条款,如双方在履行合同时发生纠纷,应尽量协商解决;协商不成,任何一方可提请到有关仲裁部门申请仲裁。
未尽事宜,双方协商解决,并以附件方式加入本合同,补充条款具有同等的法律效力。
甲方:甲方:
代表签字:
关键词:嵌入式微控制器,ARM,远程更新,以太网,TFTP,bootloader,NORFLASH固化
0引言
以太网以其高速、高效、高性能的优点, 已经在金融、商业和各种工矿企业得到了广泛应用。现在, 越来越多的微控制系统都设计了以太网通信接口, 这给软件的远程更新提供了有利条件。传统的ARM微控制器软件更新方式是通过现场对芯片编程或者将其回收编程来实现的[1]。在产品数量较多、产品分布区域较广的情况下, 采用该方式实现对软件的更新将耗费大量的人力和物力。因此, 实现远程更新就显得尤为重要。能进行远程更新的系统可以大大节省维护升级成本, 同时也能增强产品的竞争力[2]。
在实现远程更新便利性的同时, 也要保证微处理器的运行软件在完成更新之后能够正常启动并可靠运转。本文提出利用bootloader技术[3]对无操作系统运行环境下的微处理器的运行软件实现远程更新, 即开发一个bootloader程序来实现微控制系统开机启动后的远程通信和程序下载固化, 并启动所下载的新应用程序, 从而实现嵌入式系统软件的远程更新。Bootloader程序基于TFTP通信协议, 这样能充分提高对大文件的下载速度[4], 并有效地提高远程更新的可靠性。
1系统结构
ARM软件远程更新系统主要由以太网接口模块、微处理器模块以及存储器模块3个部分组成, 如图1所示。
微控制器选用具有ARM7内核的LPC2290。LPC2290没有片内FLASH, 其外部存储器模块分为NOR FLASH和RAM两部分。NOR FLASH选用2 MB SST39VF1601, RAM选用8 MB MT45W4MW16。以太网接口芯片选用的是DM9000E 10/100 M以太网控制器。另外, 将LPC2290的一个GPIO口连接一个按键, 作为升级请求按键;再选择一个GPIO口连接LED指示灯, 作为升级开始/完成指示灯。
2系统工作原理
将设计好的bootloader程序固化在从NOR FLASH起始地址开始的低地址区域, 剩余地址空间用于存放用户应用程序。系统通电启动后, 将从NOR FLASH引导运行。此时, bootloader程序将完成对LPC2290和RAM的初始化, 并将bootloader代码的剩余执行部分复制到RAM中运行;然后完成DM9000E的初始化, 接着打开LPC2290内部的定时器来检测升级请求按键是否被按下。如果在定时时间内检测到升级请求按键被按下, 则使指示灯闪烁一次, 表示升级开始。此时bootloader程序将通过TFTP协议向上位机服务器请求下载新的应用程序。接收到的TFTP数据包首先缓存在RAM中, 随后bootloader程序调用NOR FLASH擦除程序擦除用户应用程序地址段一个block的存储区, 然后将数据包的内容以字编程的方式固化在该存储区。将所有接收到的数据包固化到NOR FLASH之后, 程序退出与上位机服务器的TFTP通信, 然后点亮升级完成指示灯并跳转到用户应用程序的首地址, 开始执行新的应用程序。此时, 原来的应用程序已经被擦除, 并被新的应用程序所覆盖。若升级请求按键没有在定时时间内被按下, 则程序直接跳转到用户应用程序的首地址开始执行。
3系统硬件设计
对于系统微控制器LPC2290, BOOT[1:0]脚的状态控制着引导方式。这里选择将P2.27脚接下拉电阻, 使得复位时LPC2290的BOOT[1:0]状态值为01, 表示从Bank0引导启动。LPC2290含有外部存储器控制器EMC。EMC是一个AMBA AHB总线上的从模块, 它为AMBA AHB系统总线和外部存储器器件提供了一个接口。该模块可同时支持多达4个单独配置的存储器组, 每个存储器组都支持SRAM、ROM、FLASH存储器或一些外部I/O器件[5]。
3.1 以太网接口电路设计
LPC2290使用16位总线方式对DM9000E进行控制, 并使其工作在100 M全双工模式下。以太网接口电路如图2所示。LPC2290的数据总线D0~D15与DM9000E的SD0~SD15连接, 地址线也相应连接。LPC2290的片选线CS3与DM9000E芯片的AEN端连接, LPC2290的地址线A2与DM9000E芯片的命令/数据使能端CMD连接。这样, 结合片选线得到的DM9000E的地址端口的32位地址为0x83000300, 其数据端口的32位地址为0x83000304。
3.2 存储器接口电路设计
对于LPC2290与SST39VF1601的接口电路, LPC2290的片选线CS0与SST39VF1601的
对于LPC2290与MT45W4MW16的接口电路, 由于MT45W4MW16也是采用16位总线接口, 所以使用LPC2290的地址总线A1~A23与其连接。LPC2290的片选线CS1与MT45W4MW16的
4系统软件设计
所设计的bootloader程序主要完成系统初始化、开始TFTP通信、对FLASH进行擦写操作和执行程序的跳转等功能。整个软件的工作流程如图3所示。
4.1 系统初始化程序
系统初始化程序依次完成对外部总线控制器的初始化、对堆栈的初始化、对定时器配置和对DM9000E网卡芯片的初始化。实现对DM9000E网卡芯片的初始化必须通过设置DM9000E网卡芯片内部的寄存器才能完成。通过如下几个读端口与写端口的宏定义:
分别实现了DM9000内部寄存器读函数DM9000_regr () 和DM9000E内部寄存器写函数DM9000_regw () , 并由eth_init () 函数完成对DM9000E网卡芯片的初始化。DM9000E网卡芯片的初始化流程:首先复位DM9000E网卡芯片, 延时1 ms后激活DM9000E内部PHY的功能, 然后设置PHY的工作模式;清除状态标志位, 清除中断标志位;设置DM9000E的MAC地址;使能DM9000E的接收功能;中断使能;最后延时等待初始化完成。
系统初始化完成之后程序进入定时检测按键状态阶段。在所设定的5 s定时时间内, 系统循环检测与升级请求按键相连的GPIO口的输入电平状态。如果检测到低电平, 程序将进入TFTP通信模块。
4.2 TFTP通信模块程序
TFTP即简单文件传输协议, 是一种基于UDP 的传输协议, 比FTP协议简单和短小, 因此, 更有利于在存储资源相对较少的嵌入式系统中使用。TFTP协议同样分为客户端和服务器端, 将嵌入式目标平台作为客户端, 远程PC作为服务器端。除了需要实现应用层的TFTP协议之外, 还需要实现数据链路层的ARP协议, 用以获得远程PC的MAC地址, 以及网络层的IP协议和传输层的UDP协议。
TFTP共有5种类型的报文:RRQ、WRQ、DATA、ACK和ERROR[3]。每个TFTP数据报的前面添加8 B的UDP首部形成UDP报文, UDP报文的前面添加20 B的IP首部形成IP数据报。将通过TFTP协议下载新的应用程序的过程设计成客户端从服务器端读文件的过程, 其大致流程:首先, bootloader程序在进入TFTP通信模块后, 将向远处PC服务器发送读请求RRQ的TFTP数据报。该数据报包含需要读取的二进制文件名和文件模式, 这里设置文件模式为octet。如果这个文件能被这个客户端读取, PC服务器端将返回块编号为1的数据分组DATA。客户端将发送块编号为1的ACK, 确认收到数据分组。服务器端随后发送块编号为2的数据, 客户端发回块编号为2的ACK。重复该过程直到这个文件传送完毕。除了最后一个数据分组可能含有不足512 B的数据外, 其它每个数据分组均含有512 B的数据。当客户端收到一个不足512 B的数据分组时, 说明文件读取完毕。随后, 程序将退出TFTP通信模块, 进入跳转子程序。跳转子程序由汇编语言编写, 直接对ARM的程序指针PC进行操作, 完成程序的跳转, 执行新的应用程序。
由于TFTP基于不可靠的UDP协议, 因此, 必须在程序中添加能够保证数据有效传输的机制来及时处理分组丢失的情况。在程序中设置了定时机制来达到超时重传的目的, 这样能有效提高远程更新的可靠性。为了能够同时完成对多个客户端的软件升级, 程序中采用了随机端口机制, 即每个客户端采用随机端口号。
4.3 NOR FLASH操作模块程序
在TFTP通信模块程序中, 每收到一个DATA数据分组, 程序将调用NOR FLASH操作函数实现对数据包的FLASH固化。由于所设计的bootloader程序需要固化在NOR FLASH的起始地址, 且因为其大小小于64 KB, 因此, 对NOR FLASH的存储空间作了如图4所示的布局。通过TFTP接收到的数据包将被固化在从0x80010000地址开始的地方, 新的应用程序将覆盖旧的应用程序。在跳转子程序中就是将程序指针PC指向该地址, 从而开始执行新的应用程序。
NOR FLASH操作模块程序中实现了FLASH擦除函数flash_erase () 和FLASH编程函数write_word () 。在对NOR FLASH编程之前, 首先要擦除NOR FLASH。NOR FLASH擦除分为扇区擦除、块擦除和整片擦除。程序中选用块擦除方式。对SST39VF1601的擦除步骤:首先写2个解锁周期, 即在地址0x5555写入0x00AA和在地址0x2AAA写入0x0055;紧接一个设置周期, 即在地址0x5555写入0x0080;接着还是写2个解锁周期;最后一个总线周期向要擦除的块地址写入0x0050, 然后等待擦除的完成。对SST39VF1601的编程采用字编程写入方式, 分4个总线周期完成, 具体步骤:首先写2个解锁周期, 即在地址0x5555写入0x00AA和在地址0x2AAA写入0x0055;紧接一个设置周期, 即在地址0x5555写入0x00A0;第四个周期向要写入的地址写入数据, 然后等待编程的完成。
5结语
提出了一种基于TFTP协议的ARM软件远程更新方案, 设计并实现了远程更新系统。该系统充分利用了以太网的传输能力和其便捷性。通过实验测试, 基于TFTP协议的ARM软件远程更新系统能够保证数据的正确传输和存储。该系统的实现使得对嵌入式系统软件的升级维护难度大大降低, 具有较好的应用前景。
参考文献
[1]栗欣, 周东辉, 孙晓苗, 等.单片机程序远程升级的设计[J].微计算机信息, 2006, 11 (2) :75-77.
[2]姜小梅, 李祥和, 任朝荣, 等.基于ARM的IAP在线及远程升级技术[J].计算机应用, 2008, 28 (2) :123-125.
[3]单承刚, 戴学丰, 刘树东, 等.基于ARM的嵌入式Bootloader设计与启动过程[J].微计算机信息, 2006, 11 (2) :139-142.
[4]汪小燕, 连晓平, 董燕, 等.基于TFTP协议的嵌入式系统开发方法设计与实现[J].华中科技大学学报:自然科学版, 2006, 34 (12) :56-58.
[5]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社, 2005.
I2C总线协议
1.协议概述
I2C总线仅占用系统的两个I/O口,一条作为串行数据线SDA,一条作为串行时钟线SCL,线上外加上拉电阻,在不传数据时SCL、SDA总保持高电平。连在每一个总线上的器件都有一个唯一地址,它们彼此之间只有简单的Master/Slaver关系:
Master:控制时钟线,产生启动信号、时钟信号、停止信号。控制线上的发送和接收节奏。
Slaver:处于从机地位,按SCL线上的时钟接收SDA线上的数据或发送数据到SDA线上。
它是个真正的多主控总线方式,如果有两个或两个以上Master同时有数据传送请求时,通过检测发出去的数据是否和SDA线上的数据相同来判断是否发生冲突,数据不同将放弃此次传输,通过这种冲突检测、仲裁机制可以防止数据冲突。
I2C总线要求所有连在I2C总线上的器件都必须是开漏或开集输出,用以实现线与的功能,可使不同Master产生的时钟同步,也解决Master和Slaver之间速度不匹配问题。I2C总线的传输速度:标准模式可达100kbit/s,快速模式可达400kbit/s,高速模式可达3.4Mbit/s。
2.协议规范
I2C总线数据传输时序图见图1、图2,其中,图1为写模式时序,图2为读模式时序。其协议规定:数据以字节为单元,每字节8位,SCL的每一时钟脉冲发送一位,先高位后低位。应答位紧跟每个字节之后。接收数据是在时钟的高电平期采样数据,所以改变SDA线上的数据必须在时钟的低电平期,数据在时钟的高电平期应保持不变,正是数据传输的这个特点,I2C总线利用SCL高电平时改变SDA来作为开始(start)和结束(stop)命令。
开始命令信号(start):在SCL为高电平时,产生一个1→0跳变,表示开始一个数据传输周期。
结束命令信号(stop):在SCL为高电平时,产生一个0→1跳变,表示结束一个数据传输周期。
从机地址(Slaver address):每个I2C总线上的器件都有唯一的地址。这个地址分固定部分和可编程部分,同类器件的固定地址相同,因为有可编程部分,所以允许有多个同类或相同器件放在同一总线上。从机地址必须紧跟start命令信号之后,与读写指示位组成一个字节发送。I2C线上所有处于从机地位的器件在接到start信号后的第一字节后检查是否和自己的地址相符,如果相符发送应答信号(在SCL的第9个时钟维持SDA线为低电平),不符,仍保持自己SDA口输出为高。I2C总线也支持10位地址,本文主要讨论7位地址方式。
读写位(R/W):读操作,此位置1;写操作,此位置0。
应答位(ACK):每字节后紧跟的第一个时钟对应的SDA数据,这个数据也必须在时钟高电平期维持不变。
无论是读模式还是写模式都是相对Master来定义的。
当Master处于写模式:即Master要向Slaver送数据。Master先发start信号;紧跟着发送7位Slaver地址和读写指示位0;Slaver确认地址和自己相符后置应答位SDA为低电平,并判断读写位,准备接收数据,若地址不符置高电平;Master检查应答位为高,发送stop信号结束此次数据传输周期, 如果为低,继续发送数据,Slaver每接收一字节数据,发送一低应答信号,Master检查到低应答信号后才继续发送下一个字节数据,否则发送stop信号停止发送;当Master数据发送完毕后,也会自动发送stop信号停止此周期传送。时序见图1。
当Master处于读模式:即Master要读Slaver数据。Master先发start信号;紧跟着发送7位Slaver地址和读写指示位1;Slaver确认地址和自己相符后置应答位SDA为低电平,并判断读写位,准备数据发送,若地址不符置应答位为高电平;Master检查应答位为高,发送stop信号结束此次数据传输周期,如果为低,继续发送时钟信号,Slaver按SCL上的时钟将数据放到SDA上,每当Master接收到一字节数据后,发送低应答位给Slaver,Master要停止接收,发送高应答位给Slaver,告诉Slaver不再接收数据,然后发stop信号结束此次数据传输周期。时序见图2。
I2C总线接口的软件实现
本文给出的I2C总线接口程序流程图为在I2C总线上处于Master地位的总线接口程序。程序入口参数:HDADDS(从机地址右移1位)、 FLRW(读写标志位)、REF(存放发送/接收参数在RAM中存放的首地址,数据由高地址到低地址读取或存放)、 SDRVCT(发送参数的个数,不包括HDADDS)。图3为程序流程图,在本刊的网站上给出了具体程序,供读者参考。
I2C总线硬件设计
在硬件电路设计中应注意以下几点:
(1)I2C总线驱动能力和连在总线上的器件的等效电容有关,也就是说所有连在总线上的器件产生的电容负载不能超过400pF。
(2)在I2C总线上,如果所接器件的I/O口的输入电平逻辑判断固定为1.5V和3V,与该芯片的供电电压无关,则该器件在I2C总线上可独立供电,此时I2C的SDA和SCL经上拉电阻连接到5V±10%;如果所接器件的I/O口的输入电平逻辑判断和该芯片的供电电压有关,那么它们必须统一接到相同的供电电压上,且I2C的SDA和SCL必须经上拉电阻也连接在这电压上。图4给出I2C总线上混合这两类器件的电路连接。图中的右边两个为输入电平和供电电压无关的器件,左边两个为输入电平和供电电压有关的器件。
结束语
【软件代理协议】推荐阅读:
代理软件产品协议12-04
软件地区总代理协议书05-29
软件销售代理合同11-22
代理记账软件使用手册09-25
MSN 设置代理教程软件教程07-19
软件著作权代理委托书11-02
联创代理协议06-26
门业代理协议10-28
学生代理协议11-26
招生代理协议三06-08