WO2001003011A2 - Serveur d'information multimedia - Google Patents

Serveur d'information multimedia Download PDF

Info

Publication number
WO2001003011A2
WO2001003011A2 PCT/US2000/018443 US0018443W WO0103011A2 WO 2001003011 A2 WO2001003011 A2 WO 2001003011A2 US 0018443 W US0018443 W US 0018443W WO 0103011 A2 WO0103011 A2 WO 0103011A2
Authority
WO
WIPO (PCT)
Prior art keywords
information
client
server
message
format
Prior art date
Application number
PCT/US2000/018443
Other languages
English (en)
Other versions
WO2001003011A3 (fr
Inventor
Shyam Kamadolli
Rajeev Tipnis
Original Assignee
Netmorf, Inc.
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 Netmorf, Inc. filed Critical Netmorf, Inc.
Priority to AU59149/00A priority Critical patent/AU5914900A/en
Publication of WO2001003011A2 publication Critical patent/WO2001003011A2/fr
Publication of WO2001003011A3 publication Critical patent/WO2001003011A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Definitions

  • This invention relates to access to information over a variety of communication media.
  • a variety of different communication infrastructures are available today over which users of personal client devices can access information from information services, such as from Internet-based server computers.
  • These personal devices include, for example, cellular telephones, personal digital assistants (PDAs), and pagers. These devices use a variety of communication protocols to access data from the information sources.
  • Some cellular telephones support data communication using the Wireless Application Protocol (WAP) and Wireless Markup Language (WML) to provide access to text-based information from the cellular telephones.
  • WAP Wireless Application Protocol
  • WML Wireless Markup Language
  • Some handheld devices such as the Palm VII computer made by Palm Inc., make use of a mobile radio communication infrastructure (SMR) and use a Palm Query Application (PQA) protocol to provide information access from the handheld device.
  • SMR mobile radio communication infrastructure
  • PQA Palm Query Application
  • HDML Handheld Device Markup Language
  • XML extensible Markup Language
  • Other devices use various other application protocols, such as the Handheld Device Markup Language (HDML) or specific versions of the extensible Markup Language (XML), to control how information is accessed and displayed, and use various communication protocols are used to pass information between the devices and information services.
  • HDML Handheld Device Markup Language
  • XML extensible Markup Language
  • the communication infrastructure for passing data to and from a personal device and the personal devices that make use of that infrastructure are referred to jointly as a client platform over which data is accessed.
  • Information services that are accessed from the personal devices generally use protocols that depend on the nature of the information services.
  • an electronic mail server may provide access to email using the Post Office Protocol (POP) application protocol using the Transport Control Protocol/Internet Protocol (TCP/IP) over the public Internet
  • POP Post Office Protocol
  • TCP/IP Transport Control Protocol/Internet Protocol
  • WWW World- Wide-Web
  • HTTP Hyper-text Markup Language
  • http hyper-text transport protocol
  • information services 110 include a Web server 112 and an Email server 114.
  • Client platforms 120 include a client computer 122, which executes software for interacting directly with both Web server 112 and Email server 114.
  • Client platforms 120 also includes a WML-based platform 124 and an SMS- based platform 127.
  • WML-based platform 124 includes a WAP infrastructure 127 for communicating with a WML device 128, such as a cellular telephone, over a wireless communication system over which data is passed using the WAP protocol.
  • SMS-based platform 127 includes a paging infrastructure 128 and a representative SMS device 128.
  • Content translators 130 include separate translation modules for coupling each of the information services 110 with the different of the client platforms 120 that do not directly support the protocols or formats of the information services.
  • a Web-WML module 132 converts HTML-based content into WML based content while a separate Web-SMS module 134 converts HTML-based content to an SMS-format.
  • One approach to this conversion is to configure the modules with data associated with particular Web pages that have been selected to be accessible from the client devices, and this data identifies the portions of the Web pages that should be translated into the target formats. For example, graphic components and long text sections may be ignored and only specific content may be extracted for translation into the target format.
  • This approach to translating HTML pages is often referred to as "scraping" the pages to extract the desired content. If the layout of an HTML page changes, both the Web-WML and the Web-SMS modules may have to be reconfigured to accept the changed layout.
  • Content translators 130 also include an email-WML module 136 and an email-SMS module 138 that provide translation services between email server 114 and WML-based platform 124 and SMS-based platform 127, respectively. Summary
  • the invention provides a system and method for coupling diverse client platforms and diverse information services without necessarily requiring separately configured modules to couple each combination of client platform and information service.
  • Content from any of the information services is first converted into a common format and then translated into a format suitable for the target platform.
  • the invention is a method for communicating between information services and client devices.
  • the method includes accepting a first request for information from a first of the client devices, which includes receiving a first identifier which identifies requested information.
  • the method then includes forming a message encoding the requested information. Forming this message includes (a) accessing a specification of the requested information based on the first identifier, (b) identifying a first of the information services from the accessed specification, (c) accessing the information service to retrieve a part of the requested from said information service, and (d) formatting the requested information according to a common format that is independent of the client device from which the first request was accepted.
  • the method then includes passing the requested information to the client _ 3 _
  • the device including translating the message from the common format into a format that is associated with the client device and that is different than the common format, and transmitting the translated message to the client device.
  • the method can include one or more of the following features: Accepting the first request, forming a message, and passing the requested information are repeated for requests from a number of the client devices, and passing the requested information to the client devices includes translating messages from the common format into a number of different formats each associated with different of the client devices.
  • the common format identifies layout elements, and the plurality of different formats associated with the client devices includes one or more markup formats.
  • the method further includes determining one or more parameter values associated with capabilities of the client device, and forming the message includes encoding the requested information using the parameter values to determine the content of the message.
  • Translating the message from the common format includes applying a translation procedure that is independent of the requested information.
  • Translating the message from the common format into the format associated with the client device includes translating from a first markup language to a second markup language.
  • the invention is a system for communicating between a number of information services and a number of client platforms.
  • the system includes an application server, which includes an interface to the information services, a storage coupled to the application server for holding configuration data, and a media server for communicating messages with the client platforms according to a number of message formats.
  • the media server includes a number of modules each associated with a different one of the client platforms and including an interface to the client platform for communicating with the client platform according to one of said message formats.
  • the system includes a communication path coupling the application server and the media server for passing information between the information services and the client platforms in a common format that is independent of which of the information services and client platforms are involved in the communication.
  • the system can include one or more of the following features:
  • Each module of the media server includes a translator for converting messages from the common format to the message format for communicating with the client platform associated with said module.
  • the system further includes an information server coupled between the application server and the information services.
  • the information server includes a number of modules, each . 4 .
  • a communication path couples the information server and the application server for passing information in a format that depends on a class of the information service involved in the communication.
  • the information server thereby provides a generic interface for the application server for classes of the information services.
  • the system also includes a configuration application for providing the configuration data based on input from an operator of the system.
  • the system also includes a cache storage for holding information received from the information services.
  • the invention includes on or more of the following advantages:
  • the invention enables easy addition of new information services or client platforms. For example, addition of a client platform does not have to address mapping multiple information services to that client platform since only mapping of the common format to that platform is required. Similarly, adding of modifying an information service does not require updating configurations for multiple client platforms.
  • FIG. 1 is a block diagram showing multiple information services coupled to multiple client platforms through content translators;
  • FIG. 2 is a block diagram showing multiple information services coupled to multiple client platforms through a media server according to the present invention
  • FIG. 3 is a block diagram of a communication server
  • FIG. 4 is a flowchart that illustrates processing of a client request
  • FIG. 5 is a block diagram that illustrates a cascaded arrangement of communication servers.
  • a communication server 230 provides communication and data translation services to couple information services 110, which includes a number of separate information services, and client platforms 120, which includes a number of separate client platforms, each of which typically supports a large number of personal client devices.
  • Communication server 230 is a programmable computer, or alternatively a system that includes a number of interconnected computers.
  • a storage device 210 such as a magnetic disk, holds software that when executed on the communication server implements a number of interrelated software modules that provide the communication and data conversion services that couple the information services and the client platforms.
  • Communication server 230 has communication links to information services 110 over a variety of communication channels, such as over the public Internet, over a private data network, or over a secure or dedicated communication link.
  • Communication server 230 also has a number of communication links to client platforms 120.
  • Communication server 230 hosts three principal modules: an information server 235, which communicates with the various information services 110; a media server 250, which communicates with the various client platforms 120; and an application server 240, which passes information between the information server and the media server.
  • the separate information services of information services 110 are grouped into a number of generic classes, such as database servers, file servers, messaging servers, and marked-up information servers.
  • Communication between information server 235 and application server 240 does not necessarily depend on a particular information service which is involved in the communication, but rather, in general, depends on the generic class of the information service.
  • Communication between application server 240 and media server 250 is largely independent of the particular information service or its generic class, and is independent of the particular client platform involved in the communication.
  • information is passed from application server 240 to media server 250 formatted ("marked-up") according to a specific instance of the extensible Markup Language (XML) in such a way that media server 250 does not, in general, have to deal with specific characteristics of the information services.
  • Media server 250 provides information to application server 240 regarding the capabilities of the client platform, such as the size of the graphical display on a client device or a maximum data size that can be transferred over the communication infrastructure of the client platform to the client device, and application server 240 provides information to media server 250 in a format that the media server can process .
  • Information server 235 is configured to interact with each of these services using interfaces that are native to those services and to interact with application server 240 according to the generic classes of those services.
  • Information services 110 include Web server 112 and Email server 114, as shown in FIG. 1.
  • Information services 110 also include a database server 212, such as an Oracle or Sybase SQL server, and a file server 214, for example, providing an interface using the File Transfer Protocol (FTP) over the Internet, or a software module which provides an interface to a local file system.
  • Information services 110 also includes a live data feed 216, such as a stock ticker, and a transaction processing system 218, such as a banking system. In alternative embodiments, not all these information services are necessarily present, and additional information services and generic classes of services may also be included.
  • client platforms 120 include an HDML-based platform 220, such as a cellular telephone platform in which HDML based browsers are supported.
  • HDML-based platform 220 such as a cellular telephone platform in which HDML based browsers are supported.
  • a single cellular telephone infrastructure supports multiple types of devices, such as WML and HDML based telephones, and communication server 230 supports both protocols through a common communication path.
  • Client platforms 120 also include a PDQ-based platform, which supports communication with PDAs, or alternatively a PQA, C-HTML, or Web Clipping Application based platform.
  • Client platforms 120 also optionally includes a voice-based platform 226.
  • the client device is a voice telephone and the communication infrastructure includes a speech recognition server.
  • the speech recognition server is configured to provide access to information.
  • the speech recognition server uses the VoXML markup language that specifies a spoken dialog using a text-based specification.
  • Client platforms 120 also optionally includes a Web-TV platform 228.
  • the client device is a set-top coupled to a television receiver. In alternative embodiments, not all these client platforms are necessarily present, and additional information services may also be included.
  • information server 235 includes a number of information modules
  • An information module 335 each associated with a different one of the separate information services of information services 110.
  • An information module 335 interacts with a separate information service using the native interface for that information service. For instance, in the case of database server 212 (shown in FIG. 2), the associated information module 335 makes native database queries to that database server and accepts responses using that native format. In another instance, in the case of email server 114 (see FIG. 2), the associated information module 335 uses a standard Internet -,
  • Each information module 335 interacts with application server 240 through an information interface 342 using a protocol that, in general, depends on the generic class of the information service associated with that information module. For instance, in this embodiment in the case of database information modules, application server 240 sends text-based commands or queries to the information module, and receives in return two-dimensional text-based tables of responses. In another instance, in the case of an information module 335 for a marked-up information service, application server 230 sends text- based requests to the information module and receives nested tagged text-based content, in this embodiment following an XML-based syntax.
  • Media server 250 includes a number of media modules 350, each associated with a different separate client platform of client platforms 120 (FIG. 2). Each media module 350 communicates with application server 240 over a media interface 344 using a protocol that is independent of the particular client platform associated with that media module, and communicates with its associated separate client platform according to the requirements of that client platform.
  • the requirements of a particular platform include both the format of information that it receives from communication server 230, and data channel requirements. With regard to data channel requirements, some media modules 350 communicate with their associated client platforms over the Internet, while others may use leased telecommunication lines, or other communication links.
  • Some client platforms may have a maximum message or packet size for communication, which is different from that of other client platforms.
  • each media module 350 formats information it receives from application server 240 into a specific format required by its associated client platform, and possibly a specific format required by the destination personal device being serviced on that platform.
  • one media module 350 may handle WML-based requests from a cellular telephone platform, while another module may handle PQA-based requests from a PDA platform.
  • a client platform that supports WML-based telephones may support a variety of models of telephones, each with slightly different capabilities, such as the number of lines or pixels of display, and media module 350, in general, formats the information based on the capabilities of that personal device.
  • Media server 250 also includes an additional module, trigger module 355, which is used by information services or other external systems to initiate asynchronous events that are not specifically initiated from the client devices, for example to push notification data to client devices.
  • Trigger module 355 communicates with application server 240 through a trigger interface 346.
  • data modules 335, media modules 350, and trigger module 355 are implemented as procedures that are invoked by application server 240. That is, information interface 342, media interface 344, and trigger interface 346 include application-programming o
  • APIs application-specific integrated circuits
  • DLLs dynamically-loadable libraries
  • other implementation approaches are used, such as a distributed implementation in which communication between the application server and the information and media modules passes over a data network.
  • Application server 240 makes use of configuration data 310 that provides information for use by the application server to process requests received from client platforms 120 and to access particular of the information services 110.
  • the range of information, or "content,” that application server 240 can access from information servrces 110 can be viewed as a single
  • configuration data 310 includes a number of view specifications 315, each of which has a distinct name in the naming scheme
  • view specifications 315 use an XML-based syntax, which is described more fully below, that allows application server 240 to identify and communicate with particular information services to retrieve the information requested from the client device
  • application server 240 aggregates content from the various information services and provides a uniform interface to the client devices
  • Communication server 230 also hosts a configuration application 320 that supports an operator or administrator of the system m specify
  • a view specification 315 acts somewhat as a template for forming a response that application server 240 passes to media server 250.
  • the view specification also includes procedural and conditional elements, and instructions related to how particular information services should be accessed
  • a view specification uses an XML markup syntax, which includes nested fields each identified by a tag
  • a set of predefined tags define an abstraction of a layout, or more generally a structure, of a response to a request as well as define methods of obtaining content for the response from the information services
  • a PAGE tag defines the top level of a view . 9 .
  • a PAGE field optionally includes a parameter which is a hint to application server 240 whether these portions should be presented in sequence, or in "parallel" using a top-level menu to select the portions when presented on the client device.
  • a PAGE can optionally include a TITLE element, which is a text string that may be used as a heading for the view when presented on the client device, or when used for navigating, for example, in a history of views visited by the client device.
  • a PAGE can include any number of TEXT, TABLE, FORM, or NA VBAR elements, which define displayable elements of a view.
  • a TEXT element includes a text specification, typically of a character sequence to display on the client device.
  • a TABLE element represents data in columns, where the data can be statically defined in the view specification, or can be obtained from an information service.
  • a FORM element is similar to an HTML FORM, and is used to retrieve input from a client device, and to display results on the client device in a row and column arrangement.
  • a NA VBAR element is used for a "navigation bar," which is a kind of menu.
  • a NA VBAR element includes a set of sub-elements, NA VBARITEM elements, each of which logically defines an action to be performed if the user of a client device selects that item from the navigation bar.
  • a CALLBACK element is used to specify data that is passed to a client platform and later may be passed back to application server 240.
  • the data is passed back when the user of the client device chooses the associated item in the navigation bar.
  • the data that is passed back to the application server can identify another of the view specifications 315, and optionally provides parameter values to the application server.
  • a PAGE can include one or more QUEURYSOURCE fields.
  • a QUERYSOURCE field identifies a particular one of the separate information services.
  • the individual information services are numbered, and the QUERYSOUCE element identifies the source information service by its number.
  • the QUERYSOURCE element also identifies the generic class of the information service, and includes one or more QUER Y elements, which define specific requests to be made of the information service.
  • the request might be one or more SQL statements that are used to access information in the database.
  • the request might be data that would be provided to a Web server in an http POST command.
  • the request might be a complete URL, optionally including both a pathname and variables to be used by a script executing at the information service.
  • the QUERY element also includes an identifier that is used to reference the results of the query elsewhere on the page. In this way, a page can include multiple QUERYSOURCE elements that are used to access data in different information services, and each QUERYSOURCE element can include several QUERY elements, thereby allowing application server 240 to aggregate multiple pieces of information onto one page.
  • Various sub-elements of a PAGE can reference a result returned from an information source, identified by the name of the query that generated the result, as well as a specification of a portion of the result.
  • the reference to the portion o the result is by row and column.
  • the rows and columns may be computed based on the positions within the populated table.
  • the reference to the portion of the result makes use of the nested tags in the result.
  • the form of the reference to the result depends on the structure of results associated with the generic class of the information service.
  • a view specification 315 can also reference variables passed from media server 250 to application server 240.
  • the values of these variables may come from the client devices, for instance through callback mechanisms.
  • Another type of variable is generated at media module 350.
  • An example of such a variable is a "hint" that the media module passes to the application server to characterize the capabilities of the client device.
  • These hint variables may identify the data format handled by the client device, and specific capabilities of the client device. For instance, the hint variable may identify that the client device accepts WML based data and that it has 4 lines of display.
  • Application server 240 based on a view specification 315, makes use of these hint variable to generate information that is suitable for essentially direct translation to the format handled by the client device with requiring that media module 350 perform complex translation that depends on the specific content being passed to the client device.
  • View specification also includes elements that allow conditional processing of a request from a media module 350 based on data from an information service or on data provided as a hint by the media module.
  • a CONDITIONS element within a page defines a set of one or more named or numbered Boolean expressions that the application server evaluates. Other elements on the page are conditionally inserted based on the value of the named or numbered Boolean expressions.
  • Application server 240 creates a formatted page in response to a request from a media module 350 using the referenced view specification 315 and content it receives from information services 110 through information modules 335, and passes this formatted page to the media . j j .
  • the formatted data uses an XML-based specification in which the elements generally correspond to the displayable elements of the view specification. That is, the XML that is generated can include elements that correspond to text blocks, tables, forms, navigation bars, and these elements can include callbacks that are used for navigation.
  • Application server #0240 tailors the XML it generates to the specific characteristics and requirements of the client platform using the hints passed to it from the media module.
  • a request for information from a client device is handled in several steps.
  • a user enters a request on the client device, for example, using an embedded browser application on the device to make a selection from a menu of possible sources of information (step 410).
  • an embedded browser application may be stored in ROM.
  • This browser application makes use of a limited- capability display on the phone to allow the user to navigate among the types of information available to the user.
  • each of the information services 110 are not necessarily distinguishable to the user since media server 230 performs an aggregation of those services and translates particular requests from a client device to access appropriate of the information services.
  • the request is then transmitted over the communication infrastructure associated with the client device (step 412).
  • the request is transmitted over a wireless communication infrastructure to a gateway server that provides a link between the wireless infrastructure and a wired data network infrastructure that is external to the client platform.
  • this gateway server may reformat the request to conform to a particular application protocol (step 414).
  • the gateway server may translate between a communication protocol supported by embedded micro browser in a client cellular telephone and a standard application protocol such as WML or HDML.
  • a standard protocol such as
  • the gateway server may simply provide a data routing function to pass data between the wired and wireless communication infrastructures.
  • the request is then transmitted from the client platform to communication server 230 (step 416).
  • the requests from various client platforms are transmitted to communication server 230 over the Internet.
  • other communication links such as dedicated communication links to particular client platforms are used.
  • Communication server 230 receives the request and passes it to media server 250, which is hosted on the communication server.
  • media server 250 Within media server 250, the media module 350 that is associated with the type of client device that made the request handles the request.
  • Media module 350 interprets the request according to the application format used by the client platform (step 418). In particular, the media module determines an identifier of a view _ 12 _
  • Media module 350 sends this identifier to application server 240 (step 420).
  • media module 350 optionally sends "hints" to application server 240 that are parameter values which relate various constraints and capabilities of the client platform. For instance, on an embedded browser of a cellular telephone, only a limited number or menu choices may be easily managed.
  • Media module 350 can optionally send a hint that specifies the maximum number of lines that is requests to be provided from the application server module. These hints may depend on the particular client device making the request. For example, in a cellular telephone environment, different models of telephone may be supported, and these various models may have different display capabilities.
  • the hints sent by media module 350 to application server 240 may depend on the model of client device.
  • the hints that the media module provides the application server may also depend on the nature of the communication infrastructure. For example, in a low-speed wireless environment, the media module may identify a maximum desired data size based on the data link speed.
  • application server 240 receives the request from media module 350 of media server 250.
  • the format of this request is generic in that it does not depend on the particular client platform involved in the communication.
  • the format of the requested view, and the format of any hints provided by the media module to the application server are essentially independent of the client platform, other than as encoded by the hints supplied to the application server.
  • Application server 240 accesses a view specification 315 in configuration data 310 to process the request (step 424). For each of queries in the view, application server 240 accesses the corresponding information service to retrieve data according to the data query component of the view element, and then formats the retrieved data according to the display template of the view element (step 426).
  • the specification of the view may include procedural components that are executed by the application server, for example to make use of hints that were provided by the media module.
  • Application server 240 then passes the formatted information to the media module 350 that made the request (step 428). If a complete result is too large to send at one time to the client device, application server #0240 sends a partial result to the client device while making the remainder of the result accessible.
  • Application server 240 includes a CALLBACK element, which is displayed to the user as a "more" choice for example.
  • the CALLBACK element includes sufficient information for the application server to later generate the remainder of the result. For example, if a query returns more rows than can be displayed on a client device, the callback includes information that allows application server #0240 to later query the information service to return the next "chunk" of data. Using this callback approach, application server 240 does not necessarily have to maintain a state of an interaction with a client device since the callback data encodes enough information to continue the interaction.
  • Media module 350 receives the formatted information, and translates the formatted information to a specific format for the client platform from which the request was received (step 430). For example, the media module translates the common XML-based format used in this embodiment to a WML-based format supported by the client platform. Media module 350 may optionally perform other operations on the information. For example, in the communication infrastructure of the client platform limits the size of messages, the media module may split, or "chunk," the message into smaller pieces for transmission to the client device. Media server 250 sends the result to the gateway system at the client platform (step 432) and the gateway system forward the result to the client device (step 434).
  • a client device requests information and that request is sent to the communication server and a response is sent back in a "pull" communication model.
  • Certain client platforms also (or exclusively) support a "push" communication model in which information is sent from information services to client devices without being specifically requested.
  • An example of such a system is a paging system, which may in fact not support any communication from the client device to the communication server.
  • an information service, or some other external system passes a signal to trigger module 355 in media server 250 (see FIG. 3).
  • the trigger module generates a request that it passes to application server 240 in much the same way that a media module 350 passes a request to the application server.
  • an external messaging service would pass a signal to trigger module 355. That signal identifies the destination client device, which directly o indirectly identifies the media module 350 and client platform in addition to the specific device, and identifies a view specification and optional parameters to request on behalf of the client device.
  • Application server 240 accepts the request through its trigger interface 346 and processes the request in much the same way that it processes requests from media modules 350. In particular, processing the request may result in accessing one or more information services through information server 235.
  • the request is a "pull" from a client device, while from the point of view of the client platform, the resulting response is an unsolicited "push" of data.
  • application server 240 has created the formatted XML in response to the request, it passes the response to the appropriate media module 350, which as identified using the data received from trigger module 355, and the media module passes the request after reformatting to the client platform.
  • communication server 230 can include a timer that signals trigger module 355, for example, periodically.
  • signals can be used to poll information services and if necessary push content to particular client devices.
  • communication servers can be arranged in a cascaded manner in which a communication server 230A serves as one of the information services HOB for a second communication server 230B.
  • Communication between communication server 230A and communication server 230B use the common XML-based format that is used to communicate internally between application server 240 and media server 250.
  • the two levels of aggregation of information services may be performed.
  • communication server 230B may be administered by a particular company and used for access to its internal information services.
  • general information that may not be specific to the company is provided through communication server 230A, which, for example, is administered by a service provider and provided on a subscription basis to the company.
  • the media module 350 at communication server 230A that communicates with communication server 230B performs a limited amount of processing on the formatted data it receives from the application server, with the majority of the translation into a device specific format being performed at communication server 230B.
  • communication server 230A is part of its information services HOB, while from the point of view of communication server 230A, communication server 230B is part of its client platforms 120A.
  • application server 240 includes a cache that it may use to avoid needing to perform queries through information modules 335 to the information services. In one such embodiment, the lifetime of a cache response is specified in a view specification 315.
  • a QUERY element identifies whether the result should be cached, and also identifies the lifetime that the cached result may be reused.
  • the information service itself does not necessarily have to identify a lifetime for the cached result, although in alternative embodiments, it may do so as well as or instead of specifying a lifetime in the view specification.
  • media modules 350 may also include caches that allow them to reduce the number of requests that must be made of application server 240.
  • the embodiments described above refer to a single communication server 230 that is coupled between information services 110 and client platforms 120.
  • communication server 230 is stateless. That is, communication server 230 does not necessarily keep information related to an interaction with a particular client device.
  • the single communication server 230 is replaced with a bank of multiple essentially identical communication servers, and a load balancing mechanism passes requests from client platforms to selected communication servers. In order to improve performance of caches, _ 15 _
  • repeated requests from a particular client device or a particular client platform may be steered preferentially to the same communication server, although such steering is not essential.
  • communication server 230 uses a user management information service to store session-related information about individual users of client devices uses.
  • This user management information service has several uses, including, holding server "cookies" and maintaining authentication information for users.
  • Certain information services operate under the assumption that a client of that information service can maintain a significant amount of state information, thereby allowing the information service itself to operate in a relatively stateless manner.
  • Web- based servers often rely on setting "cookie" data in a client to store information.
  • a typical application of cookies is to store a shopping cart of items for an on-line merchant Web site.
  • passing the cookie data back and forth to a client device may be prohibitive due to the amount of data that must be transferred, or the client may not have the capability to store cookie data or may have insufficient storage to store large amounts of cookie data.
  • cookie data is received by application server 240 from an information module 335, and rather than passing the cookie data to the media module, it stores the data in the user management information service.
  • the application service relies on a unique identifier of the client device to index the information it stores in the user management information service.
  • application server 240 essentially acts as a proxy for the client device for processing cookies.
  • the user management information service is used similarly for authentication data. For instance, certain information services may require a user to be authenticated before requests for that user will be processed.
  • temporary credentials may be generated by an information service, or internally in the application service, and stored in the user information management service. Then, these temporary credentials are provided to the information service on subsequent requests from that user, until those credentials have expired. Expiration can, for example, be based on a total elapsed time or on an elapsed period of inactivity from the client device.

Abstract

L'invention concerne un système et un procédé permettant de coupler différentes plates-formes de client et différents services d'information sans devoir faire appel à des modules configurés séparément afin de coupler chaque combinaison de plate-forme de client et de service d'information. Le contenu de n'importe quel service d'information est d'abord converti en un format commun, puis traduit en un format approprié à la plate-forme cible. Cette approche s'applique aux plates-formes de client compatibles avec une communication sans fil, à des appareils personnels, tels que les téléphones cellulaires et les assistants numériques, et aux services d'information, tels que les serveurs Internet, les serveurs de messagerie, les systèmes transactionnels et les introductions de données réelles.
PCT/US2000/018443 1999-07-01 2000-06-30 Serveur d'information multimedia WO2001003011A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU59149/00A AU5914900A (en) 1999-07-01 2000-06-30 Cross-media information server

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14199399P 1999-07-01 1999-07-01
US60/141,993 1999-07-01
US18560200P 2000-02-28 2000-02-28
US60/185,602 2000-02-28

Publications (2)

Publication Number Publication Date
WO2001003011A2 true WO2001003011A2 (fr) 2001-01-11
WO2001003011A3 WO2001003011A3 (fr) 2003-01-09

Family

ID=26839650

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/018443 WO2001003011A2 (fr) 1999-07-01 2000-06-30 Serveur d'information multimedia

Country Status (2)

Country Link
AU (1) AU5914900A (fr)
WO (1) WO2001003011A2 (fr)

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001031885A2 (fr) * 1999-10-22 2001-05-03 Nomadix, Inc. Dispositif de passerelle a interface xml, et procede associe
WO2001076174A2 (fr) * 2000-04-04 2001-10-11 Dimon-Hugbunadarhus Ehf. Système de communication de données sans fil entre un serveur web et un dispositif à protocole d'application sans fil
EP1152600A2 (fr) * 2000-04-18 2001-11-07 Sagem SA Décodeur de télévision et passerelle pour internet et site internet correspondant
WO2002023909A1 (fr) * 2000-09-11 2002-03-21 Mediabricks Ab Procede et dispositif de creation/reception de contenu multimedia sur un reseau numerique
WO2002032070A2 (fr) * 2000-10-11 2002-04-18 Dimon-Hugbunadarhus Ehf. Procede de communication entre un dispositif emetteur et un dispositif recepteur
EP1227646A1 (fr) * 2001-01-24 2002-07-31 Realtime A/S Plate-forme de service et système de télécommunication, méthode et utilisation correspondantes
WO2002063471A2 (fr) * 2001-02-02 2002-08-15 Opentv, Inc. Procede et appareil de compilation de langage interpretatif pour environnement de television interactive
WO2002065278A2 (fr) * 2001-02-12 2002-08-22 Lto Limited Serveur de presentation permettant a un dispositif client d'executer une application reseau
WO2002065682A2 (fr) * 2001-02-12 2002-08-22 Siemens Information And Communication Mobile Llc Procede et systeme destines a fournir des applications de donnees a un dispositif mobile
EP1241856A1 (fr) * 2001-03-12 2002-09-18 März, Christian Procédé et dispositif de communications sans fil
WO2002075597A2 (fr) * 2001-03-15 2002-09-26 Federation Web Inc. Procede et systeme de creation de depot de contenus de produits unifie virtuel
EP1271360A2 (fr) * 2001-06-27 2003-01-02 Openwave Systems Inc. Système universel de mappage de données
DE10146878A1 (de) * 2001-09-24 2003-04-24 T Mobile Deutschland Gmbh Verfahren zum Abspeichern von Kurznachrichten
GB2382161A (en) * 2001-08-22 2003-05-21 Alexander Ujah Job vacancy data conversion
WO2004059905A1 (fr) * 2002-12-30 2004-07-15 Bcp S/A Services d'integration, de generation et de gestion dans un reseau de telecommunication
EP1475975A1 (fr) * 2003-05-08 2004-11-10 TeliaSonera Finland Oyj Procédé et système de transmission de messages en formats différents
GB2405062A (en) * 2003-06-13 2005-02-16 Brian Bolam Protocol conversion via intermediate protocol with message storage and verification
US6912593B2 (en) * 2000-03-10 2005-06-28 Liming Network Systems Co., Ltd. Information switching platform
US7024209B1 (en) * 2000-12-20 2006-04-04 Cisco Technology, Inc. Unified messaging system configured for management of short message service-type messages
EP1645998A1 (fr) * 2004-09-17 2006-04-12 Sap Ag Logistique de transport commune pour le logiciel et le contenu
US7143347B2 (en) 2001-02-02 2006-11-28 Opentv, Inc. Method and apparatus for reformatting of content for display on interactive television
EP1708470A3 (fr) * 2001-10-03 2006-12-27 Accenture Global Services GmbH Système de rappel supporté des modes différents
US7233655B2 (en) 2001-10-03 2007-06-19 Accenture Global Services Gmbh Multi-modal callback
GB2446654A (en) * 2007-02-16 2008-08-20 Radixs Pte Ltd Communications platform enabling multiple formats
US7441016B2 (en) 2001-10-03 2008-10-21 Accenture Global Services Gmbh Service authorizer
US7490346B2 (en) 2001-02-02 2009-02-10 Opentv, Inc. Digital television application protocol for interactive television
US7558257B2 (en) * 2000-03-10 2009-07-07 Liming Network Systems Co., Ltd. Information switch
US7613792B2 (en) 2000-09-11 2009-11-03 Handmark, Inc. Method for dynamic caching
US7689716B2 (en) 1998-12-08 2010-03-30 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US7743344B2 (en) 2001-05-23 2010-06-22 Handmark, Inc. Method for optimizing utilization of client capacity
EP2251801A3 (fr) * 2009-05-13 2010-12-29 Huawei Technologies Co., Ltd. Procédé, terminal et serveur pour transcoder des données
EP2367334A1 (fr) * 2001-10-03 2011-09-21 Accenture Global Services GmbH Autorisation de service
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US8527421B2 (en) 2001-10-03 2013-09-03 Accenture Global Services Limited Virtual customer database
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US8874677B2 (en) 2005-08-22 2014-10-28 Triplay Communications Ltd. Messaging system and method
US9369330B2 (en) 2001-02-02 2016-06-14 Opentv, Inc. Service gateway for interactive television
US9436749B2 (en) 2001-11-16 2016-09-06 At&T Intellectual Property I, L.P. System for the centralized storage of wireless customer information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701423A (en) * 1992-04-10 1997-12-23 Puma Technology, Inc. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5715397A (en) * 1994-12-02 1998-02-03 Autoentry Online, Inc. System and method for data transfer and processing having intelligent selection of processing routing and advanced routing features

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701423A (en) * 1992-04-10 1997-12-23 Puma Technology, Inc. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5715397A (en) * 1994-12-02 1998-02-03 Autoentry Online, Inc. System and method for data transfer and processing having intelligent selection of processing routing and advanced routing features

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ABRAMS M ET AL: "UIML: an appliance-independent XML user interface language" COMPUTER NETWORKS, ELSEVIER SCIENCE PUBLISHERS B.V., AMSTERDAM, NL, vol. 31, no. 11-16, 17 May 1999 (1999-05-17), pages 1695-1708, XP004304584 ISSN: 1389-1286 *

Cited By (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689716B2 (en) 1998-12-08 2010-03-30 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US10341243B2 (en) 1998-12-08 2019-07-02 Nomadix, Inc. Systems and methods for providing content and services on a network system
US10110436B2 (en) 1998-12-08 2018-10-23 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US8190708B1 (en) 1999-10-22 2012-05-29 Nomadix, Inc. Gateway device having an XML interface and associated method
WO2001031885A2 (fr) * 1999-10-22 2001-05-03 Nomadix, Inc. Dispositif de passerelle a interface xml, et procede associe
WO2001031885A3 (fr) * 1999-10-22 2002-01-17 Nomadix Inc Dispositif de passerelle a interface xml, et procede associe
US7558257B2 (en) * 2000-03-10 2009-07-07 Liming Network Systems Co., Ltd. Information switch
US6912593B2 (en) * 2000-03-10 2005-06-28 Liming Network Systems Co., Ltd. Information switching platform
WO2001076174A2 (fr) * 2000-04-04 2001-10-11 Dimon-Hugbunadarhus Ehf. Système de communication de données sans fil entre un serveur web et un dispositif à protocole d'application sans fil
WO2001076174A3 (fr) * 2000-04-04 2002-01-17 Dimon Hugbunadarhus Ehf Système de communication de données sans fil entre un serveur web et un dispositif à protocole d'application sans fil
EP1152600A2 (fr) * 2000-04-18 2001-11-07 Sagem SA Décodeur de télévision et passerelle pour internet et site internet correspondant
EP1152600A3 (fr) * 2000-04-18 2004-04-14 Sagem SA Décodeur de télévision et passerelle pour internet et site internet correspondant
WO2002023909A1 (fr) * 2000-09-11 2002-03-21 Mediabricks Ab Procede et dispositif de creation/reception de contenu multimedia sur un reseau numerique
US7613792B2 (en) 2000-09-11 2009-11-03 Handmark, Inc. Method for dynamic caching
US7424708B2 (en) 2000-09-11 2008-09-09 Handmark, Inc. Method and device for providing/receiving media content over digital network
WO2002032070A2 (fr) * 2000-10-11 2002-04-18 Dimon-Hugbunadarhus Ehf. Procede de communication entre un dispositif emetteur et un dispositif recepteur
WO2002032070A3 (fr) * 2000-10-11 2002-10-31 Dimon Hugbunadarhus Ehf Procede de communication entre un dispositif emetteur et un dispositif recepteur
US7269432B2 (en) 2000-12-20 2007-09-11 Cisco Technology, Inc. Unified messaging system configured for management of short message service-type messages
US7024209B1 (en) * 2000-12-20 2006-04-04 Cisco Technology, Inc. Unified messaging system configured for management of short message service-type messages
EP1227646A1 (fr) * 2001-01-24 2002-07-31 Realtime A/S Plate-forme de service et système de télécommunication, méthode et utilisation correspondantes
WO2002060167A1 (fr) * 2001-01-24 2002-08-01 Realtime A/S Plate-forme de service et systeme de telecommunication, et leur procede et utilisation
US7143347B2 (en) 2001-02-02 2006-11-28 Opentv, Inc. Method and apparatus for reformatting of content for display on interactive television
WO2002063471A3 (fr) * 2001-02-02 2003-06-26 Opentv Inc Procede et appareil de compilation de langage interpretatif pour environnement de television interactive
US7065752B2 (en) 2001-02-02 2006-06-20 Opentv, Inc. Method and apparatus compilation of an interpretative language for interactive television
US10826748B2 (en) 2001-02-02 2020-11-03 Opentv, Inc. Service gateway for interactive television
US9369330B2 (en) 2001-02-02 2016-06-14 Opentv, Inc. Service gateway for interactive television
US7490346B2 (en) 2001-02-02 2009-02-10 Opentv, Inc. Digital television application protocol for interactive television
WO2002063471A2 (fr) * 2001-02-02 2002-08-15 Opentv, Inc. Procede et appareil de compilation de langage interpretatif pour environnement de television interactive
WO2002065278A2 (fr) * 2001-02-12 2002-08-22 Lto Limited Serveur de presentation permettant a un dispositif client d'executer une application reseau
WO2002065278A3 (fr) * 2001-02-12 2004-01-08 Lto Ltd Serveur de presentation permettant a un dispositif client d'executer une application reseau
WO2002065682A3 (fr) * 2001-02-12 2002-11-14 Opuswave Networks Inc Procede et systeme destines a fournir des applications de donnees a un dispositif mobile
WO2002065682A2 (fr) * 2001-02-12 2002-08-22 Siemens Information And Communication Mobile Llc Procede et systeme destines a fournir des applications de donnees a un dispositif mobile
EP1241856A1 (fr) * 2001-03-12 2002-09-18 März, Christian Procédé et dispositif de communications sans fil
WO2002075597A3 (fr) * 2001-03-15 2004-03-04 Federation Web Inc Procede et systeme de creation de depot de contenus de produits unifie virtuel
WO2002075597A2 (fr) * 2001-03-15 2002-09-26 Federation Web Inc. Procede et systeme de creation de depot de contenus de produits unifie virtuel
US7743344B2 (en) 2001-05-23 2010-06-22 Handmark, Inc. Method for optimizing utilization of client capacity
EP1271360A3 (fr) * 2001-06-27 2004-07-21 Openwave Systems Inc. Système universel de mappage de données
EP1271360A2 (fr) * 2001-06-27 2003-01-02 Openwave Systems Inc. Système universel de mappage de données
GB2382161A (en) * 2001-08-22 2003-05-21 Alexander Ujah Job vacancy data conversion
DE10146878B4 (de) * 2001-09-24 2005-04-07 T-Mobile Deutschland Gmbh Verfahren zum Abspeichern von Kurznachrichten
DE10146878A1 (de) * 2001-09-24 2003-04-24 T Mobile Deutschland Gmbh Verfahren zum Abspeichern von Kurznachrichten
US7299061B2 (en) 2001-09-24 2007-11-20 T-Mobile Deutschland Gmbh Method for storing short data
EP2367334A1 (fr) * 2001-10-03 2011-09-21 Accenture Global Services GmbH Autorisation de service
US8073920B2 (en) 2001-10-03 2011-12-06 Accenture Global Services Limited Service authorizer
EP1708470A3 (fr) * 2001-10-03 2006-12-27 Accenture Global Services GmbH Système de rappel supporté des modes différents
US8527421B2 (en) 2001-10-03 2013-09-03 Accenture Global Services Limited Virtual customer database
US7233655B2 (en) 2001-10-03 2007-06-19 Accenture Global Services Gmbh Multi-modal callback
US7441016B2 (en) 2001-10-03 2008-10-21 Accenture Global Services Gmbh Service authorizer
US9436749B2 (en) 2001-11-16 2016-09-06 At&T Intellectual Property I, L.P. System for the centralized storage of wireless customer information
WO2004059905A1 (fr) * 2002-12-30 2004-07-15 Bcp S/A Services d'integration, de generation et de gestion dans un reseau de telecommunication
EP1475975A1 (fr) * 2003-05-08 2004-11-10 TeliaSonera Finland Oyj Procédé et système de transmission de messages en formats différents
GB2405062A (en) * 2003-06-13 2005-02-16 Brian Bolam Protocol conversion via intermediate protocol with message storage and verification
US7890475B2 (en) 2004-09-17 2011-02-15 Sap Ag Common transport logistics for software and content
EP1645998A1 (fr) * 2004-09-17 2006-04-12 Sap Ag Logistique de transport commune pour le logiciel et le contenu
US9055416B2 (en) 2005-08-22 2015-06-09 Triplay, Inc. Messaging system and method
US9577968B2 (en) 2005-08-22 2017-02-21 Triplay, Inc. Messaging system and method
US9100807B2 (en) 2005-08-22 2015-08-04 Triplay, Inc. Messaging system and method
US9049574B2 (en) 2005-08-22 2015-06-02 Triplay, Inc. Messaging system and method
US9491134B2 (en) 2005-08-22 2016-11-08 Triplay, Inc. Messaging system and method
US9521107B2 (en) 2005-08-22 2016-12-13 Triplay, Inc. Messaging system and method
US9577977B2 (en) 2005-08-22 2017-02-21 Triplay, Inc. Messaging system and method
US9100806B2 (en) 2005-08-22 2015-08-04 Triplay, Inc. Messaging system and method
US9614809B2 (en) 2005-08-22 2017-04-04 Triplay, Inc. Messaging system and method
US9628432B2 (en) 2005-08-22 2017-04-18 Triplay, Inc. Messaging system and method
US9660945B2 (en) 2005-08-22 2017-05-23 Triplay, Inc. Messaging system and method
US10097486B1 (en) 2005-08-22 2018-10-09 Triplay, Inc. Messaging system and method
US8874677B2 (en) 2005-08-22 2014-10-28 Triplay Communications Ltd. Messaging system and method
GB2446654A (en) * 2007-02-16 2008-08-20 Radixs Pte Ltd Communications platform enabling multiple formats
EP2251801A3 (fr) * 2009-05-13 2010-12-29 Huawei Technologies Co., Ltd. Procédé, terminal et serveur pour transcoder des données

Also Published As

Publication number Publication date
AU5914900A (en) 2001-01-22
WO2001003011A3 (fr) 2003-01-09

Similar Documents

Publication Publication Date Title
WO2001003011A2 (fr) Serveur d'information multimedia
US10142431B2 (en) Real-time information feed
US7072984B1 (en) System and method for accessing customized information over the internet using a browser for a plurality of electronic devices
US7739407B1 (en) Systems for customizing behaviors and interfaces in service invocations
JP2002539547A (ja) クライアントが必要とするフォーマットを必ずしもサポートしていないデータソースからデータを検索するサービスをクライアントに提供する方法
US6941307B2 (en) Arrangement and a method relating to session management in a portal structure
US7500188B1 (en) System and method for adapting information content for an electronic device
US20040113938A1 (en) An arrangement and a method for presentation customization in a portal structure
US20050183061A1 (en) Arrangement and a method relating to access of applications/services
US20060168095A1 (en) Multi-modal information delivery system
US20060161685A1 (en) Client aware extensible markup language content retrieval and integration in a wireless portal system
US20100228880A1 (en) System and Method for Providing and Displaying Information Content
US20060064499A1 (en) Information retrieval system including voice browser and data conversion server
KR20000023151A (ko) 네트워크와 상호작용하기 위한 대화식 양방향 통신 장치의구성 및 방법
JP2004511856A (ja) ネットワークコンテントを無線装置に提供するスマートエージェント
WO2004040481A1 (fr) Systeme et procede d'obtention et d'affichage de contenu informationnel
KR20000071277A (ko) 무선 클라이언트 장치용 원격 책갈피
US20080319994A1 (en) Method for registering a template message, generating an update message, regenerating and providing an application request, computer arrangement, computer program and computer program product
US8135860B1 (en) Content interpolating web proxy server
US20050188066A1 (en) Arragement and a method relating to end user station access of a portal
US20020133616A1 (en) Method and apparatus for using a known address to gain access to a service provider having an unknown address
US20020095475A1 (en) Frame handling for a thin client
US7801958B1 (en) Content converter portal
WO2001019065A1 (fr) Procede, systeme et dispositif pour interface entre telephone a ecran et internet

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP