Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20010016880 A1
Publication typeApplication
Application numberUS 09/750,940
Publication dateAug 23, 2001
Filing dateDec 29, 2000
Priority dateDec 30, 1999
Also published asCN1128531C, CN1302134A, US7356615
Publication number09750940, 750940, US 2001/0016880 A1, US 2001/016880 A1, US 20010016880 A1, US 20010016880A1, US 2001016880 A1, US 2001016880A1, US-A1-20010016880, US-A1-2001016880, US2001/0016880A1, US2001/016880A1, US20010016880 A1, US20010016880A1, US2001016880 A1, US2001016880A1
InventorsHong Cai, Dong Liu, Leo Liu
Original AssigneeInternational Business Machines Corporation
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Pluggable service delivery platform
US 20010016880 A1
Abstract
The present invention discloses a pluggable service delivery platform for supporting many devices to many services e-business application, comprising device-platform interface, service-platform interface and platform kernel section. The service delivery platform of this invention is flexible and scalable platform to easily “plug” a new device and a new service, and the different parts of the platform are componentized. Any one of the components can be replaced by the 3rd party's products, providing they abide certain open interface like Java Servlet, LDAP, etc.
Images(8)
Previous page
Next page
Claims(9)
What is claimed is:
1. A pluggable service delivery platform for supporting many devices to many services e-business application, characterized by comprising:
a device-platform interface, for accepting requests issued by devices, transforming into XML and then sending to platform kernel section, and transforming the XML representation of information which is returned by the platform into a representation mode which is adapted for various devices for displaying, said device-platform interface comprising: (1) common transforming section, for transforming various information representation mode; (2) special sections for various devices, the information via processing of said special sections and directing to the platform is XML files which can be transmitted via HTTP protocol;
a service-platform interface, for abstracting the common requirements of various services as the common base, providing a adapter for each kind of service, the information via processing of said service-platform interface and directing to the platform is XML files which can be transmitted via HTTP protocol; and
a platform kernel section, for managing user/device/service information, providing synchronized/asynchronized service engine and the interfaces with other modules, and transferring the information among the modules and between services and devices.
2. A pluggable service delivery platform according to
claim 1
, characterized in that said platform kernel section comprises three layers: a run-time layer, an administration layer, and a development layer; and various layers are associated via platform API; the run-time layer provide on-line information access, the administration layer is responsible for adding/deleting users/devices/services, and the development layer provides support to new services and new devices.
3. A pluggable service delivery platform according to
claim 1
, characterized in that said platform kernel section comprises at least: a service engine, a profile manager, a billing interface, and a platform run-status manager.
4. A pluggable service delivery platform according to
claim 3
, characterized in that said service engine may provide synchronized requests based on session and asynchronized requests based on queue.
5. A pluggable service delivery platform according to
claim 3
, characterized in that said profile manager is used for managing user information, services information and device information.
6. A pluggable service delivery platform according to
claim 1
, characterized in that said device-platform interface provides a corresponding gateway for each kind of device, for transforming the information representation XML into a file format which is adapted for various devices for displaying and transforming among communication protocol based on the script language of various devices stored in said device profile.
7. A pluggable service delivery platform according to
claim 1
, characterized in that said service-platform interface provides a corresponding adapter for each kind of service, for transforming between HTTP and XML.
8. A pluggable service delivery platform according to
claim 1
, characterized in that upon the platform running, a new kind of device can be incorporated by adding a kind of gateway in the device-platform interface and adding an item in said device profile without changing service system at background.
9. A pluggable service delivery platform according to
claim 1
, characterized in that upon the platform running, a new kind of service can be incorporated by adding a kind of adapter in the service-platform interface and adding an item in said service profile without modifying the programs at front-end.
Description
BACKGROUND

[0001] 1. Technical Field

[0002] This invention relates to a service delivery platform that supports many devices to access many services and more particularly, to a pluggable service delivery platform in which many devices and many services are pluggable.

[0003] 2. Description of Related Art

[0004] Nowadays there are a lot of pervasive computing devices such as handheld PCs, smartphone, mobile phone, screenphone, pager, fax machine, etc. They all have sort of computing power and people wish to use these existing devices to access the network and do e-business. But there also exists challenges, since current network infrastructure is designed for PC. At the same time different services have different features. Under this environment, some effort is need to connect a new device to the network, while after the backend system is changed, e.g., some new service is added, the application on the device must be changed (or added); similarly effort is needed to changed the logic of backend services when new devices roll out. With the rapid development of network computing, there is a need of a pluggable service delivery platform that can support many devices and many services in a flexible and scalable way.

[0005] Some companies have designed some platforms for supporting many devices to access many services, but these platforms are designed specifically for some devices and services and there is no flexible way to plug a new kind of device or a new type of service into the platform.

SUMMARY OF THE INVENTION

[0006] The pluggable platform of the present invention can be used to overcome the shortcoming of existing platforms. The platform can be used in e-business and support many kind of devices to access many types of services, while at the same time, new devices or new services can be easily added to the platform. This is where “pluggable” comes from.

[0007] The pluggable service delivery platform of the present invention comprises:

[0008] Device Abstraction Layer (DAL)

[0009] It accepts the requests from devices and transforms them into XML and then sends to the kernel of the platform. It also transforms the response XML documents from the platform into device specific format for presentation. It further comprises:

[0010] (1) Common transcoding component, shared by all devices and used for transcoding between different kinds of data format

[0011] (2) Device dependent component, transforming between (whatever kind of data format/tranporting protocol) and (XML over HTTP).

[0012] Service Abstraction Layer (SAL)

[0013] It abstracts the common requirements from different services as service profile. For each kind of service in some domain, a wrapper (adapter) is provided. The wrapper is used for transforming between (legacy data format/network protocol) and (XML/HTTP).

[0014] Kernel Service Engine

[0015] The functions provided by the platform kernel service engine include:

[0016] manage profiles of user/device/service

[0017] synchronize/asynchronize service engine

[0018] interface with other platform components

[0019] transfer information between components within the platform using XML.

[0020] The platform is “pluggable” in three aspects.

[0021] Firstly, it is pluggable in the sense that a new kind of device can be easily plugged into the platform so long as the device profile that describes the device capability is provided.

[0022] Secondly, it is pluggable in the sense that a new type of service can be easily plugged into the platform so long as the service profile that describes the service feature is provided.

[0023] Thirdly, it is pluggable in the sense that the components that constitute the platform are pluggable, so any one of the components can be replaced by third party products, so long as the latters comply with predefined interface, such as Java Servlet, LDAP.

[0024] The advantages of the platform of this invention over existing platforms are listed in Table 1.

[0025] A local network company had the similar idea of many-to-many platform called LISP/6A. The table below shows the differences and why the platform of the present invention is superior.

TABLE 1
Features LISP/6A This platform
Transcoding No. Format has to be Yes. The same
customized for each content can be
kind of device adapted to
different kind of
PvC devices
Scalability No Yes. With Network
Dispatcher & Web
Traffic Express &
Distributed
Application Tester
Contents Fixed segments with Represented in XML,
representation in annotation easy to be extended
platform
Support No Yes
synchronized and
asynchronized
communication
Flexibility for No Yes
plug in new
device
Flexibility for No Yes
plug in new
service
Componentized No Yes
parts within
platform

[0026] These and other aspects, features and advantages of the present invention will be described or become apparent by the following detailed description of the preferred embodiments, which is to be read in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0027]FIG. 1 shows a preferred embodiment of pluggable service delivery platform, which focus on components of platform kernel.

[0028]FIG. 2 shows the servlet (service engine) running on WebSphere (an IBM Web application server).

[0029]FIG. 3 shows the data flow between service engine and backend service (such as stock service).

[0030]FIG. 4 shows the device abstraction layer (device-platform interface) of the pluggabe service delivery platform of FIG. 1.

[0031]FIG. 5 shows the service abstraction layer (platform-service interface) of the pluggabe service delivery platform of FIG. 1.

[0032]FIG. 6 shows an implementation of using WAP phone to access services through the platform.

[0033]FIG. 7 shows the process of adding a new kind of device to the platform.

[0034]FIG. 8 shows the process of adding a new type of service to the platform.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0035] It is to be understood that the exemplary system modules and method steps described herein may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. Preferably, the present invention is implemented in software as an application program tangibly embodied on one or more program storage devices. The application program may be executed by any machine, device or platform comprising suitable architecture. It is to be further understood that, because some of the constituent system modules and method steps depicted in the accompanying Figures are preferably implemented in software, the actual connections between the system components (or the process steps) may differ depending upon the manner in which the present invention is programmed. Given the teachings herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention.

[0036] Before describing preferred embodiments in detail, the terms used in the present invention are first listed as follows:

[0037] TERMS USED:

[0038] 1. XML (eXtensible Markup Language): as it's name says, it is a kind of markup language endorsed by W3C (Web standard organization). It is used to describe/define structured data and separate the data with presentation (compared with HTML which strongly combines data and the presentation). The same set of data expressed by XML language can generate different presentation (Markup Language) with different style sheet language (XSL: eXtensible Stylesheet Language). Since data represented in XML are highly structured, they are very suitable for automatically exchanging information between applications. The adoption of XML for exchange between different component is the biggest characteristic of the invention.

[0039] 2. WAP (Wireless Application Protocol): a wireless communication protocol specifically designed for handheld devices (especially mobile phone). WAP is critical for mobile phones to access the information on net just as important as PC using HTML/HTTP to access the Internet.

[0040] 3. Servlet: Java small service application, a special kind of Java class running on Web server. It can accept the request from Web (browser), parse the parameters and execute the predefined logic (such data connection with backend system) and generate response and send back to browser. Since Java Servlets are written in Java they are cross platform (OS) and highly portable applications. Java servlet can dynamically generate different pages for different kind of devices such as HTML for PC, WML for WAP phone, etc.

[0041] 4. Trancoding: a kind of transformation technique which transforms the same set of data into different pages based on predefined criteria (such a display resolution, color depth, multimedia support). The technique further consists of many components, including image transcoder (e.g. GIF→JPEG, JPEG→BMP, color→grey→black/white), text transcoder (e.g. text abstraction, text→audio). Using transcoding technique, one type of XML document can be transformed into another type of XML document and can further be transformed into some kind of presentation (e.g. HTML or WML) by style sheet language.

[0042] 5. Device gateway: the device gateway in the invention sits in the device abstraction layer, it can accept a request from a device over some sort of network protocol, transform it into XML over HTTP, then send to platform kernel. After getting the data from backend system through the platform kernel, it then transform the page into device readable page and send to the device over the network that the device connects to.

[0043] 6. Service adapter (wrapper): the service adapter in the invention sits in the service abstraction layer, it transforms between the platform format (XML)/protocol(HTTP) and service specific format/protocol.

[0044] The following paragraphs will illustrate in detail how to implement the invention.

[0045] The pluggable service delivery platform shown in FIG. 1 comprises three parts, Device Abstraction Layer (DAL), Service Abstraction Layer (SAL) and Kernel Service Engine. FIG. 1 focuses on components of a platform kernel. The detail of SAL and DAL will be illustrated in FIG. 4 and FIG. 5 respectively. As shown in FIG. 1, the platform kernel comprises a service engine 101, a runtime monitor 102, a profile manager 103 and auxiliary components 104 (such as a billing manager 104 a, a security manager 104 b, etc.) As shown in FIG. 1, XML is used within the platform as an interface language. XML is used widely in the platform to exchange information between different components in the platform. XML is also used in the DAL and SAL, such that also information processed in the platform will be based on XML. For service engine both synchronized service engine and asynchronized service engine are provided. For example, the synchronized service engine can be based on IBM WebSphere which is a Web application server and has strong XML support.

[0046]FIG. 2 shows how servlets are organized in WebSphere. As shown, servlets are build on and managed by WebSphere (start, stop, add, delete). A chain of servlets can be called when a request from device is sent to platform, processed by platform, till responded with a page. The first servlet called, which is also the most important one, corresponds to called URL. The servlet can further then call other servlets which then form a servlet chain. As shown in FIG. 2, under WebSphere application server (Default Server), there is a ServletEngine which is the base Servlet engine. Under Servlet Engine there are many directories, such as “default_app”, “admin”, “examples”, etc. Under some specific application, there have been some servlets that will be used. For example, under “default_app”, there are “Snoop” servlet, “hello” servlet, “ErrorReporter” servlet, etc.

[0047]FIG. 3 shows the data chart and also interaction between service engine and backend service (e.g. stock service).

[0048] The platform runtime monitor 102 is used to monitor the runtime status of platform.

[0049] The profile manager 103 is used to manage user profile, device profile and service profile.

[0050] The user profile can include items as, user ID, user name, telephone number, etc.

[0051] The device profile can include items as, device ID, vendor name, device type, display resolution, multimedia capability, corresponding XSL (which is used to present XML data on that specific device).

[0052] The service profile can include items as, service ID, service provider, operating time, start URL, etc.

[0053] Besides above components, the platform kernel can also include many auxiliary components, such as device manager to manage device access, service manager to manage service connection to the platform, event manager to trigger some platform related event and send to user, transaction manager, billing manager, security manager. All the above components are pluggable and can be replaced by third party products.

[0054] In FIGS. 1-3, the kernel parts of the platform are described in detail. These components are used to manage user/device/service profile information, provide synchronized/asynchronized service engine, use XML to exchange information and carry transaction related information between different parts of the platform. As shown in FIG. 1, the platform kernel consists of three layers, runtime layer, admin layer and development layer. Platform APIs are used to interact between layers. The runtime layer provides online information access and control, the management layer provides service such as add/delete user/device/service information, and the development layer provides support for new device/service.

[0055] In FIG. 4 SAL will be described in detail.

[0056] There are mainly two portions in FIG. 4. The first portion, on top of the dotted line, is what we call Control mode. The administrator can use the UI under this mode to install new services and configure the existing services. Both control mode portion and run-time mode portion have PnP (plug and play) manager. The enumeration is used to abstract the common features of different service and differentiate them by different industrial. The second portion, under the dotted line, is what we call Run-time mode and has mainly three layers. The bottom layer is the enumeration. Specific industrial should has its specific drivers which should obey the open service protocol. The middle layer is Service Abstract Layer (SAL). SAL abstract the common requirement of different services. The upper layer is the kernel of run-rime mode and is called run-time unit. It further comprises several important parts. The first one and the most important one is the PnP manager that corresponds to the PnP manager in the Control mode portion. It has a event listener to listen to events come from the service-platform interface. It serves as managing the plugged services to the platform. Then there's the maintenance manager. It's used to manage the lifetime of a service like when it's opened and closed, when it will expire, etc. The third one is the resource manager. Then there is the security manager to manage the security in the platform to securely transfer messaged and documents. The total service design architecture is EVENT DRIVEN, STATE BASED. The relationship between different layers is like this. The Service Abstract Layer enumerate (maintain) and administrate services and report event to the run-time unit. It also works with run-time unit to manage transaction to make sure that several commands from one transaction will not be broken into pieces. The main event types include New service event, Update event, etc. All the events are related to service-platform interaction and platform operation.

[0057] In FIG. 5 DAL will be described in detail.

[0058] There are also two parts in FIG. 5. The one above the dashed line include Profile Generating Tools to generate a profile for some new device. The information will be saved in the registry and can be accessed by the profile manager of the administrator UI. The other part under the dashed line consists of Device Abstract Layer, Profile Manager, and Run-time managers. The run-time managers then include Protocol manager, Connection manager, Contents manager and event manager. A common interface (Device Abstract Layer) is need to define the common behavior of PvC devices. The devices may connect to the platform in different ways (e.g. LAN/WAN, PSTN, GSM/CDMA and CDPD), so gateways are need for each kind of connection. No matter how the device is connected to the platform, the devices' rich feature can be extended from this common base. And this common base is expressed in XML too. The profile managers are served as focal point between platform device administrator and platform run-time kernel. The feature of device is saved in the registry as (key, value) pairs. Protocol manager is used to decide whether to send the message through IP or HTTP protocol in the platform. Connection manager is used to manage the connect in a transaction, i.e. set up the connect when device request, or send the message when certain conditions meet. Contents manager is built upon transcoding technique. It decides how to send out the message. It assembly the contents based on the devices' profile. Event manager generate system events when a device contact the platform. (Certain profile header should be provided in the head of the message that the device send). No matter how the device accesses the platform (through GSM, CDPD, PSTN, LAN or other ways), it is required to include description of the device (profile) in the header of the message it send to the platform when it is logged on.

[0059] In the above paragraphs, a preferred embodiment of a pluggable platform according to the present invention is illustrated. The platform has following advantages: no matter what kind of device the end users use they can always access the key information in a consistent and natural way and all the returned pages will fit well on that device. This also simplified the service connection process. For now, the service providers need only one reserved line to connect the service to the service delivery platform.

[0060]FIG. 6 shows how a service can be hosted on the platform. To be specific, the process of using WAP phone to access the services through the platform is shown. Firstly, various WAP phones connect to the WAP gateway through GSM network and then data channels (PSTN connection or ISDN connection). The information before WAP gateway is binary WML over WAP, while after the WAP gateway, it will be WML over HTTP. When a user uses the WAP phone, some URL has actually been selected, the request will be sent to a servlet that corresponds to the URL. The servlet will analyze the request parameter, call some service wrapper as required, then get data from background services. This kind of data connection is common to domain service and independent of the specific service provider. After getting the data, the servlet will reorganize the data and generate a page (e.g. HTML or WML). The page can be generated by transcoding means after retrieving the device style sheet (XSL) stored in device profile through LDAP call.

[0061]FIG. 7 shows how to plug a new kind of device. When adding a new kind of device the system administrator can use the admin tools and select “Add New Device” item, then fill in a form to generate a device profile in the profile manager. Among the description, XSL is used to describe device capability. At the runtime, when the platform receives user requests, for one hand, it will generate XML data based on the return from service, one the other hand, it will retrieve the device profile from the profile manager, then generate the final page layout based on transcoding technique.

[0062]FIG. 8 shows how to plug a new kind of service. When adding a new kind of service the system administrator can use the admin tools and select “Add New Service” item, then fill in a form to generate a service profile in the profile manager. At the runtime, when user connects to the platform, only a dynamic service list that user subscribes will be listed.

[0063] Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the present invention is not limited to those precise embodiments, and that various other changes and modifications may be affected therein by one skilled in the art without departing from the scope or spirit of the invention. All such changes and modifications are intended to be included within the scope of the invention as defined by the appended claims.

Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7058712 *Jun 4, 2002Jun 6, 2006Rockwell Automation Technologies, Inc.System and methodology providing flexible and distributed processing in an industrial controller environment
US7289975Feb 12, 2004Oct 30, 2007Teamon Systems, Inc.Communications system with data storage device interface protocol connectors and related methods
US7346912 *Aug 5, 2002Mar 18, 2008Tandberg Telecom AsMethod and system for managing video devices
US7401362Oct 15, 2004Jul 15, 2008Microsoft CorporationDeploying and receiving software over a network susceptible to malicious communication
US7464178 *Nov 21, 2003Dec 9, 2008Markport LimitedOpen messaging gateway
US7472195Nov 19, 2003Dec 30, 2008International Business Machines CorporationUnobtrusive port and protocol sharing among server processes
US7483973Aug 28, 2003Jan 27, 2009International Business Machines CorporationGateway for service oriented state
US7610477Sep 15, 2004Oct 27, 2009Microsoft CorporationDeploying and receiving software over a network susceptible to malicious communication
US7716463Oct 15, 2004May 11, 2010Microsoft CorporationDeploying and receiving software over a network susceptible to malicious communication
US7822825 *Nov 15, 2002Oct 26, 2010Telecom Italia S.P.A.Device and method for centralized data management and a access control to databases
US7836168May 3, 2006Nov 16, 2010Rockwell Automation Technologies, Inc.System and methodology providing flexible and distributed processing in an industrial controller environment
US7995519Mar 21, 2006Aug 9, 2011Airwide Solutions OyCentralised management for a set of network nodes
US8001459 *Dec 5, 2005Aug 16, 2011Microsoft CorporationEnabling electronic documents for limited-capability computing devices
US8010597Sep 19, 2007Aug 30, 2011Microsoft CorporationComponentized site engine services
US8127021Mar 14, 2007Feb 28, 2012Metafluent, LlcContent aware routing of subscriptions for streaming and static data
US8135772 *Apr 1, 2003Mar 13, 2012Oracle International CorporationSingle servlets for B2B message routing
US8161168 *Mar 14, 2007Apr 17, 2012Metafluent, LlcJMS provider with plug-able business logic
US8281026Mar 14, 2007Oct 2, 2012Metafluent, LlcSystem and method for integration of streaming and static data
US8499028Feb 23, 2005Jul 30, 2013International Business Machines CorporationDynamic extensible lightweight access to web services for pervasive devices
US8589338Jan 24, 2008Nov 19, 2013Oracle International CorporationService-oriented architecture (SOA) management of data repository
US20090187919 *Jan 23, 2008Jul 23, 2009Oracle International CorporationService oriented architecture-based scim platform
US20100138461 *Dec 2, 2009Jun 3, 2010Electronics And Telecommunications Research InstituteApparatus for managing new device component of mobile terminal and method of the same
US20120324127 *Aug 24, 2012Dec 20, 2012Shmulevich Igor ASystem and method for automatic generation of service-specific data conversion templates
EP1518163A1 *Jun 23, 2003Mar 30, 2005Nokia CorporationMobile application service container
EP1661033A2 *Feb 25, 2004May 31, 2006Teamon Systems Inc.Communications system with data storage device interface protocol connectors and related methods
WO2002023857A2 *Sep 10, 2001Mar 21, 2002Viafone IncMethod and system for integrating applications and mobile networks
WO2003098450A1 *May 16, 2003Nov 27, 2003Agency Science Tech & ResComputing services discovery system and method therefor
WO2004003725A1Jun 23, 2003Jan 8, 2004Nokia CorpMobile application service container
WO2006089880A1 *Feb 20, 2006Aug 31, 2006IbmDynamic extensible lightweight access to web services for pervasive devices
WO2006100349A1 *Mar 21, 2006Sep 28, 2006First Hop LtdCentralised management for a set of network nodes
WO2007109086A2 *Mar 14, 2007Sep 27, 2007Peter LankfordJms provider with plug-able business logic
Classifications
U.S. Classification719/321, 719/328
International ClassificationH04L29/08, H04L29/06
Cooperative ClassificationH04L67/02, H04L67/306, H04L67/2823, H04L69/329, H04L69/08, H04L67/04
European ClassificationH04L29/06E, H04L29/08N3, H04L29/08N1, H04L29/08N29U, H04L29/08N27F
Legal Events
DateCodeEventDescription
Jul 15, 2011FPAYFee payment
Year of fee payment: 4
Mar 20, 2001ASAssignment
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CAI, HONG;LIU, DONG;LIU, LEO Y.;REEL/FRAME:011637/0990;SIGNING DATES FROM 20010206 TO 20010219