韩典伯 关红磊
摘 要:近年来,随着互联网技术的兴起,越来越多的互联网企业、电商平台将应用程序作为盈利的主战场之一,目前,Android平台和IOS平台的应用程序数量早已超百万,用户移动终端上安装的应用程序也越来越多。然而,这些应用程序在给用户带来便利的同时,也带来了安装的困扰。因为,不同操作系统的应用程序的安装包的格式不同。因此,为了消除不同操作系统之间的兼容性问题,方便、快捷地实现跨平台安装应用程序成为每个互联网公司的必修课,我们作为终端用户,在日常生活中对上述问题也深有体会。本文从专利角度触发,通过检索、统计、分析了程序加载领域的专利申请,对程序加载领域的专利申请状况和技术发展路线进行了梳理,有助于该领域专利的检索和审查工作。
关键词:程序加载;技术演进;专利分析
一、前言
程序加载,即把硬盘上的有用程序调到内存中的整个过程,一般来说,在我们启动程序或安装程序时都会有加载。程序加载领域与计算机、智能电子设备的发展同样的密不可分的,因为电子设备是程序的载体,只有电子设备发展到了一定的高度,才会催生出程序,因而,才会涉及到程序加载这一技术问题。因此和其他一些基础学科相比,这一技术领域起步较晚,在国际上相关技术内容的专利申请是从2000年左右开始出现的。
历经将近二十年的发展和变化,随着各种程序依托的载体逐渐由旧式的台式电脑转化为现在的便携式智能电子设备,程序加载技术也在不断的发展和改良。程序加载领域的专利申请没有特别清晰的技术分支,但是各种程序加载技术所要解决的问题以及所要取得的技术效果却没有太大的变化,简而言之,大部分程序加载相关的专利申请离不开两方面的改进:一类是与软件相关的,具体可以为操作系统的加载、云计算以及面向对象编程等;另一类是与对硬件相关的,具体可以为外围设备的加载以及驱动加载等。下面将按照程序加载领域的专利申请所包含的大致范围进行分类来对本领域的技术发展情况进行概述。
二、程序加载技术大致分类
(一)操作系统加载
操作系统是台式机,笔记本电脑或者个人数字助理(PDA)一类的计算机系统的基础,它同时管理计算机系统的硬件和软件资源,比如CPU,内存,设备驱动和存储器。此外,操作系统提供允许用户与计算机系统进行通信和交互的用户接口。操作系统的另一个重要功能是提供应用程序与计算机系统之间通信和数据交换的标准,它通常被称为应用程序接口(API)。操作系统的例子有Windows、Linux、IOS和Android等。
通常情况下,操作系统在加载到随机存取存储器(RAM)之前保存在计算机系统的硬盘上。因此,安装在具体计算机系统上的操作系统是不可移动的。此外,为了达到想要的设置,用户必须在每个计算机系统上配置操作系统。
以Android或者Linux操作系统为平台的智能设备中,一般包括多个分区。以Android操作系统为例,其包括:快速启动fastboot分区(负责启动boot)、内核kernel分区(负责启动kernel系统)、系统system分区(负责存储系统文件)、用户数据userdata分区(负责存储用户数据)、以及缓存cache分区(负责存储系统缓存)等,以控制智能设备的硬件。
(二)驱动加载
随着移动终端和互联网的发展,人们越来越多地通过将手机、平板电脑等终端设备与计算机连接的方式来接入因特网,从而获取各种各样的信息,进而享受更加丰富的游戏、娱乐、影音、社区群体等移动互联网业务和应用。
现有的技术中,以安卓Android终端为例,在Android终端与计算机通信之前,必须在计算机上先安装好相应的驱动程序,然后Android终端才能与计算机正常通信;当计算机上没有相应的驱动程序时,就无法进行连接了,造成用户的不便。
目前,公知的驱动加载有两种方式:1、静态加载,即把驱动程序直接编译进内核;2、动态加载,即把驱动和内核独立开来,在需要的时候手动加载驱动到内核中去。
在一般的桌上型计算机或是笔记型计算机中,都会安装有显示卡来实施显示功能,在计算机开机时,计算机包含的韧体所烧录的基本输出输入系统会被读出至内存,以使得计算机的中央处理单元可读取并执行内存上的基本输出输入系统来执行所述计算机的大部分主要功能,其中所述主要功能即包含有所述显示卡的驱动功能,如此一来,可在计算机开机后透过上述各接口来驱动显示卡,来执行显示卡的显示功能。
(三)云计算
随着云计算的兴起,计算机领域正发生着深刻的变革。我国云计算服务市场处于起步阶段,云计算技术与设备已经具备一定的发展基础。我国云计算服务市场总体规模较小,但追赶势头明显。具Gartner估计,2011年我国在全球约900亿美元的云計算服务市场中所占份额不到3%,但年增速达到40%,预期未来我国与国外在云计算方面的差距将逐渐减小。
总结起来云计算具有以下几个特点:(1)超大规模,“云”能赋予用户前所未有的计算能力;(2)虚拟化,云计算支持用户在任意位置、使用各种终端获取应用服务;(3)高可靠性,“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性;(4)通用性,同一个“云”可以同时支撑不同的应用运行;(5)高可扩展性,“云”的规模可以动态伸缩,满足应用和用户规模增长的需要;(6)按需服务,“云”是一个庞大的资源池,你可以按需购买;(7)极其廉价,由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。
随着云计算的发展,国内外推出的云管理平台在资源管理、数据处理、运行监控和交互处理等方面都在近年来取得了快速的发展。在云管理平台交互处理方面,虽然目前国内外关于云管理的研究尚处于起步阶段,未能形成系统的解决方案,但是各大云计算厂商以及开源社区都从不同角度对云管理智能化技术做出了积极的探索。
(四)面向对象编程
面向对象编程是一种计算机编程架构。OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。
在面向对象方法中,对象和传递消息分别表现事物及事物间相互联系的概念。类和继承是适应人们一般思维方式的描述范式。方法是允许作用于该类对象上的各种操作。这种对象、类、消息和方法的程序设计范式的基本点在于对象的封装性和类的继承性,通过封装能将对象的定义和对象的实现分开,通过继承能体现类与类之间的关系,以及由此带来的实体的多态性,从而构成了面向对象的基本特征。
Android操作系统发展迅猛,HTML5技术也日趋成熟,为了在Android系统中更好地支持网页应用,需要扩展其对网页接口的支持,实现在Android系统中扩展浏览器本地接口。传统的浏览器本地接口扩展方法一是针对不同的操作系统需要在不同的平台源码环境中进行重复编译开发,二是接口形式单一,无法满足网页开发对JavaScript接口的需求。
参考文献:
[1]方大寿.《软件技术基础》.天津大学出版社,2005年2月。
[2]汪作文.《软件工程》.重庆大学出版社,2004年8月。