CN1658608B - 用于提供可修改通用应用内容的系统和方法 - Google Patents

用于提供可修改通用应用内容的系统和方法 Download PDF

Info

Publication number
CN1658608B
CN1658608B CN200510064076.1A CN200510064076A CN1658608B CN 1658608 B CN1658608 B CN 1658608B CN 200510064076 A CN200510064076 A CN 200510064076A CN 1658608 B CN1658608 B CN 1658608B
Authority
CN
China
Prior art keywords
supply
content
terminal
api
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200510064076.1A
Other languages
English (en)
Other versions
CN1658608A (zh
Inventor
布赖恩·R·戈林
迈克尔·谢菲尔德
菲拉·比布尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maliki Innovation Co ltd
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN1658608A publication Critical patent/CN1658608A/zh
Application granted granted Critical
Publication of CN1658608B publication Critical patent/CN1658608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种用于提供可修改通用应用内容的系统和方法。无线通信(OTA)供应的现有技术典型包括一组适于传送固定内容类型的严格操作。终端上的运行时间环境被设计用于处理有限的一组预定内容类型,并且不能处理由内容提供商或发行商提供的任何内容自适应或定制供应。提出了一种系统和方法,用于在终端的运行时间环境上的应用程序的可修改供应。该应用包括通用应用内容。一种方法包括配置包括通用API的供应API组的步骤,以便由通用应用内容的至少两种不同内容类型寻址该通用API;获得关于所选的通用应用内容的内容类型的启用器,以便该启用器配置用于根据所选的应用内容来执行用于通用应用内容的供应指令请求;以及通过使用启用器来访问该通用API,通用应用内容的供应部分具有所选应用内容。

Description

用于提供可修改通用应用内容的系统和方法
技术领域
本申请涉及在终端上的应用的供应。
背景技术
现今使用的终端的数量在持续增长,如移动电话、具有无线通信能力的PDA、个人计算机、自动服务亭(self service kiosk)和双向寻呼机。在这些终端上运行的软件应用提高了终端的效用。例如,移动电话可以包括检索若干城市天气情况的应用,或PDA可以包括允许用户到食杂店购物的应用。为了给用户提供及时和有用的服务,这些软件应用具有到网络的连通性的优点。然而,由于某些终端的资源有限,以及向终端传递大量用于处理的数据的复杂性,发展和维护软件应用的数据处理的能力还存在困难和耗时的工作。
用于无线通信(over-the-air)(OTA)供应的现有技术典型包括适于传递固定内容类型的一组严格(rigid)操作。终端上的运行时间(runtime)环境设计用于处理一组受限的预定内容类型,以及不能处理内容提供商或发行人的任何内容自适应或定制的供应。常规的供应处理典型由软件执行,该软件包括下载内容和安装步骤的特定知识。由于这种内置的知识,向内容提供商和设备用户提供一种不灵活的“一种尺寸适合所有(one size fits all)”模型。该方法的局限包括:不能处理任意的内容;不能利用新的特性来动态地扩展已有的应用;以及没有基于内容类型和/或需求来提供定制供应的能力。
披露了一种通用应用内容的可修改(adaptable)供应的系统和方法,以消除或减轻至少部分上述现存的缺陷。
发明内容
用于无线通信(over-the-air)(OTA)供应的技术的现有状态通常包括一组适于传递固定内容类型的操作。终端上的运行时间环境设计用于处理一组受限的预定内容类型,以及处理内容提供商或发行人不能进行任何内容自适应或定制的供应。该方法的局限包括:不能处理任意的内容;不能使用新的特性来动态扩展已有的应用;以及没有基于内容类型和/或需求提供定制供应的能力。与当前的供应系统相反,提供了用于在终端的运行时间环境上提供应用程序的可修改供应的系统和方法。该应用包括通用应用内容。一种方法包括:配置包含通用API的供应API组的步骤,以便通过通用应用内容的至少两种不同内容类型对通用API进行寻址。该方法还获取关于所选的通用应用内容的内容类型的启用器(enabler),以便该启用器被配置用于根据所选应用内容来执行请求通用应用内容的供应指令。最后,根据该方法,通过使用启用器访问通用API,来供应包含所选应用内容的通用应用内容部分。
披露了一种用于在终端的运行时间环境上提供应用程序的可修改的供应的方法,该应用包括通用应用内容。该方法包括步骤:配置包含通用API的供应API组,通过通用应用内容的至少两种不同内容类型对该通用API进行寻址;获取关于所选通用应用内容的内容类型的启用器,该启用器被配置为根据所选应用内容来执行请求通用应用内容的供应指令;及通过使用启用器访问通用API供应来提供包含所选应用内容的通用应用内容部分。
还提供了一种终端,该终端用于在运行时间环境上提供应用程序的可修改的供应,该应用包括通用应用内容。该终端包括:处理框架,用于获取应用内容;供应API组,包括包含在该框架中的通用API,通过通用应用内容的至少两种不同内容类型对该通用API进行寻址;与所选通用应用内容的内容类型相关的启用器,该启用器配置用于根据所选应用内容来执行请求通用应用内容的供应指令;以及供应模块,用于通过使用启用器访问通用API供应来供应包含所选应用内容的通用应用内容部分。
还提供了一种计算机程序产品,用于在终端上提供应用程序的可修改的供应,该应用包括通用应用内容。该计算机程序产品包括:计算机可读介质;存储在计算机可读介质上的处理框架模块,用于获取应用内容;连接到该框架模块的供应API组模块,该组模块包括通用API,通过通用应用内容的至少两种不同内容类型对该通用API进行寻址;连接到该框架模块的扩展模块,该扩展模块配置用于具有关于所选通用应用内容的内容类型的启用器,该启用器配置用于根据所选应用内容来执行请求通用应用内容的供应指令;以及供应模块,用于通过使用启用器访问通用API来供应包含所选应用内容的通用应用内容部分。
附图说明
在下面参考示例附图的详细描述中,这些和其他的特征将变得更加清楚,其中:
图1是网络系统的方框图;
图2是图1的通用终端的方框图;
图3显示了图2的终端的处理框架;
图4是图3的API的供应服务介绍(presentation);
图5解释了图3的框架的启用器插入式(plugin)SPI;
图6解释了通过用于图4的服务的供应指令的供应处理;及
图7解释了图6所示的应用供应步骤的改进。
具体实施方式
网络系统
参考图1,网络系统10包括:多个终端100,用于通过例如但不限于因特网的相连的广域网(WAN)104,由服务器106访问的一个或多个应用服务器110进行交互。这些通用终端100可以是但不限于例如个人计算机116的有线设备、无线设备101、PDA、自动服务亭等。服务器106通过消息105提供应用程序107的访问。系统10向终端100提供供应应用程序107的内容的能力,例如但不限于利用结构化定义语言(例如,XML)表达、具有任意关联的供应指令124,供应指令124用于与由处理框架206的供应服务308使用的各种供应应用程序接口(API)122进行交互(参见图2和3)。供应指令124表示适合终端100上的应用107希望执行的定制的供应方案。指令124可以是代码/脚本和/或供应数据,例如XML定义。
应用107的内容可以根据相关联的定制供应指令124在终端100上供应,例如但不限于由内容提供商(例如服务器110)或发行人(未示出)提供。因此,该内容具有供应控制,有助于通过相关联的供应指令124指定需求和应用107供应的动作。此外,框架206通过识别内容供应控制和定制要容纳的框架的供应处理来共享应用107的供应控制。框架206提供根据需要请求供应API122的能力,并寻址适于应用107的内容类型的API122。框架206可以是集合供应、存储以及评价应用107的协作模块的联合(union)。
可以本地(终端100存储器)或远程地检索由供应指令124请求的应用API122,例如从通过知识库(repository)服务器108访问的API知识库/数据库126。可选的,远程服务器106可以根据要求或结合应用107的传递,将供应API122与应用107的供应指令124的定制的API122相结合的推到终端100。可以认识到XML仅表示一种可以用来定义应用107的内容的结构化定义语言的例子。其他的语言例子可以包括但不限于:HTML、XHTML、XSML、RDF、机读目录(MARC)和多用途的网际邮件扩充协议(MIME)。可以认识到系统10适合任何XML定义的应用107的范围,结合终端100,可以在连通性、存储器和/或存储方面进行限定。认识到可以由供应例如网页服务的方案定义服务的服务提供商118来实现服务器106、108、110。一种单一的环境可以在单一计算机系统中或交叉多个计算机系统中提供所有服务器106、108、110的功能。
系统10运行,以便应用107和框架206可以具有分离但有效连接的供应处理的供应控制(例如,应用供应情报(intelligence))。情报的第一区域具有应用107的内容,有利于规范通过供应指令124的供应的请求和操作。剩余的情报关于框架206,提供了供应服务308和相关联的供应API 122(见图3)。可选地,框架206还可以包括扩展模块314,扩展模块314允许引入对指定API122的访问,该API122用于供应与应用107相关的内容类型。根据所选的供应指令124,应用107和框架206的共享供应控制是可修改的,且相应选择的供应API122可用于系统10的网络104。
此外,认识到系统10还可以包含网关服务器112,用于通过局域网(LAN)114连接桌上型电脑终端116到服务器106。此外,系统可以包含无线网络102,用于连接无线设备101到WAN104。认识到其它的终端和计算机(未示出)能够通过WAN104和不同于图1所示的相关联的网络被连接到服务器106、108。为了简化的原因,在下文中把通用终端100、无线设备101和个人计算机116称作终端100。此外,为了简化的原因,系统10的网络102、104、112在下文中被称作网络104。认识到如果希望,能够按照各种配置来组合多个服务器106、108、110和/或服务器106、108和/或110的功能。
通用终端
参考图2,终端100是例如但不限于移动电话(或其他无线设备)、PDA、双向寻呼机或双模式通信终端。终端100包括网络连接接口200,例如无线收发信机或有线网路接口卡或调制解调器,通过连接218被连接到终端基础结构204。连接接口200在终端100操作期间可连接到网络104,例如通过如IR链路、RF链路等(见图1)连接到无线网络102,通过网络104可以使终端100与外部系统(如服务器106-见图1)相互通信以及在终端100和服务器106、110之间协调请求/响应消息105。网络104支持在终端100和与网络104相连的外部系统之间的请求/响应消息105中供应API122的传输。网络104还可以支持用于终端100和网络104之外的终端之间的电话呼叫的语音通信。无线网络102可以使用无线数据传输协议,例如但不限于DataTAC、GPRS或CDMA。
再次参考图2,终端100还具有通过连接222连接到终端接口20的4用户接口202,使与用户(未示出)间的相互作用更为容易。用户接口202可以包括例如但不限于QWERTY键盘、小键盘、导航键(trackwheel)、指示笔、鼠标、麦克风的一个或多个用户输入设备和如LCD屏幕显示器和/或扬声器的用户输出设备。如果屏幕是触摸敏感的,则显示器也可以用作由终端基础结构204控制的用户输入设备。用户输入接口202由终端100的用户使用以协调当由处理框架206使用时系统10上(见图1)的请求/响应消息105。
再次参考图2,终端100的操作由终端基础结构204启用。终端基础结构204包括计算机处理器208和相关的存储模块210。计算机处理器208通过执行由操作系统提供的相关指令来操纵网络接口200、用户接口202和通信终端100的框架206的运行;计算机处理器208可以包括一个或多个处理元件,处理元件可以包括一个或多个通用处理器和/或专用处理器(例如,ASIC、FPGA、DSP等)。此外,可以认识到,终端基础结构204可以包括连接到处理器208的计算机可读存储介质212,用于提供指令到处理器来加载/更新客户应用程序107、供应指令124和供应API122。计算机可读介质212可以包括硬件和/或软件,如仅作为例子的磁盘、磁带、如CD/DVD ROM的光可读介质和存储卡。在每种情况中,计算机可读介质212可以采用小盘(smalldisk)、软盘、盒式磁带、硬盘驱动器、固态存储卡或在存储模块210提供的RAM的形式。应当注意,所列的上述计算机可读介质212例子可以单独使用或混合使用。
处理框架
参考图3,框架提供了供应服务308和相关的供应API122。框架206还包括扩展模块314,扩展模块314允许引入指定API122的访问,该API122用于供应与应用107相关的内容类型。客户运行时间环境由处理框架206提供。多个这样的运行时间环境对给出的终端100的处理框架206的使用来说是可用的。终端100的框架206通过连接220连接到基础结构204,并且是处理器208的功能性的接口以及基础结构204的相关操作系统到终端100的接口。优选地,终端100的客户运行时间环境能够在终端100上产生、主持(hosting)和执行客户应用程序107;如果多个运行时间环境是可用的,选择其中特定的一个用于给定的应用程序107。此外,客户运行时间环境的具体功能能够包括例如但不限于:支持语言的服务框架304、协调存储器分配、联网、I/O操作期间的数据管理、协调在终端100的输出设备上的图形以及提供到核心面向对象类的访问和支持文件/库。由终端100实现的运行时间环境的例子可以包括例如但不限于:Microsoft的CommonLanguage Runtime(CLR)和Sun Microsystem的Java RuntimeEnvironment(JRE)。认识到处理框架206的组件可以包括软件、硬件或其组合。
处理框架206管理应用107供应、检索以及从终端100的运行时间环境的去除。处理框架206提供了动态管理供应API122的能力。认识到供应应用107的内容的控制可以分布在通过供应指令124的应用107和框架206的供应服务308之间,利用应用107情报和框架206情报表示此分离。进行了这种分离,应用107不再被限制在一般预先印刻(imprint)在终端100上的静态供应过程的供应过程。
框架206供应控制负责识别应用107供应情报并定制要容纳的供应处理。框架206提供了请求合适的供应API122的能力,并利用应用107的特定内容类型对那些API122进行寻址。框架206的特定操作可以包括例如但不限于:识别应用107的内容所需的API122(例如由供应指令124指定的);在终端100上或通过网络104查找API122;如果需要就从特定远程网络104区域下载API122;以及当不再需要时,由终端100去除或以其他方式暂停/高速缓存(caching)API122(如在应用程序更新的情况)。在进行终端100的集中管理的环境中(如,公司场所),中心服务器(未示出)会在各个终端100上发起作废的API122的去除。
再次参考图3,处理框架206可以提供通用服务框架304在功能上作为应用程序107的一部分,或从应用程序107中分离出来,例如但不限于:应用管理器306、供应扩展模块314、供应服务308、通信服务316、供应脚本解译器312及持续(persistence)管理器310。其他服务(未示出)可以包括表示(presentation)服务、终端访问服务和安全管理器。可以认识到,分离服务304在功能上可以由多个应用程序107共享,或可以基于每个应用107表示为在应用107上的一系列单独的服务304。
再次参考图3,通信服务316管理通过网络104在终端100和服务器106、110之间的连通性,包括在框架206中发送和接收数据以及根据需要请求获取远程存储的API122。持续管理器310允许将API122本地存储在存储模块210中。供应服务308协调供应应用107的处理到框架206。供应服务308能够利用由应用管理器306识别的形式来表示应用107,用于在运行时间环境中估计/执行,如下面进一步的描述。应用管理器306可以用于与用户接口202的交互(见图2),管理应用全过程等。应用管理器306还可以根据供应来估计应用107的内容的内部表述。扩展模块314向供应服务308提供请求的API122,以便在内容上操作。供应脚本解译器312能够解译供应指令124和指导供应操作。此外,可以将供应API122称作由供应服务308使用的任意操作组,以执行定制应用107供应。供应API122可以由扩展模块314提供。
可选的,框架206可以包括执行供应任务验证的安全管理器、可以与框架用户相互作用收集需求的供应数据的屏幕管理器和用来询问终端需求的完成供应的详细信息的终端访问服务。可以认识到,处理框架206的其他的配置与各个服务306、308、310、312、314、316实现应用107供应可以不同于所示,如所请求的。此外,可以认识到,框架206可以是终端基础结构204的操作系统的一部分。
参考图4,框架206的供应服务308具有查询供应时刻所需的希望API的能力。此外,根据例如提供给应用107的供应指令124的一系列代码和/或脚本,供应服务308具有查询特定API组/内容类型的组合的能力。这种设备通过应用107的通用内容的使用来动态请求合适的API,以使供应过程可用,下面关于图6进一步描述。供应服务308可以提供内置API400,以满足标准供应过程。自定义API组406设置成可用于关于请求的供应脚本解译器312。该过程的步骤如下:
1)供应脚本解译器312查询感兴趣的API122定义401;
2)定制的API406被返回402;
3)供应脚本解译器312在需要时发起到客户API406的呼叫403;以及
4)供应脚本解译器312在需要时发起呼叫,用于标准供应API400404。
可以认识到,上述图4的体系结构将供应指令124的一个例子作为代码/脚本,能够通过供应指令124定义供应数据或其组合来修改供应应用107的内容。
定制供应
为了提供定制供应能力,在终端100上应用107的供应控制可以分布(通过供应指令124)在应用107和框架206之间。
框架206情报
框架206负责识别应用107供应信息和定制适应它的供应处理,如上所述。框架206提供请求需要的供应API122以及对任何内容类型的API122进行寻址的能力。
应用107情报
应用控制意味着应用107的内容能够改变,通过连接供应指令124,在供应时产生该操作。以供应指令124的形式的应用信息可以呈现三种通用形式:供应代码(供应脚本)的独立单元;一组供应数据;或其组合。
供应脚本
作为供应指令124,供应脚本表示在供应期间能够执行可以指导框架206的指令的不同单元。供应脚本依靠使适当API122可用的事实来满足供应操作。当由脚本指定时,框架206提供语音API122适合应用107的内容类型。可以认识到,供应指令124可以是框架206的一部分或连接到应用107。
嵌入式脚本
在把应用107的内容下载到终端100时(例如从服务器106-见图1),可以把供应脚本作为供应指令124附加到应用107的内容上。该脚本在框架206中是立刻可执行的。
外部脚本
可能希望重新使用特定供应脚本。在这种情形中,脚本可以与应用107的内容分离并由供应服务器308(见图3)在供应时请求。该脚本(也就是供应指令124)能够从作为指定环境的远程或本地获取。
供应配置数据
供应数据包括任意组属性,可以将其称作在应用107的内容中指定的供应指令124的嵌入式或其他的相连的版本。该近似应用107信息依靠框架206识别的可能的特性组的事实和修改供应处理以适应定制设置。可以认识到,供应数据能够作为外部应用107的内容来设计。
任意供应API,通用内容供应
通过任意的供应操作组,系统框架206能够供应应用107的通用内容(GC)。因此,供应处理与GC如何在应用107中具体体现(内容类型)相分开。参考图5,增强框架206(见图2)以提供扩展模块314和通用供应服务308,通用供应服务308提供连接到应用107的内容类型的API查询。
扩展模块314提供向处理器或启用器502提供用于API扩展的服务提供商接口(SPI)500。该API扩展在这种情况中和供应API组504不同。通过可修改的启用器502,提供给选择用来供应希望的应用107的内容类型的组504的特定API寻址的能力。供应服务308提供了在供应时从组504查询请求的希望的通用API的能力。应该可以认识到,通用API504的每一个能够与通用内容相匹配,即,每个API504通过预定义的通用内容类型接口能够与不同的内容类型相匹配,例如但不限于传送内容类型数据到由通用API504识别的通用表达形式。启用器502在该情况中将是应用107的特定内容类型与API504的通用处理能力之间的翻译机制。扩展模块314允许服务提供商在终端100上注册API启用器502,用于选择的内容类型和选择的API504。扩展模块314允许使用特定供应API504来供应通用内容类型(通过指定启用器502定义为指定类型)。典型地,扩展模块314实现用于最通用操作组的标准API组506,即,图5的所谓的标准供应APIA。扩展模块314还包含自定义API508,自定义API508可以根据供应指令124(见图3)成为有效可用的,供应指令124包含到适于供应应用107的自定义API508的参考。如果这些自定义API508是有效可用的,则能够在本地终端100上获得,或例如从知识库126(见图1)远程地获得。
通用内容类型
产生供应处理的框架206现在不受GC类型的影响。该特性通过嵌入式SPI500的引入被通知用于API扩展(通过启用器502)。启用器502可以有效用于出现在由供应服务308选择的通用供应API504的预定义内容类型的理解(例如每个启用器502一个)。
插入式SPI500
用于API扩展的插入式SPI500提供用于服务提供商引导启用器502到扩展模块314的能力,即,SPI500提供用于连接启用器502到扩展模块314的接口。当插入式启用器502可以用于新内容类型时,插入式SPI500提供扩展模块314动态延伸框架206的处理范围的能力。参考图1和3,可以认识到,扩展模块314能够搜索或其他的从本地存储器210或如知识库216的远程获得无效的或新启用器502。
API启用器
参考图5,启用器502是提供有权使用希望的API504的指导组件,用于供应各个启用器502的预定义内容类型。启用器可以由服务提供商118(见图1)写入并通过插入式SPI500与扩展模块314相结合。启用器502因此可以作为可执行单元来查阅,在被分配了启用器502的已知内容类型的环境中执行供应指令请求(如代码和/或脚本)。启用器502在供应API上执行请求功能,以及当适合实现该请求时在它所知的内容类型上的操作。存在例如但不限于解析需要的启用器502的三种方式:
●用于下载的应用107的选择的内容类型的启用器502已经安装在框架206中,因此被扩展模块314所知;
●用于下载的应用107的选择的内容类型的启用器502与应用107的供应的内容描述符(如描述请求的内容的类似报头文件)绑定(bundle)在一起。框架206在供应处理中的预备步骤安装该启用器502;以及
●扩展模块314具有从内容描述符中的指定位置动态地供应启用器502的功能。作为供应处理中的预备步骤,通过SPI500下载并安装启用器502。
实例:铃音的供应vs游戏应用软件
考虑定制的通用“供应压缩API”504存在的情形,提供在安装时压缩数据的能力。该API504提供称为flatten()的操作。提供选择的启用器“A”在内容类型A上操作:铃音数据、和单独的在游戏(也就是内容类型B)上操作的启用器“B”。供应脚本包括两个启用器502使用同一通用压缩API504。
在铃音供应期间,供应服务308发出用于供应压缩API的flatten()操作的请求。在这种情形中,启用器A提取铃音描述的声音字节并把它们传送到flatten()方法用于压缩。在游戏供应期间,启用器B从游戏内容描述中提取图形和声音序列,并把它们传送到同一flatten()用于压缩。应该可以认识到,只有一个通用API504版本被用于处理多个不同的内容类型。
样本(sample)扩展模块314配置
考虑扩展模块314提供两种供应API的情形。
●API.A-标准供应API506(见图5)和
●API.B-增强供应API508。
供应两种GC类型:
●新内容类型X
●已知的内容类型Y
在该情景中,启用器A寻址访问用于供应内容类型X的标准API.A,及启用器B寻址访问用于已知的内容类型Y的新API.B(包含的)。可以认识到,这个例子可以扩展到支持用于任何内容类型的任何组供应操作。
样本供应过程
下面的过程参考图6说明了通用供应模式使用通过供应指令124指定的应用软件情报。
1)应用管理器306请求供应服务308下载并安装通用内容601;
2)供应服务308通过通信服务316获取GC 602;
3)供应服务308检查GC以察看其是否包含供应指令124(嵌入的)603。如果是,跳过步骤604;
4)供应服务308通过通信服务316获取供应指令124 604;
5)如果使用,供应指令124能够指定供应API504 604。内容类型从下载的GC的类型得知。查询扩展模块314,用于提供到GC内容类型希望的供应API504的访问的插入式启用器502。上面已经讨论了能够获得插入式启用器502的手段;
6)将扩展模块314注册到供应脚本解译器312,用于将来的供应API访问606;
7)通过呼叫供应脚本解译器312,供应服务308取消(kick off)供应处理607;
8)供应脚本解译器312执行由指令124命令的供应步骤,定位为框架206的一部分或连接到应用107的单独成分608;
9)供应脚本解译器312将用于供应API功能性引导到与GC的内容类型相对应的扩展模块314的外露启用器502 609;
10)如此寻址的供应API504可以利用相关的框架206模块来提供例如但不限于以下的操作610:
a.验证依存关系(dependency)、尺寸、版本、兼容性等,
b.安全检查的执行,
c.用户交互、需要的用户数据收集,和
d.设备和环境信息询问;
11)供应脚本解译器312结合适当的API504,理解通用内容,并在本地保持适合应用管理器306估计的格式611。
由于上述,描述了具有定制供应处理(动态)并中立(neutrality)应用内容类型(通用)能力的可修改供应的系统10。为了促进该可修改供应方案,系统10使用:规定供应的应用107;管理供应API的框架206;以及可选的供应扩展启用器502。
供应可扩展性实例
给定系统10的能力,可以说明动态供应的通用应用。这是在协作方的网络中配置应用107时增强或修改供应指令124的能力。参考图7,该方法通过以下的提供商细化供应处理的实例来表示。
1)在这个例子中,特定应用107的开发商708提供一组通用供应指令124a 701。
2)现在将应用107传递到运营商登记处710,提供给公司的客户702。
3)作为正常操作过程的一部分,当运营商710具有一定需求时,增强供应指令124a以适当地包括其它的指令124b。
4)在该具体应用107中感兴趣的公司将其安装进他们自己的合作登记处712 704。
5)由于潜在的公司私密性的需求,例如,再次更新供应指令124a,b以反映附加的策略124c。
6)当公司用户最终请求应用107的安装时,执行细化的供应指令124a,b,c,包括来自开发商708、运营商710和公司712的指令。
最后的结果是应用107具有相同的通用内容和适合希望的和/或公司712的需求的定制供应过程。
以上说明涉及一个或多个典型的系统和方法。对那些本领域的技术人员来说很显然是有多种变化的,并且这些变化包含在本应用的范围之内。可以认识到,可以使用不同于XML的用于应用107的内容的结构化定义语言,也可以使用多个不同终端100,如PC、PDA、亭子、移动设备。终端100可以在有线和/或无线网络104拓扑上使用。例如,可以认识到,系统10的实现包括:用于获得应用内容的处理框架模块;供应API组模块,包括通用API、用于由至少两种通用应用内容的不同内容类型进行寻址的通用API;扩展模块,配置用于具有关于选择通用应用内容的内容类型的启用器,该启用器配置用于根据所选的应用内容,执行用于通用应用内容的供应指令请求;及供应模块,用于通过使用启用器,供应具有所选的部分通用应用内容,以访问通用API。

Claims (22)

1.一种用于提供应用程序的可修改供应的方法,以便在终端的运行时间环境上执行,该应用包括通用应用内容;
所述终端包括具有通用API的供应API组,该通用API用于通过通用应用内容的不同内容类型来被寻址;
其特征在于所述方法包括步骤:
检索与通用应用内容的第一内容类型相对应的启用器,该启用器配置用于针对包括所述第一内容类型的通用应用内容来执行供应指令请求;
使用启用器访问该通用API,并供应与第一内容类型相对应的通用应用内容;
还包括步骤:使用供应服务来协调供应API组,
获得关于应用内容的一组供应指令,该供应指令与用于指定用于供应应用内容的供应API组的应用相连;以及
根据供应指令,服务定制供应处理和与供应指令相关联的供应API组。
2.根据权利要求1的方法,进一步包括步骤:
检索与通用应用内容的至少一个其它内容类型相对应的至少一个其它启用器;
使用检索到的其它启用器来供应与所述其它内容类型相对应的通用应用内容,该检索到的其它启用器访问不同的选定通用API。
3.根据权利要求2的方法,其中从终端上的预先可用启用器的存储器中检索所述启用器。
4.根据权利要求2的方法,其中在结合应用的内容描述符的绑定中检索所述启用器。
5.根据权利要求2的方法,其中从远离终端的位置处检索所述启用器。
6.根据权利要求1的方法,进一步包括步骤:根据所选内容类型来执行用于使用API组的供应指令以供应应用。
7.根据权利要求6的方法,其中在运行时间环境和应用之间,通过相连的供应指令来共享应用内容的供应控制。
8.根据权利要求4或5的方法,其中无线地检索所述启用器。
9.根据权利要求1的方法,进一步包括步骤:由服务使用供应API组中的标准API。
10.根据权利要求9的方法,进一步包括步骤:通过连接到终端的网络远程地获得自定义API。
11.根据权利要求10的方法,其中供应指令包括代码和配置数据之一或二者。
12.一种用于提供应用程序的可修改供应的终端,以便在运行时间环境上执行,该应用包括通用应用内容,所述终端包括:
处理框架,用于获得应用内容;
供应API组,包括包含在框架中的通用API,该通用API用于通过通用应用内容的不同内容类型来被寻址;
其特征在于所述终端还包括:
与通用应用内容的第一内容类型相对应的启用器,该启用器配置用于针对包括所述第一内容类型的通用应用内容来执行供应指令请求;以及
供应服务,配置用于使用启用器来访问通用API并供应与第一内容类型相对应的通用应用内容;
供应服务还配置用于协调供应API组;获得关于应用内容的一组供应指令,该供应指令与用于指定用于供应应用内容的供应API组的应用相连;以及根据供应指令来服务定制供应处理和与供应指令相关联的供应API组。
13.根据权利要求12的终端,还包括与至少一个其它内容类型的通用应用内容相对应的至少一个其它启用器,配置用于供应与所述其它内容类型相对应的通用应用内容,该其它启用器访问不同的选定通用API。
14.根据权利要求13的终端,其中在终端上本地地存储所述启用器。
15.根据权利要求13的终端,其中在结合应用的内容描述符的绑定中检索所述启用器。
16.根据权利要求13的终端,其中从位于远离终端的位置处检索所述启用器。
17.根据权利要求12的终端,其中供应服务还配置用于根据所选的内容类型,执行用于使用API组的供应指令,以供应应用。
18.根据权利要求17的终端,其中在运行时间环境和应用之间,通过相连的供应指令来共享应用内容的供应控制。
19.根据权利要求18的终端,其中终端还包括无线收发机,配置用于与无线网络的无线通信。
20.根据权利要求12的终端,其中供应服务还配置用于使用供应API中的标准API。
21.根据权利要求20的终端,其中供应服务配置用于通过连接到终端的网络来远程地获得自定义API。
22.根据权利要求21的终端,其中供应指令包括代码和配置数据之一或二者。
CN200510064076.1A 2004-01-30 2005-01-31 用于提供可修改通用应用内容的系统和方法 Active CN1658608B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/767,722 2004-01-30
US10/767,722 US7509658B2 (en) 2004-01-30 2004-01-30 System and method for adaptable provisioning of generic application content

Publications (2)

Publication Number Publication Date
CN1658608A CN1658608A (zh) 2005-08-24
CN1658608B true CN1658608B (zh) 2010-12-01

Family

ID=34807725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510064076.1A Active CN1658608B (zh) 2004-01-30 2005-01-31 用于提供可修改通用应用内容的系统和方法

Country Status (4)

Country Link
US (2) US7509658B2 (zh)
CN (1) CN1658608B (zh)
CA (1) CA2495024C (zh)
SG (1) SG113603A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8387039B2 (en) * 2004-01-30 2013-02-26 Research In Motion Limited System and method for customized provisioning of application content
US7694315B2 (en) * 2004-02-13 2010-04-06 Microsoft Corporation Schema-based machine generated programming models
US20060167859A1 (en) * 2004-11-09 2006-07-27 Verbeck Sibley Timothy J System and method for personalized searching of television content using a reduced keypad
US7784065B2 (en) * 2005-02-07 2010-08-24 Microsoft Corporation Interface for consistent program interaction with auxiliary computing devices
US7555640B2 (en) * 2006-03-09 2009-06-30 Sharp Laboratories Of America, Inc. Mobile electronic device with fragmented device settings
US20070276863A1 (en) * 2006-05-02 2007-11-29 Research In Motion Limited Plug in registration method and apparatus for push content delivery
US8095626B2 (en) * 2006-08-31 2012-01-10 Realnetworks, Inc. System and method for configuring a client electronic device
US8478245B2 (en) 2007-08-01 2013-07-02 Phunware, Inc. Method and system for rendering content on a wireless device
US9015692B1 (en) * 2007-10-23 2015-04-21 Phunware, Inc. Method and system for customizing content on a server for rendering on a wireless device
US8509760B2 (en) 2007-10-26 2013-08-13 At&T Intellectual Property I, L.P. Standardized control of wireless devices
US8799933B2 (en) * 2008-01-18 2014-08-05 Dell Products L.P. Remote monitoring and management ordering system for an information technology remote services management environment
US20090254670A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Providing access to network applications for standardized clients
US8561088B2 (en) * 2008-04-08 2013-10-15 Microsoft Corporation Registering network applications with an API framework
GB2459682B (en) * 2008-04-30 2012-04-25 Vmware Inc A computer system and a method of deploying an application in a computer system
US8505034B2 (en) 2009-12-17 2013-08-06 Amazon Technologies, Inc. Automated service interface optimization
US8898658B2 (en) * 2010-06-29 2014-11-25 Cisco Technology, Inc. Dynamic web resource provisioning
US20120066669A1 (en) * 2010-09-14 2012-03-15 International Business Machines Corporation Creating a superseding software release
US9443257B2 (en) * 2010-10-21 2016-09-13 Yahoo! Inc. Securing expandable display advertisements in a display advertising environment
US9275162B2 (en) 2011-03-22 2016-03-01 Blackberry Limited Pre-caching web content for a mobile device
US9401917B2 (en) 2011-06-03 2016-07-26 Blackberry Limited Pre-caching resources based on a cache manifest
US8621483B2 (en) * 2011-06-20 2013-12-31 Nokia Corporation Methods, apparatuses and computer program products for provisioning applications to in vehicle infotainment systems with secured access
KR20130009911A (ko) 2011-07-15 2013-01-24 전자부품연구원 스케일러블 어플리케이션 서비스를 위한 장치 및 방법
EP2915043B1 (en) * 2012-10-31 2020-09-30 Hewlett-Packard Development Company, L.P. Using functional resources of a computing device with web-based programmatic resources
CN105320499A (zh) * 2014-06-04 2016-02-10 中国移动通信集团广西有限公司 一种应用程序的适配方法和相关装置
US10073694B2 (en) * 2015-02-20 2018-09-11 International Business Machines Corporation Dynamic extensibility of application programming interfaces
US10546058B2 (en) * 2015-11-09 2020-01-28 Microsoft Technology Licensing, Llc Creating and modifying applications from a mobile device
WO2024010587A1 (en) * 2022-07-08 2024-01-11 Rakuten Symphony Singapore Pte. Ltd. System and method for obtaining resource data using generic api

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1061445A2 (en) * 1999-06-14 2000-12-20 Sun Microsystems, Inc. Web-based enterprise management with transport neutral client interface
US6317748B1 (en) * 1998-05-08 2001-11-13 Microsoft Corporation Management information to object mapping and correlator
CN1459207A (zh) * 2000-05-08 2003-11-26 诺基亚有限公司 通过空中的移动站管理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463304B2 (en) 1999-03-04 2002-10-08 Openwave Systems Inc. Application launcher for a two-way mobile communications device
US6324020B1 (en) 1999-08-04 2001-11-27 Secugen Corporation Method and apparatus for reduction of trapezoidal distortion and improvement of image sharpness in an optical image capturing system
US6842904B1 (en) * 2000-11-21 2005-01-11 Microsoft Corporation Extensible architecture for versioning APIs
JP2004530958A (ja) 2000-11-28 2004-10-07 フォースパス インコーポレイテッド 無線アプリケーションを保持および配信する方法およびシステム
NZ528277A (en) 2001-03-19 2007-06-29 Qualcomm Inc Dynamically downloading and executing system services on a wireless device
US20030084165A1 (en) * 2001-10-12 2003-05-01 Openwave Systems Inc. User-centric session management for client-server interaction using multiple applications and devices
US20030079052A1 (en) 2001-10-24 2003-04-24 Kushnirskiy Igor Davidovich Method and apparatus for a platform independent plug-in
EP1411456A3 (en) * 2002-10-16 2005-07-06 Xerox Corporation Method and apparatus for enabling distributed subscription services
US7734600B1 (en) * 2003-02-05 2010-06-08 Michael Wise Apparatus, method and system to implement an integrated data security layer
US20040240408A1 (en) * 2003-06-02 2004-12-02 Mobimate Ltd. System, method and apparatus for the generation and deployment of mobile applications
US7444386B2 (en) * 2003-06-20 2008-10-28 Sun Microsystems, Inc. Application programming interface for provisioning services
US7996505B2 (en) * 2003-10-24 2011-08-09 Microsoft Corporation Network and interface selection on a computing device capable of establishing connections via multiple network communications media

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317748B1 (en) * 1998-05-08 2001-11-13 Microsoft Corporation Management information to object mapping and correlator
EP1061445A2 (en) * 1999-06-14 2000-12-20 Sun Microsystems, Inc. Web-based enterprise management with transport neutral client interface
CN1459207A (zh) * 2000-05-08 2003-11-26 诺基亚有限公司 通过空中的移动站管理方法

Also Published As

Publication number Publication date
US20090199218A1 (en) 2009-08-06
US7509658B2 (en) 2009-03-24
CN1658608A (zh) 2005-08-24
CA2495024A1 (en) 2005-07-30
SG113603A1 (en) 2005-08-29
CA2495024C (en) 2011-10-04
US20050172295A1 (en) 2005-08-04
US7900214B2 (en) 2011-03-01

Similar Documents

Publication Publication Date Title
CN1658608B (zh) 用于提供可修改通用应用内容的系统和方法
CN1658609B (zh) 定制应用内容供应的系统和方法
CN1757216B (zh) 创建基于无线应用程序的组件并与之通信的系统和方法
CN101502079B (zh) 在移动网络终端上安装和配置软件应用程序的系统和方法
CN100435094C (zh) 为组件应用程序建立混合模式执行环境的系统和方法
EP2042989A1 (en) System and method for extending a component-based application platform with custom services
US20060190806A1 (en) Systems and method for deploying a software application on a wireless device
US20080177638A1 (en) Real time re-purposing of a mobile application using xml data
US20070255856A1 (en) Proxy commands and devices for a home automation data transfer system
CN100444108C (zh) 使用ui储存库的公共ui组件执行无线应用程序的系统和方法
CN101836201A (zh) 翻译声明性模型
JP2002215486A (ja) Wsdlに基づいたコントローラ装置用通信システム
US8126989B2 (en) Device and method for managing information data in a mobile telephone
WO2023013032A1 (ja) プロファイルダウンロード方法、システム、コンピュータ可読記録媒体、およびサーバ
CN1322421C (zh) 代理系统、计算机网络以及用于把代理系统从主计算机装载到计算机网络的客户计算机上的方法
EP2823411A1 (en) A method and system of application development for multiple device client platforms
CN1853167B (zh) 具有可扩展预配置的动态内容处理的系统和方法
CN101521592B (zh) 一种建立打印机snmp代理的方法及装置
JP2000250838A (ja) アプリケーションプログラムの実装方法ならびにシステム及び同方法がプログラムされ記録された記録媒体
CN100570553C (zh) 用于提供在一对应用程序之间的动态交互的终端和方法
EP1560114A1 (en) Computer system and method for customized provisioning of application content
EP2088505A1 (en) Computer system and method for adaptable provisioning of generic application content
CN101754455B (zh) 用于在终端设备中提供mmi的方法和装置
JP2003067283A (ja) マイクロコンピュータ組み込み機器のソフトウェア書き換え方法及び装置
JP2004356735A (ja) ネットワークアクセスのための方法,プログラム,サーバ,システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Voight, Ontario, Canada

Patentee after: BlackBerry Ltd.

Country or region after: Canada

Address before: Voight, Ontario, Canada

Patentee before: RESEARCH IN MOTION Ltd.

Country or region before: Canada

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240528

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Voight, Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada